refactor: extraer Music, Trailer y Productions de Story Lab con i18n - #91
Merged
Conversation
Saca las pestañas Music, Trailer y Productions y CompactVideoWorkspace de StoryLabPanel, reutiliza el chrome y los handlers del panel, y mueve las etiquetas visibles de esa zona al namespace storyLab (EN+ES).
Owner
Author
|
@cursor review |
PR Review — Loreframe StudioRisk: medium Automated review from Findings
Changed files
CONTRIBUTING checklist
Posted by the repo PR review workflow. Re-runs on each push to the PR. |
There was a problem hiding this comment.
✅ Bugbot reviewed your changes and found no new issues!
Comment @cursor review or bugbot run to trigger another review on this PR
Reviewed by Cursor Bugbot for commit ee5e5cd. Configure here.
Python CI still sliced StoryLabPanel for Gemma copy, video-format controls and trailer chrome. Those strings and handlers now live in the extracted tabs, video-format module and storyLab catalogs.
Owner
Author
|
cursor review |
There was a problem hiding this comment.
✅ Bugbot reviewed your changes and found no new issues!
Comment @cursor review or bugbot run to trigger another review on this PR
Reviewed by Cursor Bugbot for commit de945c1. Configure here.
This was referenced Sep 2, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Contrato
Extrae Music, Trailer, Productions y CompactVideoWorkspace de
StoryLabPanel.tsxsin 16-prop drilling de componentes. El panel sigue siendo dueño de generate, cola musical, staging y uploads. Las pestañas importan chrome compartido,useStoryLabVisuals()y los handlers reales.Workspace sigue siendo el nombre de producto. Las rutas físicas siguen siendo Output folder / Carpeta de salida.
Zona i18n
Namespace existente
storyLab(EN+ES). Boy scout limitado a las superficies extraídas: Music, Trailer, Productions, CompactVideoWorkspace y controles de formato de vídeo. Overview, assets y assembly quedan con deuda.Lo que queda en el panel
Tests locales
npx tsc -b --pretty falsenpm run i18n:checknpm test(499)npx eslint . --max-warnings=0pytest -q tests/test_story_lab_audio_ui.py(17)scripts/architecture_contracts.pyE2E simulado:
ui/e2e/specs/story-lab-music-productions.spec.tsabre Story Lab y comprueba el chrome extraído de Music, Productions y Trailer. El live Wizardwizard-generation.spec.tsno se toca (Ask to the Wizard, Director, Story Lab).No mezclar hasta CI verde.
Note
Medium Risk
Large UI decomposition on Story Lab production paths (music, trailer, film/comic staging to Director); behavior is intended to be unchanged but regression surface is broad across tabs and video-format persistence.
Overview
Splits Music, Trailer, Productions, and the compact prep workspace out of
StoryLabPanel.tsxinto dedicated modules (StoryMusicTab,StoryTrailerTab,StoryProductionsTab,StoryProductionsMusicPanel,CompactVideoWorkspace, plusStoryVideoFormatControls/storyLabVideoFormat.tsandstoryLabMusichelpers). The panel still owns generation, music queue/cancellation, staging to Director, and file uploads; tabs receive real handlers via props instead of duplicating logic.Compact prep now uses
useStoryLabVisuals()for image/upload flows (fewer props than the old inline component). Shared chrome types (StoryLabTab,ProductionReviewIssue,requiredPreparationButton) move tostoryLabChrome.tsx.i18n: visible copy on the extracted surfaces goes through the
storyLabnamespace (EN+ES);check-i18n-catalogs.mjsregisters the new files and forbids hard-coded strings like “Music bible” in those pilots.Quality gates: Python source-contract tests and a new Playwright spec (
story-lab-music-productions.spec.ts) assert against the split files;SLICE_QUEUE.mdmarks #88 landed and this slice as the active medium PR.Reviewed by Cursor Bugbot for commit de945c1. Configure here.