# before-after-wipe Two full-bleed content panels compare a before and an after state. The before panel stays fully visible as the base layer; the after panel wipes over it from the left edge in one pass and the divider rests at `rest_split` percent for the whole hold. The divider (and its knob) stays hidden until the wipe starts, then fades in as it departs the left edge, so the lead-in never shows a half-clipped handle. Label chips mark each side. This ports comparison-split's divider-wipe mechanic onto real content slots: you supply the two visuals, the primitive supplies the wipe. ## Files - `before-after-wipe.html`: the mountable sub-composition (install target: `compositions/components/before-after-wipe.html`). - `registry-item.json`: registry metadata and the variables block. ## Variables | id | type | default | notes | | ------------ | ------ | -------- | ------------------------------------------------------------------------- | | `label_a` | string | `Before` | chip on the base panel; empty string hides it | | `label_b` | string | `After` | chip on the revealed panel; empty string hides it | | `rest_split` | number | `50` | divider resting position, 0 to 100 percent | | `wipe_at` | number | `0.25` | seconds after mount start when the wipe begins (0 to 8) | | `accent` | enum | `green` | `green` maps to `--brand`, `blue` to `--accent`, `violet` to `--accent-2` | | `exit` | enum | `none` | `none` holds the final frame; `fade` and `up` release the stage | Envelope: IN = `wipe_at` + 1.05s wipe travel, OUT = 0.5s only when `exit` is `fade` or `up`, HOLD is the sole elastic phase. The `wipe-land` sync point (`hf:sfx` id `wipe-land-soft`) fires when the divider lands, 1.30s at defaults. ## The slot mechanism The primitive ships two named slot panels inside its `