Mission

  • Request: determine where Storybook makes genuine sense for this fleet, rather than impose a component explorer on incompatible applications.
  • Phase 1 — Publish the masterplan:
    • Ground scope, topology, provenance and verification in real source.
    • Publish the decision at wiki.stbk.loca.zone before building Storybook.
  • Phase 2 — Reflect and perfect:
    • Critique the published plan, resolve contradictions and republish the corrected decisions.
  • Phase 3 — Realize:
    • Build and verify the agreed Storybook delivery at stbk.loca.zone.
  • Ordering: publication first, reflection second, implementation third; the plan is not a retrospective description of an existing build.

Verdict in one screen

  • Value: expose component surfaces and states that already exist but are currently reached through whole applications.
    • Import genuine component files where their dependency graphs permit isolation.
    • Adapt inline application surfaces only with explicit source attribution; do not invent a reusable library that the source does not contain.
    • Demonstrate behavior, keyboard interaction and source styling, not merely successful rendering.
  • Renderer boundary: one native Storybook instance serves one renderer.
    • Svelte, Vue 3 and React will not share one native instance.
    • Composition through refs will federate independently built instances into one browsable shell; it will not merge their renderers.
  • CSS boundary: matching renderers are necessary, not sufficient.
    • bits/src/app.css supplies a hand-written Tailwind ink/brand skin, including .btn and global dark base rules.
    • sflw/src/app.css and svelte-chat/src/app.css use Tailwind plus daisyUI with custom CSS-first themes.
    • Loading the bits skin beside daisyUI in one preview document would collide on shared classes and base rules; separate preview bundles will preserve both regimes.
  • First-delivery decision: two native Svelte instances.
    • fleet: root instance, daisyUI regime, direct sflw source imports and attributed svelte-chat adaptations.
    • bits: separately built instance under a sub-path, original ink skin, referenced by the root through composition.
    • Cost accepted: two builds and preview environments, not one universal configuration.
  • Fence: existing fleet projects will remain byte-unchanged; stories, adaptations and integration configuration will belong to stbk.

Topology

flowchart TB
  subgraph First["First delivery: two native Svelte instances"]
    Fleet["fleet: root shell and Svelte preview; daisyUI regime"]
    Bits["bits: referenced Svelte instance; separate sub-path and ink skin"]
    Sflw["sflw: direct source imports"]
    Chat["svelte-chat: attributed adaptations inside stbk"]
    Demos["bits: direct demo imports"]
    Fleet -->|"refs composition; independent build"| Bits
    Sflw --> Fleet
    Chat --> Fleet
    Demos --> Bits
  end
  subgraph Deferred["Deferred: outside first delivery"]
    Vue["Vue lane: airi; UnoCSS and workspace setup"]
    React["React lane: iconmania; CSS and gallery fixtures"]
    Html["HTML lane: click2punch; iframe page embeds"]
    Php["PHP boundary: wrdp; templates need rewrite; vanilla exception"]
  end
  Fleet -.-> Vue
  Fleet -.-> React
  Fleet -.-> Html
  Fleet -.-> Php
  style Vue stroke-dasharray: 5 5
  style React stroke-dasharray: 5 5
  style Html stroke-dasharray: 5 5
  style Php stroke-dasharray: 5 5
  • Solid paths: committed first-delivery composition and provenance.
  • Dashed paths: deferred integration boundaries, not configured references or promised native PHP rendering.
  • Shared daisyUI tooling will not mean a shared generic theme: sflw and svelte-chat source palettes will remain distinct within their story environments.

Scope at a glance

ProjectFrameworkIncluded in first deliveryWhy
sflwSvelte 5YesExisting component files permit direct imports; src/lib/components/SourcePanel.svelte has string props and local copy feedback. The selected custom-node story will require a real SvelteFlow fixture.
svelte-chatSvelte 5YesUI is inline in src/routes/r/[room]/+page.svelte, not a reusable component library. Selected surfaces will be adapted inside stbk with exact source-range attribution, not labelled imported components.
bitsSvelte 5; upstream Bits UIYesExisting demos such as src/lib/demos/dialog/BasicDemo.svelte combine real primitives with local state. Its custom src/app.css skin requires a separate instance rather than daisyUI substitution.
airiVue 3NoRequires a Vue renderer and UnoCSS integration; its pinned pnpm workspace includes catalogs, patches and a pnpm-invoking postinstall. It already has Histoire stories, so another explorer needs a deliberate integration case.
iconmaniaReact 19NoRequires a React renderer and its hand-written src/styles.css; gallery helpers in src/app/workspace-data.ts request SVG/PNG artwork under /api/gallery/, requiring real fixture responses for faithful gallery stories.
click2punchVanilla HTML/CSS/JavaScript prototypesNoCurrent prototypes/2026-09-15-punch-ui/ documents use floating-major daisyUI 5 and Tailwind browser 4 CDN dependencies. Later HTML stories can embed whole pages in iframes, not import them as components.
wrdpPHP/WordPress; vanilla JavaScript exceptionNoPHP templates require WordPress execution and would need rewriting for native Storybook use; no root package manifest exists. QuizWizz’s assets/js/qwizz-player-renderer.js exposes real DOM factories that could support later HTML stories without rewriting PHP.
  • Evidence basis: read-only scout inventories and source inspection; complete paths, versions and isolation hazards are recorded in 20-fleet-evidence.
  • Inclusion means the selected source-grounded subset, not complete application coverage; the exact delivery contract is in 30-first-delivery.
  • 10-topology-options: renderer and CSS boundaries, alternatives, and the costs behind the composition decision.
  • 20-fleet-evidence: source inventories, dependency provenance, actual reuse seams and reasons for deferral.
  • 30-first-delivery: exact stories, import-versus-adaptation contracts, and behavioral acceptance gates.
  • 40-runtime-and-hosting: build/runtime choices, static serving, domains and the owner’s bounded deployment procedure.

Status

  • Phase: phase-1 plan, written before implementation.
  • Next: reflection will challenge this plan and may correct it before republication and realization.
  • Build state: no Storybook has been built at the time of writing; no live Storybook or successful browser verification is claimed.
  • Evidence boundary: source inspection supports the decisions; build, interaction and hosting verification remain required delivery work.