P15.1: add extended easing toolkit + determinism snapshot (sx)
Pure, headless easing curves of t in [0,1] for the organic-animation pass (swap/fall/combine juice), placed alongside the existing ease_out_cubic / ease_in_quad in board_anim.sx: ease_in_cubic, ease_in_out_cubic, ease_out_back (bounded overshoot, settles to exactly 1), spring (damped wobble to exactly 1), and squash_envelope (signed squash-&-stretch landing shape). The math module has no exp/pow, so the decaying curves use a (1-t)^n polynomial envelope that hits 0 at t==1, pinning f(1) precisely. Additive only: no render code calls the new curves yet. tests/easing.sx locks, per curve, the endpoints, overshoot/undershoot bounds, and monotonicity-where- required (booleans only, so the snapshot is platform-stable), structured so P16.2 can append illegal-swap bounce-back assertions. Test count 21 -> 22.
This commit is contained in:
9
tests/expected/easing.stdout
Normal file
9
tests/expected/easing.stdout
Normal file
@@ -0,0 +1,9 @@
|
||||
== endpoints locked ==
|
||||
ease_in true ease_in_out true back true spring true squash true existing true
|
||||
== monotonic where required ==
|
||||
ease_in true ease_in_out true ease_out_cubic true ease_in_quad true
|
||||
== overshoot bounded + settles ==
|
||||
back_overshoots true back_bounded true spring_overshoots true spring_bounded true spring_wobbles true
|
||||
== squash envelope bounded ==
|
||||
squash_moves true squash_two_sided true squash_bounded true
|
||||
ok: easing toolkit endpoints locked + amplitudes bounded
|
||||
Reference in New Issue
Block a user