From 0353665fb32ebe9901a926ec489e9d3338387366 Mon Sep 17 00:00:00 2001 From: Patrick Mulligan Date: Fri, 31 Jul 2026 18:07:43 +0200 Subject: [PATCH] feat(deck): rework slides + registry for the 4-entity model MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Title lists the three experiences on the Archipelago network; Tech slide reframed as "Archipelago · the shared backbone"; new SolLunar (city) and Festivals deep-dives replace the old Archipelago/Solunar slides; EntitiesSlide shows 3 experience cards + an Archipelago backbone banner; EntityDetail shows the festival's example (Solar Punk Summit); cost slides use the pine/indigo/rose/clay accents. Deck reordered accordingly. Co-Authored-By: Claude Opus 4.8 (1M context) --- src/deck/Deck.vue | 12 ++++---- src/deck/components/EntityDetail.vue | 3 +- src/deck/slides/CostBreakdownSlide.vue | 2 +- src/deck/slides/EntitiesSlide.vue | 33 ++++++++++++++------- src/deck/slides/FestivalsSlide.vue | 8 +++++ src/deck/slides/InvestmentOverviewSlide.vue | 6 ++-- src/deck/slides/SolLunarSlide.vue | 8 +++++ src/deck/slides/TechSlide.vue | 4 +-- src/deck/slides/TitleSlide.vue | 8 ++--- 9 files changed, 57 insertions(+), 27 deletions(-) create mode 100644 src/deck/slides/FestivalsSlide.vue create mode 100644 src/deck/slides/SolLunarSlide.vue diff --git a/src/deck/Deck.vue b/src/deck/Deck.vue index 4b8c774..1906196 100644 --- a/src/deck/Deck.vue +++ b/src/deck/Deck.vue @@ -9,8 +9,8 @@ import VisionSlide from './slides/VisionSlide.vue' import NetworkSlide from './slides/NetworkSlide.vue' import TechSlide from './slides/TechSlide.vue' import EntitiesSlide from './slides/EntitiesSlide.vue' -import ArchipelagoSlide from './slides/ArchipelagoSlide.vue' -import SolunarSlide from './slides/SolunarSlide.vue' +import SolLunarSlide from './slides/SolLunarSlide.vue' +import FestivalsSlide from './slides/FestivalsSlide.vue' import ChateauSlide from './slides/ChateauSlide.vue' import GallerySlide from './slides/GallerySlide.vue' import EcosystemSlide from './slides/EcosystemSlide.vue' @@ -26,10 +26,10 @@ const slides = [ { id: 'title', label: 'Title', component: TitleSlide }, { id: 'vision', label: 'Vision', component: VisionSlide }, { id: 'network', label: 'The network', component: NetworkSlide }, - { id: 'tech', label: 'Core stack', component: TechSlide }, - { id: 'entities', label: 'Three entities', component: EntitiesSlide }, - { id: 'archipelago', label: 'Archipelago', component: ArchipelagoSlide }, - { id: 'solunar', label: 'SolLunar Society', component: SolunarSlide }, + { id: 'archipelago', label: 'Archipelago', component: TechSlide }, + { id: 'entities', label: 'Three experiences', component: EntitiesSlide }, + { id: 'sollunar', label: 'SolLunar Punk Society', component: SolLunarSlide }, + { id: 'festivals', label: 'Pop-up Festivals', component: FestivalsSlide }, { id: 'chateau', label: 'Chateau du Faune', component: ChateauSlide }, { id: 'gallery', label: 'Gallery', component: GallerySlide }, { id: 'ecosystem', label: 'One membership', component: EcosystemSlide }, diff --git a/src/deck/components/EntityDetail.vue b/src/deck/components/EntityDetail.vue index bb7fc68..746afc4 100644 --- a/src/deck/components/EntityDetail.vue +++ b/src/deck/components/EntityDetail.vue @@ -18,6 +18,7 @@ const a = props.entity.accent > {{ entity.role }} + e.g. {{ entity.example }}

{{ entity.blurb }}

@@ -68,7 +69,7 @@ const a = props.entity.accent
- Runs the full core stack — same membership, kiosk & app as every node. + Runs on Archipelago — same membership, kiosk & app as every node.
diff --git a/src/deck/slides/CostBreakdownSlide.vue b/src/deck/slides/CostBreakdownSlide.vue index 0ce8972..7d01e42 100644 --- a/src/deck/slides/CostBreakdownSlide.vue +++ b/src/deck/slides/CostBreakdownSlide.vue @@ -5,9 +5,9 @@ import PlaceholderBadge from '../components/PlaceholderBadge.vue' import { costCategories, categoryTotal, fmtUsd } from '../data' const text: Record = { - amber: 'text-amber-300', pine: 'text-pine-300', indigo: 'text-indigo-300', + rose: 'text-rose-300', clay: 'text-clay-400', } diff --git a/src/deck/slides/EntitiesSlide.vue b/src/deck/slides/EntitiesSlide.vue index c72c7ac..a09750c 100644 --- a/src/deck/slides/EntitiesSlide.vue +++ b/src/deck/slides/EntitiesSlide.vue @@ -1,18 +1,20 @@ diff --git a/src/deck/slides/FestivalsSlide.vue b/src/deck/slides/FestivalsSlide.vue new file mode 100644 index 0000000..92e5f29 --- /dev/null +++ b/src/deck/slides/FestivalsSlide.vue @@ -0,0 +1,8 @@ + + + diff --git a/src/deck/slides/InvestmentOverviewSlide.vue b/src/deck/slides/InvestmentOverviewSlide.vue index 0c1ae78..b4741e7 100644 --- a/src/deck/slides/InvestmentOverviewSlide.vue +++ b/src/deck/slides/InvestmentOverviewSlide.vue @@ -7,21 +7,21 @@ import { costCategories, categoryTotal, raiseTotal, fmtUsd } from '../data' // per-category colour (includes the shared 'amber' core-stack category) const barBg: Record = { - amber: 'bg-amber-400', pine: 'bg-pine-500', indigo: 'bg-indigo-500', + rose: 'bg-rose-500', clay: 'bg-clay-400', } const text: Record = { - amber: 'text-amber-300', pine: 'text-pine-300', indigo: 'text-indigo-300', + rose: 'text-rose-300', clay: 'text-clay-400', } const ring: Record = { - amber: 'border-amber-400/50 bg-amber-400/[0.06]', pine: 'border-pine-500/50 bg-pine-500/[0.06]', indigo: 'border-indigo-500/50 bg-indigo-500/[0.06]', + rose: 'border-rose-500/50 bg-rose-500/[0.06]', clay: 'border-clay-400/50 bg-clay-400/[0.06]', } diff --git a/src/deck/slides/SolLunarSlide.vue b/src/deck/slides/SolLunarSlide.vue new file mode 100644 index 0000000..a91aba3 --- /dev/null +++ b/src/deck/slides/SolLunarSlide.vue @@ -0,0 +1,8 @@ + + + diff --git a/src/deck/slides/TechSlide.vue b/src/deck/slides/TechSlide.vue index 0c9f769..db7f7d4 100644 --- a/src/deck/slides/TechSlide.vue +++ b/src/deck/slides/TechSlide.vue @@ -6,9 +6,9 @@ import { tech } from '../data'