summaryrefslogtreecommitdiff
path: root/docs/effects.md
diff options
context:
space:
mode:
authorGabriel Schneider <[email protected]>2026-09-28 16:44:51 -0300
committerGabriel Schneider <[email protected]>2026-10-01 00:12:15 -0300
commitdeeb8ac54f71d4322a778336db9a7aec411c23ce (patch)
treea1ccddd6dc7acf31a88a0d27153848b053ac10d1 /docs/effects.md
parent3267d276ab2553adb412183eb92390ed579b494f (diff)
downloadpardes-deeb8ac54f71d4322a778336db9a7aec411c23ce.tar.gz
pardes-deeb8ac54f71d4322a778336db9a7aec411c23ce.zip
G1: Lift, soft elevation shadows (off by default)
`Lift` (a GUI toggle, capability lift) lifts the focused pane on a critically damped spring (animation.Spring: closed form, about 240 ms to settle, velocity kept across retargets, settled = no frames) and floats notices. The core puts the lift on the regions (Region.lift, on the wire); the GUI casts from it: a soft shadow is decor, an erf rectangle on one quad grown by 3 sigma (decor.frag, flag 0x10000000), in the quad's own space so a track's transform carries it; darken-only, the caster's rect left alone, alpha pre-warped for linear light and IGN-dithered. Cast last in its group, so a neighbour's rails and rules darken with its text; a notice's before its rule. Strength is capped per theme so text over the darkest shadow keeps min(its contrast, 4.5) (test over the native themes). Opt-in until the focus lift/dim default is decided. Feel review material: docs/effects.md. Test-mode PARDES_TEST_SERIES keeps every captured frame. Shared files touched: pardes.zig (two fields, one nextWake line), detached/wire.zig (lift on the region), config.zig, builtins.zig (capability), gui.zig. Not touched: Messages.zig, mouse.zig, tty, host_io.
Diffstat (limited to 'docs/effects.md')
-rw-r--r--docs/effects.md18
1 files changed, 18 insertions, 0 deletions
diff --git a/docs/effects.md b/docs/effects.md
new file mode 100644
index 00000000..44f3e949
--- /dev/null
+++ b/docs/effects.md
@@ -0,0 +1,18 @@
+# Effects: feel reviews
+
+Each effect of docs/render-pipeline.md §9 lands behind its own switch, off,
+and is kept only after a feel review (§8.4): a frame series on the virtual
+clock, a recording, and a verdict — keep, polish or drop — with one line of
+why. The verdict is the user's.
+
+| effect | switch | state | review material | verdict |
+|---|---|---|---|---|
+| Crt (bundled post pass) | `Crt 0..3` | kept, rewritten (no barrel) | fx-compare stills, live window | kept at the user's live look |
+| Ripple, Glitch | — | removed | live window | dropped by the user after a live look |
+| G1 soft elevation shadows | `Lift` (off) | opt-in until the focus-lift default is decided | frame series + mp4 per theme (forge, acme, dusk): Lift on, a focus switch, a run of quick switches, a notice, Lift off | pending |
+
+Notes on G1: the lift runs on a critically damped spring (§7.2) that settles
+in about 240 ms and keeps its velocity when a quick run of switches retargets
+it; a notice floats on a lift of 1 while Lift is on. The series are the core's
+frames: core animation steps at 62.5 Hz on any display (§7.1), so a 144 Hz
+display shows the same frames, each held for two or three refreshes.