feat(characters): add manual 2D speech preparation workshop - #200
Conversation
Bugbot couldn't run - usage limit reachedBugbot 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_d904fdb6-1c84-41ac-957d-2db15e2e954b) |
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. |
Qué cambia
Alcance y límitesPrimera entrega manual. Rhubarb, MuseTalk, FLUX/Qwen con máscara y packs por vista Validación
Validación de código local en CI verde no es validación artística con generación real. La aprobación del |
Code healthQuality score: 53.0/100Higher is better. The score is a trend dashboard; the independent ratchet below remains the CI gate.
Change vs PR base: +0.1 points.
Markdown, JSON catalogs and tests are out of this table. Only Most complex functions
Trend vs baseline
Warnings
Ratchet passed. |
|
Cierre verificado: MERGED en development, a0bf91c; padres c2794f6 + 7fa0c6b y árbol idéntico al HEAD validado. CI required y jobs de producto PASS. Cursor no ejecutado por cuota (dispensa previa del usuario); Independent QA neutral, no confundir con publisher PASS. Revisión local cruzada de agentes documentada arriba. Taller manual integrado; sincronización con audio real y prueba artística pendientes. No se han reiniciado instancias compartidas ni publicado main; tampoco se han subido modelos o medios. |
CURRENT_WORK now treats the manual 2D speech workshop as merged on a0bf91c. The remaining limit is artistic validation, not the RAM-safe panel tests already in that PR.
Summary
Manual 2D speech preparation workshop in Character Creator. Saves reviewed drafts without starting inference.
Does not merge the 3D scene PR or reopen Labs L0–L12.
Test plan
ui/tests/characterSpeechPreparationPanel.test.tsx(RAM-safe assertions)Independent QA / Bugbot are not required.
Note
Medium Risk
Touches character-kit persistence and optimistic concurrency in the UI; mistakes could lose drafts or mishandle revision conflicts, though behavior is heavily tested and scene Face Rig defaults are unchanged.
Overview
Adds a Prepare 2D speech flow under Character Creator so users can pick or import a character base, review poses and mouth pieces via the existing Face Rig UI, and save explicitly to the workspace character-kit library—without running 3D orbit or inference.
The workshop is a lazy-loaded drawer (
CharacterSpeechWorkshopEntry→CharacterSpeechPreparation) backed byuseCharacterSpeechLibraryfor load/save/upload, optimisticbaseRevisionon PATCH, and session draft recovery (characterSpeechDraft: validated, 2 MiB cap, per-workspace). Recovered drafts keep their original revision after a remote bump; save failures retain the draft with no auto-retry.CharacterKitFaceRigPanelgainsallowModelActions={false}here so generate/cleanup/voice paths are disabled while manual placement, presets, and review stay available.A mouth readiness checklist (
speechPreparationReadiness) surfaces missing/pending/rejected/incompatible/approved per viseme. EN/ES copy and creator/library subtitles point users to the new entry. Docs addCHARACTER_SPEECH_WORKSHOP.mdand refresh raster-plan CI/merge notes.Coverage includes unit/panel tests (workspace races, draft recovery, save conflicts), a Playwright E2E that asserts no inference POSTs, and a panel-test fix that avoids DOM-heavy assertions that previously triggered OOM.
Reviewed by Cursor Bugbot for commit 7fa0c6b. Configure here.