mirror of
https://github.com/heygen-com/hyperframes.git
synced 2026-09-07 01:56:04 +00:00
feat(skills): align easing docs with motion doctrine, add baked springEase (#1989)
* feat(skills): align easing docs with motion doctrine, add baked springEase The easing adapter contradicted the workflow doctrine: it taught a power2.out entrance default and pitched back/elastic as playful defaults, while motion-language.md says power3 / smooth-beats-bouncy. A worker following the adapter produced exactly the flat, cheap motion users complain about. - gsap-easing-and-stagger: power3.out becomes the documented house default; back/elastic/bounce capped as RARE playful-only; new "Spring Eases (baked physics, seek-safe)" section — closed-form damped-spring ease springEase(response, dampingFraction), measured damping ladder, response/duration table, craft notes - gsap-timeline-and-labels: last leftover power2.out default -> power3 - spring-pop-entrance: exact-physics option (zeta=1) for the settle; playful variant now prefers spring zeta 0.6-0.7 over back.out - motion-language x3 (product-launch-video, faceless-explainer, pr-to-video): doctrine "Smooth beats bouncy" wired to the baked springEase — real physics, same doctrine, not a license for bounce Verified with node + GSAP 3.15: zeta=1 strictly monotone with zero overshoot; scrambled out-of-order seeks return bit-identical values; ease(0)=0 and ease(1)=1 exact; snippet re-extracted from the published markdown and re-run. * chore: format README.md (landed unformatted on main; unblocks the repo-wide Format check)
This commit is contained in:
@@ -175,7 +175,7 @@ tl.fromTo(
|
||||
);
|
||||
```
|
||||
|
||||
Keep `OVERSHOOT` modest even here (≤ ~2) — past that it reads as a cartoon wobble, not an arrival.
|
||||
Keep `OVERSHOOT` modest even here (≤ ~2) — past that it reads as a cartoon wobble, not an arrival. Better still: the baked spring at `dampingFraction: 0.6–0.7` (`../adapters/gsap-easing-and-stagger.md` → Spring Eases) gives ~5–10% overshoot with a second-order settle that reads physical where `back.out` reads cartoon.
|
||||
|
||||
### Origin-anchored pop (callout springs from a pointer / source)
|
||||
|
||||
@@ -195,6 +195,7 @@ When a popped element then **holds** an ongoing slot (a constellation node, a pe
|
||||
|
||||
- **EASE** — the settle curve (the load-bearing decision)
|
||||
- Default: **`power3.out`** — a smooth long-tail settle, no overshoot; the house style for product / enterprise / serious tone. Use `expo.out` for a punchier, faster-front arrival (still smooth).
|
||||
- Exact-physics option: `springEase({ response: 0.4 })` (critically damped, ζ=1) from `../adapters/gsap-easing-and-stagger.md` → Spring Eases — the curve `power3.out` approximates, with a harder front and a longer settle tail; take `duration` from the helper. Use when the settle IS the shot (a wordmark landing, a final lockup).
|
||||
- Playful exception only: `back.out(OVERSHOOT)` — see the Bouncy pop variation; reach for it only when a bounce is clearly the brand intent.
|
||||
|
||||
- **OVERSHOOT** — `back.out(OVERSHOOT)` overshoot strength — **only used in the rare bouncy variant**; the smooth default has no overshoot dial
|
||||
|
||||
Reference in New Issue
Block a user