summaryrefslogtreecommitdiff
path: root/src/body_layer.zig
diff options
context:
space:
mode:
authorGabriel Schneider <[email protected]>2026-09-29 06:58:19 -0300
committerGabriel Schneider <[email protected]>2026-10-01 00:12:16 -0300
commitc1dbb16d069a54f52533f346655b0fc49026c9a4 (patch)
tree0a82753404805951cf7fda3973b86d7741f73833 /src/body_layer.zig
parentff252345bc3e1edc1aee93ca826f294bf9a7874f (diff)
downloadpardes-c1dbb16d069a54f52533f346655b0fc49026c9a4.tar.gz
pardes-c1dbb16d069a54f52533f346655b0fc49026c9a4.zip
G7: a moving pane casts a shadow, a retargeted move keeps its speed, a dissolve crossfades
- Track.launch: a move retargeted mid-way (Presentation.sync) starts at the old move's speed along the new one's longest side (carriedLaunch, Motion.easeFrom/speedFrom), so a second change during a slide bends the motion instead of stopping it dead. The macOS track ABI grows the float (pardes.h, 48 bytes; its reserved byte is named motion, as in Zig). - A pane that slides, zooms or rises casts Lift's soft shadow at sin(pi x progress) of its strength, on the other panes' bodies and rails alone, under the same contrast ceiling, carried by its track. - The GUI's PanelDissolve is a crossfade: the new cell drawn first, the old one over it at 1 - progress, premultiplied, on the blending cell pipeline for such groups (new cells now emitted before old ones, as the old layers already came after the new). sRGB blend, not linear light (documented). The tty keeps its per-cell swap. Presentation.zig's and animation.zig's tests were not in any test root; pardes.zig's test block now takes them in. Tests: a retargeted move carries its speed and still lands exactly; a moving pane's shadow is clipped off every tag, grip and its own body, none at the start or the landing, most mid-way. GUI golden 18 changes by the shadow (frame 6 of a slide). Gates as G6. Feel review: .scratch/render/transitions/.
Diffstat (limited to 'src/body_layer.zig')
0 files changed, 0 insertions, 0 deletions