# NEXT11 / NEX — V425

Dynamic Warmup 17/17, med kontakträttningarna som Daniel efterfrågade efter V424-demon.

- High knee tuck: grepp på rätt sida av mottagande underben; sammanhängande in- och utgång, stabilt fäste som följer benet.
- ATG och reverse lunges: rättad kontaktorientering, utan sidoinversion. Den sagittala fotrörelsen behålls.
- Lateral lunges: händerna förs framför den faktiska kroppens yta genom befintlig arm-IK.
- Alla 17: golvkontakt beräknas från den skinnade skons undersida. Extra rotprover korrigerar mellanrutor i karaoke och single-leg toe touch.

18 904 prover inklusive mellanrutor: lägsta skoyta ligger 0,306–2,311 mm över golvet. Den andra foten får vara i sving. Lateral-händernas konservativa kroppsytekontroll har ingen kvarvarande överlappning i de kontrollerade proverna. Sulorientering och individuella fotavstånd finns i CONTACT_QA.json.

Modell, rigg, källfilmer, rörelseordning och timing är bevarade. Endast de deklarerade arm-/hand-/benkedjorna och rotens höjd ändras. Uppspelningen använder bakade rörelser och noll live-solveranrop. Befintlig generell grepp- och IK-kod används för bakningen; ingen ny övningsspecifik solver har skapats.

V425:s Reverse lunges utgår från den befintliga V407-korrigeringen som användes i den föregående demon. Den förkastade V406-routen är nu ersatt även i appens aktiva Dynamic Warmup-sekvens.

## Granska

Den vanliga Dynamic Warmup-sekvensen och alla 17 profiler pekar på V425. Direkta spelarvägar finns i diagnostics/v425/ACTIVE_ROUTES.json. Starta projektet med en lokal HTTP-server. De befintliga spelarna är kopierade till versionsbestämda V425-ingångar med nya assetkopplingar; spelmotorn är densamma.

Demon och den korta kontaktfilmen levereras separat. Granskningsbilder och mätningar ingår i diagnostics/v425. Filmerna använder riktig Nex-FBX-geometri i OpenGL/EGL; inga AI-bilder eller ersättningsavatarer. GPU-matriser jämförs med Three.js faktisk skinning. Detta är ingen Chromium-materialparitetskontroll eller fullständig biomekanisk nyvalidering. Slutligt visuellt godkännande återstår.

## Reproducera

Kör från projektets rot med Node.js, Python, ffmpeg och EGL/Mesa:

```sh
node tools/nexprod/v425-build.mjs
node tools/nexprod/v425-refine-floor.mjs
node tools/nexprod/v425-verify.mjs
node tools/nexprod/v425-check-integration.mjs
python3 -m pip install -r production/v425/requirements.txt
node production/v425/export.mjs .
node production/v425/audit.mjs .
FILM_WIDTH=1920 python3 production/v425/render.py
python3 production/v425/score.py
ffmpeg -y -i production/v425/output/NEX_DYNAMIC_WARMUP_V425_REVIEW.mp4 -i production/v425/cache/score.wav -c:v copy -c:a aac -b:a 192k -shortest -movflags +faststart production/v425/output/NEX_Dynamic_Warmup_V425_Demo.mp4
FILM_WIDTH=1280 python3 production/v425/qa.py --film
```

V425_CONTACT_CORRECTION_MANIFEST.json innehåller källhashar, outputhashar, ändrade benindex och korrigeringsscope. Kanoniska kontaktmål finns i assets/nex/canonical/v425. CURRENT_STATE_V424.json och originalets rörelsefiler är bevarade.
