|
| 1 | +# PR_26171_069-message-tts-profile-contract-alignment Build |
| 2 | + |
| 3 | +## Source Of Truth |
| 4 | + |
| 5 | +Use this BUILD doc, the original PR request, `docs_build/dev/PROJECT_INSTRUCTIONS.md`, and `docs_build/dev/PROJECT_MULTI_PC.txt`. |
| 6 | + |
| 7 | +## Singular Purpose |
| 8 | + |
| 9 | +Align Message Studio and TTS Studio around reusable TTS Profiles, per-profile Emotion Settings, and Message Parts playback. |
| 10 | + |
| 11 | +## Exact Targets |
| 12 | + |
| 13 | +- `toolbox/messages/index.html` |
| 14 | +- `toolbox/messages/messages.js` |
| 15 | +- `toolbox/messages/message-tts-service-registry.js` |
| 16 | +- `toolbox/text-to-speech/index.html` |
| 17 | +- `toolbox/text-to-speech/text2speech.js` |
| 18 | +- `src/engine/audio/TextToSpeechEngine.js` |
| 19 | +- Targeted Message Studio Playwright/unit tests. |
| 20 | +- Targeted TTS Studio Playwright/unit tests. |
| 21 | +- `docs_build/dev/reports/codex_review.diff` |
| 22 | +- `docs_build/dev/reports/codex_changed_files.txt` |
| 23 | +- PR-specific report. |
| 24 | +- Message/TTS ownership checklist. |
| 25 | +- Parent-child table checklist. |
| 26 | +- Validation report. |
| 27 | +- Manual validation notes. |
| 28 | + |
| 29 | +## Requirements |
| 30 | + |
| 31 | +- Message Studio parent table is Messages. |
| 32 | +- Clicking a Message row opens the Message Parts child table. |
| 33 | +- Message Parts select Text, Emotion, and TTS Profile. |
| 34 | +- Message Studio exposes Play Part, Play Message, and Stop. |
| 35 | +- Message playback uses `src/engine/audio/TextToSpeechEngine`. |
| 36 | +- Default TTS Profile exists until real profiles are available. |
| 37 | +- TTS Studio parent table is TTS Profiles. |
| 38 | +- Clicking a TTS Profile row opens Emotion Settings child table. |
| 39 | +- Emotion settings belong to the selected TTS Profile. |
| 40 | +- Do not create separate Emotion Studio. |
| 41 | +- Include example profiles with Neutral, Happy, Angry, and Scared settings. |
| 42 | +- Message Studio owns text and ordered message parts. |
| 43 | +- TTS Studio owns reusable profiles and per-profile emotion settings. |
| 44 | +- `src/engine/audio` owns playback. |
| 45 | +- Audio owns generated/played output. |
| 46 | +- Use Theme V2 and external JavaScript only. |
| 47 | +- Do not add inline styles, style blocks, inline event handlers, page-local CSS, or tool-local CSS. |
| 48 | +- Do not add database changes unless an existing Local API contract already supports them. |
| 49 | +- Do not use browser-owned product data as source of truth. |
| 50 | +- Do not add silent fallbacks. |
| 51 | + |
| 52 | +## Validation |
| 53 | + |
| 54 | +- Run targeted Message Studio validation. |
| 55 | +- Run targeted TTS Studio validation. |
| 56 | +- Run `npm run test:workspace-v2`. |
| 57 | +- Do not run full samples smoke. |
| 58 | + |
| 59 | +## ZIP |
| 60 | + |
| 61 | +Produce `tmp/PR_26171_069-message-tts-profile-contract-alignment_delta.zip` with repo-structured changed files only. |
0 commit comments