# Visual Beauty · Card Icons — vision

Soft object · one Garden breath · 48px · emoji fallback.
ORDER LOCK: icons replace glyphs **in place** — never reshuffle PLAY / LEARN / MORE.
FreeLattice. September 2026.

**Locks:** Layer, never delete. Quiet Room shut. Five stay five. Prefer Flint. **ORDER LOCK** on PLAY/LEARN/MORE. Flow file stays; not front-door hero (lives in MORE). **LIGHTHOUSE locked** — do not touch. Soft object / one Garden breath / no face / 48px / emoji fallback. No fake generate. Leave `sw.js` on `app.html`. Do **not** overwrite `docs/lattice-protocol.js`.

**Marker:** `v-visual-beauty-card-icons-vision`

**Held tip:** Poetry braid `d3479e2` · Alpha `bdab7e7` · Celeste λ4 `184e0d9` · Gift Grove `97adc23` · Family poetry `9f8c200`.

**Cousins:** [GIFT_SPRITES_v0.brief.md](./GIFT_SPRITES_v0.brief.md) · [POETRY_BRAID_WALL_v0.vision.md](./POETRY_BRAID_WALL_v0.vision.md) · `PLAY_CARDS` / `LEARN_CARDS` / `MORE_CARDS` in `docs/app.html` · celebration-token feel from Gift Grove.

---

## Why

Cards still wear emoji glyphs. Gift Grove already proved Weft silhouette + Reed kindling + emoji fallback. Braid stub cards should share that celebration-token feel. This vision names the pipeline — **not** painting every icon tonight.

---

## ORDER LOCK (non-negotiable)

| Rule | Detail |
|---|---|
| Replace in place | New 48px sprites swap into existing `icon` slots |
| Never reshuffle | Do not reorder `PLAY_CARDS` · `LEARN_CARDS` · `MORE_CARDS` |
| Flow | Stays in **MORE** (not Play front door). File + tab + loader stay. Do not 404 |
| LIGHTHOUSE | Locked as-is. No icon pass on Research lighthouse grid tonight |
| Quiet Room | Veil / moon only — **no interior** imagery |

---

## PLAY — Imagine priority (paint order, not array rewrite)

Paint these first. Wire into **current** PLAY slots without moving cards:

1. **The Core**  
2. **Quiet Room** (veil/moon only — no interior)  
3. **AI Arcade**  
4. **Chalkboard**  
5. **Nursery**  
6. **Resonance** ← **first style-bar** (celebration-token / Gift Grove family)  
7. **Echo**  
8. **Lattice Puzzles**  
9. **Flow** (MORE door — still paint in PLAY-priority list for family feel; wire into MORE slot)  
10. **Resonance Engine**  

*Current PLAY array order stays locked in `app.html` (Chalkboard · Quiet · Core · Nursery · Resonance · Echo · Puzzles · Arcade · Resonance Engine). Icons drop into those ids.*

Then **LEARN**, then **MORE** — same rule: in-place only.

---

## Style bar (Weft + Reed)

Same family as Gift Grove:

| Hold | Detail |
|---|---|
| Soft object | Not staring face / chibi grin |
| One Garden breath | Accept/select ~1.06 scale + gold opacity tide — never UnrealBloom |
| Palette | Foxfire night · Kirk gold · celestial azure |
| Size | 48px phone-first; emoji remains `onerror` / unset fallback |
| Braid cards | Share celebration-token feel with Gift Grove when icons land |

**Pipeline after this vision:** Weft cut-watch → Reed Imagine → first style-bar **Resonance** → remaining PLAY → LEARN → MORE → Flint wires → Hypha walk.

**LAYER (2026-09-15):** Resonance style-bar **Imagine 2 STANDS** and is wired — `docs/assets/play/play-icon-resonance-v1-48.png` · PLAY_CARDS `id: 'resonance'` icon only · emoji `&#10022;` forever fallback · marker `v-resonance-play-icon-v1`. ORDER LOCK held.

---

## Surfaces this vision ships

| Surface | Note |
|---|---|
| `docs/library/VISUAL_BEAUTY_CARD_ICONS_v0.vision.md` | This file |
| Soft LAYER | Gift sprites brief · poetry grandmother line · marketplace calm cite |
| Alpha | One honest pointer (Art / Garden night cousin) |
| Flint + smoke | Held tip · marker |

**Poetry soft LAYER:** near braid stub — *“This stays on your phone until you choose to share.”*  
Never merge `fl_family_poetry_shelf` and `fl_poetry_braid_wall`.

---

## Out of scope tonight

Painting every icon · Quiet Room interior · reordering cards · full CSS rewrite · poetry server · OAuth · LIGHTHOUSE edits · inventing unpublished art as shipped assets.

Glow eternal. Heart in every Spark. 🌱
