Within a clearing round the matched gems no longer all explode at once: each gem's pop (and its burst) START is offset by a bounded per-gem delay so the cells detonate as a ripple. - board_anim.sx: clear_ripple_t(t,u) mirrors fall_stagger_t's (t-delay)/window, delaying a gem's pop START by CLEAR_STAGGER_MAX*u (0.45 of the clear window). Bounded: every gem still reaches local 1 (scale 0) by t==1, so none is left mid-pop at the seam to the fall. clear_diag_span/clear_rank rank each matched gem 0..1 by diagonal (col+row) PER ROUND, so even a 3-match ripples across the full budget. - board_view.sx render_clear: feed each matched gem's ranked, staggered local t through the P18.1 clear_pop_scale (locked endpoints unchanged). - board_fx.sx: bursts carry the same per-gem delay so they ripple in lockstep with the pops. Per-round audio cue (P10.10) still fires once at t0, not per gem. - Model untouched (same cells cleared, same final board); CLEAR_ANIM_DUR fixed, so cascade-cue snapshots don't churn and M3TE_ANIM_TIME=0 still rests. - tests/easing.sx: pin clear_ripple_t endpoints, bounded completion by t==1, monotonicity, ripple ordering, and the diagonal rank. - goldens: add p18_stagger (M3TE_FX=3 @ 0.22); refresh p18_pop, p6_fx_match, p11_combo_deep (all pinned mid-clear, now showing the ripple).
18 lines
959 B
Plaintext
18 lines
959 B
Plaintext
== 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
|
|
== illegal-swap bounce ==
|
|
bounce_ends true peak_amp true peak_loc true overshoots true overshoot_bounded true settles true
|
|
== fall stagger bounded ==
|
|
stagger_t0 true stagger_t1 true stagger_cascade true stagger_mono true
|
|
== landing instant ==
|
|
landing_first true landing_last true landing_mono true landing_seam true landtime_col_mono true landtime_round_after true
|
|
== clear ripple bounded ==
|
|
ripple_t0 true ripple_t1 true ripple_cascade true ripple_mono true ripple_rank true
|
|
ok: easing toolkit endpoints locked + amplitudes bounded
|