Skip to content

feat(templates): showcase templates — present-first Pitch deck, task-board Calendar, Compound growth card#126

Merged
eliotlim merged 4 commits into
mainfrom
feat/template-showcase-content
Jul 12, 2026
Merged

feat(templates): showcase templates — present-first Pitch deck, task-board Calendar, Compound growth card#126
eliotlim merged 4 commits into
mainfrom
feat/template-showcase-content

Conversation

@eliotlim

Copy link
Copy Markdown
Owner

Problem

The template gallery under-showcased what OpenBook can do:

  • No slides-first example. Every artifact template was a document you scroll; nothing demonstrated present mode, so a first-time visitor never discovered that an OpenBook page is a live deck.
  • An unused chart kind. The donut chart shipped but no template exercised it — the gallery only ever showed lines and bars.
  • The sample doc was a dead end. The classic compound-growth sample was only reachable from the Home starter entry point, not from the gallery where people go to browse what's possible.

Epic: Templates that showcase OpenBook — interactive + slides (IA 2026-07)

Closes TPL-3, TPL-6, TPL-8.

Solution

Additive only — the existing 7 templates are untouched, no new dependencies, and both new ids are registered in BLOCK_DOC_IDS.

  • TPL-3 — present-first "Pitch deck". A 5-slide deck (pitch-deck) built to be presented: a live revenue-mix donut you drag mid-pitch, a status light that trips amber/green off a one-line live-code recurring metric, speaker notes on every slide, and a "→ Present" callout so the reader tries present mode. This is the first template whose point is the deck, and the only one that exercises the donut kind.
  • TPL-6 — Calendar view on the task board. The task-board database template now ships a Calendar view alongside Board and Table, so the kanban fixture also shows date-scheduled work.
  • TPL-8 — the sample doc, folded into the gallery as "Compound growth". The classic sample (compound-growth) is now a gallery card that creates a fresh copy under its own name — no collision with the Home starter's "Compound Growth (sample)" open-or-create entry point, which stays separate.

Before / After

Surface Before After
Template gallery
7 cards

9 cards — Pitch deck + Compound growth join the Interactive documents section
Pitch deck · present mode n/a — new template
presenter view: title slide (1 / 5) + the live donut slide, speaker notes in the panel
Task board · Calendar tab n/a — Board + Table only
new Calendar view

Test procedure

  • pnpm verify green — build:libs + typecheck (7 pkgs) + lint (6 pkgs) + unit (sdk 171, ui 956, server + mcp) + server/mcp e2e. Counts in the PR footer.
  • New web e2e (packages/web/e2e/templates.spec.ts):
    • pitch deck — present-mode presenter view shows 1 / 5, the title-slide speaker note renders in .ob-present-notes-panel (not on the stage), and the donut chart / status light are live.
    • compound growth — the gallery card creates a fresh copy (its own name, not the Home starter's), with four compound-growth polylines on one live chart.
    • task board — the Calendar view button is present alongside Board + Table.
  • The gallery @visual snapshot shifts intentionally (7 → 9 cards) — expect a Chromatic baseline update, not a regression.

Operational notes

  • No migrations, no env changes. Client-side template creation only.
  • Gates: code ✓ Quinn · design ✓ Devon.

pnpm verify green · gates: code ✓ Quinn · design ✓ Devon.

🤖 Generated with Claude Code

https://claude.ai/code/session_01KFk2T9k3p7ghCjdzMfkA5w

eliotlim and others added 4 commits July 11, 2026 23:03
…donut slide

Five divider-cut slides (title, agenda, live revenue-mix donut, quote,
the ask), a speaker-notes block on every slide, and an info callout
teaching the ... -> Present entry point. The donut slide showcases the
one chart kind no other template used, fed by three sliders plus a
recurring-revenue status light. Tagged interactive + slides; gallery
name/description in all four locales; unit coverage for the deck shape
and an e2e that presents it and checks the notes panel.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KFk2T9k3p7ghCjdzMfkA5w
An additive third view on the existing schema: a month grid keyed off
the existing p_due date property. The board stays views[0] (the page
still opens on the kanban) and the table is untouched; unit + e2e
asserts cover the new tab.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KFk2T9k3p7ghCjdzMfkA5w
…d growth

A ninth gallery card that always mints a fresh copy of the sample doc
under its own display name, so it never shadows (or races) the Home
starter's idempotent open-or-create of 'Compound Growth (sample)'.
Tagged interactive; names/descriptions in all four locales. Unit tests
split the deck-shaped assertions (SLIDE_DECK_IDS) from the general
block-doc ones so the single-page sample fits the contract; e2e covers
the gallery listing and a fresh instantiation.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KFk2T9k3p7ghCjdzMfkA5w
Lead the Compound growth gallery card with what it does ("Watch £1 compound
at 3/5/7/10% as you drag a months slider") instead of a meta-reference a
first-time visitor has no context for; update all four locales.

Reword pitch-deck speaker note 3 to "pull Subscriptions back up until
recurring clears 60%" so it no longer conflates the £k slider with the
recurring % metric.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KFk2T9k3p7ghCjdzMfkA5w
@vercel

vercel Bot commented Jul 11, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
app.book.pub Ready Ready Preview, Comment Jul 11, 2026 3:45pm

Request Review

@eliotlim eliotlim merged commit b192ff8 into main Jul 12, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant