Skip to content

feat(assets): migrate 2.5D narrative and recipe fields to AssetInput - #213

Merged
IAnMove merged 2 commits into
developmentfrom
feat/asset-picker-scene-fields
Sep 7, 2026
Merged

feat(assets): migrate 2.5D narrative and recipe fields to AssetInput#213
IAnMove merged 2 commits into
developmentfrom
feat/asset-picker-scene-fields

Conversation

@IAnMove

@IAnMove IAnMove commented Sep 7, 2026

Copy link
Copy Markdown
Owner

Summary

  • Narrative compositor fields (character, background, prop, foreground) and recipe media use AssetInput (From my computer / From HocusPocus).
  • Scene audio attach uses the same control.
  • Does not edit Scene3DWorkspace — that file is in open PR #212.
  • SceneAnimatorPanel complexity unchanged at 257; +3 lines (within hotspot budget).
  • Base: origin/development 1e6cb636 (feat(assets): add dual-origin AssetInput field #211 mixed). Do not merge until asked.

Test plan

  • sceneAnimatorPicker.test.tsx — dual-origin buttons open the shared explorer
  • assetInput.test.tsx still passes
  • eslint on touched files, local code-health ratchet
  • Cursor review: not run (quota)

Coste de la tarea

  • Tests simulados: 0 tokens externos
  • Tests reales: N/A
  • Llamadas LLM externas: 0
  • Tokens de prompt: N/A
  • Tokens de respuesta: N/A
  • Tokens totales: N/A
  • Generaciones de imágenes/audio/vídeo: 0
  • Tiempo transcurrido: N/A
  • Proveedores/modelos: N/A

Note

Medium Risk
Changes asset selection UX in the 2.5D compositor and recipe panel (including how uploads and catalog picks are wired), though persistence still uses output names and Scene3DWorkspace is untouched.

Overview
PR 5 (asset picker) moves several 2.5D compositor surfaces off AssetPickTrigger / ad‑hoc explorer + file inputs onto the shared AssetInput dual-origin control (From my computer / From HocusPocus).

Narrative template setup (hero, plate, prop, foreground) now sets slot filenames via NarrativeAssetField instead of opening SceneAnimatorExplorer through a single onOpenExplorer callback; SceneAnimatorPanel wires direct onHero / onPlate / … handlers (plate change still clears loop-ready). Attaching generated scene audio uses new SceneAnimatorAudioInput instead of the scene-audio explorer purpose.

In manual recipe mode, SceneRecipePanel drops the image/GLB toggle, hidden multi-file imports, and inline AssetExplorerDialog in favor of two AssetInput rows (images/video and GLB from app catalog); local upload flows through AssetInput rather than panel-local importFiles.

Docs (CURRENT_WORK, ASSET_PICKER_MIGRATION) record #211 merged and this slice as in-flight PR 5, with Scene3DWorkspace explicitly deferred to #212. Adds sceneAnimatorPicker.test.tsx asserting dual-origin buttons open the shared explorer.

Reviewed by Cursor Bugbot for commit 2a0517a. Configure here.

Character, background, prop, foreground and recipe media use the shared
dual-origin control. Scene3DWorkspace is left to open PR #212.
@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_c78b27b4-01c4-4d3b-8dc6-687780dd6cc8)

@github-actions

github-actions Bot commented Sep 7, 2026

Copy link
Copy Markdown

PR Review — Loreframe Studio

Risk: low
Scope: 6 file(s); +183/-131; React UI, docs

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/tests/sceneAnimatorPicker.test.tsx
  • modified: docs/development/ASSET_PICKER_MIGRATION.md, docs/development/CURRENT_WORK.md, ui/src/components/Sidebar/SceneAnimatorExplorer.tsx, ui/src/components/Sidebar/SceneAnimatorPanel.tsx, ui/src/components/Sidebar/SceneRecipePanel.tsx

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.0/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.3 +0.0
File concentration 25% 60.6 +0.0
Oversized-file debt 20% 36.1 +0.0
Modularity 10% 72.4 +0.1

Change vs PR base: +0.0 points.

Metric Value
Production LOC 261,184
Production files 663
Test LOC 89,987
Functions measured 16,726
Functions complexity ≥ 15 822
Maximum complexity 670
Policy code-health-policy-v1
HEAD c84459ba1bb6eecefb781466727c8ea64a316deb
Base 1e6cb636015eabb1b4046fe00801eea653bbd3e5
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 -19
Test LOC +69
Functions ≥ 15 +0
Maximum complexity +0

Warnings

  • hotspot ui/src/components/Sidebar/SceneAnimatorPanel.tsx increased by +3 lines

Ratchet passed.

@IAnMove
IAnMove merged commit 445250f 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