|
| 1 | +# PR_26130_008-text2speach-v2-schema-queue |
| 2 | + |
| 3 | +## Summary |
| 4 | + |
| 5 | +- Renamed the prior tool-facing speech surface to the exact name `text2speach-V2`. |
| 6 | +- Renamed the tool folder, stylesheet, registry entry, Workspace Manager V2 launch entry, labels, logs, CSS classes, DOM ids, Playwright selectors, and toolState ids. |
| 7 | +- Preserved the existing text-to-speech defaults, speaking queue action, Workspace Manager V2 launch behavior, Preview Generator V2 Repo Destination hiding, and shared audio engine location under `src/engine/audio/`. |
| 8 | + |
| 9 | +## Scope |
| 10 | + |
| 11 | +Changed only the text2speach-V2 naming pass and the existing Workspace Manager V2 / Preview Generator V2 coverage surface from the prior speech baseline. |
| 12 | + |
| 13 | +No `start_of_day` files were modified. |
| 14 | + |
| 15 | +No `tools/shared` dependency was added. |
| 16 | + |
| 17 | +No inline script/style/event handlers were added. |
| 18 | + |
| 19 | +`src/engine/audio/` was not renamed or restructured. Its existing modules remain in place; only tool-facing default text/id strings were updated. |
| 20 | + |
| 21 | +## Naming Coverage |
| 22 | + |
| 23 | +Updated tool-facing naming in: |
| 24 | + |
| 25 | +- Tool registry id, display name, folder path, entry point, and README path. |
| 26 | +- Tools index utility grouping. |
| 27 | +- Workspace Manager V2 launchable tool id/name/path. |
| 28 | +- Workspace Manager V2 tile details. |
| 29 | +- Tool folder and stylesheet path: `tools/text2speach-V2/`. |
| 30 | +- HTML title, `data-tool-id`, header label, CSS classes, DOM ids, and status log id. |
| 31 | +- Browser status logs: `text2speach-V2 ready` / `text2speach-V2 unavailable`. |
| 32 | +- Playwright helper names, route URLs, selectors, expected labels, status logs, and sessionStorage toolState key assertions. |
| 33 | +- ToolState id/session key: `workspace.tools.text2speach-V2`. |
| 34 | + |
| 35 | +Schema/session metadata now carries `toolId: "text2speach-V2"` for Workspace Manager V2 launch-context schema sessions. No new tool payload schema was introduced in this naming-only update. |
| 36 | + |
| 37 | +## Validation |
| 38 | + |
| 39 | +- `node --check tests/playwright/tools/WorkspaceManagerV2.spec.mjs` |
| 40 | +- `node --check tools/text2speach-V2/js/bootstrap.js` |
| 41 | +- `node --check tools/text2speach-V2/js/TextToSpeechToolApp.js` |
| 42 | +- `node --check src/engine/audio/TextToSpeechDefaults.js` |
| 43 | +- `node --check src/engine/audio/TextToSpeechEngine.js` |
| 44 | +- `node --check tools/workspace-manager-v2/js/services/WorkspaceManagerV2ContextService.js` |
| 45 | +- `npm run test:workspace-v2`: 25 passed |
| 46 | +- Inline/dependency guard grep: no matches for inline scripts/styles/event handlers, `tools/shared`, `imageDataUrl`, or `start_of_day` in touched implementation/test paths |
| 47 | +- `git diff --check`: passed |
| 48 | + |
| 49 | +Full samples smoke test was skipped because this PR is scoped to text2speach-V2 naming, Workspace Manager V2 launch coverage, and existing speech queue behavior, not broad sample runtime behavior. |
| 50 | + |
| 51 | +## Playwright Coverage |
| 52 | + |
| 53 | +Playwright impacted: Yes. |
| 54 | + |
| 55 | +Validated behavior: |
| 56 | + |
| 57 | +- Direct `text2speach-V2` launch uses `/tools/text2speach-V2/index.html`. |
| 58 | +- The first-class tool surface exposes `data-tool-id="text2speach-V2"` and heading text `text2speach-V2`. |
| 59 | +- Sample text uses the exact `text2speach-V2` name. |
| 60 | +- Enum-populated language, rate, pitch, and volume controls remain available. |
| 61 | +- Speak remains disabled for empty text and enabled for non-empty text. |
| 62 | +- Speak queues browser speech synthesis and logs the existing queued status. |
| 63 | +- Workspace Manager V2 exposes and launches the `text2speach-V2` tile. |
| 64 | +- Session Inspector sees the toolState key as `sessionStorage:workspace.tools.text2speach-V2`. |
| 65 | +- Returning from the tool keeps Workspace Manager V2 tools enabled. |
| 66 | + |
| 67 | +Expected pass behavior: all tool-facing names use `text2speach-V2`, existing queue/status behavior still works, and Workspace Manager V2 preserves the renamed toolState id. |
| 68 | + |
| 69 | +Expected fail behavior: tests fail if the registry, tools index, Workspace Manager tile, DOM selectors, logs, route, or toolState id regress to a legacy speech-tool name. |
| 70 | + |
| 71 | +## Manual Test |
| 72 | + |
| 73 | +1. Open `/tools/text2speach-V2/index.html`. |
| 74 | +2. Confirm the header shows `text2speach-V2`. |
| 75 | +3. Confirm the default sample text mentions `text2speach-V2`. |
| 76 | +4. Click `Speak`. |
| 77 | +5. Expected: status logs `OK Speak queued...` and the output summary shows `speak-queued`. |
| 78 | +6. Open Workspace Manager V2, pick the repo folder, open Asteroids, and launch `text2speach-V2`. |
| 79 | +7. Expected: the tool opens under `/tools/text2speach-V2/index.html?launch=workspace...`, workspace nav is visible, and returning to Workspace Manager keeps tools enabled. |
| 80 | + |
| 81 | +Out of scope: full samples smoke validation and sample JSON alignment. |
| 82 | + |
| 83 | +## Changed Files |
| 84 | + |
| 85 | +- `docs/dev/codex_commands.md` |
| 86 | +- `docs/dev/commit_comment.txt` |
| 87 | +- `docs/dev/reports/PR_26130_008-text2speach-v2-schema-queue.md` |
| 88 | +- `src/engine/audio/TextToSpeechDefaults.js` |
| 89 | +- `src/engine/audio/TextToSpeechEngine.js` |
| 90 | +- `src/engine/audio/index.js` |
| 91 | +- `tests/playwright/tools/WorkspaceManagerV2.spec.mjs` |
| 92 | +- `tools/preview-generator-v2/PreviewGeneratorV2App.js` |
| 93 | +- `tools/preview-generator-v2/PreviewGeneratorV2Ui.js` |
| 94 | +- `tools/preview-generator-v2/controls/RepoDestinationControl.js` |
| 95 | +- `tools/preview-generator-v2/index.html` |
| 96 | +- `tools/preview-generator-v2/previewGeneratorV2.css` |
| 97 | +- `tools/renderToolsIndex.js` |
| 98 | +- `tools/text2speach-V2/README.md` |
| 99 | +- `tools/text2speach-V2/how_to_use.html` |
| 100 | +- `tools/text2speach-V2/index.html` |
| 101 | +- `tools/text2speach-V2/js/TextToSpeechToolApp.js` |
| 102 | +- `tools/text2speach-V2/js/bootstrap.js` |
| 103 | +- `tools/text2speach-V2/js/controls/ActionNavControl.js` |
| 104 | +- `tools/text2speach-V2/js/controls/OutputSummaryControl.js` |
| 105 | +- `tools/text2speach-V2/js/controls/SpeechOptionsControl.js` |
| 106 | +- `tools/text2speach-V2/js/controls/StatusLogControl.js` |
| 107 | +- `tools/text2speach-V2/js/controls/TextInputControl.js` |
| 108 | +- `tools/text2speach-V2/styles/text2speach-V2.css` |
| 109 | +- `tools/toolRegistry.js` |
| 110 | +- `tools/workspace-manager-v2/js/controls/ToolTilesControl.js` |
| 111 | +- `tools/workspace-manager-v2/js/services/WorkspaceManagerV2ContextService.js` |
0 commit comments