Skip to content

feat(studio): bind mixer tracks and optional SFX video with the picker - #246

Merged
IAnMove merged 1 commit into
developmentfrom
grok/agente1-g1c2-mixer
Sep 7, 2026
Merged

feat(studio): bind mixer tracks and optional SFX video with the picker#246
IAnMove merged 1 commit into
developmentfrom
grok/agente1-g1c2-mixer

Conversation

@IAnMove

@IAnMove IAnMove commented Sep 7, 2026

Copy link
Copy Markdown
Owner

Summary

G1-C2: Mixer base/overlays and optional SFX video use AssetInput.

  • Tracks keep independent offset/volume/duration.
  • Catalog picks set server paths; duration comes from metadata probe.
  • SFX video is optional and can be removed.

Test plan

  • mixerSfxPicker.test.tsx (2)
  • eslint

Note

Medium Risk
Changes how mixer and MMAudio SFX inputs resolve media paths, but mirrors existing studio picker wiring and keeps generation params the same shape.

Overview
Mixer and SFX sidebar controls now pick media through the shared AssetInput flow instead of FileUploadZone plus direct uploads.

For the mixer, the base track and overlay slots load workspace audio catalog items (or local/device picks via the dual-origin UI). Selection sets backend paths via studioMediaPath and duration via applyChosenStudioMedia; offset/volume/mix behavior is unchanged. For SFX, the optional video guide uses the same pattern with workspace video items and still drives video_guide / duration when metadata is available.

Adds mixerSfxPicker.test.tsx to assert both surfaces expose library + computer origins without auto-opening the asset explorer, and registers the test in the architecture wire inventory.

Reviewed by Cursor Bugbot for commit 1dadd55. Configure here.

Base and overlay mixer slots stay independent. SFX video remains optional
and clears explicitly. Catalog choices store server paths and duration
from metadata, without re-uploading.
@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_c5c0f775-4339-4a1b-9455-cf88ccff44c9)

@github-actions

github-actions Bot commented Sep 7, 2026

Copy link
Copy Markdown

PR Review — Loreframe Studio

Risk: low
Scope: 4 file(s); +141/-67; 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/tests/mixerSfxPicker.test.tsx
  • modified: tests/fixtures/architecture_wire_inventory.json, ui/src/components/Sidebar/MixerControls.tsx, ui/src/components/Sidebar/SfxControls.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.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.3 -0.1
File concentration 25% 61.3 +0.0
Oversized-file debt 20% 36.9 +0.0
Modularity 10% 75.0 +0.0

Change vs PR base: +0.0 points.

Metric Value
Production LOC 264,015
Production files 698
Test LOC 92,831
Functions measured 17,026
Functions complexity ≥ 15 833
Maximum complexity 672
Policy code-health-policy-v1
HEAD a851d9f0ee0e1dca079f54acb66146c8f6a5da5e
Base 156e58d7b592a06a957748d81762ca394c50ff8a
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
672 app/wgp.py:7219 generate_video
381 ui/src/stores/useStore.ts:4053 Async method 'startGeneration'
355 app/_launch_runtime.py:23563 _run_generation
308 app/wgp.py:12359 generate_video_tab
268 ui/src/stores/useStore.ts:8600 Async method 'loadSettingsFromOutput'
258 app/services/director/planners/short_film.py:3433 ShortFilmPlanner._plan_story_driven
258 ui/src/components/Sidebar/SceneAnimatorPanel.tsx:493 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 -7
Test LOC +75
Functions ≥ 15 +0
Maximum complexity +0

Ratchet passed.

@IAnMove
IAnMove merged commit 8de1629 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