rendu fractal #183
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feature/improve-motion"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
swirlmotion 1656f5fa4b`frameSourceFor` connaît sa quatrième motion à recompute : elle ne déplace ni la caméra (zoom) ni un champ (phase/pulse) mais la GÉOMÉTRIE tirée. La branche passe `{ swirl }` au `recompute` injecté, part de la valeur portée par l'œuvre et honore un `swirlTurns` forcé (`meta.swirlTurns`, par défaut un tour). Deux tests : le balayage démarre à la géométrie publiée, tourne vraiment et s'arrête avant 2π (jamais de doublon de la première frame) ; trois tours font bien trois fois un tour. Comparaison à 1e-9 : la rampe divise par frameCount, 3×(2π·k/n) et 2π·3k/n ne tombent pas sur le même flottant. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QE2RdcPX6NLG13GrSPGjktDeux volets. (a) `pipeline-video.js` lit `meta.swirlTurns` et le passe au dispatcher, comme il le fait déjà pour `zoomFactor`/`phaseCycles`/`pulseCycles`. Jamais un switch sur le code d'algo. (b) `recomputeFrameFor` fusionne `meta.videoParams` entre les params gelés et la surcharge de frame : params gelés < qualité vidéo < surcharge. La vidéo est un dérivé jetable (hors canonical_hash, hors signature), donc un algo dont une frame à pleine qualité coûterait des secondes déclare une qualité d'accumulation réduite réservée au film — flame-ifs : 2,5 M de points sur un buffer de 450 px au lieu de 20 M sur 2500, soit ~480 ms/frame contre 2670. L'estampe garde ses valeurs pleines. La signature ne bouge pas : la closure résolvait déjà le meta. La trappe est GÉNÉRIQUE et optionnelle : `{ ...params, ...undefined }` vaut `params`, donc un algo qui n'en déclare pas se recalcule au pixel près. Quatre tests unitaires plus le bout-en-bout du pipeline, jumeau de celui de `phase` : la première frame filmée doit tomber sur un recompute fait à la qualité vidéo — si le pipeline filmait à la qualité de l'estampe, les octets ne tomberaient pas. Suite renderer 2815/2817 (les deux rouges = dérive SIMD libvips connue de pipeline-slide). Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QE2RdcPX6NLG13GrSPGjkt