Commit graph

44 commits

Author SHA1 Message Date
Patrick Mulligan
55c2a1a4cf Rename remaining festival identifiers to summit
- Entity id 'festivals' -> 'summit' (data.ts) + lookups in
  gallery.ts and MyceliumNetwork.vue
- Mycelium flower kind 'festival' -> 'summit', summitCaps,
  .myc-summit class and comments

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-06 22:28:31 +02:00
Patrick Mulligan
3776ee1c49 Rename gallery festival -> summit; add real photos as webp
- Rename gallery folder festival/ -> summit/ and update gallery.ts
  (id, glob, variable, folder path) + README
- Add 10 Summit Gathering photos (STL_*, Speaker) converted to webp
- Add 1 City photo converted to webp
- Drop the summit placeholder SVGs now that real photos exist

Images resized to max 2048px @ q82 (140-280 KB each).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-06 22:24:03 +02:00
Patrick Mulligan
1c68b5b1b7 Apply founder slide-by-slide feedback
- Preserve "SolLunar" camel-case inside uppercase kickers/breadcrumb
  (new brandCaseParts helper; was rendering "SOLLUNAR")
- Slide 2: "work began" (not begun); clarify tenants = resident
  businesses (retailers, food co-ops, makers)
- Slide 3: bigger/bolder mycelium labels & zone captions
- Slide 4: spell out near-field communication (NFC); "we" -> "the user"
- Slide 9: membership prices $48/$148/$348; amenity examples
  (cold plunge, sauna, gym); Bitcoin ATM -> Bitcoin terminal
- Slide 10: Yellow Houses -> Cypherpunk Commons A & B; describe
  Outdoor/Office; VIP guest room -> Long-term guest housing
- Slide 13: P&L clearly labelled estimated/projected (recomputed
  from new prices: $65k rev / $31k profit / ~$372k yr)
- Slide 15: "Prove the model in Austin. Prove the replicability in
  France. Achieve decentralization."
- Sync PITCH-CONTENT.md to match

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-06 22:18:39 +02:00
Patrick Mulligan
3d0ee2f5c7 docs: add PITCH-CONTENT.md — full deck content as markdown
Slide-by-slide plain-text export of the deck (brand, problem, backbone,
entities, ownership, tenants, memberships, building, ecosystem, the
recomputed P&L, roadmap, and the two-option ask) for founders / AI.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-08-01 02:52:30 +02:00
Patrick Mulligan
4095d32d2e style(deck): light-mode logo sits on a dark badge so it pops
The logo art is drawn for dark; on the light canvas its glows washed out.
Add a dark rounded badge (ring + shadow) behind it in light mode only —
dark mode still floats the transparent logo free.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-08-01 02:23:18 +02:00
Patrick Mulligan
60cee5b7c0 chore(deck): set contact email to team@l484.com
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-08-01 02:21:08 +02:00
Patrick Mulligan
660736b027 feat(deck): use transparent SolLunar logo + emblem
Swap in the transparent-background logo (full lockup for the title hero,
cropped eclipse emblem for the top-bar mark + favicons). Drop the dark-card
framing since the logos now float on the deck canvas — hero keeps the
gold+blue glow and a drop-shadow; top-bar mark is object-contain. Favicons
regenerated with alpha.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-08-01 01:26:06 +02:00
Patrick Mulligan
27622f791d feat(deck): SolLunar logo as cover brand + derived favicon
Add the SolLunar eclipse logo (sol/gold + lunar/circuit-blue). Title slide
hero shows the full lockup (webp) with a gold+blue solarpunk glow; the top
bar shows the cropped eclipse emblem + "SolLunar". Derive favicon.png/.ico
+ apple-touch-icon and the top-bar mark from the emblem. Page title → SolLunar.
Lab 484 remains the named tech-backbone entity in the content.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-08-01 01:20:31 +02:00
Patrick Mulligan
321d4dc840 feat(deck): ask offers two entry points ($400k/10% and $900k/25%)
$400k for 10% gets things started; $900k for 25% funds full execution.
The Ask slide now shows both as side-by-side options, each with its
annual profit share on SolLunar's recomputed node profit. Slide 7
(ownership) stays the base $400k/10% structure, matching the 45/45/10 bar.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-08-01 01:11:15 +02:00
Patrick Mulligan
9f71d346e9 copy(deck): rename "festival" → "summit gathering"
Rename every user-visible occurrence (entity name → Pop-up Summit
Gatherings, gallery section, roadmap, ecosystem, mycelium summary,
placeholder art). Code identifiers (kind:'festival', festivalCaps,
.myc-festival, the gallery id/folder/glob) stay as-is.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-08-01 00:51:55 +02:00
Patrick Mulligan
0ffbd67d36 copy(deck): slide 7 shows just the entities + equity split
Roles/responsibilities aren't solidified — drop them (and the overlap
note). Keep the 45/45/10 split bar and three clean entity cards
(name + %), plus the ask line.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-08-01 00:51:55 +02:00
Patrick Mulligan
5cdbb76ab7 feat(deck): mobile support — scrollable slides, swipe, desktop notice
Content-heavy slides were clipped on phones (fixed h-dvh + centered
overflow-hidden collided with the top/bottom bars). SlideFrame now
scrolls and top-aligns below md (clearing the header/controls), while
desktop keeps the centered, full-bleed look unchanged. Add horizontal
touch-swipe navigation (vertical scroll still works). Add a shadcn-vue
Alert component and show a mobile-only "Best viewed on desktop" notice
on the home slide; keyboard hint is desktop-only.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-08-01 00:01:28 +02:00
Patrick Mulligan
9b06e69f06 copy(deck): reword slide 3 — take root in a rich substrate
Drop "flowers are cheap to grow" (undersells it) for the mycelial framing:
plug into a rich substrate of decentralized tech and grow your own flower.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-31 23:47:22 +02:00
Patrick Mulligan
67999dcfbf chore(deck): accent Château du Faune (â)
Add the circumflex to every display occurrence of the farm node's name.
Internal 'chateau' id kept ASCII.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-31 23:41:56 +02:00
Patrick Mulligan
4eb7e88ea5 refactor(deck): rename Archipelago → Lab 484 everywhere
Use the real name: the backbone/brand is Lab 484 (the tech co & 45%
operating partner). Replaces all display text, the internal entity id
('archipelago' → 'lab484'), the page title, and the style.css comment.
Fixes the phrasings the rename made redundant (e.g. "the Lab 484 backbone"
under the Lab 484 wordmark → "shared, open infrastructure"; drops the
"(Lab 484)" qualifier on Lab 484's own responsibilities).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-31 23:03:56 +02:00
Patrick Mulligan
4f84bec477 fix(deck): make the mycelium visualization light-mode aware
Slide 3's SVG hardcoded a dark-tuned palette (light-green threads/nodes at
low opacity) and referenced the removed --color-sand/ink vars, so it washed
out / broke in light mode. Route soil, sky, threads, nodes, ground line and
ghost/plus marks through mode-aware --myc-* tokens (darker & more saturated
in light), and use the flipping accent tokens for flower fills, the pulse
and labels. Reads clearly in both themes now.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-31 22:13:25 +02:00
Patrick Mulligan
ce11b60ca0 feat(deck): light/dark mode via semantic tokens + toggle
Refactor the deck off the bespoke ink/sand palette and literal white/x
overlays onto flipping semantic tokens (fg, fg-muted, surface[-2..4],
line[-2..3], and mode-aware accent text) defined once under the shadcn
:root/.dark blocks in style.css. A single `.dark` class on the deck root
now flips the entire theme.

Add a Sun/Moon toggle in the top bar — dark by default, persisted to
localStorage. Accent TEXT darkens in light mode for contrast; solid
accent fills (bars/dots/badges) stay saturated for both. The lightbox
stays an always-dark overlay with fixed light chrome.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-31 21:47:14 +02:00
Patrick Mulligan
b292b987c3 feat(deck): populate with real SolLunar Society business plan
Replace the invented financials/entities with the real content from
SolLunarSociety.md — the first node's actual business:

- data.ts: real problem statement; partnership (SPS 45 / Lab 484 45 /
  investors 10, $400k for 10%, $4M valuation); five tenants; three
  membership tiers + Austin comparables; recomputed monthly P&L
  ($65.4k rev / $34k exp / $31.4k profit / $376.8k yr) with the doc's
  non-reconciling summary kept in pnlDocSummary; buildings; investor ask.
- New slides: Partnership (with the Lab 484↔revenue overlap called out),
  Tenants, Memberships, The building, and an interactive P&L drill-down.
  Rewrite the Ask ($400k/10% + profit-share scenarios). Title/Entities
  flag SolLunar as the funded first node; roadmap = festival → farm.
- Remove the invented Revenue/CostBreakdown/Angel/Contributor/
  Investment-overview and the Festivals/Chateau deep-dive slides.
  Ground the vision: SolLunar carries the numbers, the rest stay narrative.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-31 19:41:06 +02:00
Patrick Mulligan
b2d8153c62 perf(gallery): convert photos to WebP (q82, ≤2000px)
Convert all City & Farm raster photos (PNG/JPG) to WebP and cap the longest
side at 2000px. Total gallery photo weight drops ~21.3MB → ~5.7MB (~73%);
the two large phone shots go 7.2MB→1.1MB and 4.1MB→624KB. SVG placeholders
untouched; the import.meta.glob already matches webp so nothing else changes.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-31 18:40:52 +02:00
Patrick Mulligan
528502df8c chore(deck): set page title to Archipelago
Matches the umbrella/brand rename. (This blob was lost to the disk-sleep
git corruption; recommitting restores it.)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-31 18:20:20 +02:00
Patrick Mulligan
40cb975291 content(gallery): real City & Farm photos; drop placeholders for populated folders
Replaces the City placeholder SVGs with 5 real photos and adds a Farm
photo (dropped in via the auto-populate workflow). Festival + remaining
Farm placeholders stay until real shots land.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-31 18:08:28 +02:00
Patrick Mulligan
0353665fb3 feat(deck): rework slides + registry for the 4-entity model
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) <noreply@anthropic.com>
2026-07-31 18:07:43 +02:00
Patrick Mulligan
49ad78360a fix(deck): deep links land on the right slide without a flash
Seed the slide index from the URL hash synchronously at setup instead of
after mount, so opening …/#/7 renders slide 7 immediately (no flash of
slide 1 and no on-load transition).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-31 18:06:56 +02:00
Patrick Mulligan
10b3551668 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>
2026-07-31 18:06:44 +02:00
Patrick Mulligan
c28dbd46de feat(theme): add rose accent for Pop-up Festivals
Vibrant rave-rose distinguishes festivals from SolLunar indigo (city),
clay (farm) and pine (Archipelago backbone).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-31 18:06:44 +02:00
Patrick Mulligan
002c121e83 refactor(deck): 4-entity model — Archipelago backbone + 3 experiences
Restructure per the new framing: Archipelago is the shared backbone (the
core stack / mycelium), with three experiences on top — SolLunar Punk
Society (city), Pop-up Festivals (travelling; e.g. Solar Punk Summit) and
Chateau du Faune (farm). Adds a 'layer' field + surfaceEntities helper, a
'rose' accent, an 'example' field, remaps the four cost categories 1:1 to
the entities, and sets the umbrella/brand to Archipelago.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-31 18:06:44 +02:00
Patrick Mulligan
85a42411de chore(deck): rename Solunar to SolLunar throughout
Display text only — the internal 'solunar' entity id and SolunarSlide
component/filename are unchanged.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-28 19:51:25 +02:00
Patrick Mulligan
49b7a2920a feat(deck): drop-in image gallery with City/Farm/Festival sections
New Gallery slide (after the entity deep-dives) with a tabbed masonry grid
and a full-screen lightbox (prev/next, counter, ESC/arrows/swipe) styled
after the webapp marketplace viewer. Images auto-populate via
import.meta.glob — drop files into src/deck/gallery/{city,farm,festival}/
and they appear, sorted by filename, with a graceful empty state. Seeded
placeholder SVGs (clearly marked) so the gallery is populated in the demo.

Lightbox keys are handled in the capture phase so they don't trigger the
deck's slide navigation. Deck is now 17 slides.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-28 19:09:59 +02:00
Patrick Mulligan
c645ca1e5f feat(deck): format millions as $X.XXMM in fmtUsd
The raise total now shows $1.85MM instead of $1,850k on the raise and ask
slides; sub-million figures (category subtotals) stay in $k.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-28 18:52:43 +02:00
Patrick Mulligan
847f08a975 feat(deck): make the raise slide an interactive cost drill-down
Click any of the four investment categories (or its bar segment) to expand
its line-item breakdown inline; the proportion bar highlights the selected
slice and dims the rest. Buttons are keyboard-focusable with aria-pressed;
respects prefers-reduced-motion. Register ChevronRight in the Icon map.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-28 18:45:41 +02:00
Patrick Mulligan
7acc2b550d 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) <noreply@anthropic.com>
2026-07-28 18:35:15 +02:00
Patrick Mulligan
673d937abe feat(deck): 4-category costs + collaboration-wide copy
Cost overview & breakdown render four accented categories (shared stack +
one per entity); revenue, roadmap and ask copy updated for three entities;
page title set to Solunar Punk Society.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-28 18:34:36 +02:00
Patrick Mulligan
9e74000f9f feat(deck): show three entity flowers in the mycelium viz
City and farm render as permanent blooms; Solunar Society is an ephemeral
pop-up cluster (indigo, dashed stem, floats + fades). Underground caption
reframed as the shared core stack every entity runs.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-28 18:34:19 +02:00
Patrick Mulligan
2fbdada957 feat(theme): add indigo (lunarpunk) accent + festival icons
Indigo palette for Solunar Society's night/festival character alongside
pine (city) and clay (farm); register Tent/Ticket/Sun/Moon/MapPin icons.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-28 18:34:19 +02:00
Patrick Mulligan
b0a64502dc refactor(deck): model 3 collaborating entities under Solunar Punk Society
Reframe from one brand + two locations to a collaboration between
Archipelago (city center), Solunar Society (pop-up festivals) and
Chateau du Faune (farm center). Add entities[], the shared userEcosystem,
a 4th "shared core stack" cost category, and per-accent class helpers.
All figures remain placeholders.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-28 18:34:19 +02:00
Patrick Mulligan
7ae2c75a79 feat(deck): route the deck at / and set page title
DeckView hosts the deck; router points / at it; index.html title
becomes "ARCHIPELAGO — Investment Prospectus".

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-28 18:21:25 +02:00
Patrick Mulligan
cb4b845f90 feat(deck): add the 14 pitch slides
Title, vision, network, technology, two nodes, city, farm, revenue,
the raise, cost breakdown, angel tiers, contributor tiers, roadmap, ask.
Contributor CTAs are a presentational seam for LNbits/nostr later.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-28 18:21:17 +02:00
Patrick Mulligan
fbbd4af50c feat(deck): add mycelial-network visualization
Animated SVG: unseen underground mycelium (the tech foundation) feeds
surface "flower" locations, with faint future flowers showing new nodes
sprout cheaply once the network runs. Respects prefers-reduced-motion.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-28 18:21:17 +02:00
Patrick Mulligan
adb6783a02 feat(deck): add deck shell, keyboard/hash navigation, and slide primitives
Deck.vue stage with progress dots, arrow controls and direction-aware
transitions; useDeck composable (arrow/space/Home/End + URL-hash deep
links); shared Icon, SlideFrame, PlaceholderBadge, LocationDetail.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-28 18:21:17 +02:00
Patrick Mulligan
e73072318c feat(deck): add central content/data model
Single source of truth for the pitch: brand, cost categories + line
items, angel & contributor tiers, revenue streams, locations, roadmap.
All figures are clearly-marked placeholders to swap for real numbers.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-28 18:20:59 +02:00
Patrick Mulligan
4a4b5498ec feat(theme): add Archipelago deck brand palette
Pine + amber on a deep near-black ground, self-contained dark deck
canvas (.deck-root), display font. shadcn tokens left intact.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-28 18:20:59 +02:00
Patrick Mulligan
d2c875bbde fix(pnpm): approve vue-demi build script so dev/build run
The shipped pnpm-workspace.yaml had a placeholder stub that failed
pnpm 11's ignored-builds gate, breaking `pnpm dev` and `pnpm build`.
Approve vue-demi's postinstall via allowBuilds.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-28 18:20:59 +02:00
0a8ef64527 add shadcn-vue MCP server for Claude Code sessions
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-27 10:44:48 +02:00
0054f3ab80 initial scaffold: vue 3 + vite 8 + shadcn-vue + tailwind 4
Wires pinia, vue-router, vue-i18n, vee-validate/zod, shadcn-vue
(reka-ui), tailwind 4 via @tailwindcss/vite. Sample HomeView
proves i18n + pinia + tailwind. Optional nostr/lnbits feature
folders ship as documentation only — deps install on opt-in.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-27 10:05:39 +02:00