# Studio Enamel acceptance checklist

## Visual canon

- [ ] Field ground is `#0A0604` with no broad color wash or visible grid.
- [ ] Arcs stay warm and at or below 10% opacity.
- [ ] Realms read as vibrant brushed-metal and enamel celestial structures, not flat circles or generic glass bubbles.
- [ ] Every taxonomy type uses its supplied custom crest; no old stock icon remains as primary identity.
- [ ] Realm cores remain near-black; semantic hue lives in rim, icon, halo, and label.
- [ ] Allies are the only human-faced Field objects.
- [ ] Ally identity remains stable across Open, Engaged, Focused, and Dreaming.
- [ ] Brightness and scale follow relevance, not a permanent Ally-first hierarchy.
- [ ] Sky enamel may appear in crests; sky light and UI emphasis remain reserved for action and active relationships.
- [ ] Conceptual Realms use a dashed moon-cream rim.
- [ ] Mint is rare and relational.

## Field interaction

- [ ] Pointer and trackpad pan 1:1 without delayed easing.
- [ ] Wheel and pinch zoom continuously around the gesture center.
- [ ] Fixed chrome never scales with the Field.
- [ ] Realm labels move and scale with their object.
- [ ] Labels disclose progressively without popping.
- [ ] Object size reflects distance, activity, relevance, and context.
- [ ] Keyboard pan, zoom, select, enter, close, and back are supported.
- [ ] Touch pan, pinch, tap, and deliberate approach are supported.

## Motion

- [ ] Breathe is 6–8s and no larger than 1.035×.
- [ ] Drift stays within ±8px over 14–18s.
- [ ] Orbit is 16s or slower and always semantic.
- [ ] Gather settles in 900ms with a 120–150ms stagger.
- [ ] Paths brighten only for real relationships or active relevance.
- [ ] No viewport, chrome, or label moves independently as ambient motion.
- [ ] Reduced-motion mode removes movement while preserving all information.

## Realm entry

- [ ] Click selects and opens an anchored Panel before entry.
- [ ] The Panel has exactly one sky primary Action.
- [ ] Approach increases scale, detail, and local reflection continuously.
- [ ] Threshold ring appears only near entry.
- [ ] Click and approach resolve through the same entry transition.
- [ ] Realm rim becomes a horizon; no hard cut or full-screen black fade.
- [ ] Contained objects gather after crossing.
- [ ] Back path names the immediate parent or The Field.
- [ ] Escape reverses the current transient state and restores focus.

## Nesting and taxonomy

- [ ] Child Realms retain their own type hue inside parents.
- [ ] Every Realm type uses its canonical crest geometry and enamel structure.
- [ ] Every Element uses the canonical Element hue.
- [ ] Parent hue never recolors children.
- [ ] Sources appear through approved Allies or the monogram fallback.
- [ ] Production states are honest about fixture versus live data.

## Responsive and accessibility

- [ ] Realm, Panel, and label anchoring work at narrow desktop widths.
- [ ] Small screens use a bottom sheet without losing Realm selection.
- [ ] Ally states are legible at 32, 40, 64, 128, and 256 px.
- [ ] Status is never communicated by portrait expression or color alone.
- [ ] Meaningful controls have visible keyboard focus.
- [ ] Contrast meets the product’s accessibility target.
- [ ] Screen-reader names distinguish Realm type, name, state, and available action.
- [ ] No emotional or behavioral state is inferred from biometrics or private activity.
