aboutsummaryrefslogtreecommitdiff
path: root/dotfiles/system/.profile.d
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-07-18 04:32:39 -0500
committerCraig Jennings <c@cjennings.net>2026-07-18 04:32:39 -0500
commit872813892e98d9cc7b8253b02cf9a595b144325a (patch)
treedc6ff1fe57e3a3a7d45a9bc9c184f3f517677f8d /dotfiles/system/.profile.d
parent5e664af75797cce4e480bed8b71e52e6192a2d57 (diff)
downloadarchsetup-872813892e98d9cc7b8253b02cf9a595b144325a.tar.gz
archsetup-872813892e98d9cc7b8253b02cf9a595b144325a.zip
feat(gallery): make the N20 split-flap an honest Solari mechanism
The card's flip was a 0.3s drop-fade that teleported each cell straight to its target character — a suggestion of a split-flap, not one. Since the gallery card is the spec the ports get measured against, the fake would have propagated. Three behaviors replace it, studied from the HotFX split-flap component and re-derived (its repo carries no license, so no code was copied). The charset is the drum: opts.chars declares the flap order and a changed cell steps one flap at a time through intermediates, never jumping, so cells arrive staggered by travel distance. A set() mid-cascade re-aims the running cells at the new target. The fold is real: two half-panel animations per flip — the current top falls, the next bottom lands — over four clipped layers with backfaces hidden, replacing the drop-fade keyframe. animate:false (the reduced-motion gate) collapses every move to an instant jump. The handle grows setText, chars, and reading() so probes can sample the displayed state mid-cascade; the default width goes 3 to 4 cells, which stops truncating every demo word. Probe checks were written red first: cascade arrival, intermediate readings, one-flap-at-a-time stepping in charset order, mid-cascade retarget, and the instant animate:false path.
Diffstat (limited to 'dotfiles/system/.profile.d')
0 files changed, 0 insertions, 0 deletions