# radial-surround Labeled hairline chips assemble around a centered subject on an elliptical ring: positions baked once via cos/sin, staggered smooth-settle entries. With `close_in` (the default) the chips then converge inward toward the subject while a subtle edge vignette dims the stage. The center NEVER moves: the subject is surrounded, not zoomed. The classic problem-setup beat ("your team, buried under tools"). ## Files - `radial-surround.html`: the mountable sub-composition (install target: `compositions/components/radial-surround.html`). - `registry-item.json`: registry metadata and the variables block. - `demo.html`: a 1920x1080 host that mounts the primitive with non-default variables through `data-composition-src`. ## Variables | id | type | default | notes | | -------------- | ------- | ------------------------------------------- | ------------------------------------------------------------------------- | | `center_label` | string | `Your team` | label on the default center token card | | `chips` | string | `Docs,Tickets,Dashboards,Inbox,Chat,Sheets` | comma list of chip labels; up to 12 render | | `close_in` | boolean | `true` | converge the ring inward with the edge dim; `false` holds the wide ring | | `cues` | string | `""` | comma-separated per-chip entrance seconds; blank entries use the cascade | | `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 = center settle + chip cascade (+ close-in when enabled; the converge lands at 4.50s at defaults), HOLD is the sole elastic phase (dead still), OUT = up to 0.45s only when `exit` is `fade` or `up`. Sync points: `ring-assembled` at 2.95s, `surround-closed` at 4.50s (defaults). Cue values are clamped so every chip lands before the close-in (or the exit) begins. ## The slot mechanism The primitive ships one named slot for the center subject inside its `