Skip to content

i18n: chrome visible restante (Story Lab, Series Lab, bienvenida, cola) - #103

Merged
IAnMove merged 4 commits into
mainfrom
i18n/visible-copy
Sep 2, 2026
Merged

i18n: chrome visible restante (Story Lab, Series Lab, bienvenida, cola)#103
IAnMove merged 4 commits into
mainfrom
i18n/visible-copy

Conversation

@IAnMove

@IAnMove IAnMove commented Sep 2, 2026

Copy link
Copy Markdown
Owner

Por qué

La UI aún mezclaba ES/EN fuera de catálogo. Este PR parte de main (incluye #101) y trae el extract de Assembly de #102, más el chrome visible que faltaba.

Qué entra al sistema i18n

  • storyLab: issues de aprobación, avisos/confirmaciones de tráiler, timeline de montaje
  • seriesLab (namespace nuevo): pestañas, montaje ordenado, duración de plano
  • director (namespace nuevo): diálogo de recuperación de cola
  • common.welcome: modal de bienvenida
  • activity.montage: “Usar en Montaje / posición”
  • E2E de Story Lab: clic en Trailer (antes Tráiler, que rompía CI de Extract Story Lab assembly tab and library chrome i18n #102)

EN es la fuente; ES va en el mismo commit. Workspace sigue siendo Workspace; carpeta física = Output folder / Carpeta de salida.

Qué no se tocó a propósito

Prompts de LLM, agentActions/actions.ts, IDs, nombres de modelo. Siguen avisos EN de Story Lab (música, assets, etc.) y chrome de Director/Comics/Video Editor/Character Kits: siguiente pasada.

Tests

  • npm test: 505 passed
  • contratos Python de trailer/series/montage retargeted
  • check-i18n-catalogs.mjs ok

No mezclar hasta CI verde. #102 queda subsumido aquí (mismo extract + i18n + main).


Note

Low Risk
Refactor and catalog-driven UI copy with broad test updates; no auth, API, or generation pipeline behavior changes beyond localized labels.

Overview
Moves remaining Story Lab shell UI into StoryAssemblyTab, StoryLabLibraryChrome, and storyLabTabs.ts, and routes tab labels, project types, library/prepare actions, assembly copy, approval issues, trailer notices, and production timeline strings through storyLab EN+ES catalogs instead of inline ES/EN literals.

Adds director (queue recovery dialog) and seriesLab (lab tabs, review assembly chrome, shot duration) namespaces, common.welcome for the first-run modal, and activity.montage for assembly replacement banners and feed actions. Registers namespaces in resources.ts and extends check-i18n-catalogs.mjs pilot coverage so migrated phrases cannot reappear as hardcoded strings.

Playwright Story Lab e2e now clicks Trailer (English tab label). Python source contracts and UI tests assert t('…') usage and default English button text where the app falls back to EN.

Reviewed by Cursor Bugbot for commit f93811c. Configure here.

Move assembly and leftover library chrome out of StoryLabPanel.
Handlers stay in the panel; tab labels, project types and chrome
copy live in storyLab EN/ES catalogs. New files stay at complexity ≤ 25.

Does not touch useStore.ts or _launch_runtime.py.
Move leftover Spanish/English UI copy into EN+ES catalogs (storyLab issues,
notices and timeline; seriesLab; director queue recovery; welcome; gallery
montage actions). Fix the Story Lab E2E tab name to Trailer. Retarget tests
that asserted hardcoded words.
@IAnMove

IAnMove commented Sep 2, 2026

Copy link
Copy Markdown
Owner Author

cursor review

@github-actions

github-actions Bot commented Sep 2, 2026

Copy link
Copy Markdown

PR Review — Loreframe Studio

Risk: medium
Scope: 39 file(s); +1156/-358; 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

  • medium — Large pull request
    1156 additions / 358 deletions. Reviewers will have an easier time with smaller, focused PRs.
  • 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/stories/StoryAssemblyTab.tsx, ui/src/features/stories/StoryLabLibraryChrome.tsx, ui/src/features/stories/storyLabTabs.ts, ui/src/i18n/locales/en/director.json, ui/src/i18n/locales/en/seriesLab.json, ui/src/i18n/locales/es/director.json, ui/src/i18n/locales/es/seriesLab.json
  • modified: docs/development/INTERNATIONALIZATION.md, docs/development/SLICE_QUEUE.md, tests/test_series_lab_ui.py, tests/test_story_lab_trailer_ui.py, tests/test_story_montage_clip_history_ui.py, tests/test_video_editor_replacement_ui.py, ui/e2e/specs/story-lab-music-productions.spec.ts, ui/scripts/check-i18n-catalogs.mjs, ui/src/components/MainContent/MainContent.tsx, ui/src/components/MainContent/MediaFeedItem.tsx, ui/src/components/QueueRecoveryDialog.tsx, ui/src/components/WelcomeModal.tsx, ui/src/features/series/SeriesLabPanel.tsx, ui/src/features/series/SeriesReviewPanel.tsx, ui/src/features/series/SeriesShotDurationControl.tsx, ui/src/features/stories/StoryLabNavigation.tsx, ui/src/features/stories/StoryLabPanel.tsx, ui/src/features/stories/StoryProductionTimeline.tsx, ui/src/i18n/locales/en/activity.json, ui/src/i18n/locales/en/common.json
    … and 12 more

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 2, 2026

Copy link
Copy Markdown

Code health

Metric Value
Production LOC 234,568
Production files 503
Test LOC 64,151
Functions measured 14,649
Functions complexity ≥ 15 776
Maximum complexity 667

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

Most complex functions

Complexity Where
667 app/wgp.py:7157 generate_video
374 ui/src/stores/useStore.ts:4426 Async method 'startGeneration'
356 app/_launch_runtime.py:23733 _run_generation
308 app/wgp.py:12274 generate_video_tab
272 ui/src/components/Sidebar/SceneAnimatorPanel.tsx:469 Function 'SceneAnimatorPanel'
266 ui/src/stores/useStore.ts:9164 Async method 'loadSettingsFromOutput'
258 app/services/director/planners/short_film.py:3433 ShortFilmPlanner._plan_story_driven
254 app/services/director_pipeline.py:13539 _run_video_generation
245 app/services/director_pipeline.py:7663 _run_pipeline
241 ui/src/features/agent/agentActions.ts:1077 Function 'parseAction'
227 ui/src/features/agent/agentActions.ts:2672 Async function 'executeAgentActions'
226 app/services/director_pipeline.py:6492 update_comic_preview

Trend vs baseline

Metric Δ
Production LOC +903
Test LOC +337
Functions ≥ 15 +2
Maximum complexity +0

Warnings

  • production LOC increased by +903
  • functions at complexity >= 15 increased by +2
  • complexity hotspot ui/src/stores/useStore.ts rose 373 -> 374
  • complexity hotspot app/services/model3d_service.py rose 51 -> 54
  • hotspot app/_launch_runtime.py increased by +66 lines
  • hotspot ui/src/features/agent/agentActions.ts increased by +3 lines
  • hotspot ui/src/types/index.ts increased by +3 lines
  • hotspot app/services/model3d_service.py increased by +58 lines
  • hotspot ui/src/features/agent/capabilityRegistry.ts increased by +2 lines
  • hotspot ui/src/features/agent/applicationAdapters.ts increased by +5 lines

Ratchet passed.

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ 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 f93811c. Configure here.

CI failed because the feed button copy moved from a hardcoded
"Usar en posición" string to t('montage.useInPosition').
@IAnMove
IAnMove merged commit bd6972a into main Sep 2, 2026
4 checks passed
@IAnMove
IAnMove deleted the i18n/visible-copy branch September 5, 2026 11:53
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