From 7acc2b550d38438029dfd712b10501d5070b70df Mon Sep 17 00:00:00 2001 From: Patrick Mulligan Date: Tue, 28 Jul 2026 18:35:15 +0200 Subject: [PATCH] feat(deck): entity + ecosystem slides and 16-slide registry Title becomes the 3-way collaboration; new EntitiesSlide (three partners), per-entity deep-dives (Archipelago/Solunar/Chateau) via a shared EntityDetail, and an EcosystemSlide selling the identical membership/kiosk/ app experience at every location. Deck registry reordered to 16 slides. (Old Locations/City/Farm slides + LocationDetail were removed in the preceding commit.) Co-Authored-By: Claude Opus 4.8 (1M context) --- src/deck/Deck.vue | 20 +++++--- src/deck/components/EntityDetail.vue | 76 ++++++++++++++++++++++++++++ src/deck/slides/ArchipelagoSlide.vue | 8 +++ src/deck/slides/ChateauSlide.vue | 8 +++ src/deck/slides/EcosystemSlide.vue | 32 ++++++++++++ src/deck/slides/EntitiesSlide.vue | 44 ++++++++++++++++ src/deck/slides/SolunarSlide.vue | 8 +++ src/deck/slides/TitleSlide.vue | 23 ++++++--- 8 files changed, 205 insertions(+), 14 deletions(-) create mode 100644 src/deck/components/EntityDetail.vue create mode 100644 src/deck/slides/ArchipelagoSlide.vue create mode 100644 src/deck/slides/ChateauSlide.vue create mode 100644 src/deck/slides/EcosystemSlide.vue create mode 100644 src/deck/slides/EntitiesSlide.vue create mode 100644 src/deck/slides/SolunarSlide.vue diff --git a/src/deck/Deck.vue b/src/deck/Deck.vue index 0716754..e0a9866 100644 --- a/src/deck/Deck.vue +++ b/src/deck/Deck.vue @@ -8,9 +8,11 @@ import TitleSlide from './slides/TitleSlide.vue' import VisionSlide from './slides/VisionSlide.vue' import NetworkSlide from './slides/NetworkSlide.vue' import TechSlide from './slides/TechSlide.vue' -import LocationsSlide from './slides/LocationsSlide.vue' -import CitySlide from './slides/CitySlide.vue' -import FarmSlide from './slides/FarmSlide.vue' +import EntitiesSlide from './slides/EntitiesSlide.vue' +import ArchipelagoSlide from './slides/ArchipelagoSlide.vue' +import SolunarSlide from './slides/SolunarSlide.vue' +import ChateauSlide from './slides/ChateauSlide.vue' +import EcosystemSlide from './slides/EcosystemSlide.vue' import RevenueSlide from './slides/RevenueSlide.vue' import InvestmentOverviewSlide from './slides/InvestmentOverviewSlide.vue' import CostBreakdownSlide from './slides/CostBreakdownSlide.vue' @@ -23,10 +25,12 @@ const slides = [ { id: 'title', label: 'Title', component: TitleSlide }, { id: 'vision', label: 'Vision', component: VisionSlide }, { id: 'network', label: 'The network', component: NetworkSlide }, - { id: 'tech', label: 'Technology', component: TechSlide }, - { id: 'locations', label: 'Two nodes', component: LocationsSlide }, - { id: 'city', label: 'City node', component: CitySlide }, - { id: 'farm', label: 'Farm node', component: FarmSlide }, + { id: 'tech', label: 'Core stack', component: TechSlide }, + { id: 'entities', label: 'Three entities', component: EntitiesSlide }, + { id: 'archipelago', label: 'Archipelago', component: ArchipelagoSlide }, + { id: 'solunar', label: 'Solunar Society', component: SolunarSlide }, + { id: 'chateau', label: 'Chateau du Faune', component: ChateauSlide }, + { id: 'ecosystem', label: 'One membership', component: EcosystemSlide }, { id: 'revenue', label: 'Revenue', component: RevenueSlide }, { id: 'invest-overview', label: 'The raise', component: InvestmentOverviewSlide }, { id: 'cost-breakdown', label: 'Cost breakdown', component: CostBreakdownSlide }, @@ -48,7 +52,7 @@ const transitionName = computed(() => (direction.value === 1 ? 'slide-next' : 's class="pointer-events-none absolute inset-x-0 top-0 z-20 flex items-center justify-between px-6 py-5 text-sand-dim" > - {{ brand.name }} + {{ brand.short }} {{ current.label }} diff --git a/src/deck/components/EntityDetail.vue b/src/deck/components/EntityDetail.vue new file mode 100644 index 0000000..bb7fc68 --- /dev/null +++ b/src/deck/components/EntityDetail.vue @@ -0,0 +1,76 @@ + + + diff --git a/src/deck/slides/ArchipelagoSlide.vue b/src/deck/slides/ArchipelagoSlide.vue new file mode 100644 index 0000000..57e10e7 --- /dev/null +++ b/src/deck/slides/ArchipelagoSlide.vue @@ -0,0 +1,8 @@ + + + diff --git a/src/deck/slides/ChateauSlide.vue b/src/deck/slides/ChateauSlide.vue new file mode 100644 index 0000000..f7c1f33 --- /dev/null +++ b/src/deck/slides/ChateauSlide.vue @@ -0,0 +1,8 @@ + + + diff --git a/src/deck/slides/EcosystemSlide.vue b/src/deck/slides/EcosystemSlide.vue new file mode 100644 index 0000000..73b2de8 --- /dev/null +++ b/src/deck/slides/EcosystemSlide.vue @@ -0,0 +1,32 @@ + + + diff --git a/src/deck/slides/EntitiesSlide.vue b/src/deck/slides/EntitiesSlide.vue new file mode 100644 index 0000000..c72c7ac --- /dev/null +++ b/src/deck/slides/EntitiesSlide.vue @@ -0,0 +1,44 @@ + + + diff --git a/src/deck/slides/SolunarSlide.vue b/src/deck/slides/SolunarSlide.vue new file mode 100644 index 0000000..a40f9e1 --- /dev/null +++ b/src/deck/slides/SolunarSlide.vue @@ -0,0 +1,8 @@ + + + diff --git a/src/deck/slides/TitleSlide.vue b/src/deck/slides/TitleSlide.vue index 6a71291..813f6aa 100644 --- a/src/deck/slides/TitleSlide.vue +++ b/src/deck/slides/TitleSlide.vue @@ -1,7 +1,7 @@