# light-sweep-pass A traveling key light re-shades a slotted scene: a soft diagonal gradient band crosses the frame once while every per-element highlight and shadow shifts in lockstep, then the light settles into a resting key from the upper third. Quiet, expensive-feeling; the scene itself never moves. One custom property owns the whole pass: the timeline writes `--light-x` (a unitless frame-percent scalar on `#root`) and nothing else. The band's translate, every highlight bloom, every shadow offset, and the ambient lift read it through `calc()`/`clamp()`/`max()` in static CSS, so seeks in any order resolve identical frames. Reference: the ordinaryfolk traveling light band (motion-reference `ordinaryfolkco/2001090228958752945`). ## Files - `light-sweep-pass.html`: the mountable sub-composition (install target: `compositions/components/light-sweep-pass.html`). - `registry-item.json`: registry metadata and the variables block. - `demo.html`: a full-bleed 1920x1080 LIGHT host that mounts the primitive with non-default variables (QA gallery input). ## Variables | id | type | default | notes | | ---------- | ------ | ---------- | ------------------------------------------------------------------------- | | `angle` | number | `115` | band and highlight gradient angle in degrees (60 to 160) | | `sweep_at` | number | `0.9` | seconds after mount start when the band starts crossing (0 to 8) | | `strength` | enum | `standard` | `subtle` halves the band opacity and highlight bloom | | `accent` | enum | `green` | `green` maps to `--brand`, `blue` to `--accent`, `violet` to `--accent-2` | | `exit` | enum | `none` | `none` holds the settled key; `fade` and `up` release the stage | Envelope: IN = `sweep_at` + 1.60s crossing + 0.55s settle, OUT = 0.5s only when `exit` is `fade` or `up`, HOLD is the sole elastic phase. The `sweep-land` sync point (`hf:sfx` id `light-settle-soft`) fires when the light reaches its resting key, 3.05s at defaults. ## The slot mechanism The primitive ships one named full-bleed slot inside its `