summaryrefslogtreecommitdiff
path: root/docs/effects.md
diff options
context:
space:
mode:
authorGabriel Schneider <[email protected]>2026-09-29 08:28:40 -0300
committerGabriel Schneider <[email protected]>2026-10-01 00:12:16 -0300
commit0a2694e935fa8a79f1a399f2d2cbc643f8c3734e (patch)
tree994775a97465d4ad279a8b13b848a2368b9a430b /docs/effects.md
parent6f7c79650857da578b9e6f8c49c772eb7c40bcae (diff)
downloadpardes-0a2694e935fa8a79f1a399f2d2cbc643f8c3734e.tar.gz
pardes-0a2694e935fa8a79f1a399f2d2cbc643f8c3734e.zip
G13: Parallax, lapis's dots drift with the text at a quarter of its speed
Parallax on|off (off, a pixel shell's; Chrome.fx bit 3). A body region carries its first line (Region.line, a file's scroll or a terminal's grid offset; the wire's region record grows a u32). The GUI offsets each body's page dots by a quarter of its line in rows, and of G6's glide offset while one runs, so the pattern drifts with the text and settles with it; the cell shader reads it from the instance's serial slot, whose per-cell dissolve noise G7 left unused (the dead noise code goes). Tests: a scrolled body tells its line; the shift handed to the shader is a quarter of it within the dots' period. Measured in a capture: four lines move the dots 13 px (140 px / 4 mod 22). Gates as before, goldens byte-identical. Feel review: .scratch/render/parallax/.
Diffstat (limited to 'docs/effects.md')
-rw-r--r--docs/effects.md10
1 files changed, 10 insertions, 0 deletions
diff --git a/docs/effects.md b/docs/effects.md
index ad454775..fbb44dfa 100644
--- a/docs/effects.md
+++ b/docs/effects.md
@@ -46,6 +46,7 @@ why. The verdict is the user's.
| G10 theme crossfade | always (a theme change) | the chrome's colours fade through OKLab, easing in and out (out when retargeted) | .scratch/render/crossfade/ (forge, lapis, acme cut short by dusk) | pending |
| G11 look-hover glow | `HoverGlow on\|off` (off) | a soft underline of the theme's accent under the word a look-hover would open, fading in over 80 ms | .scratch/render/hover/ (forge, acme, lapis; zooms) | pending |
| G12 ambient occlusion | `Occlusion on\|off` (off) | pane bodies darken toward their edges, at most 2% (§9.1: 1 to 2%) | .scratch/render/occlusion/ (on/off on forge, acme, lapis; acme-diff-x40.png) | pending |
+| G13 parallax | `Parallax on\|off` (off) | a theme's page pattern under the bodies (lapis's dots) moves with the text at a quarter of its speed, glides included | .scratch/render/parallax/ (lapis, notches down and up) | pending |
## Motion flavours
@@ -227,3 +228,12 @@ under the lift's contrast ceiling, in the pane's own group so it moves
with it. At §9.1's strength it is all but invisible on a dark page (a
level of 255 on forge) and faint on a light one (acme's page steps one
level toward the edges); acme-diff-x40.png shows where it falls.
+
+Notes on G13: a body region now carries its first line (Region.line: a
+file's scroll, a terminal's grid offset; on the wire, a u32 more a
+region). Under Parallax the dots under each body are offset by a quarter
+of its line times the row height, plus G6's glide offset while one runs,
+so they drift with the text as it glides and settle with it (measured: 4
+lines at 35 px move the 22 px grid 13 px, 35 mod 22). The cell shader
+reads the offset from the instance's serial slot, free since G7 took the
+dissolve's per-cell noise out. Without a pattern, nothing happens.