# Current speech articulation

The approved Yumi appearance and all four body performances are unchanged. Speech now follows actual sound-shape cues from the natural Runway recordings, with smooth anticipation, smaller jaw openings, rounded and spread lip shapes, and time-based easing. Silence, native audio buffering, pause and end relax the mouth. Head and rear-face tracking still suppress the mouth when hidden. The prior loudness/spectral-only method below is historical.

# Active Yumi interaction and mouth animation, October 27, 2026

The approved adult fictional Yumi appearance is preserved. `yumi-touch-v5.mp4` is an original full-body interaction performance from Runway task `da44281a-9c07-4f51-97be-93afff55022d`, based on the same approved reference `3ace5d43-11d3-40ae-a8bc-a804d60c0a56`. The exported performance was mirrored to face the site's chart on screen left. Generated pale green props were removed from its alpha matte; the site displays a magnified copy of its latest real observed OHLC candle at the measured hand anchor. The original chart data is unchanged.

`yumi-tracks-v5.json` supplies manually guided, temporally smoothed mouth and palm coordinates. The WebGL compositor replaces only the prerecorded mouth area with audio-timed cartoon articulation, driven by measured loudness and a coarse spectral width cue from the exact playback. Rear-facing frames suppress the mouth. This is not phoneme-perfect lip sync or a freely poseable 3D rig. Neutral clip boundaries use a short blend; gestures, mouth movement and chart data have separate clocks.

Earlier assets and production history follow.

# Current Yumi character, v4

The user explicitly retains the established Runway Yumi: purple twin ponytails, violet eyes, necklace, purple string swimsuit and original adult anime appearance. The Haruka rig is not active.

The active character is an AI-selected set of generated performances, not a freely poseable 3D rig or exact phoneme lip synchronization. The controller plays complete motion clips with matching neutral start and end poses. It holds the decoded pose while another performance loads. The visible canvas paints on its own animation clock so hidden-video callback throttling cannot freeze it.

All current clips contain only Yumi against uniform chroma green. Color keying retains complete arms and hands, then packages color and alpha side by side in H.264. The browser draws her in front of the independent real market chart. Generated market panels and candle props are excluded.

- Reference: `3ace5d43-11d3-40ae-a8bc-a804d60c0a56`, using the original approved Yumi artwork and portrait.
- Chart-facing gaze: `c91ace5a-02ae-43a4-b681-4c0fabc37934`.
- Expressive reaction: `270f56f3-7b9f-41a5-b8f1-4e0f0f29d601`.
- User-requested back view, turn and two small hops: `99355dde-77db-447c-8304-89b84ed6ea72`.

The Turn & hop control queues one complete performance at a neutral transition. AI actions may also choose a turn performance, once per thought. Motions do not create quotes or execute financial actions. Motion pauses offscreen, in background tabs or when explicitly disabled. The same adult high soprano prompt-designed voice is reused across greeting and live commentary; its greeting is bundled for immediate startup. The UI discloses the AI-generated voice.

## Earlier source and performance history

# Active Yumi character

The current character uses the user's existing original Runway animation, matching the attached purple Yumi artwork. It preserves her adult anime face, amethyst eyes, purple twin ponytails, pearl necklace and opaque purple bikini. It replaces the previously displayed Haruka adaptation.

Original animation task: `4ab7504f-1e0f-471e-a5ea-2488ef7e0112`.
Runway subject isolation task: `145865f8-7730-4773-bdca-018310af021e`.
Portrait task: `180c6eaa-25f0-45d6-8169-8d32c0d9f9e2`.

The room and generated chart screens have been removed from the animation. The chart behind Yumi is drawn separately from received market data for the exact selected mint. Generated trade or purchase markers from the original promotional video are not displayed.

The site hosts a 9.25 second, 24 fps loop with an alpha mask packed beside its colour frames in H.264, plus a matching transparent poster. A short end transition closes the animation loop. A canvas composites the video over the real chart. WebGL is used when available, with a 2D canvas fallback and automatic muted inline playback. Motion pauses when the room is offscreen, hidden or explicitly paused.

This is an animated Runway character, not a new rigged GLB, live motion capture, interactive body physics or exact lip synchronization. Market commentary is driven by received quotes. The voice waveform indicates actual playback, rather than claiming generated mouth motion is phoneme synchronized. The real chart and transaction logic are independent of the character video.

The historical Haruka rig, adaptation records and licenses are retained in the source history and under `/models/PROVENANCE.md`. They do not describe this active Runway asset.

## Current v2 performance

The typing performance is superseded by Runway task `1a92ce75-9e14-4c4c-b01b-259394830a41` and subject isolation task `3e4edf2d-58cb-44a1-9e37-debb7ed4c475`. It uses the same adult Yumi portrait for identity. The character balances and reaches for a prop; all generated candle props and backgrounds are removed before compositing. The background market candles remain separate real provider data. This is a short generated character performance, not a rig or a collision simulation with the actual financial chart. OpenAI can select bounded presentation actions and commentary from current quotes and session learning; it cannot submit orders or bypass financial limits.

## Current v4 performance integration

The user requires preserving the established Runway Yumi rather than switching back to Haruka. The new full-body reference uses the original Yumi artwork and portrait task 180c6eaa-25f0-45d6-8169-8d32c0d9f9e2. It preserves her purple twin ponytails, violet eyes, necklace and purple swimsuit. A uniform chroma background allows color keying to retain complete arms and fingers. Separate watch, expressive and requested turn-and-hop performances share a neutral start and end pose. The controller selects complete performances from current AI and voice state, with a user-triggered turn-and-hop option. These are generated motion clips, not a new rig or physical interaction with market candles. The chart remains independent provider data.

## Chart jumps and dance, v6

The approved adult Yumi reference remains task `3ace5d43-11d3-40ae-a8bc-a804d60c0a56`. New jump task `ca200287-06f5-4758-bf83-4fc0b39958a9` includes walking back, five small hops and a return to the original front stance. Dance task `617bd192-25d8-41d3-a7ed-ff0de9ecbf17` turns to the back for upright step-touch footwork and shoulder movement, then returns front. The requested twerking generation was rejected by the provider; it is not included. An earlier jump with cropped face framing is also excluded.

The active files are `yumi-jump-v6.mp4`, `yumi-dance-v6.mp4`, and combined `yumi-tracks-v6.json`. Each video is 241 frames at 24 fps, color plus alpha side by side, 1440 by 960. The new face tracks use inspected lip keyframes and optical flow; rear-facing frames suppress mouth painting. Jump floor and apparent-size keyframes compensate for its walk back before chart travel is applied. The existing four performances and approved natural voice remain intact. Full prompts, measured takeoffs and source task IDs are retained under `scripts/avatar/runway-v6/` in the source.

## Single-file performance, v7

The active player now uses `yumi-performance-v7.mp4`, a smaller continuous encode of those same six reviewed clips in order jump, dance, touch, turn, watch, react. No new generation or pose changes: 1446 frames at 24fps, 60.25 seconds, 960x640 packed color/alpha, no audio, faststart. SHA256 `0a3e12201661a2acec196cb543dd7006c4b2fd689f7646b67fdfdd5b1ecaac7e`. `yumi-timeline-v7.json` lists exclusive boundaries. Existing v6 normalized face and hand tracks are unchanged; the compositor uses each actual presented frame's clip-relative timestamp. Prior separate video files remain available for older open pages.

## Transparent atlases, v8

The active player uses `/character/yumi-sprites-v8/manifest.json` and its 31 WebP atlases. They contain source frames 0,2,4 through 1444 from the same v7 encoding, with no new character, outfits or generated poses. Each pose is 360x480; each full atlas has 24 poses in six columns and four rows. The last atlas has three poses. Playback is 12fps across the same 60.25-second sequence. Colors use the existing renderer's green-spill clamp; background alpha is cleaned offline. The browser copies actual transparent frames directly and aligns face landmarks to their exact source timestamps.
