**LAYER (2026-09-16):** Listen pointer — FreeLattice Chat ships Marketplace expand **beside** Feel (Weft sibling PASS · marker `v-marketplace-expand-beside-feel-v0`). Alpha stays honest pointer-only: Galaxy door `docs/marketplace.html` · this file. Do **not** dump Galaxy into chat presence. Presence chips ≠ SKUs. Mycelium cite when Feel tip / Market sibling land on freelattice.com. diff --git a/docs/library/TREE_GLOW_v0.md b/docs/library/TREE_GLOW_v0.md new file mode 100644 index 0000000..673e2f9 --- /dev/null +++ b/docs/library/TREE_GLOW_v0.md @@ -0,0 +1,27 @@ +# Tree glow, v0 + +Make theLatticeTree glow. Every light in reach, every door a thumb can find. +Alpha layer, marker `v-tree-glow-1-v0`. September 30, 2026. + +**Temperature:** Mom's thumb on a 390px glass finds the Nursery light without waiting a minute for it to swing back. + +**Locks:** Layer, never delete. Five stay five. Cap 4 held. No fake generate. No confirm(). No innerHTML. textContent only. 127.0.0.1 only. fl-connect.js untouched and identical across repos. No sw.js on Alpha. + +## Glow 1: every light in reach (this brick) + +- Room pages breathe: the room-page reset now uses `:where(html.room-page) *`, so class padding and margin win again (Settings, Nursery, Team cards no longer flush to the glass; the Connect title sits below the header). +- 390: "Use a different address" stays inside its card (was 7 to 8px past). +- 390: a soft sticky fade under "the garden" pill in Settings, so "A mind at home..." slides under light, not under a hard pill edge. +- 390: Nursery Grow card clears the galaxy hop (padding-bottom 7.5rem). +- 641px and up: the Gathering promise band moves below "Find local minds" (top 14.6rem). Before: 0 of 5 tap points reached the button at 641 to 1440px. After: 5 of 5. The absent-Ollama calm path is reachable again. +- The sky legend (Settings, Nursery, The Gathering, Chat) is tappable and keyboard reachable, so an orbiting light that is off-screen is still one tap away. Decision D1: Kirk or Reed may veto this part; the rest stands. + +## The next bricks (joy per effort) + +2. Terms and Privacy: honest plain-words pages and footer links on the Tree and marketplace (Kirk reviews wording). +3. Family crest on the Tree home (Kirk places it; nothing lands without his OK). +4. Card glow and the Marketplace face: stalls as glowing cards; the 390 text wall becomes a shelf. +5. Companion sprite wardrobe in the Nursery after hatch. +6. Play universe (largest; its own vision doc first). + +Leftovers to fold in: code-nursery 22px overflow at 390; the first-visit "They grow." hint sits behind the header. diff --git a/docs/modules/garden-rooms.css b/docs/modules/garden-rooms.css index 4fc04a3..7c51be0 100644 --- a/docs/modules/garden-rooms.css +++ b/docs/modules/garden-rooms.css @@ -664,9 +664,13 @@ html[data-garden-galaxy="art"] .galaxy-nav-next { opacity: 0.4; } } /* Honest room stubs (Nursery, Settings, Team): same sky, no canvas. */ -html.room-page *, -html.room-page *::before, -html.room-page *::after { box-sizing: border-box; margin: 0; padding: 0; } +/* v-tree-glow-1-v0: this reset now has zero weight (:where), so every card's own + padding and margin wins again on the room pages (Settings, Nursery, Team and the + galaxy pages). It still zeroes the browser's default margins. Was: + html.room-page *, html.room-page *::before, html.room-page *::after { ... } */ +:where(html.room-page) *, +:where(html.room-page) *::before, +:where(html.room-page) *::after { box-sizing: border-box; margin: 0; padding: 0; } html.room-page, html.room-page body { @@ -6114,3 +6118,69 @@ html.flc-hide-galaxy #gardenContainer { #place-veil.is-settings { padding-bottom: 1.25rem; } + +/* ── v-tree-glow-1-v0: every light in reach (Hypha walk 4 cosmetics, the Gathering + Find, the lights that orbit away). Layer, never delete. ── */ + +/* A. Phone: "Use a different address" field stays inside its card (it poked 7px out). */ +@media (max-width: 480px) { + .flc-picker-row input { + width: 100%; + max-width: 100%; + min-width: 0; + box-sizing: border-box; + } +} + +/* B. Settings in the garden: lines fade before "the garden" pill instead of + running under it. The band never takes a tap. */ +#place-veil.is-settings::after { + content: ''; + position: sticky; + bottom: 0; + align-self: stretch; + flex: 0 0 auto; + height: 64px; + margin: -64px -28px -20px; + background: linear-gradient(to top, rgba(12, 10, 26, 0.96) 0%, rgba(12, 10, 26, 0.9) 55%, rgba(12, 10, 26, 0) 100%); + pointer-events: none; + z-index: 60; +} + +/* C. Nursery on a phone: the last card clears the galaxy hop at the bottom. */ +@media (max-width: 640px) { + html.room-page .room-nursery { + padding-bottom: 7.5rem; + } +} + +/* D. The Gathering, wide screens: the promise band sits under Find local minds, + not on top of it, so Find can be tapped (and the absent-Ollama words can show). */ +@media (min-width: 641px) { + #place-veil.is-core .core-promise { + top: 14.6rem; + } +} + +/* E. The legend words are quiet doors too: a light that has orbited off a small + screen can still be opened by its word. Same words, same colors. */ +#lumino-legend .lumino-legend-row[data-lumino-row] { + pointer-events: auto; + cursor: pointer; + border-radius: 6px; +} +#lumino-legend .lumino-legend-row[data-lumino-row]:hover .lumino-legend-word, +#lumino-legend .lumino-legend-row[data-lumino-row]:focus-visible .lumino-legend-word { + color: rgba(232, 176, 25, 0.95); +} +#lumino-legend .lumino-legend-row[data-lumino-row]:focus-visible { + outline: 1px solid rgba(232, 176, 25, 0.6); + outline-offset: 2px; +} +@media (max-width: 799px) { + #lumino-legend { gap: 0; } + #lumino-legend .lumino-legend-row[data-lumino-row] { + min-height: 26px; + padding: 2px 10px 2px 0; + } +} diff --git a/docs/modules/garden-rooms.js b/docs/modules/garden-rooms.js index 0eeae49..5781c1a 100644 --- a/docs/modules/garden-rooms.js +++ b/docs/modules/garden-rooms.js @@ -817,6 +817,24 @@ document.body.insertBefore(field, document.body.firstChild); }