From 3361d3382eeb07f8b7c20d4cdf54849873851857 Mon Sep 17 00:00:00 2001 From: perhaps-aksh Date: Mon, 19 Oct 2026 17:45:33 +0530 Subject: [PATCH 1/2] feat: spoken subtitles, case journal, puzzle desk, phone portraits; no sky under close-ups - Every in-game subtitle without a recorded take is spoken in the character's voice: the TV asks the server's new /speak endpoint (validated text and voice, 302 to the cached clip). Text stays on screen. - Edge TTS: msedge-tts 2.1.0 (Edge began rejecting 2.0.9 with HTTP 403). - Evidence journal after the journal reference: an open case book with a photo per clue (painted close-ups), sealed slots, the focused clue read on the left page. - Puzzles sit on a detective's desk (procedural stand-in until painted art). - Speech bubble: name plaque, top-left so it never covers narration, the inspect panel or the action bar. - Phone: painted portraits in the Question tab (served from /portraits/), the rainy-street backdrop, evidence as pinned paper slips, parchment replies. Server serves .jpg. - The Last Train: dark ground under the platform edge so close-ups of low objects (ticket, carriage plan) never show sky. - Lighter rain and steam (fewer animated views per frame). - README: Mermaid charts simplified so GitHub renders them. --- README.md | 23 +- apps/player/build.mjs | 20 +- apps/player/public/app.css | 28 +- apps/player/src/render.test.ts | 12 +- apps/player/src/render.ts | 15 +- apps/server/package.json | 4 +- apps/server/scripts/ask-bot.ts | 4 +- apps/server/src/app.test.ts | 18 ++ apps/server/src/app.ts | 22 ++ apps/server/src/index.ts | 2 +- apps/tv/scripts/art/prepare_ui.py | 23 ++ apps/tv/src/assets/ui/desk.jpg | Bin 0 -> 188898 bytes apps/tv/src/game/CharacterSpeech.tsx | 39 ++- .../src/screens/Evidence/EvidenceScreen.tsx | 295 +++++++++++++----- apps/tv/src/screens/Puzzle/PuzzleScreen.tsx | 8 +- apps/tv/src/ui/keyArt.ts | 2 + apps/tv/src/world/Actors.tsx | 4 +- apps/tv/src/world/Effects.tsx | 6 +- apps/tv/src/world/WorldScreen.tsx | 16 +- apps/tv/test/App.spec.tsx | 2 +- apps/tv/test/AudioJourney.spec.tsx | 15 +- apps/tv/test/World.spec.tsx | 2 +- package-lock.json | 8 +- .../src/the-last-train/world/index.ts | 3 + .../src/the-last-train/world/manifest.ts | 18 ++ 25 files changed, 453 insertions(+), 136 deletions(-) create mode 100644 apps/tv/src/assets/ui/desk.jpg diff --git a/README.md b/README.md index 918249c..affb0af 100644 --- a/README.md +++ b/README.md @@ -95,12 +95,13 @@ The AI is an **actor, not a judge**. A pure, deterministic game engine decides e ```mermaid flowchart LR - Q["📱 'Where were you
at 11:47?'"] --> B["Budget, cooldown,
length checks"] + Q["Phone: Where were you
at 11:47?"] --> B["Budget, cooldown,
length checks"] B --> F["Truth table:
only unlocked facts"] F --> M["Free LLM
(Groq gpt-oss-120b)"] - M --> G{"Guard:
spoilers? answers?
out of character?"} - G -- safe --> V["🔊 Voice on the TV
+ subtitles"] - G -- unsafe / offline --> A["Authored fallback line"] --> V + M --> G{"Guard: spoilers,
answers, out of character"} + G -->|"safe"| V["Voice on the TV
+ subtitles"] + G -->|"unsafe or offline"| A["Authored fallback line"] + A --> V ``` - **Locked facts never reach the model.** The prompt holds only the persona, the unlocked facts and the clues already found. @@ -168,11 +169,11 @@ bash apps/tv/scripts/wsl-install.sh # install and launch on the Vega Virtual ```mermaid flowchart LR - subgraph Home["Living room"] - TV["📺 Fire TV · Vega OS
React Native for Vega"] - P["📱 Phones
(browser, no install)"] + subgraph room["Living room"] + TV["Fire TV, Vega OS
React Native for Vega"] + P["Phones
(browser, no install)"] end - subgraph Server["Game server · Node.js + TypeScript"] + subgraph srv["Game server: Node.js + TypeScript"] WS["WebSocket gateway"] GS["Rooms + GameSession"] ENG["Game engine
(pure, deterministic)"] @@ -181,9 +182,11 @@ flowchart LR end TV <-->|"intents / state"| WS P <-->|"intents / state"| WS - WS --> GS --> ENG --> MD + WS --> GS + GS --> ENG + ENG --> MD GS --> AI - AI -.-> LLM["Groq · Edge TTS
(free tiers)"] + AI -.-> LLM["Groq + Edge TTS
(free tiers)"] ``` **Ground rules** diff --git a/apps/player/build.mjs b/apps/player/build.mjs index 1abb823..ac022aa 100644 --- a/apps/player/build.mjs +++ b/apps/player/build.mjs @@ -1,13 +1,30 @@ // Bundles the phone app into dist/ with esbuild (already in the repo via tsx). // Usage: node build.mjs [--watch] import {build, context} from 'esbuild'; -import {cpSync, mkdirSync, rmSync, writeFileSync} from 'node:fs'; +import {cpSync, existsSync, mkdirSync, readdirSync, rmSync, writeFileSync} from 'node:fs'; const outdir = new URL('./dist/', import.meta.url).pathname.replace(/^\/([A-Za-z]:)/, '$1'); rmSync(outdir, {recursive: true, force: true}); mkdirSync(outdir, {recursive: true}); cpSync(new URL('./public/', import.meta.url), outdir, {recursive: true}); +// The painted art the TV ships, reused on the phone: suspect portraits (calm) +// and the rainy-street key art as a dimmed backdrop. Missing art just means +// initials, so other cases work before their portraits exist. +const tvAssets = new URL('../tv/src/assets/', import.meta.url).pathname.replace(/^\/([A-Za-z]:)/, '$1'); +const portraits = []; +for (const mystery of existsSync(`${tvAssets}mysteries`) ? readdirSync(`${tvAssets}mysteries`) : []) { + const dir = `${tvAssets}mysteries/${mystery}/portraits`; + if (!existsSync(dir)) continue; + mkdirSync(`${outdir}/portraits/${mystery}`, {recursive: true}); + for (const file of readdirSync(dir).filter(f => f.endsWith('.calm.png'))) { + const id = file.replace('.calm.png', ''); + cpSync(`${dir}/${file}`, `${outdir}/portraits/${mystery}/${id}.png`); + portraits.push(`${mystery}/${id}`); + } +} +if (existsSync(`${tvAssets}ui/home.jpg`)) cpSync(`${tvAssets}ui/home.jpg`, `${outdir}/backdrop.jpg`); + // Design tokens → tokens.css, from the same source as the TV theme. const tokens = await build({ stdin: {contents: "import {cssVariables} from '@roomriddle/ui'; export default cssVariables();", resolveDir: new URL('.', import.meta.url).pathname.replace(/^\/([A-Za-z]:)/, '$1'), loader: 'ts'}, @@ -29,6 +46,7 @@ const options = { minify: !process.argv.includes('--watch'), sourcemap: true, logLevel: 'info', + define: {__PORTRAITS__: JSON.stringify(portraits)}, }; if (process.argv.includes('--watch')) { diff --git a/apps/player/public/app.css b/apps/player/public/app.css index 4469584..2230c89 100644 --- a/apps/player/public/app.css +++ b/apps/player/public/app.css @@ -12,14 +12,15 @@ html, body { font: var(--t-body-font); -webkit-font-smoothing: antialiased; } -/* Atmosphere: two faint light pools and a paper-grain vignette, no images. */ +/* Atmosphere: the TV's rainy-street painting, dimmed far down, under a lamp-light pool. */ body::before { content: ""; position: fixed; inset: 0; z-index: -1; pointer-events: none; background: radial-gradient(120% 60% at 85% -10%, var(--c-accent-wash), transparent 60%), - radial-gradient(90% 50% at -10% 110%, var(--c-signal-wash), transparent 60%), - linear-gradient(var(--c-background), var(--c-veil)); + linear-gradient(color-mix(in srgb, var(--c-background) 86%, transparent), var(--c-background) 70%), + url("backdrop.jpg") center top / cover no-repeat, + var(--c-background); } main { max-width: 560px; margin: 0 auto; @@ -151,9 +152,14 @@ button.option.pending { opacity: .6; } .tabs button.on { color: var(--c-accent); border-bottom-color: var(--c-accent); } .tabs .mono { color: var(--c-text-muted); } -.evidence { margin-top: var(--s-sm); padding: var(--s-lg); background: var(--c-surface); border: 1px solid var(--c-border); border-top: 3px solid var(--c-accent-soft); border-radius: var(--r-sm); box-shadow: var(--shadow-card); animation: reveal var(--m-discovery) both; } -.evidence.solved { border-top-color: var(--c-success); } -.evidence header { display: flex; justify-content: space-between; align-items: center; margin-bottom: var(--s-xs); font-size: 12px; color: var(--c-text-muted); } +/* Evidence is a paper slip from the case journal: ink on paper, a pin, a slight hand-placed tilt. */ +.evidence { position: relative; margin-top: var(--s-md); padding: var(--s-lg); background: var(--c-paper); color: var(--c-ink); border: 0; border-radius: 2px; box-shadow: var(--shadow-card); animation: reveal var(--m-discovery) both; } +.evidence:nth-of-type(odd) { rotate: -0.6deg; } .evidence:nth-of-type(even) { rotate: 0.5deg; } +.evidence::before { content: ""; position: absolute; top: -6px; left: 50%; width: 12px; height: 12px; margin-left: -6px; border-radius: 50%; background: #a3301f; box-shadow: 0 2px 3px rgba(0,0,0,.4); } +.evidence.solved::before { background: var(--c-success); } +.story .evidence p, .evidence p, .evidence h4 { color: var(--c-ink); } +.evidence .tag.ok, .evidence .muted { color: color-mix(in srgb, var(--c-ink) 65%, transparent); } +.evidence header { display: flex; justify-content: space-between; align-items: center; margin-bottom: var(--s-xs); font-size: 12px; color: #8a2c1c; } .evidence h4 { margin-bottom: var(--s-xs); } .tag { font: var(--t-label-font); letter-spacing: 1.5px; text-transform: uppercase; } .tag.ok { color: var(--c-success); } @@ -178,15 +184,19 @@ button.option.pending { opacity: .6; } .cast-text { display: grid; gap: 2px; } .cast-text b { font: var(--t-h2-font); font-size: 18px; } .cast-text .muted { font-size: 13px; } -.avatar { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--c-accent-soft); background: var(--c-surface-sunken); color: var(--c-accent); font: var(--t-label-font); letter-spacing: 1px; } -.avatar.big { width: 64px; height: 64px; font-size: 18px; } +.avatar { position: relative; display: grid; place-items: center; width: 52px; height: 52px; overflow: hidden; border-radius: 50%; border: 2px solid var(--c-accent-soft); background: var(--c-surface-sunken); color: var(--c-accent); font: var(--t-label-font); letter-spacing: 1px; } +.avatar img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; } +.avatar.big { width: 88px; height: 88px; font-size: 20px; border-color: var(--c-accent); } .cast-head { display: flex; gap: var(--s-md); align-items: center; margin: var(--s-sm) 0 var(--s-lg); } .cast-head .display { margin: 0; font-size: 26px; line-height: 32px; } .thread { list-style: none; margin: 0 0 var(--s-lg); padding: 0; display: grid; gap: var(--s-sm); } .thread li { max-width: 88%; padding: var(--s-sm) var(--s-md); border-radius: var(--r-md); animation: reveal var(--m-discovery) both; } .thread .q { justify-self: end; background: var(--c-surface-elevated); border: 1px solid var(--c-border); } .thread .q .label { font-size: 10px; margin-bottom: 2px; } -.thread .a { justify-self: start; background: var(--c-surface); border-left: 3px solid var(--c-accent); font: var(--t-body-font); font-style: italic; } +/* Replies look like the TV's speech bubble: parchment, ink, a tail toward the speaker. */ +.thread .a { position: relative; justify-self: start; background: var(--c-paper); color: var(--c-ink); border: 1px solid var(--c-accent-soft); font: var(--t-narration-font); font-size: 17px; line-height: 25px; } +.thread .a::before { content: ""; position: absolute; left: 14px; top: -7px; width: 12px; height: 12px; background: var(--c-paper); border-left: 1px solid var(--c-accent-soft); border-top: 1px solid var(--c-accent-soft); transform: rotate(45deg); } +.thread .a .dots i { background: var(--c-ink); } .thread .empty-thread { justify-self: center; background: none; font-size: 14px; } .dots { display: inline-flex; gap: 5px; padding: 4px 0; } .dots i { width: 7px; height: 7px; border-radius: 50%; background: var(--c-accent); animation: pulse 700ms infinite alternate; } diff --git a/apps/player/src/render.test.ts b/apps/player/src/render.test.ts index d743aa0..9ac7fff 100644 --- a/apps/player/src/render.test.ts +++ b/apps/player/src/render.test.ts @@ -3,7 +3,7 @@ import assert from 'node:assert/strict'; import {initialRoomView, type RoomView} from '@roomriddle/client'; import {createInitialGameState} from '@roomriddle/game-engine'; import type {CharacterReply, PublicMystery, Room} from '@roomriddle/shared-types'; -import {errorState, initialUi, loadingState, renderScreen, screenName} from './render'; +import {avatar, errorState, initialUi, loadingState, renderScreen, screenName} from './render'; const room = (over: Partial = {}): Room => ({ id: 'r', @@ -133,3 +133,13 @@ test('with no questions left the form is closed', () => { assert.match(html, /No questions left/); assert.match(html, /]*disabled/); }); + +test('suspects show their painted portrait when the case has one, initials otherwise', () => { + const art = new Set(['the-last-train/voss']); + const voss = avatar('the-last-train', {id: 'voss', name: 'Inspector Voss'}, true, art); + assert.match(voss, /NH w[0] ?? '').join('').slice(0, 2).toUpperCase(); } +// "mysteryId/characterId" for every painted portrait, injected by build.mjs (empty in tests). +declare const __PORTRAITS__: string[] | undefined; +const PORTRAITS = new Set(typeof __PORTRAITS__ !== 'undefined' ? __PORTRAITS__ : []); + +/** The painted portrait when the case has one, else initials on a disc. */ +export function avatar(mysteryId: string, c: {id: string; name: string}, big = false, portraits: ReadonlySet = PORTRAITS): string { + const key = `${mysteryId}/${c.id}`; + const art = portraits.has(key) ? `` : ''; + return ``; +} + /** Pick a person, ask in your own words, optionally show a found clue. Replies come from the server. */ export function suspectsView(view: RoomView, ui: UiState): string { const mystery = view.mystery!; @@ -369,7 +380,7 @@ export function suspectsView(view: RoomView, ui: UiState): string { .map(c => { const asked = view.conversation.filter(r => r.characterId === c.id).length; return `
  • `; @@ -387,7 +398,7 @@ export function suspectsView(view: RoomView, ui: UiState): string { return `
    - + ${avatar(mystery.summary.id, suspect, true)}

    ${esc(suspect.name)}

    ${esc(suspect.role)}

      ${thread diff --git a/apps/server/package.json b/apps/server/package.json index 4b65465..53c3b98 100644 --- a/apps/server/package.json +++ b/apps/server/package.json @@ -15,10 +15,10 @@ "dependencies": { "@roomriddle/client": "*", "@roomriddle/game-engine": "*", - "@roomriddle/scene": "*", "@roomriddle/mystery-data": "*", + "@roomriddle/scene": "*", "@roomriddle/shared-types": "*", - "msedge-tts": "^2.0.9", + "msedge-tts": "^2.1.0", "qrcode-generator": "^2.0.4", "ws": "^8.22.0" }, diff --git a/apps/server/scripts/ask-bot.ts b/apps/server/scripts/ask-bot.ts index a270742..91a3a6e 100644 --- a/apps/server/scripts/ask-bot.ts +++ b/apps/server/scripts/ask-bot.ts @@ -17,8 +17,8 @@ function phone(name: string, onMessage: (m: ServerMessage, ws: WebSocket) => voi } let asked = false; -phone('Mira', () => {}); -phone('Aksh', (m, ws) => { +phone(process.env.ASK_NAME2 ?? 'Mira', () => {}); +phone(process.env.ASK_NAME ?? 'Aksh', (m, ws) => { if (m.type === 'ERROR') console.log(`[bot] ERROR ${m.code}: ${m.message}`); if ((m.type === 'GAME_STARTED' || (m.type === 'ROOM_JOINED' && m.room.status === 'playing')) && !asked) { asked = true; diff --git a/apps/server/src/app.test.ts b/apps/server/src/app.test.ts index 745b807..97f0ed6 100644 --- a/apps/server/src/app.test.ts +++ b/apps/server/src/app.test.ts @@ -81,3 +81,21 @@ test('serves spoken replies by id, immutable, and 404s unknown or malformed ids' await new Promise((resolve) => server.close(() => resolve())); } }); + +test('speaks subtitle lines: validates input and redirects to the clip', async () => { + const asked: string[] = []; + const server = createAppServer({ playerDir: '/nonexistent', speak: async (text, voice) => (asked.push(`${voice.edge}|${voice.rate ?? ''}|${text}`), 'abcdef0123456789abcd') }); + await new Promise((resolve) => server.listen(0, '127.0.0.1', resolve)); + const { port } = server.address() as AddressInfo; + const base = `http://127.0.0.1:${port}`; + try { + const ok = await fetch(`${base}/speak?text=${encodeURIComponent('The platform clock.')}&voice=en-GB-SoniaNeural&rate=-4%25`, { redirect: 'manual' }); + assert.equal(ok.status, 302); + assert.equal(ok.headers.get('location'), '/voice/abcdef0123456789abcd.m4a'); + assert.deepEqual(asked, ['en-GB-SoniaNeural|-4%|The platform clock.']); + assert.equal((await fetch(`${base}/speak?text=hi&voice=evil`)).status, 400); + assert.equal((await fetch(`${base}/speak?text=${'a'.repeat(401)}&voice=en-GB-SoniaNeural`)).status, 400); + } finally { + server.close(); + } +}); diff --git a/apps/server/src/app.ts b/apps/server/src/app.ts index e9cb488..129ba23 100644 --- a/apps/server/src/app.ts +++ b/apps/server/src/app.ts @@ -15,6 +15,7 @@ const MIME: Record = { '.webmanifest': 'application/manifest+json', '.svg': 'image/svg+xml', '.png': 'image/png', + '.jpg': 'image/jpeg', '.ico': 'image/x-icon', }; @@ -27,6 +28,8 @@ export interface AppServerOptions { stats?: () => {rooms: number; connections: number}; /** Spoken replies, served at /voice/. */ voiceClip?: VoiceClipLookup; + /** Speaks an authored line (subtitles) and resolves to its clip id, or null. */ + speak?: (text: string, voice: {edge: string; rate?: string; pitch?: string}) => Promise; } /** @@ -78,6 +81,25 @@ export function createAppServer(options: AppServerOptions = {}): Server { res.end(req.method === 'HEAD' ? undefined : clip.data); return; } + // Spoken subtitles: /speak?text=…&voice=en-GB-SoniaNeural[&rate=-4%&pitch=-8%] → a 302 to its /voice clip. + if (url.pathname === '/speak' && options.speak) { + const text = (url.searchParams.get('text') ?? '').trim(); + const voice = url.searchParams.get('voice') ?? ''; + if (!text || text.length > 400 || !/^[a-z]{2}-[A-Z]{2}-[A-Za-z]+Neural$/.test(voice)) { + sendJson(res, 400, {error: 'bad_request'}); + return; + } + const tone = (v: string | null) => (v && /^[+-]\d{1,2}%$/.test(v) ? v : undefined); + options + .speak(text, {edge: voice, rate: tone(url.searchParams.get('rate')), pitch: tone(url.searchParams.get('pitch'))}) + .then(id => { + if (!id) return sendJson(res, 503, {error: 'voice_unavailable'}); + res.writeHead(302, {location: `/voice/${id}.m4a`, 'access-control-allow-origin': '*', 'cache-control': 'public, max-age=86400'}); + res.end(); + }) + .catch(() => sendJson(res, 503, {error: 'voice_unavailable'})); + return; + } if (servePlayerApp(res, playerDir, url.pathname)) return; sendJson(res, 404, {error: 'not_found'}); }); diff --git a/apps/server/src/index.ts b/apps/server/src/index.ts index f4a9143..7ba0d42 100644 --- a/apps/server/src/index.ts +++ b/apps/server/src/index.ts @@ -31,7 +31,7 @@ const server = createAppServer({stats: () => ({rooms: rooms.size, connections: s const clip = voices.clip(id); log(`[voice] GET ${id} ${clip ? "200" : "404"}`); return clip; -}}); +}, speak: voices.enabled ? (text, voice) => voices.speak(text, {groq: 'diana', ...voice}) : undefined}); const sockets = attachGameSocket(server, rooms, {log, characters, voices}); socketCount = () => sockets.connections.count; diff --git a/apps/tv/scripts/art/prepare_ui.py b/apps/tv/scripts/art/prepare_ui.py index 9cc133a..05ad806 100644 --- a/apps/tv/scripts/art/prepare_ui.py +++ b/apps/tv/scripts/art/prepare_ui.py @@ -42,8 +42,31 @@ def shade(im, f): return Image.fromarray(np.clip(a * m[..., None], 0, 255).astype(np.uint8)) +def procedural_desk(w=1920, h=1080): + """Stand-in desk until painted art (shared.desk.png) arrives: dark walnut + with grain, a green felt blotter in the middle, vignette.""" + rng = np.random.default_rng(7) + ys, xs = np.mgrid[0:h, 0:w] / np.array([h, w])[:, None, None] + # Fine, irregular grain along the boards: warped high-frequency bands plus noise. + warp = np.sin(xs * 7.0 + ys * 3.0) * 0.004 + np.sin(xs * 23.0) * 0.0015 + grain = (np.sin((ys + warp) * 900) * 0.5 + np.sin((ys + warp * 2) * 2300) * 0.3 + 1) / 2 + grain = 0.75 * grain + 0.25 * rng.random((h, w)) + wood = np.stack([48 + 16 * grain, 30 + 10 * grain, 18 + 6 * grain], -1) + felt = np.array([30, 46, 38]) + rng.normal(0, 3, (h, w, 1)) + inside = (xs > 0.06) & (xs < 0.94) & (ys > 0.1) & (ys < 0.9) + a = np.where(inside[..., None], felt, wood) + edge = ((np.abs(xs - 0.06) < 0.003) | (np.abs(xs - 0.94) < 0.003)) & (ys > 0.1) & (ys < 0.9) | ((np.abs(ys - 0.1) < 0.005) | (np.abs(ys - 0.9) < 0.005)) & (xs > 0.06) & (xs < 0.94) + a[edge] = [150, 118, 64] + vign = 1 - 0.55 * (((xs - 0.5) / 0.7) ** 2 + ((ys - 0.5) / 0.7) ** 2) + return Image.fromarray(np.clip(a * vign[..., None], 0, 255).astype(np.uint8)) + + def main(): src = Path(sys.argv[1]) / 'shared' + # Puzzle desk: painted art when supplied, else the procedural stand-in. + desk = src / 'shared.desk.png' + (cover(Image.open(desk).convert('RGB'), 1920, 1080) if desk.exists() else procedural_desk()).save(OUT / 'desk.jpg', quality=86) + print('desk.jpg', 'painted' if desk.exists() else 'procedural') (OUT / 'cards').mkdir(parents=True, exist_ok=True) # Home: the menu sits in the centre, so the middle is darkened most; the street stays visible at the edges. diff --git a/apps/tv/src/assets/ui/desk.jpg b/apps/tv/src/assets/ui/desk.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e8a8d280d03c323371151fc1b2344a575ccd124d GIT binary patch literal 188898 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�n|ogWRK|&+D?SQW%T=hQN`WL4}%JAI~i9~ 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 { return ( + - {thinker.name.toUpperCase()} {thinking!.askedBy ? `${thinking!.askedBy} asks…` : 'The TV asks…'} is thinking… @@ -144,9 +144,9 @@ export const CharacterSpeech = () => { return ( + - {reply.characterName.toUpperCase()} {reply.askedBy ?? 'TV'}: “{reply.question}”{evidence ? ` · shows ${evidence}` : ''} @@ -159,6 +159,13 @@ export const CharacterSpeech = () => { ); }; +/** The speaker's name on a dark brass-edged plaque over the parchment. */ +const NamePlate = ({name}: {name: string}) => ( + + {name.toUpperCase()} + +); + /** Painted portrait (pressed when shown evidence), or initials for characters without art yet. */ const Portrait = ({characterId, name, pressed}: {characterId: string; name: string; pressed: boolean}) => { const art = portraitFor(characterId, pressed); @@ -174,16 +181,17 @@ const styles = StyleSheet.create({ position: 'absolute', left: theme.spacing.screenX, right: theme.spacing.screenX, - // Clear of the world's action bar (top edge ~850) and every screen's footer row. - bottom: px(250), - // Right side: screens keep their primary buttons bottom-left, so the bubble never covers focus. - alignItems: 'flex-end', + // Top-left, under the header: the bottom belongs to Grace's narration and the action bar, + // the right to the inspect panel, so a reply never covers either. + top: px(150), + alignItems: 'flex-start', }, bubble: { flexDirection: 'row', alignItems: 'flex-start', width: px(820), - paddingVertical: px(28), + paddingTop: px(40), + paddingBottom: px(28), paddingHorizontal: px(36), columnGap: px(32), backgroundColor: theme.colors.paper, @@ -218,11 +226,22 @@ const styles = StyleSheet.create({ flex: 1, rowGap: px(6), }, - name: { + plate: { + position: 'absolute', + top: -px(24), + left: px(200), + paddingHorizontal: px(22), + paddingVertical: px(6), + backgroundColor: theme.colors.ink, + borderWidth: px(2), + borderColor: theme.colors.accent, + borderRadius: px(4), + }, + plateText: { ...theme.text.label, fontSize: px(24), - letterSpacing: px(3), - color: theme.colors.ink, + letterSpacing: px(4), + color: theme.colors.accent, }, asked: { ...theme.text.body, diff --git a/apps/tv/src/screens/Evidence/EvidenceScreen.tsx b/apps/tv/src/screens/Evidence/EvidenceScreen.tsx index 769a56c..63212ac 100644 --- a/apps/tv/src/screens/Evidence/EvidenceScreen.tsx +++ b/apps/tv/src/screens/Evidence/EvidenceScreen.tsx @@ -1,19 +1,25 @@ import React, {useState} from 'react'; -import {StyleSheet, Text, View} from 'react-native'; +import {Image, StyleSheet, Text, View} from 'react-native'; import {getEvidence} from '@roomriddle/game-engine'; -import {ClueCard} from '../../components/ClueCard/ClueCard'; +import type {Clue} from '@roomriddle/shared-types'; +import {FocusableCard} from '../../components/FocusableCard/FocusableCard'; import {GameHeader} from '../../components/GameHeader/GameHeader'; import {TVButton} from '../../components/TVButton/TVButton'; import {useGame} from '../../game/GameContext'; import {px, theme} from '../../theme/theme'; import {Transition} from '../../ui/Transition'; +import {closeupFor} from '../../world/art'; import {ScreenProps} from '../types'; +/** A slight, stable tilt per photo, so the page looks pinned by hand. */ +const TILTS = ['-2.5deg', '1.8deg', '-1deg', '2.6deg', '-1.8deg', '1deg', '-2.2deg', '1.4deg']; +const PER_PAGE = 8; + /** - * The evidence board: every clue found so far, from every scene, numbered in - * the order it was found. Focus an entry on the left to read the slip on the - * right. Slots for evidence not yet found are shown as sealed, so the players - * can see how much of the case is still out there without spoilers. + * The evidence journal, after the "journal clues" reference: an open case + * book. The right page holds a photo of every clue found (numbered in the + * order found) and sealed slots for what is still out there; the left page + * reads the photo in focus. No spoilers: sealed slots carry no titles. */ export const EvidenceScreen = ({navigator}: ScreenProps) => { const {mystery, state} = useGame(); @@ -26,117 +32,246 @@ export const EvidenceScreen = ({navigator}: ScreenProps) => { const shown = evidence.find(c => c.id === focusedId) ?? evidence[evidence.length - 1]; const sceneTitle = (sceneId: string) => mystery.scenes.find(s => s.id === sceneId)?.title ?? ''; const numberOf = (id: string) => state.discoveredClueIds.indexOf(id) + 1; - const sealed = Math.max(0, mystery.clues.length - evidence.length); + const onPage = evidence.slice(-PER_PAGE); + const sealed = Math.max(0, Math.min(PER_PAGE, mystery.clues.length) - onPage.length); + const tag = (n: number) => `#${String(n).padStart(2, '0')}`; return ( - - - - CASE FILE - - {String(evidence.length).padStart(2, '0')}/{String(mystery.clues.length).padStart(2, '0')} - - - {evidence.length === 0 && ( - - NO EVIDENCE YET - Nothing yet. Investigate the scene to find clues. + + {/* Left page: the clue in focus. */} + + CASE JOURNAL + {shown ? ( + + + EVIDENCE {tag(numberOf(shown.id))} · {sceneTitle(shown.sceneId).toUpperCase()} + {shown.major ? ' · KEY' : ''} + + {shown.title} + + {shown.description.map((line, i) => ( + + {line} + + ))} + + ) : ( + + No evidence yet + Nothing yet. Investigate the scene to find clues. )} - {evidence.map((clue, index) => ( - setFocusedId(clue.id)} - onFocus={() => setFocusedId(clue.id)} - preferredFocus={index === evidence.length - 1} - accessibilityLabel={`Evidence ${numberOf(clue.id)}: ${clue.title}, found in ${sceneTitle(clue.sceneId)}`} - testID={`evidence-${clue.id}`} - /> - ))} - {sealed > 0 && evidence.length > 0 && ( - - {'▪ '.repeat(Math.min(sealed, 12)).trim()} {sealed} SEALED - - )} - - navigator.back()} preferredFocus={evidence.length === 0} testID="evidence-back" /> + + navigator.back()} preferredFocus={evidence.length === 0} testID="evidence-back" /> + - - {shown && ( - - - - )} + + + + {/* Right page: the photos. */} + + + FOUND {String(evidence.length).padStart(2, '0')}/{String(mystery.clues.length).padStart(2, '0')} + + + {onPage.map((clue, index) => ( + setFocusedId(clue.id)} + accessibilityLabel={`Evidence ${numberOf(clue.id)}: ${clue.title}, found in ${sceneTitle(clue.sceneId)}`} + /> + ))} + {Array.from({length: sealed}, (_, i) => ( + + ? + + ))} + ); }; +const Photo = ({ + clue, + label, + tilt, + preferredFocus, + onFocus, + accessibilityLabel, +}: { + clue: Clue; + label: string; + tilt: string; + preferredFocus: boolean; + onFocus: () => void; + accessibilityLabel: string; +}) => { + const art = closeupFor(clue.id); + return ( + + {() => ( + + + {art ? : {clue.title.slice(0, 1)}} + + + {label} {clue.title} + + {clue.major && } + + )} + + ); +}; + +const PHOTO_W = px(200); +const LEATHER = '#3a2618'; + const styles = StyleSheet.create({ screen: { flex: 1, paddingHorizontal: theme.spacing.screenX, paddingTop: theme.spacing.screenY - px(24), - paddingBottom: theme.spacing.screenY - px(16), + paddingBottom: theme.spacing.screenY - px(24), + backgroundColor: theme.colors.background, }, - body: { + book: { flex: 1, flexDirection: 'row', - marginTop: theme.spacing.xl, - gap: theme.spacing.xl, + marginTop: theme.spacing.md, + borderRadius: theme.radii.md, + overflow: 'hidden', + borderWidth: px(10), + borderColor: LEATHER, }, - list: { + page: { + backgroundColor: theme.colors.paper, + paddingHorizontal: px(44), + paddingVertical: px(32), + }, + leftPage: { width: px(680), - gap: px(2), }, - listHead: { - flexDirection: 'row', - justifyContent: 'space-between', - marginBottom: theme.spacing.sm, + rightPage: { + flex: 1, }, - heading: { - ...theme.text.label, - color: theme.colors.accent, + spine: { + width: px(14), + backgroundColor: LEATHER, }, - count: { + pageKicker: { ...theme.text.label, fontFamily: theme.fonts.technical, - color: theme.colors.textMuted, + color: theme.colors.ink, + opacity: 0.6, }, - empty: { - paddingVertical: theme.spacing.lg, - paddingHorizontal: theme.spacing.md, - borderWidth: 1, - borderStyle: 'dashed', - borderColor: theme.colors.border, + reading: { + flex: 1, + marginTop: theme.spacing.md, }, - emptyTitle: { + readTag: { ...theme.text.label, fontFamily: theme.fonts.technical, - color: theme.colors.textMuted, + color: '#8a2c1c', }, - emptyText: { - ...theme.text.body, - color: theme.colors.textSecondary, - marginTop: theme.spacing.xs, + readTitle: { + ...theme.text.h1, + color: theme.colors.ink, + marginTop: px(6), }, - sealed: { - ...theme.text.label, - fontFamily: theme.fonts.technical, - color: theme.colors.textMuted, - marginTop: theme.spacing.sm, - marginLeft: theme.spacing.md, + inkRule: { + height: px(2), + width: px(120), + backgroundColor: theme.colors.ink, + opacity: 0.5, + marginVertical: theme.spacing.sm, }, - spacer: { - flex: 1, + readLine: { + ...theme.text.narration, + color: theme.colors.ink, + marginBottom: px(10), }, - detail: { + back: { + flexDirection: 'row', + }, + grid: { flex: 1, + flexDirection: 'row', + flexWrap: 'wrap', + alignContent: 'flex-start', + gap: px(28), + marginTop: theme.spacing.md, + }, + photo: { + width: PHOTO_W, + padding: px(12), + paddingBottom: px(10), + backgroundColor: '#f6f1e4', + shadowColor: '#000', + shadowOpacity: 0.35, + shadowRadius: px(8), + shadowOffset: {width: 0, height: px(4)}, + elevation: 6, + }, + photoWindow: { + height: PHOTO_W - px(24), + backgroundColor: theme.colors.ink, + alignItems: 'center', justifyContent: 'center', + overflow: 'hidden', + }, + photoImage: { + width: '100%', + height: '100%', + }, + photoInitial: { + ...theme.text.display, + color: theme.colors.accent, + }, + photoCaption: { + ...theme.text.body, + fontSize: px(20), + lineHeight: px(28), + color: theme.colors.ink, + marginTop: px(8), + }, + pin: { + position: 'absolute', + top: -px(8), + alignSelf: 'center', + width: px(18), + height: px(18), + borderRadius: px(9), + backgroundColor: '#a3301f', + }, + sealedPhoto: { + height: PHOTO_W + px(36), + backgroundColor: 'transparent', + borderWidth: px(3), + borderStyle: 'dashed', + borderColor: 'rgba(40,30,20,0.35)', + alignItems: 'center', + justifyContent: 'center', + shadowOpacity: 0, + elevation: 0, + }, + sealedText: { + ...theme.text.display, + color: 'rgba(40,30,20,0.3)', }, }); diff --git a/apps/tv/src/screens/Puzzle/PuzzleScreen.tsx b/apps/tv/src/screens/Puzzle/PuzzleScreen.tsx index b2b421f..1a3d586 100644 --- a/apps/tv/src/screens/Puzzle/PuzzleScreen.tsx +++ b/apps/tv/src/screens/Puzzle/PuzzleScreen.tsx @@ -1,5 +1,6 @@ import React, {useState} from 'react'; -import {StyleSheet, Text, View} from 'react-native'; +import {Image, StyleSheet, Text, View} from 'react-native'; +import {deskArt} from '../../ui/keyArt'; import {combinationAnswer, getPuzzleView, getSceneView} from '@roomriddle/game-engine'; import type {GameEvent, Puzzle, ScoreBreakdown} from '@roomriddle/shared-types'; import {applyDigitKey, DigitEntry} from '../../components/DigitEntry/DigitEntry'; @@ -99,6 +100,7 @@ export const PuzzleScreen = ({navigator, route}: ScreenProps & {route: {puzzleId const byPhone = result === null; return ( + + @@ -320,7 +323,8 @@ type Notice = {kind: 'failure' | 'info' | 'hint'; title: string; text: string; a const styles = StyleSheet.create({ screen: { flex: 1, - paddingHorizontal: theme.spacing.screenX, + // Inside the desk's felt blotter (6–94 % of the width). + paddingHorizontal: px(160), paddingTop: theme.spacing.screenY - px(24), paddingBottom: theme.spacing.screenY - px(24), }, diff --git a/apps/tv/src/ui/keyArt.ts b/apps/tv/src/ui/keyArt.ts index 1de08e0..cbaffc0 100644 --- a/apps/tv/src/ui/keyArt.ts +++ b/apps/tv/src/ui/keyArt.ts @@ -6,6 +6,8 @@ import type {ImageSourcePropType} from 'react-native'; */ export const homeArt: ImageSourcePropType = require('../assets/ui/home.jpg'); export const libraryArt: ImageSourcePropType = require('../assets/ui/library.jpg'); +/** The detective's desk behind puzzles (felt blotter in the middle). */ +export const deskArt: ImageSourcePropType = require('../assets/ui/desk.jpg'); /** Detective Grace, full figure (900 px tall, transparent). */ export const graceArt: ImageSourcePropType = require('../assets/ui/grace.png'); export const GRACE_ASPECT = 0.5; diff --git a/apps/tv/src/world/Actors.tsx b/apps/tv/src/world/Actors.tsx index 28f8b9a..368ef87 100644 --- a/apps/tv/src/world/Actors.tsx +++ b/apps/tv/src/world/Actors.tsx @@ -56,7 +56,7 @@ export const TrainView = memo( )} - + ); @@ -87,7 +87,7 @@ export const TrainView = memo( )} - + ); diff --git a/apps/tv/src/world/Effects.tsx b/apps/tv/src/world/Effects.tsx index aa56009..6b30eaa 100644 --- a/apps/tv/src/world/Effects.tsx +++ b/apps/tv/src/world/Effects.tsx @@ -43,9 +43,9 @@ const rand = (i: number, salt: number) => { }; const RAIN_BANDS = [ - {count: 10, length: 26, width: 1.5, opacity: 0.18, duration: 1500, drift: 60, salt: 1}, - {count: 10, length: 46, width: 2, opacity: 0.28, duration: 1050, drift: 90, salt: 2}, - {count: 8, length: 90, width: 3, opacity: 0.4, duration: 650, drift: 140, salt: 3}, + {count: 6, length: 26, width: 1.5, opacity: 0.18, duration: 1500, drift: 60, salt: 1}, + {count: 7, length: 46, width: 2, opacity: 0.28, duration: 1050, drift: 90, salt: 2}, + {count: 6, length: 90, width: 3, opacity: 0.4, duration: 650, drift: 140, salt: 3}, ] as const; /** One band of rain: two stacked copies scrolling down forever (seamless). */ diff --git a/apps/tv/src/world/WorldScreen.tsx b/apps/tv/src/world/WorldScreen.tsx index 3a9a4aa..e3ba326 100644 --- a/apps/tv/src/world/WorldScreen.tsx +++ b/apps/tv/src/world/WorldScreen.tsx @@ -151,8 +151,9 @@ const WorldView = ({ state: GameState; hub: NonNullable>; }) => { - const {dispatch} = useGame(); + const {dispatch, serverBase} = useGame(); const session = useWorldSession(); + const voiceOf = (characterId: string | undefined) => mystery.truth?.characters.find(c => c.id === characterId)?.voice; const reduced = useReducedMotion(); const gameKey = `${mystery.summary.id}:${state.startedAt ?? 0}`; @@ -326,6 +327,11 @@ const WorldView = ({ if (line?.audioId) { worldAudio({name: 'dialogue', payload: {audioId: line.audioId, lineId: line.id}}); } + // No recorded take: the server speaks the subtitle in the character's voice (TTS), when it can. + if (line && !audio.hasVoice(line.audioId)) { + audio.speakUrl(`line.${line.id}`, speakUrlFor(serverBase, line.text, voiceOf(line.characterId))); + } + // eslint-disable-next-line react-hooks/exhaustive-deps }, [line]); // ── Set transitions (push / pull / depth / fade / crossfade) ───────── @@ -572,6 +578,14 @@ const WorldView = ({ ); }; +/** The server's spoken-subtitle URL for a line in a character's voice (narrator: Sonia). */ +export function speakUrlFor(base: string, text: string, voice?: {edge: string; rate?: string; pitch?: string}): string { + const q = [`text=${encodeURIComponent(text)}`, `voice=${encodeURIComponent(voice?.edge ?? 'en-GB-SoniaNeural')}`]; + if (voice?.rate) q.push(`rate=${encodeURIComponent(voice.rate)}`); + if (voice?.pitch) q.push(`pitch=${encodeURIComponent(voice.pitch)}`); + return `${base}/speak?${q.join('&')}`; +} + /** `text` null: subtitles are off and the line is heard, so only the speaker shows. */ const DialogueBox = ({speaker, text, spoken, onNext, aside, side = 'center'}: {speaker: string; text: string | null; spoken: string; onNext: () => void; aside: boolean; side?: 'left' | 'right' | 'center'}) => ( diff --git a/apps/tv/test/App.spec.tsx b/apps/tv/test/App.spec.tsx index 8a6e222..f5864e7 100644 --- a/apps/tv/test/App.spec.tsx +++ b/apps/tv/test/App.spec.tsx @@ -285,6 +285,6 @@ describe('Phase 5 experience', () => { fireEvent.press(screen.getByTestId('details-select')); fireEvent.press(screen.getByTestId('intro-begin')); fireEvent.press(screen.getByTestId('scene-evidence')); - expect(screen.getByText('NO EVIDENCE YET')).toBeTruthy(); + expect(screen.getByText('No evidence yet')).toBeTruthy(); }); }); diff --git a/apps/tv/test/AudioJourney.spec.tsx b/apps/tv/test/AudioJourney.spec.tsx index 1541784..d19e5a7 100644 --- a/apps/tv/test/AudioJourney.spec.tsx +++ b/apps/tv/test/AudioJourney.spec.tsx @@ -365,7 +365,7 @@ describe('voice ducking through the game (Step 3)', () => { expect(traceLines.filter(l => l.kind === 'state').pop()!.msg).toContain('voice=-'); }, 60_000); - it('a voice line with no file: no duck, the subtitle text still shows, the game goes on', async () => { + it('a voice line with no file: spoken by TTS (ducked), the subtitle text still shows, the game goes on', async () => { delete (bundledAudio as Record)['last-train.vo.react-clock']; try { const warn = jest.spyOn(console, 'warn').mockImplementation(() => undefined); @@ -385,11 +385,15 @@ describe('voice ducking through the game (Step 3)', () => { await run(100); expect(screen.getByTestId('world-dialogue')).toBeTruthy(); expect(screen.getByText(/Eleven fifty-nine/)).toBeTruthy(); - expect(volOf('last-train.music.investigation')).toBeCloseTo(full, 5); + // No recorded take: the server speaks the subtitle (TTS), so the music ducks under it. + expect(volOf('last-train.music.investigation')!).toBeLessThan(full); await closeDialogue(screen); pressBack(); await run(800); expect(screen.getByTestId('world-object-obj-clock').props.accessibilityLabel).toBe('Platform clock. Examined'); + // Let the spoken subtitle's player finish releasing before the next test counts players. + screen.unmount(); + await run(1000); warn.mockRestore(); } finally { // afterEach restores the bundle. @@ -489,6 +493,9 @@ describe('settings during play (Step 6)', () => { describe('lifecycle (Step 4)', () => { it('a station run, then leaving the mystery: every one-shot released; only the library\'s menu bed remains', async () => { + // Earlier tests in this file may still be tearing players down; count only this run. + const before = audioStats.created - audioStats.released - audioStats.active; + const errorsBefore = audioStats.errors; const screen = render(); await run(100); await toStation(screen); @@ -514,8 +521,8 @@ describe('lifecycle (Step 4)', () => { const live = liveIds(); expect(live).toEqual(['core.music.menu']); // Counts: everything created is released except the one live bed. - expect(audioStats.created - audioStats.released).toBe(audioStats.active); - expect(audioStats.errors).toBe(0); + expect(audioStats.created - audioStats.released - audioStats.active).toBe(before); + expect(audioStats.errors).toBe(errorsBefore); console.log(`[LIFECYCLE] created=${audioStats.created} released=${audioStats.released} active=${audioStats.active} errors=${audioStats.errors} loops=${live.join(',')}`); }, 120_000); }); diff --git a/apps/tv/test/World.spec.tsx b/apps/tv/test/World.spec.tsx index 87d12f7..8881cff 100644 --- a/apps/tv/test/World.spec.tsx +++ b/apps/tv/test/World.spec.tsx @@ -171,7 +171,7 @@ describe('2.5D world: The Last Train', () => { press(screen, 'world-inspect-back'); await run(800); press(screen, 'scene-evidence'); - expect(screen.getByText('NO EVIDENCE YET')).toBeTruthy(); + expect(screen.getByText('No evidence yet')).toBeTruthy(); }, 30_000); it('Back during the cinematic skips it; Back in the world asks before leaving', async () => { diff --git a/package-lock.json b/package-lock.json index b64bf2b..7d55ff2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -44,7 +44,7 @@ "@roomriddle/mystery-data": "*", "@roomriddle/scene": "*", "@roomriddle/shared-types": "*", - "msedge-tts": "^2.0.9", + "msedge-tts": "^2.1.0", "qrcode-generator": "^2.0.4", "ws": "^8.22.0" }, @@ -1005,9 +1005,9 @@ "license": "MIT" }, "node_modules/msedge-tts": { - "version": "2.0.9", - "resolved": "https://registry.npmjs.org/msedge-tts/-/msedge-tts-2.0.9.tgz", - "integrity": "sha512-Qw9pphrz/GTGee+XbXrmwXkDWsR6BVdKyDJKDZBC1RnmBMrZJ8VfMTC44j0v9dIptmLMkmLOuBtQX6LHuodcDw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/msedge-tts/-/msedge-tts-2.1.0.tgz", + "integrity": "sha512-eHvM/8ymTQzYuF65NuEkWBNUm+d36t97xlx2dnY7UyRd0AuJ7yEj0oSginJZarTF3VTCzx9ux5cdf2Lj9TXZxA==", "hasInstallScript": true, "license": "MIT", "dependencies": { diff --git a/packages/mystery-data/src/the-last-train/world/index.ts b/packages/mystery-data/src/the-last-train/world/index.ts index 8db5fbb..05cb9d1 100644 --- a/packages/mystery-data/src/the-last-train/world/index.ts +++ b/packages/mystery-data/src/the-last-train/world/index.ts @@ -46,6 +46,9 @@ const STATION_BACKDROP: WorldNode[] = [ // The camera follows the arriving train far to the left: the ground continues there too. {id: 'tracks-west', assetId: 'last-train.tracks', x: -7440, y: 790, z: -2}, {id: 'platform-west', assetId: 'last-train.station.platform', x: -7440, y: 990, z: 1}, + // Under the platform edge (bottom at y 1310), behind it: close-ups of low objects never show sky. + {id: 'ground', assetId: 'last-train.ground', x: -1840, y: 1280, z: 0}, + {id: 'ground-west', assetId: 'last-train.ground', x: -7440, y: 1280, z: 0}, {id: 'lamp-1', assetId: 'last-train.station.lights', x: 600, y: 440, z: 2}, {id: 'lamp-2', assetId: 'last-train.station.lights', x: 1500, y: 440, z: 2}, {id: 'lamp-3', assetId: 'last-train.station.lights', x: 2480, y: 440, z: 2}, diff --git a/packages/mystery-data/src/the-last-train/world/manifest.ts b/packages/mystery-data/src/the-last-train/world/manifest.ts index 09b2f6a..6aa1e67 100644 --- a/packages/mystery-data/src/the-last-train/world/manifest.ts +++ b/packages/mystery-data/src/the-last-train/world/manifest.ts @@ -124,6 +124,23 @@ const TRACKS = asset({ ], }); +/** + * Dark ground below the platform edge, on the platform's plane. Close-ups of + * low objects (the ticket, the carriage plan) zoom past the platform's lower + * edge; this keeps the night sky from ever showing there. Procedural on purpose. + */ +const GROUND = asset({ + id: 'last-train.ground', + type: 'background', + group: 'environment', + layer: 'midground', + depth: 0.75, + size: {width: 5600, height: 1400}, + animation: 'none', + description: 'Dark wet ground under the platform edge (never the focus of a shot).', + placeholder: [r(0, 0, 5600, 1400, 'coatDark')], +}); + const LAMP = asset({ id: 'last-train.station.lights', type: 'object', @@ -644,6 +661,7 @@ export const lastTrainManifest: AssetManifest = { STATION, PLATFORM, TRACKS, + GROUND, LAMP, POLE, BENCH, From 6ff214336d9e59577fc5a44a77cd3376fe784585 Mon Sep 17 00:00:00 2001 From: perhaps-aksh Date: Mon, 19 Oct 2026 17:46:58 +0530 Subject: [PATCH 2/2] docs: Day 5 changelog, test counts (331) --- CHANGELOG.md | 9 +++++++++ README.md | 2 +- docs/testing.md | 8 ++++---- 3 files changed, 14 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4721661..dee3ced 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,15 @@ All notable changes, newest first. The project follows [Conventional Commits](https://www.conventionalcommits.org/); see `git log` for every commit. +## 2026-10-13: Quick Start, onboarding, journal, spoken subtitles (Day 5) +- **Home** rebuilt: Detective Grace, Quick Start (one press to a room and its QR code), a one-minute "how it works" for first-time TVs, and a How to Play screen. +- **Case library** with filters by age group and story type, and a preview pane. +- **Spoken subtitles:** every in-game line without a recorded take is voiced in the character's voice (server `/speak`, cached clips). +- **Evidence journal:** an open case book with a painted photo per clue. Puzzles sit on a detective's desk. Notices fade by themselves. +- **Phone:** painted suspect portraits, the rainy-street backdrop, evidence as pinned paper slips, parchment replies. +- **World fixes:** corridor and signal box use their painted props; Voss and Ashby stand on the floor; no sky under the platform in any shot. +- Edge TTS client updated (msedge-tts 2.1.0) after Edge began rejecting the old one. + ## 2026-10-13: Painted art (Day 4) - The Last Train is painted: 28 world assets (sky to signal box, the train, Detective Grace, every clue object), placed to line up with what's painted. - Clue clocks keep exact procedural hands over the painted dials (new manifest `overlay`). diff --git a/README.md b/README.md index affb0af..1ace7f9 100644 --- a/README.md +++ b/README.md @@ -228,7 +228,7 @@ The full technical reference is in **[docs/system-design.md](docs/system-design. ## ✦ Quality -- **About 325 automated tests:** 58 engine, 22 content, 52 scene, 19 client, 4 UI tokens, 78 server, 11 phone and 80 TV. +- **331 automated tests:** 58 engine, 22 content, 52 scene, 19 client, 4 UI tokens, 79 server, 12 phone and 85 TV. - **Every case is played to the end automatically.** Content validation fails the build on unreachable scenes, broken references, puzzles that need clues from later scenes, and spoilers that could never unlock. - **Spoiler-attack tests** run against the AI guard and the prompt builder. - **Scripted device QA:** the Vega Virtual Device is driven with remote key presses and screenshots, with an audio trace sink. diff --git a/docs/testing.md b/docs/testing.md index 15e8445..05fe61e 100644 --- a/docs/testing.md +++ b/docs/testing.md @@ -24,10 +24,10 @@ Test files sit next to the code as `*.test.ts`. | `scene` | 52 | | `client` | 19 | | `ui` | 4 | -| `server` (rooms, multiplayer, AI prompt/guard/fallback/service, voices, HTTP) | 78 | -| `player` | 11 | -| **Root `npm run check`** | **244** | -| TV, Jest (`apps/tv/scripts/wsl-check.sh`) | 80 | +| `server` (rooms, multiplayer, AI prompt/guard/fallback/service, voices, spoken subtitles, HTTP) | 79 | +| `player` | 12 | +| **Root `npm run check`** | **246** | +| TV, Jest (`apps/tv/scripts/wsl-check.sh`) | 85 | CI (`.github/workflows/ci.yml`) runs `npm run check` on every push to `main` and every pull request, with `AI_DISABLED=1` and `VOICES_DISABLED=1`, so no keys or network are needed. The AI tests use fake providers. The TV suite needs the Vega SDK and runs locally.