Repository navigation
feat(motion): springs de forma cerrada + tokens --cf-spring-* - #33
Merged
Merged
Conversation
La motion del paquete eran curvas cubic-bezier, y --cf-ease-spring rebasaba 56 %. Ahora: spring.ts con respuesta al escalón en los 3 regímenes (parámetros perceptuales duration/bounce), exportación a CSS linear(), springTrack para retargeting como función pura del tiempo (seek(t)) y springTransition para framer-motion. - presets snappy/smooth/gentle, overshoot ≤ 2 % (test) - tokens generados por scripts/gen-spring-tokens.ts; verify:springs + test de drift - --cf-ease-spring queda deprecado, sin cambiar su valor (no rompe consumidores) Claude-Session: https://claude.ai/code/session_01T7hd9JiE4DGAUZFRzPqg3y
…rrecto en CLAUDE.md springTrackLoop suma las colas de los ciclos previos: posición y velocidad empalman en el wrap (lo pidió la primera pieza UI-MOTION de /video). +2 tests. El ejemplo de theming citaba #2984AD; el token real es #46A0D0. Claude-Session: https://claude.ai/code/session_01T7hd9JiE4DGAUZFRzPqg3y
Member
Author
|
Merge con chromatic rojo: falla preexistente en main (ShaderHero.stories → 'FE is not a function', runs 35814814984 / 34097610711 / 32581923663, ver #26). verify ✓. Autorizado explícitamente por André en sesión. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Qué
Motor de springs de forma cerrada para
@cofoundy/ui. Es la base del motion system y de la receta UI-MOTION de/video(motion design de UI en código, formato @twoclipping).src/lib/spring.ts:springAt(3 regímenes, parámetros perceptualesduration/bounce),springToCSSLinear,springTrack(retargeting como función pura del tiempo),springTrackLoop(loop con posición y velocidad continuas),springTransition(framer-motion).--cf-spring-{snappy,smooth,gentle}+-duration, generados (npm run gen:springs) y verificados contra drift (verify:springs+ test).--cf-ease-springqueda deprecado (56 % de overshoot) sin cambiar su valor, así que no hay cambio visual para Fovente, Timely ni Landing.CLAUDE.md: el ejemplo de theming citaba#2984AD; el token real es#46A0D0.Verificación
npx vitest run src/__tests__/lib/spring.test.ts→ 16/16. Incluye overshoot ≤ 2 % en los presets, continuidad en ζ=1, velocidad inicial, loop que empalma y drift CSS↔presets.main(main está rojo: ChatInput 'should render send button' falla desde antes de 6831ef1 #21 ChatInput, session-lifecycle.test.ts compara el set GLOBAL de sesiones de browser: rojo determinista, no flaky #25 session-lifecycle;maintiene 4). Typecheck: los mismos 2 errores dehero-shaderquemain(npm run typecheck sale rojo: 2 errores preexistentes en hero-shader/ #26). Ninguno es nuevo.prototype-motion), y un agente independiente hizo conspringTrackuna pieza de 8 s.Fuera de este PR
Aplicar el motion a Button/Switch/Tabs/Toast (dirección A del prototipo) va en otro PR, según
handoff.md.https://claude.ai/code/session_01T7hd9JiE4DGAUZFRzPqg3y