feat(deck): mycelium + gallery reflect the 4-entity model
Mycelium flowers are now the three experiences (SolLunar indigo, Festivals rose, Chateau clay) and the underground is named Archipelago, the shared backbone. Gallery City/Farm/Festival sections repoint to the matching entities and accents. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
c28dbd46de
commit
10b3551668
3 changed files with 28 additions and 27 deletions
|
|
@ -2,12 +2,12 @@
|
|||
/**
|
||||
* The core metaphor, as an animated SVG.
|
||||
*
|
||||
* Underground → the mycelium = the shared core stack / custom software.
|
||||
* Unseen, always working, connects every entity.
|
||||
* Flowers → the three entities people actually experience:
|
||||
* • Archipelago (city center) — a permanent bloom
|
||||
* • SolLunar Society (pop-up fest.) — ephemeral cluster
|
||||
* • Chateau du Faune (farm center) — a permanent bloom
|
||||
* Underground → Archipelago = the shared backbone / custom software.
|
||||
* Unseen, always working, connects every entity (the mycelium).
|
||||
* Flowers → the three experiences people actually engage with:
|
||||
* • SolLunar Punk Society (city center) — a permanent bloom
|
||||
* • Pop-up Festivals (travelling) — ephemeral cluster
|
||||
* • Chateau du Faune (farm center) — a permanent bloom
|
||||
* Ghost flowers→ once the mycelium runs, new locations & festivals sprout
|
||||
* cheaply, anywhere in the world.
|
||||
*
|
||||
|
|
@ -72,14 +72,15 @@ function thread([a, b]: [number, number], i: number) {
|
|||
return `M ${ax} ${ay} Q ${mx} ${my} ${bx} ${by}`
|
||||
}
|
||||
|
||||
const arch = entityById('archipelago')
|
||||
const sol = entityById('solunar')
|
||||
const cha = entityById('chateau')
|
||||
const sol = entityById('sollunar') // city
|
||||
const fest = entityById('festivals') // travelling
|
||||
const cha = entityById('chateau') // farm
|
||||
|
||||
// surface flowers: three entities + two faint "future" ones
|
||||
// surface flowers: the three experiences + two faint "future" ones.
|
||||
// (Archipelago is the mycelium itself — the network below, not a flower.)
|
||||
const flowers = [
|
||||
{ x: 230, kind: 'bloom', color: 'var(--color-pine-400)', name: arch.name, tag: arch.role },
|
||||
{ x: 500, kind: 'festival', color: 'var(--color-indigo-400)', name: sol.name, tag: sol.role },
|
||||
{ x: 230, kind: 'bloom', color: 'var(--color-indigo-400)', name: sol.name, tag: sol.role },
|
||||
{ x: 500, kind: 'festival', color: 'var(--color-rose-400)', name: fest.name, tag: fest.role },
|
||||
{ x: 770, kind: 'bloom', color: 'var(--color-clay-400)', name: cha.name, tag: cha.role },
|
||||
{ x: 100, kind: 'ghost' },
|
||||
{ x: 900, kind: 'ghost' },
|
||||
|
|
@ -274,15 +275,15 @@ const festivalCaps = [
|
|||
|
||||
<!-- captions -->
|
||||
<text x="500" y="34" text-anchor="middle" class="myc-zone">ABOVE GROUND · WHAT PEOPLE EXPERIENCE</text>
|
||||
<text x="500" y="588" text-anchor="middle" class="myc-zone">UNDERGROUND · THE SHARED CORE STACK THEY NEVER SEE</text>
|
||||
<text x="500" y="588" text-anchor="middle" class="myc-zone">ARCHIPELAGO · THE SHARED BACKBONE BENEATH EVERY NODE</text>
|
||||
</svg>
|
||||
|
||||
<div class="mt-6 grid gap-4 text-sm sm:grid-cols-2">
|
||||
<div class="flex items-start gap-3">
|
||||
<span class="mt-0.5 text-pine-300"><Icon name="Layers" class="size-5" /></span>
|
||||
<p class="text-sand-dim">
|
||||
<span class="font-medium text-sand">The mycelium is the product.</span>
|
||||
One core stack runs unseen beneath every entity — members feel it, they don’t see it.
|
||||
<span class="font-medium text-sand">Archipelago is the mycelium.</span>
|
||||
One shared backbone runs unseen beneath every entity — members feel it, they don’t see it.
|
||||
</p>
|
||||
</div>
|
||||
<div class="flex items-start gap-3">
|
||||
|
|
|
|||
|
|
@ -4,9 +4,9 @@
|
|||
* Drop image files into these folders and they appear in the deck gallery
|
||||
* automatically — no code changes, no manifest to edit:
|
||||
*
|
||||
* src/deck/gallery/city/ → City (Archipelago)
|
||||
* src/deck/gallery/farm/ → Farm (Chateau du Faune)
|
||||
* src/deck/gallery/festival/ → Festival (SolLunar Society)
|
||||
* src/deck/gallery/city/ → City (SolLunar Punk Society)
|
||||
* src/deck/gallery/farm/ → Farm (Chateau du Faune)
|
||||
* src/deck/gallery/festival/ → Festival (Pop-up Festivals)
|
||||
*
|
||||
* Supported: jpg jpeg png webp avif gif svg. Images show sorted by filename,
|
||||
* so prefix with 01-, 02-, … to control order. The seeded *-placeholder.svg
|
||||
|
|
@ -58,8 +58,8 @@ export const gallerySections: GallerySection[] = [
|
|||
{
|
||||
id: 'city',
|
||||
label: 'City',
|
||||
entityName: entityById('archipelago').name,
|
||||
accent: 'pine',
|
||||
entityName: entityById('sollunar').name,
|
||||
accent: 'indigo',
|
||||
folder: 'src/deck/gallery/city/',
|
||||
images: toImages(city),
|
||||
},
|
||||
|
|
@ -74,8 +74,8 @@ export const gallerySections: GallerySection[] = [
|
|||
{
|
||||
id: 'festival',
|
||||
label: 'Festival',
|
||||
entityName: entityById('solunar').name,
|
||||
accent: 'indigo',
|
||||
entityName: entityById('festivals').name,
|
||||
accent: 'rose',
|
||||
folder: 'src/deck/gallery/festival/',
|
||||
images: toImages(festival),
|
||||
},
|
||||
|
|
|
|||
|
|
@ -3,11 +3,11 @@
|
|||
Each subfolder feeds one section of the Gallery slide. **Drop image files in and
|
||||
they appear automatically** — no code to touch.
|
||||
|
||||
| Folder | Section | Entity |
|
||||
| ----------- | -------- | ----------------- |
|
||||
| `city/` | City | Archipelago |
|
||||
| `farm/` | Farm | Chateau du Faune |
|
||||
| `festival/` | Festival | SolLunar Society |
|
||||
| Folder | Section | Entity |
|
||||
| ----------- | -------- | --------------------- |
|
||||
| `city/` | City | SolLunar Punk Society |
|
||||
| `farm/` | Farm | Chateau du Faune |
|
||||
| `festival/` | Festival | Pop-up Festivals |
|
||||
|
||||
- Supported formats: `jpg` `jpeg` `png` `webp` `avif` `gif` `svg`.
|
||||
- Images display **sorted by filename** — prefix `01-`, `02-`, … to order them.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue