# Handover · V386 video-timed Figure Four animation

## What changed

V386 derives a complete alternating Figure Four loop from V385's locked resolved frames. It does not re-solve the exercise. A generic, data-driven phase timeline maps elapsed source-video time to the existing resolved phases.

The normal Dynamic Warm Up route now reads `resolvedPlayerUrl` from the animation profile. Profiles without that field continue to use the existing native review player. This is a generic resolved-player selection mechanism, not a Figure Four solver special case.

## Source

- source file: `assets/media/exercises/figure-fours/source/NEXT11_dynamic_warmup_ijj7TD0DA6Q_figure-fours.mov`
- SHA-256: `c8a76416fa98dc14412189895ca7a2c5c0f2b9d8a1cc2880093bc2b2d2960642`
- duration: `5.236667 s`
- review sampling: `12 fps`
- uncertainty: one review frame, `0.083334 s`
- YouTube provenance: `ijj7TD0DA6Q`

## Geometry inheritance

- parent checkpoint: `V385_MINIMAL_RESOLVED_FIGURE_FOUR_PROOF`
- exercise: `figure-fours`
- profile: `warmup_figure_four_walk_ik_v1`
- right locked peak: phase `0.25`
- left locked peak: phase `0.75`
- both two-hand grip peak transforms are inherited unchanged
- V385 frame array is unchanged; V386 adds timeline metadata and a timeline-aware player

## CPU/runtime result

Numeric QA measured resolved playback at approximately `0.086 ms` average versus `19.213 ms` average live solve in the final run, a `222.6×` measured speedup. Production reports `liveSolverCalls=0`.

The normal mobile route explicitly uses low-power `24 fps`, animation sampling at `24 fps`, pixel-ratio cap `1.15` and `safeBoot=0`. The last setting is required because inherited safe boot otherwise disables playback on mobile; it does not enable any live solver.

## Evidence

- `diagnostics/v386/V386_VIDEO_TIMED_FIGURE_FOUR_NUMERIC_QA.json`
- `diagnostics/v386/V386_VIDEO_TIMED_FIGURE_FOUR_INTEGRATION_CHECK.json`
- `diagnostics/v386/source_timing/V386_FIGURE_FOUR_SOURCE_TIMING_MAP.json`
- `diagnostics/v386/source_timing/V386_FIGURE_FOUR_SOURCE_TIMING_12FPS.png`
- `diagnostics/v386/source_timing/V386_FIGURE_FOUR_SOURCE_FFPROBE.json`

## Pending

Actual-scene Chromium/OpenGL visual QA of the complete animation. No Chromium or Xvfb binary exists in the current executor. Use the included exact request in a 5.5/Chromium-capable chat.

## Hard constraints

1. No AI-generated QA images.
2. No new exercise-specific solver.
3. No V385 geometry mutation during timing QA.
4. No old `v340_figure_four_*` case IDs.
5. The lifted leg must cross in front; rear heel-pull means the wrong exercise.
6. Production remains resolved playback with zero live solver calls.
