Skip to content

feat(video3d): music-video templates with a side-on run camera - #204

Merged
IAnMove merged 1 commit into
developmentfrom
feat/video3d-music-templates
Sep 7, 2026
Merged

feat(video3d): music-video templates with a side-on run camera#204
IAnMove merged 1 commit into
developmentfrom
feat/video3d-music-templates

Conversation

@IAnMove

@IAnMove IAnMove commented Sep 7, 2026

Copy link
Copy Markdown
Owner

Why

PR #198 (the tested Video 3D / world3d stage) is already on development. This follow-up keeps that three.js editor and adds the music-video templates we actually rendered, with the run camera the user corrected: side-on, chest height, no floor, cylinder scrolling the other way.

What this is not

The 2.5D compositor already has a cylinder preview (CylinderPanoramaComparison / cylinderPanorama.ts) and run-travel parallax. Those stay Codex's. They do not export a 3D world. This PR does not touch SceneAnimatorPanel, recipes, or sceneTemplates.

Templates

  • run-loop / neon-run / block-street: camera side, dressing treadmill (hide floor), negative cylinder speed
  • space-float, walk-void, dance-orbit, dance-stage: extra looks; clips stay unbound (index + exact glTF name)

Checks

  • tsx --test tests/scene3dStage.test.mjs 13/13
  • node scripts/check-i18n-catalogs.mjs ok
  • eslint on touched scene3d files clean

Do not merge until asked.


Note

Low Risk
Client-side 3D editor and template defaults only; no auth or server changes. Main risk is visual/regression in export and existing templates that referenced pursuit run behavior.

Overview
Adds music-video-oriented 3D stage templates and retools the run shot around a new side camera (profile, chest height) instead of pursuit. run-loop and related run templates use side, narrower FOV, negative cylinder scroll speeds, and treadmill dressing (floor hidden).

Introduces optional document dressing (street, space, treadmill) with syncDressing on the GPU stage: procedural street/space props, floor visibility rules, and a useEffect when document.dressing changes. Templates assign dressing and per-template cylinder speeds; CYLINDER_HEIGHT increases for taller backdrops.

Six new template ids (neon-run, block-street, space-float, walk-void, dance-orbit, dance-stage) ship with layouts and EN/ES strings. Clips stay unbound by default on these presets. Tests and wizard mount expectations are updated for side and dressing round-trip.

Reviewed by Cursor Bugbot for commit a2f8cd2. Configure here.

Run templates keep the subject still. The camera is chest-height profile,
the floor is hidden, and the cylinder scrolls the opposite way. Extra
templates cover space, void, and the two hip-hop clips without binding
clip names. Follows merged #198; 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_73ef4db8-c414-46e1-91a9-df749446face)

@github-actions

github-actions Bot commented Sep 7, 2026

Copy link
Copy Markdown

PR Review — Loreframe Studio

Risk: low
Scope: 11 file(s); +186/-16; 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/dressing.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/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/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: 53.7/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.1 +0.0
File concentration 25% 60.3 +0.0
Oversized-file debt 20% 35.7 +0.0
Modularity 10% 71.4 +0.1

Change vs PR base: +0.0 points.

Metric Value
Production LOC 260,188
Production files 651
Test LOC 89,279
Functions measured 16,647
Functions complexity ≥ 15 821
Maximum complexity 670
Policy code-health-policy-v1
HEAD 771185b0cc25bc9b40522be12044e12b47afcba1
Base fae7d3f697d810bebf7e9ad8f749314da9bbd2b7
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 +139
Test LOC +17
Functions ≥ 15 +0
Maximum complexity +0

Warnings

  • production LOC increased by +139
  • complexity hotspot ui/src/features/scene3d/camera.ts rose 15 -> 16

Ratchet passed.

@IAnMove
IAnMove merged commit c57739b into development Sep 7, 2026
10 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