Skip to content

feat(video3d): drive set with a built car and chase cameras - #212

Merged
IAnMove merged 1 commit into
developmentfrom
feat/video3d-drive-set
Sep 7, 2026
Merged

feat(video3d): drive set with a built car and chase cameras#212
IAnMove merged 1 commit into
developmentfrom
feat/video3d-drive-set

Conversation

@IAnMove

@IAnMove IAnMove commented Sep 7, 2026

Copy link
Copy Markdown
Owner

Why

Music-video driving templates: a constructed 3D car, a scrolling environment, and cameras that chase / sit on the hood / fly the wing. The car does not translate; the world and wheels move.

Templates

  • drive-chase — behind the car, night city
  • drive-hood — hood cam, night city
  • drive-wing — side profile, coast
  • drive-orbit — orbit around the car
  • drive-tunnel — hood cam in a 3D tunnel
  • drive-hero — same city chase, GLB seated in the car (clip unbound)

New camera families: chase, hood, wing.

Checks

  • scene3d tests 15/15
  • i18n catalogs ok
  • eslint on touched scene3d files clean

Local proof (not in git): http://192.168.1.87:36592/ videos clip-drive-chase.mp4, clip-drive-hood.mp4, clip-drive-wing.mp4, clip-drive-tunnel.mp4

Do not merge until asked.


Note

Medium Risk
Touches the 3D render loop, async texture lifecycle, and export readiness (dressingReady); failures could show incomplete scenes or leak GPU textures, but the approach mirrors the existing cafe dressing path.

Overview
Adds music-video-style driving shots to Video 3D: a procedural textured car stays fixed while the road, wheels, and scenery scroll to simulate speed.

Dressing & motion: New dressings drive-city, drive-coast, and drive-tunnel build road + car via carMesh, driveSet, and driveMotion. Scene3DStage loads drive textures asynchronously (same pattern as cafe), and paintWorld drives animation from the background cylinder loop speed.

Cameras & templates: New families chase, hood, and wing with dedicated eye/look in camera.ts, plus six templates (drive-chase, drive-hood, drive-wing, drive-orbit, drive-tunnel, drive-hero) wired in templates.ts with dressing, backdrop plates, and FOV defaults. Document parse/round-trip and workspace family picker are extended; en/es i18n and tests cover map disposal and template behavior.

Reviewed by Cursor Bugbot for commit e3730d4. Configure here.

@cursor

cursor Bot commented Sep 7, 2026

Copy link
Copy Markdown

Bugbot couldn't run - usage limit reached

Bugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit.

A user or team admin can review and increase usage limits in the Cursor dashboard.

(requestId: serverGenReqId_d2770a64-6b81-41e4-b3ba-c9540d273802)

@github-actions

github-actions Bot commented Sep 7, 2026

Copy link
Copy Markdown

PR Review — Loreframe Studio

Risk: low
Scope: 15 file(s); +473/-22; React UI

Automated review from scripts/analyze_pr.py. This is a heuristic pass (no LLM) so humans still own the merge decision.

Findings

  • low — UI changed — rebuild before merge
    Run cd ui && npm run build (CI already does this). Pinokio Update rebuilds for end users; keep ui/dist untracked.

Changed files

  • added: ui/src/features/scene3d/carMesh.ts, ui/src/features/scene3d/driveMotion.ts, ui/src/features/scene3d/driveSet.ts
  • modified: ui/src/features/scene3d/Scene3DStage.tsx, ui/src/features/scene3d/Scene3DWorkspace.tsx, ui/src/features/scene3d/camera.ts, ui/src/features/scene3d/document.ts, ui/src/features/scene3d/dressing.ts, ui/src/features/scene3d/gpu.ts, ui/src/features/scene3d/templates.ts, ui/src/features/scene3d/types.ts, ui/src/i18n/locales/en/scene3d.json, ui/src/i18n/locales/es/scene3d.json, ui/tests/scene3dDressing.test.mjs, ui/tests/scene3dStage.test.mjs

CONTRIBUTING checklist

  • python scripts/verify_clean_repo.py
  • python -m compileall -q app/services app/launch.py scripts
  • cd ui && npm run build if the UI changed
  • No weights, CivitAI sidecars, or generated guides
  • Stays local-first (no required accounts / telemetry)

Posted by the repo PR review workflow. Re-runs on each push to the PR.

@github-actions

github-actions Bot commented Sep 7, 2026

Copy link
Copy Markdown

Code health

Quality score: 54.1/100

Higher is better. The score is a trend dashboard; the independent ratchet below remains the CI gate.

Component Weight Current Change
Cyclomatic health 45% 54.2 +0.0
File concentration 25% 60.8 +0.1
Oversized-file debt 20% 36.2 +0.1
Modularity 10% 72.6 +0.2

Change vs PR base: +0.1 points.

Metric Value
Production LOC 261,692
Production files 667
Test LOC 90,232
Functions measured 16,763
Functions complexity ≥ 15 824
Maximum complexity 670
Policy code-health-policy-v1
HEAD a414de73eba145d6d5e019380e13c76099788167
Base 800e02ab30af256e10d00ab207117376784a2ada
UI measurement complete

Markdown, JSON catalogs and tests are out of this table. Only app/ runtime + ui/src TS/JS count.

Most complex functions

Complexity Where
670 app/wgp.py:7164 generate_video
376 ui/src/stores/useStore.ts:4029 Async method 'startGeneration'
355 app/_launch_runtime.py:23505 _run_generation
308 app/wgp.py:12298 generate_video_tab
271 ui/src/stores/useStore.ts:8572 Async method 'loadSettingsFromOutput'
258 app/services/director/planners/short_film.py:3433 ShortFilmPlanner._plan_story_driven
257 ui/src/components/Sidebar/SceneAnimatorPanel.tsx:478 Function 'SceneAnimatorPanel'
248 app/services/director_pipeline.py:13607 _run_video_generation
245 app/services/director_pipeline.py:7712 _run_pipeline
244 ui/src/features/agent/agentActions.ts:1145 Function 'parseAction'
226 app/services/director_pipeline.py:6541 update_comic_preview
225 ui/src/features/agent/agentActions.ts:2892 Async function 'executeAgentActions'

Trend vs baseline

Metric Δ
Production LOC +393
Test LOC +40
Functions ≥ 15 +0
Maximum complexity +0

Warnings

  • production LOC increased by +393
  • complexity hotspot ui/src/features/scene3d/camera.ts rose 17 -> 20
  • complexity hotspot ui/src/features/scene3d/document.ts rose 15 -> 18

Ratchet passed.

The car stays put. The road UVs, wheels and roadside props scroll to
simulate driving. Templates cover chase, hood, wing, orbit, tunnel and
a hero-in-car seat. Does not touch the 2.5D compositor.
@cursor

cursor Bot commented Sep 7, 2026

Copy link
Copy Markdown

Bugbot couldn't run - usage limit reached

Bugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit.

A user or team admin can review and increase usage limits in the Cursor dashboard.

(requestId: serverGenReqId_8eb703c8-90d3-4bb8-b1fe-e78cfd709ae2)

@IAnMove
IAnMove merged commit 75fcd37 into development Sep 7, 2026
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant