From e7a8b74d6cf90d8743f102220731fa136f93fe9a Mon Sep 17 00:00:00 2001 From: Steven Enamakel <31011319+senamakel@users.noreply.github.com> Date: Thu, 11 Jun 2026 23:29:22 -0700 Subject: [PATCH] feat(mascot): install upgraded tiny_mascot.riv + wire MascotSM poses/visemes (#3612) --- app/public/tiny_mascot.riv | Bin 9187 -> 145509 bytes app/src/features/human/HumanPage.tsx | 1 + .../features/human/Mascot/RiveMascot.test.tsx | 155 +++++++++++++++ app/src/features/human/Mascot/RiveMascot.tsx | 133 +++++++------ .../features/human/Mascot/riveMaps.test.ts | 127 ++++++++++++ app/src/features/human/Mascot/riveMaps.ts | 185 ++++++++++++++++++ app/src/features/human/useHumanMascot.ts | 5 +- docs/TEST-COVERAGE-MATRIX.md | 1 + tiny_mascot.riv | Bin 130535 -> 145509 bytes 9 files changed, 544 insertions(+), 63 deletions(-) create mode 100644 app/src/features/human/Mascot/RiveMascot.test.tsx create mode 100644 app/src/features/human/Mascot/riveMaps.test.ts create mode 100644 app/src/features/human/Mascot/riveMaps.ts diff --git a/app/public/tiny_mascot.riv b/app/public/tiny_mascot.riv index 5e259e66fce062962df4b6b389e5b568638efad0..b38e89f2607dec11ce924eca0feec71efb7f0f9f 100644 GIT binary patch literal 145509 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

Bi45SsZY53StWG;;tI0^ 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 Y*_SjlBuou?w#4Zdah3)7Mf3&yAE=GHxBvhE diff --git a/app/src/features/human/HumanPage.tsx b/app/src/features/human/HumanPage.tsx index 490576f98..081920e97 100644 --- a/app/src/features/human/HumanPage.tsx +++ b/app/src/features/human/HumanPage.tsx @@ -63,6 +63,7 @@ const HumanPage = () => { primaryColor={primaryColor} secondaryColor={secondaryColor} visemeCode={visemeCode} + idlePoseRotation /> )} diff --git a/app/src/features/human/Mascot/RiveMascot.test.tsx b/app/src/features/human/Mascot/RiveMascot.test.tsx new file mode 100644 index 000000000..e5867b83d --- /dev/null +++ b/app/src/features/human/Mascot/RiveMascot.test.tsx @@ -0,0 +1,155 @@ +/** + * Unit tests for RiveMascot — the bridge between the mascot's face/viseme state + * and the `tiny_mascot.riv` state machine. + * + * The real `@rive-app/react-webgl2` needs a WebGL context, so we mock its hooks + * and capture every `setValue` write keyed by view-model property path. That + * lets us assert the component: + * - plays the asset's `MascotSM` state machine, + * - writes the right `pose` / `mouthVisemeCode` enum values, and + * - drives random ambient poses while idle when `idlePoseRotation` is on. + */ +import { act, render } from '@testing-library/react'; +import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'; + +import { AMBIENT_POSES } from './riveMaps'; +import { RiveMascot } from './RiveMascot'; + +// vi.hoisted so the registries exist before the mock factory runs. We record +// every setValue write by property path into plain arrays (no vi.fn inside the +// hoisted factory — vitest can't be required there). +const h = vi.hoisted(() => ({ + useRiveParams: null as Record | null, + enumCalls: {} as Record, + colorCalls: {} as Record, +})); + +vi.mock('@rive-app/react-webgl2', () => ({ + Fit: { Contain: 'contain' }, + Layout: class { + constructor(opts: unknown) { + Object.assign(this, opts as object); + } + }, + useRive: (params: Record) => { + h.useRiveParams = params; + return { rive: {}, RiveComponent: () => null }; + }, + useViewModel: () => ({}), + useViewModelInstance: () => ({}), + useViewModelInstanceEnum: (path: string) => ({ + setValue: (v: string) => (h.enumCalls[path] ??= []).push(v), + value: null, + values: [], + }), + useViewModelInstanceColor: (path: string) => ({ + setValue: (v: number) => (h.colorCalls[path] ??= []).push(v), + }), +})); + +function poseCalls(): string[] { + return (h.enumCalls['pose'] ?? []) as string[]; +} +function lastViseme(): string | undefined { + return (h.enumCalls['mouthVisemeCode'] ?? []).at(-1) as string | undefined; +} + +beforeEach(() => { + h.useRiveParams = null; + h.enumCalls = {}; + h.colorCalls = {}; +}); + +afterEach(() => { + vi.useRealTimers(); + vi.restoreAllMocks(); +}); + +describe('RiveMascot — asset wiring', () => { + it('plays the MascotSM state machine from the bundled asset', () => { + render(); + expect(h.useRiveParams?.src).toBe('/tiny_mascot.riv'); + expect(h.useRiveParams?.stateMachines).toBe('MascotSM'); + expect(h.useRiveParams?.autoplay).toBe(true); + }); + + it('maps the face to its pose', () => { + render(); + expect(poseCalls()).toContain('writing'); + }); + + it('normalises the viseme code to the asset vocabulary', () => { + const { rerender } = render(); + expect(lastViseme()).toBe('oh'); + rerender(); + expect(lastViseme()).toBe('E'); + rerender(); + expect(lastViseme()).toBe('sil'); + }); + + it('defaults the mouth to sil (closed) when no viseme is given', () => { + render(); + expect(lastViseme()).toBe('sil'); + }); + + it('writes primary/secondary colors only when provided', () => { + render(); + expect(h.colorCalls['primaryColor']).toEqual([0xff112233]); + expect(h.colorCalls['secondaryColor']).toEqual([0xff445566]); + }); + + it('does not write colors when the props are omitted', () => { + render(); + expect(h.colorCalls['primaryColor']).toBeUndefined(); + expect(h.colorCalls['secondaryColor']).toBeUndefined(); + }); +}); + +describe('RiveMascot — idle pose rotation', () => { + it('does not drift when rotation is disabled', () => { + vi.useFakeTimers(); + render(); + act(() => { + vi.advanceTimersByTime(60_000); + }); + // Only the initial idle write; no ambient poses scheduled. + expect(poseCalls().every(p => p === 'idle')).toBe(true); + }); + + it('drifts into a random ambient pose, holds it, then returns to idle', () => { + vi.useFakeTimers(); + // rng=0 → shortest delays and the first ambient pose deterministically. + vi.spyOn(Math, 'random').mockReturnValue(0); + render(); + + act(() => { + vi.advanceTimersByTime(6_000); // idle dwell elapses → ambient pose + }); + expect(poseCalls()).toContain(AMBIENT_POSES[0]); + + act(() => { + vi.advanceTimersByTime(5_000); // hold elapses → back to idle + }); + expect(poseCalls().at(-1)).toBe('idle'); + }); + + it('stops drifting once a real activity pose takes over', () => { + vi.useFakeTimers(); + vi.spyOn(Math, 'random').mockReturnValue(0); + const { rerender } = render(); + // Switch to an activity face before any ambient timer fires. + rerender(); + const before = poseCalls().length; + act(() => { + vi.advanceTimersByTime(60_000); + }); + // No ambient poses after the activity took over — last write stays 'writing'. + expect(poseCalls().at(-1)).toBe('writing'); + // The teardown restored idle once, but nothing kept cycling afterwards. + expect( + poseCalls() + .slice(before) + .every(p => p === 'idle' || p === 'writing') + ).toBe(true); + }); +}); diff --git a/app/src/features/human/Mascot/RiveMascot.tsx b/app/src/features/human/Mascot/RiveMascot.tsx index c16895385..bb97e7c1d 100644 --- a/app/src/features/human/Mascot/RiveMascot.tsx +++ b/app/src/features/human/Mascot/RiveMascot.tsx @@ -5,69 +5,47 @@ import { useViewModel, useViewModelInstance, useViewModelInstanceColor, - useViewModelInstanceString, + useViewModelInstanceEnum, } from '@rive-app/react-webgl2'; -import { type FC, useEffect } from 'react'; +import debug from 'debug'; +import { type FC, useEffect, useRef } from 'react'; import type { MascotFace } from './Ghosty'; +import { + faceToPose, + MASCOT_STATE_MACHINE, + pickAmbientPose, + type RivePose, + toRiveVisemeCode, +} from './riveMaps'; + +const riveLog = debug('human:mascot:rive'); + +/** Idle dwell before the mascot drifts into an ambient pose (ms). Randomised + * in `[MIN, MAX]` so the cadence never feels metronomic. */ +const AMBIENT_IDLE_MIN_MS = 6_000; +const AMBIENT_IDLE_MAX_MS = 12_000; +/** How long an ambient pose is held before returning to idle (ms). */ +const AMBIENT_HOLD_MIN_MS = 2_500; +const AMBIENT_HOLD_MAX_MS = 5_000; + +function randBetween(min: number, max: number): number { + return min + Math.random() * (max - min); +} export interface RiveMascotProps { face?: MascotFace; size?: number | string; primaryColor?: number; secondaryColor?: number; - /** Raw Oculus 15-set viseme code (e.g. 'sil', 'PP', 'aa') sent directly to - * the Rive state machine's `mouthVisemeCode` input. When omitted, defaults - * to 'sil' (mouth closed). */ + /** Raw Oculus 15-set viseme code (e.g. 'sil', 'PP', 'aa') sent to the Rive + * state machine's `mouthVisemeCode` input after normalisation. Defaults to + * 'sil' (mouth closed). */ visemeCode?: string; -} - -/** - * Maps every MascotFace to the closest Rive pose animation. The Rive asset - * supports: idle, thinking, celebration, bookreading, coffeedrink, writing, - * bobbateadrink, recording, hand_wave, dancing. - */ -const FACE_TO_POSE: Record = { - idle: 'idle', - normal: 'idle', - sleep: 'idle', - listening: 'idle', - thinking: 'thinking', - confused: 'thinking', - speaking: 'idle', - happy: 'idle', - concerned: 'thinking', - curious: 'bookreading', - proud: 'celebration', - cautious: 'thinking', - celebrating: 'celebration', - writing: 'writing', - reading: 'bookreading', - recording: 'recording', - waving: 'hand_wave', - dancing: 'dancing', - drinking_coffee: 'coffeedrink', - drinking_boba: 'bobbateadrink', -}; - -/** - * ElevenLabs / Oculus 15-set → Rive asset's `visme_codes` vocabulary. - * The Rive file uses `ih`/`oh`/`ou` for vowels instead of `E`/`O`/`U`. - * Codes already in the Rive vocabulary pass through unchanged. - */ -const OCULUS_TO_RIVE_VISEME: Record = { - E: 'ih', - I: 'ih', - O: 'oh', - U: 'ou', - e: 'ih', - i: 'ih', - o: 'oh', - u: 'ou', -}; - -function toRiveVisemeCode(oculusCode: string): string { - return OCULUS_TO_RIVE_VISEME[oculusCode] ?? oculusCode; + /** When true and the mascot is otherwise idle, it drifts through random + * ambient poses (thinking, sipping coffee, dancing, …) to feel alive. + * Off by default so small previews / frame producers stay still. */ + idlePoseRotation?: boolean; } const RIVE_LAYOUT = new Layout({ fit: Fit.Contain }); @@ -78,27 +56,60 @@ export const RiveMascot: FC = ({ primaryColor, secondaryColor, visemeCode = 'sil', + idlePoseRotation = false, }) => { const { rive, RiveComponent } = useRive({ src: '/tiny_mascot.riv', - stateMachines: 'Main State Machine', + stateMachines: MASCOT_STATE_MACHINE, autoplay: true, layout: RIVE_LAYOUT, }); const viewModel = useViewModel(rive, { useDefault: true }); const vmInstance = useViewModelInstance(viewModel, { useDefault: true, rive }); - const { setValue: setPose } = useViewModelInstanceString('pose', vmInstance); - const { setValue: setMouthVisemeCode } = useViewModelInstanceString( - 'mouthVisemeCode', - vmInstance - ); + const { setValue: setPose } = useViewModelInstanceEnum('pose', vmInstance); + const { setValue: setMouthVisemeCode } = useViewModelInstanceEnum('mouthVisemeCode', vmInstance); const { setValue: setPrimaryColor } = useViewModelInstanceColor('primaryColor', vmInstance); const { setValue: setSecondaryColor } = useViewModelInstanceColor('secondaryColor', vmInstance); + const basePose = faceToPose(face); + + // The driven (face-derived) pose. A real activity pose always shows; `idle` + // is the resting state the ambient scheduler is free to override below. useEffect(() => { - setPose(FACE_TO_POSE[face] ?? 'idle'); - }, [face, setPose]); + setPose(basePose); + }, [basePose, setPose]); + + // Idle pose rotation: a self-rescheduling timer that nudges the mascot into a + // random ambient pose, holds it, returns to idle, and repeats. Only runs + // while enabled AND the driven pose is idle; any real activity tears it down + // (the cleanup restores idle, then the effect above sets the activity pose). + // + // We drive Rive imperatively through a ref to the setter so the timer chain + // survives `setValue` identity changes without resetting its cadence. + const setPoseRef = useRef(setPose); + setPoseRef.current = setPose; + useEffect(() => { + if (!idlePoseRotation || basePose !== 'idle') return; + let timer: number | undefined; + let current: RivePose = 'idle'; + const toIdle = () => { + current = 'idle'; + setPoseRef.current('idle'); + timer = window.setTimeout(toAmbient, randBetween(AMBIENT_IDLE_MIN_MS, AMBIENT_IDLE_MAX_MS)); + }; + const toAmbient = () => { + current = pickAmbientPose(current === 'idle' ? undefined : current); + riveLog('idle pose rotation → %s', current); + setPoseRef.current(current); + timer = window.setTimeout(toIdle, randBetween(AMBIENT_HOLD_MIN_MS, AMBIENT_HOLD_MAX_MS)); + }; + timer = window.setTimeout(toAmbient, randBetween(AMBIENT_IDLE_MIN_MS, AMBIENT_IDLE_MAX_MS)); + return () => { + if (timer !== undefined) window.clearTimeout(timer); + setPoseRef.current('idle'); + }; + }, [idlePoseRotation, basePose]); useEffect(() => { setMouthVisemeCode(toRiveVisemeCode(visemeCode)); diff --git a/app/src/features/human/Mascot/riveMaps.test.ts b/app/src/features/human/Mascot/riveMaps.test.ts new file mode 100644 index 000000000..5476adb9f --- /dev/null +++ b/app/src/features/human/Mascot/riveMaps.test.ts @@ -0,0 +1,127 @@ +import { describe, expect, it } from 'vitest'; + +import type { MascotFace } from './Ghosty'; +import { + AMBIENT_POSES, + FACE_TO_POSE, + faceToPose, + MASCOT_STATE_MACHINE, + pickAmbientPose, + RIVE_POSES, + RIVE_VISEME_SET, + type RivePose, + toRiveVisemeCode, +} from './riveMaps'; + +describe('riveMaps — asset contract', () => { + it('targets the asset state machine name', () => { + expect(MASCOT_STATE_MACHINE).toBe('MascotSM'); + }); + + it('maps every MascotFace to a pose the asset actually exposes', () => { + const valid = new Set(RIVE_POSES); + for (const [face, pose] of Object.entries(FACE_TO_POSE)) { + expect(valid, `${face} → ${pose}`).toContain(pose); + } + }); + + it('faceToPose falls back to idle for an unknown face', () => { + expect(faceToPose('not-a-face' as MascotFace)).toBe('idle'); + }); +}); + +describe('toRiveVisemeCode', () => { + it('only ever emits codes in the asset visme_codes enum', () => { + const valid = new Set(RIVE_VISEME_SET); + const inputs = [ + ...RIVE_VISEME_SET, + 'I', + 'O', + 'U', + 'pp', + 'PP', + 'aa', + 'a', + 'e', + 'E', + 'm', + 'b', + 'f', + 'v', + 't', + 'd', + 'k', + 'g', + 's', + 'z', + 'n', + 'r', + 'w', + 'y', + 'silence', + 'totally-unknown', + '???', + ]; + for (const code of inputs) { + expect(valid, `${code} → ${toRiveVisemeCode(code)}`).toContain(toRiveVisemeCode(code)); + } + }); + + it('normalises Oculus close vowels to the asset vocabulary', () => { + expect(toRiveVisemeCode('I')).toBe('ih'); + expect(toRiveVisemeCode('O')).toBe('oh'); + expect(toRiveVisemeCode('U')).toBe('ou'); + }); + + it('keeps the distinct E viseme instead of collapsing it to ih', () => { + expect(toRiveVisemeCode('E')).toBe('E'); + expect(toRiveVisemeCode('e')).toBe('E'); + }); + + it('is case-insensitive for consonants so the mouth never freezes', () => { + expect(toRiveVisemeCode('pp')).toBe('PP'); + expect(toRiveVisemeCode('PP')).toBe('PP'); + expect(toRiveVisemeCode('ff')).toBe('FF'); + expect(toRiveVisemeCode('Ch')).toBe('CH'); + }); + + it('falls back to sil for unrecognised codes', () => { + expect(toRiveVisemeCode('???')).toBe('sil'); + expect(toRiveVisemeCode('unknown_code')).toBe('sil'); + expect(toRiveVisemeCode('silence')).toBe('sil'); + }); +}); + +describe('pickAmbientPose', () => { + it('never returns idle (the resting state it drifts away from)', () => { + const valid = new Set(AMBIENT_POSES); + for (let i = 0; i < AMBIENT_POSES.length; i++) { + const rng = () => i / AMBIENT_POSES.length; + const pose = pickAmbientPose(undefined, rng); + expect(pose).not.toBe('idle'); + expect(valid).toContain(pose); + } + }); + + it('avoids repeating the excluded pose', () => { + for (const exclude of AMBIENT_POSES) { + // Sweep the rng across the whole range; none should land on `exclude`. + for (let k = 0; k < 20; k++) { + const rng = () => k / 20; + expect(pickAmbientPose(exclude, rng)).not.toBe(exclude); + } + } + }); + + it('selects deterministically from the pool for a given rng', () => { + const first = pickAmbientPose(undefined, () => 0); + expect(first).toBe(AMBIENT_POSES[0]); + const last = pickAmbientPose(undefined, () => 0.999); + expect(last).toBe(AMBIENT_POSES[AMBIENT_POSES.length - 1]); + }); + + it('stays within bounds even when rng returns exactly 1', () => { + const pose = pickAmbientPose(undefined, () => 1); + expect(AMBIENT_POSES).toContain(pose as RivePose); + }); +}); diff --git a/app/src/features/human/Mascot/riveMaps.ts b/app/src/features/human/Mascot/riveMaps.ts new file mode 100644 index 000000000..8e5d2f442 --- /dev/null +++ b/app/src/features/human/Mascot/riveMaps.ts @@ -0,0 +1,185 @@ +/** + * Pure mapping tables + helpers for the Rive mascot asset (`tiny_mascot.riv`). + * + * Kept free of any `@rive-app/*` import so the logic is cheap to unit-test and + * can be shared without dragging the WebGL runtime into a test bundle. + * + * Asset contract (artboard `Artboard`, state machine `MascotSM`, view model + * `ViewModel1`) — discovered by enumerating the `.riv` with the Rive runtime: + * - `pose` enum `poses` — drives the body animation + * - `mouthVisemeCode` enum `visme_codes` — drives the mouth shape + * - `primaryColor` / `secondaryColor` colors + */ +import type { MascotFace } from './Ghosty'; + +/** State machine name baked into the asset. The `useRive` hook plays this. */ +export const MASCOT_STATE_MACHINE = 'MascotSM'; + +/** + * Every pose value the asset's `poses` enum accepts. Setting `pose` to a string + * outside this set is a no-op in the state machine, so callers should only ever + * emit values from here. + */ +export const RIVE_POSES = [ + 'idle', + 'thinking', + 'celebration', + 'bookreading', + 'coffeedrink', + 'writing', + 'bobbateadrink', + 'recording', + 'hand_wave', + 'dancing', +] as const; +export type RivePose = (typeof RIVE_POSES)[number]; + +/** + * Maps every {@link MascotFace} to the closest pose animation in the asset. + */ +export const FACE_TO_POSE: Record = { + idle: 'idle', + normal: 'idle', + sleep: 'idle', + listening: 'idle', + thinking: 'thinking', + confused: 'thinking', + speaking: 'idle', + happy: 'idle', + concerned: 'thinking', + curious: 'bookreading', + proud: 'celebration', + cautious: 'thinking', + celebrating: 'celebration', + writing: 'writing', + reading: 'bookreading', + recording: 'recording', + waving: 'hand_wave', + dancing: 'dancing', + drinking_coffee: 'coffeedrink', + drinking_boba: 'bobbateadrink', +}; + +export function faceToPose(face: MascotFace): RivePose { + return FACE_TO_POSE[face] ?? 'idle'; +} + +/** + * The exact 15 tokens the asset's `visme_codes` enum accepts — the standard + * Oculus/ElevenLabs viseme set. The enum is case-sensitive, so the canonical + * casing here is what must reach the state machine. + */ +export const RIVE_VISEME_SET = [ + 'sil', + 'PP', + 'FF', + 'TH', + 'DD', + 'kk', + 'CH', + 'SS', + 'nn', + 'RR', + 'aa', + 'E', + 'ih', + 'oh', + 'ou', +] as const; +export type RiveVisemeCode = (typeof RIVE_VISEME_SET)[number]; + +/** + * Lowercased-alias → canonical `visme_codes` token. + * + * Different TTS providers (and the text-delta pseudo-lipsync) disagree on + * casing and on the close vowels: Oculus ships `I`/`O`/`U` where the Rive + * asset names them `ih`/`oh`/`ou`. We normalise both so the mouth never + * freezes, and fall back to `sil` for anything unrecognised — setting an + * out-of-set enum string would otherwise be a silent no-op. + */ +const VISEME_ALIAS: Record = { + sil: 'sil', + silence: 'sil', + // Bilabials — fully closed + pp: 'PP', + m: 'PP', + b: 'PP', + p: 'PP', + // Labiodentals + ff: 'FF', + f: 'FF', + v: 'FF', + // Dental / "th" + th: 'TH', + // Alveolar / velar plosives + dd: 'DD', + d: 'DD', + t: 'DD', + l: 'DD', + kk: 'kk', + k: 'kk', + g: 'kk', + // Affricate + ch: 'CH', + // Sibilants + ss: 'SS', + s: 'SS', + z: 'SS', + // Nasal + nn: 'nn', + n: 'nn', + // Liquid r + rr: 'RR', + r: 'RR', + // Open vowel + aa: 'aa', + a: 'aa', + // Front mid vowel — the asset has a distinct `E` + e: 'E', + // Close-front → ih + ih: 'ih', + i: 'ih', + y: 'ih', + // Close-back rounded → oh / ou + oh: 'oh', + o: 'oh', + ou: 'ou', + u: 'ou', + w: 'ou', +}; + +/** + * Normalise any incoming viseme code (Oculus 15-set, bare letters, mixed + * casing) to the exact `visme_codes` token the asset expects. Unknown codes + * resolve to `sil` (mouth closed). + */ +export function toRiveVisemeCode(code: string): RiveVisemeCode { + return VISEME_ALIAS[code.toLowerCase()] ?? 'sil'; +} + +/** + * Poses the mascot drifts through on its own while otherwise idle, to keep it + * feeling alive. Deliberately excludes `idle` (the resting state it returns to + * between picks) and `recording` (reads as an active screen-capture cue). + */ +export const AMBIENT_POSES: readonly RivePose[] = [ + 'thinking', + 'bookreading', + 'coffeedrink', + 'writing', + 'bobbateadrink', + 'dancing', + 'hand_wave', + 'celebration', +]; + +/** + * Pick a random ambient pose, optionally avoiding `exclude` so the same pose + * doesn't fire twice in a row. `rng` is injectable for deterministic tests. + */ +export function pickAmbientPose(exclude?: RivePose, rng: () => number = Math.random): RivePose { + const pool = exclude ? AMBIENT_POSES.filter(p => p !== exclude) : AMBIENT_POSES; + const choices = pool.length > 0 ? pool : AMBIENT_POSES; + const idx = Math.min(choices.length - 1, Math.floor(rng() * choices.length)); + return choices[idx]; +} diff --git a/app/src/features/human/useHumanMascot.ts b/app/src/features/human/useHumanMascot.ts index 58a926540..9e5552cb4 100644 --- a/app/src/features/human/useHumanMascot.ts +++ b/app/src/features/human/useHumanMascot.ts @@ -92,8 +92,9 @@ export function pickViseme(delta: string): VisemeShape { /** * Pick a raw Oculus viseme code from a text delta character. Used to drive * `mouthVisemeCode` on the Rive state machine during pseudo-lipsync (no TTS). - * Returns Oculus 15-set codes; `RiveMascot` translates vowels (`E`→`ih`, - * `O`→`oh`, `U`→`ou`) to the Rive asset's vocabulary at render time. + * Returns Oculus 15-set codes; `RiveMascot` normalises the close vowels + * (`I`→`ih`, `O`→`oh`, `U`→`ou`) to the asset's `visme_codes` vocabulary at + * render time, keeping `E`/`aa` and the consonants as-is. */ export function pickVisemeCode(delta: string): string { const ch = delta diff --git a/docs/TEST-COVERAGE-MATRIX.md b/docs/TEST-COVERAGE-MATRIX.md index 817aecaa7..e3a78e912 100644 --- a/docs/TEST-COVERAGE-MATRIX.md +++ b/docs/TEST-COVERAGE-MATRIX.md @@ -192,6 +192,7 @@ Canonical mapping of every product feature to its test source(s). Drives gap-fil | 4.3.4 | Subagent Mascot Visualization | VU | `app/src/features/human/SubMascotLayer.test.tsx`, `app/src/features/human/HumanPage.test.tsx` | ✅ | Renders spawned/completed/failed subagent timeline rows as colored companion mascots with activity bubbles | | 4.3.5 | Image Tool Contracts | RU | `src/openhuman/image/` | ✅ | High-level `image_generation` / `view_image` schema, gating, serialization, prompt guidance, and contract e2e coverage for #2984 | | 4.3.6 | Background Monitor Tools | RU+RI | `src/openhuman/monitor/`, `src/openhuman/tools/ops_tests.rs`, `tests/json_rpc_e2e.rs` | ✅ | First-class monitor domain covers command denial, line streaming, timeout, stop, bounded output, registry exposure, and JSON-RPC list/read surface for #3371 | +| 4.3.7 | Mascot Avatar Animation | VU | `app/src/features/human/Mascot/RiveMascot.test.tsx`, `app/src/features/human/Mascot/riveMaps.test.ts` | ✅ | Rive `MascotSM` state machine: face→pose mapping, Oculus→`visme_codes` viseme normalization, and idle random pose rotation for the `tiny_mascot.riv` upgrade | --- diff --git a/tiny_mascot.riv b/tiny_mascot.riv index 8818a1fab845dad3665cfdd36d8ad17d0bba809d..b38e89f2607dec11ce924eca0feec71efb7f0f9f 100644 GIT binary patch delta 74964 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 delta 59957 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