Skip to content

Commit db01c9d

Browse files
Merge pull request #1447 from CapSoftware/video-playback
feat: Massive performance overhaul for editor playback
2 parents b865761 + 33625f0 commit db01c9d

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

74 files changed

+5214
-1229
lines changed

.claude/settings.local.json

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,18 @@
3030
"Bash(pnpm exec tsc:*)",
3131
"Bash(pnpm biome check:*)",
3232
"Bash(pnpm --dir apps/desktop exec tsc:*)",
33-
"Bash(xxd:*)"
33+
"Bash(xxd:*)",
34+
"Bash(git checkout:*)",
35+
"WebFetch(domain:www.npmjs.com)",
36+
"Bash(pnpm install:*)",
37+
"Bash(pnpm --dir apps/desktop exec biome check:*)",
38+
"Bash(pnpm --dir apps/desktop exec biome format:*)",
39+
"Bash(echo:*)",
40+
"Bash(pnpm exec biome:*)",
41+
"Bash(rustfmt:*)",
42+
"Bash(cargo tree:*)",
43+
"WebFetch(domain:github.com)",
44+
"WebFetch(domain:docs.rs)"
3445
],
3546
"deny": [],
3647
"ask": []

.github/workflows/ci.yml

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -141,9 +141,7 @@ jobs:
141141
run: node scripts/setup.js
142142

143143
- name: Run Clippy
144-
uses: actions-rs-plus/clippy-check@v2
145-
with:
146-
args: --workspace --all-features --locked
144+
run: cargo clippy --workspace --all-features --locked -- -D warnings
147145

148146
lint-biome:
149147
name: Lint (Biome)
@@ -279,6 +277,4 @@ jobs:
279277

280278
- name: Run Clippy
281279
if: ${{ matrix.settings.target == 'aarch64-apple-darwin' || matrix.settings.target == 'x86_64-pc-windows-msvc' }}
282-
uses: actions-rs-plus/clippy-check@v2
283-
with:
284-
args: --workspace --all-features --locked
280+
run: cargo clippy --workspace --all-features --locked -- -D warnings

Cargo.lock

Lines changed: 33 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,9 @@ nokhwa = { git = "https://github.com/CapSoftware/nokhwa", rev = "b9c8079e82e2",
3737
"serialize",
3838
] }
3939
nokhwa-bindings-macos = { git = "https://github.com/CapSoftware/nokhwa", rev = "b9c8079e82e2" }
40-
wgpu = "25.0.0"
40+
wgpu = { version = "25.0.0", features = ["wgpu-core"] }
41+
wgpu-hal = "25.0.0"
42+
wgpu-core = "25.0.0"
4143
flume = "0.11.0"
4244
thiserror = "1.0"
4345
sentry = { version = "0.42.0", features = [
@@ -53,12 +55,15 @@ cidre = { git = "https://github.com/CapSoftware/cidre", rev = "bf84b67079a8", fe
5355
"macos_12_7",
5456
"cv",
5557
"cf",
58+
"cg",
5659
"core_audio",
5760
"sc",
5861
"av",
5962
"blocks",
6063
"async",
6164
"dispatch",
65+
"io_surface",
66+
"mtl",
6267
], default-features = false }
6368

6469
windows = "0.60.0"

apps/desktop/app.config.ts

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
import capUIPlugin from "@cap/ui-solid/vite";
22
import { defineConfig } from "@solidjs/start/config";
3+
import topLevelAwait from "vite-plugin-top-level-await";
4+
import wasm from "vite-plugin-wasm";
35
import tsconfigPaths from "vite-tsconfig-paths";
46

57
export default defineConfig({
@@ -13,18 +15,22 @@ export default defineConfig({
1315
port: 3001,
1416
strictPort: true,
1517
watch: {
16-
// 2. tell vite to ignore watching `src-tauri`
1718
ignored: ["**/src-tauri/**"],
1819
},
20+
headers: {
21+
"Cross-Origin-Opener-Policy": "same-origin",
22+
"Cross-Origin-Embedder-Policy": "require-corp",
23+
},
1924
},
2025
// 3. to make use of `TAURI_DEBUG` and other env variables
2126
// https://tauri.studio/v1/api/config#buildconfig.beforedevcommand
2227
envPrefix: ["VITE_", "TAURI_"],
2328
assetsInclude: ["**/*.riv"],
2429
plugins: [
30+
wasm(),
31+
topLevelAwait(),
2532
capUIPlugin,
2633
tsconfigPaths({
27-
// If this isn't set Vinxi hangs on startup
2834
root: ".",
2935
}),
3036
],

apps/desktop/core

-54.8 MB
Binary file not shown.

apps/desktop/package.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@
5656
"@types/react-tooltip": "^4.2.4",
5757
"cva": "npm:class-variance-authority@^0.7.0",
5858
"effect": "^3.18.4",
59+
"lz4-wasm": "^0.9.2",
5960
"mp4box": "^0.5.2",
6061
"posthog-js": "^1.215.3",
6162
"solid-js": "^1.9.3",
@@ -72,6 +73,7 @@
7273
},
7374
"devDependencies": {
7475
"@fontsource/geist-sans": "^5.0.3",
76+
"@webgpu/types": "^0.1.44",
7577
"@iconify/json": "^2.2.239",
7678
"@tauri-apps/cli": ">=2.1.0",
7779
"@total-typescript/ts-reset": "^0.6.1",
@@ -80,6 +82,8 @@
8082
"cross-env": "^7.0.3",
8183
"typescript": "^5.8.3",
8284
"vite": "^6.3.5",
85+
"vite-plugin-top-level-await": "^1.4.4",
86+
"vite-plugin-wasm": "^3.4.1",
8387
"vite-tsconfig-paths": "^5.0.1",
8488
"vitest": "~2.1.9"
8589
}

apps/desktop/src-tauri/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,7 @@ tauri-plugin-sentry = "0.5.0"
107107
thiserror.workspace = true
108108
bytes = "1.10.1"
109109
async-stream = "0.3.6"
110+
lz4_flex = "0.11"
110111
sanitize-filename = "0.6.0"
111112
tracing-futures = { version = "0.2.5", features = ["futures-03"] }
112113
tracing-opentelemetry = "0.32.0"
35.3 KB
Loading
35.7 KB
Loading

0 commit comments

Comments
 (0)