P17.1: organic fall — accelerate under gravity (ease_in_cubic)
render_fall now drives the per-round drop with ease_in_cubic (P15.1 accel-from- rest) instead of ease_out_cubic, so falling gems start slow and accelerate into place like gravity rather than decelerating. f(1)=1 is pinned, so every gem still lands exactly on its destination cell and move.final is untouched. FALL_ANIM_DUR (0.22s) is unchanged, so the cascade-cue timing snapshots don't churn. Golden goldens/p17_fall.png: M3TE_FX=11 (depth-5 cascade, seed 1337) pinned at M3TE_ANIM_TIME=1.51 (round 3 fall window [1.38,1.60)) — gems caught bunched-high mid-fall, ~20% down at ~59% of the segment, vs the old curve's ~93%.
This commit is contained in:
@@ -529,10 +529,12 @@ BoardView :: struct {
|
||||
}
|
||||
}
|
||||
|
||||
// Fall segment: every gem of the round's settled board slides from its source
|
||||
// row (above the board for refills) down to its destination cell.
|
||||
// Fall segment: every gem of the round's settled board accelerates under
|
||||
// gravity from its source row (above the board for refills) down to its
|
||||
// destination cell. ease_in_cubic pins f(1)=1, so each gem lands exactly on
|
||||
// its cell and the seam to the next round / settled board stays invisible.
|
||||
render_fall :: (self: *BoardView, ctx: *RenderContext, rd: *AnimRound, inset: f32, dim: f32, t: f32) {
|
||||
te := ease_out_cubic(t);
|
||||
te := ease_in_cubic(t);
|
||||
for 0..BOARD_CELLS: (i) {
|
||||
g := rd.after[i];
|
||||
if g == .empty { continue; }
|
||||
|
||||
Reference in New Issue
Block a user