← ClaudeAtlas

qol-world-canvaslisted

Use when working on divable elements, dive traits (confined, peripheral-preview, atmosphere), world navigation, the dive stack, plugin spatial layout, or the minimap in qol-tray. Use when touching ui/lib/world-*, ui/lib/minimap-*, ui/components/shell/WorldViewport.js, Minimap.js, PeripheralPreview.js, AtmosphereLayer.js, plugin-trait-overrides.js, or ui/styles/atmosphere.css / peripheral-preview.css.
qol-tools/qol-skills · ★ 0 · Web & Frontend · score 62
Install: claude install-skill qol-tools/qol-skills
# qol-tray World Canvas Reference ## Model The world is one continuous 2D coordinate space plus a layer axis (see `docs/specs/2026-04-11-world-confinement-design.md`). Pages live at world coordinates; the camera pans/zooms/changes layer. Dive frames are pushed on a LIFO stack; ascend pops one frame at a time. Each divable element declares a **DiveTarget** (source selector, claim rect, page list) and may carry a `traits` map. Traits are orthogonal capabilities that affect how the divable is rendered or behaves while the user is inside it. Design spec: `docs/specs/2026-04-15-divable-traits-design.md`. ## Trait registry The trait map carried by `DiveTarget` is the extension surface. Discover recognized traits from their consumers and the design spec; do not treat the named semantics below as an exhaustive registry. | Trait | Config | Effect | |---|---|---| | `confined` | `{}` | Walls off the world outside the divable's claim. Already in place; this trait formalized it. | | `peripheral-preview` | `{ neighbors: int }` | Renders ±N sibling miniatures at viewport edges. Non-interactive. | | `atmosphere` | `{ preset, background, tint, audio }` | Paints a backdrop inside the confined region. Preset-driven with per-divable overrides. | A DiveTarget with no `traits` field gets defaulted to `{ confined: {} }` by `addDiveTarget`. Non-traited targets preserve default behavior by construction. ## Files ### Navigation + registry (shape + propagation) - `ui/lib/world-registry.js` —