feat(stream): add experimental Framegen WebGPU interpolation - #763
Conversation
Add optional client-side neural frame interpolation for the embedded WebRTC stream path using the Framegen WGSL runtime (npm framegen). - New frameInterpolation settings (factor 2-4x, quality 360/480/720) - WebGPU pipeline overlay (web client only; disabled for native streamer) - Settings UI under Video with license notice for non-commercial weights - postinstall copies weights into public/; CDN fallback if missing - Unit tests for settings normalization Off by default. Adds display latency and GPU load when enabled.
- Update bun.lock so CI `bun install --frozen-lockfile` succeeds - Abort in-flight frame steps after dispose/settings generation bumps - Clear sticky rejected weights cache and stop loops on hard runtime failure
Address remaining race and failure-path issues: - generation gate after every await; drop stale present queues - rebuild runtime when factor changes (not only resolution) - clear sticky rejected weights cache; set initFailed and stop loops - safer texture readback cleanup; device-lost invalidation
|
Bugbot is not enabled for your account, so this pull request was not reviewed. Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs. |
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Supersedes #718 on a branch based on the latest
dev, while preserving the contributor's original commits and attribution. The contributor fork allows maintainer edits, but the repository-scoped GitHub integration cannot write to that fork directly.StreamViewcontracts.dev, keeps the lockfile update minimal, and verifies the model weights are copied into the production build.shader-f16copy, accessible option buttons, a truly empty.gitkeep, stable license handling, and non-flooring model dimensions.Verified with:
npm --prefix opennow-stable cinpm --prefix opennow-stable run typechecknpm --prefix opennow-stable run lintnpm --prefix opennow-stable test(625 tests)npm --prefix opennow-stable run locales:checknpm --prefix opennow-stable run buildopennow-stable/dist/framegen-weights/