The brand deck

The brand deck in deck/: its slides on a 1600 by 900 sheet, the grammar they follow, and the build that serves it at /deck.

Updated

The brand deck is General Translation's identity in 93 slides. Its sources live in deck/ and its built file is public/brand-deck.html.

The sheet and the grammar

  • Every slide is one HTML file in deck/slides/, drawn on a 1600 by 900 sheet that scales to the window.
  • deck/parts/ holds the head, the tail and the shared styles: the Inter type sizes, the color tokens for both themes and the layout classes.
  • Icons come from the Heroicons 20 solid sprite. Mood slides carry dithered artifact pictures (Artifact pictures).
  • deck/DECK-GRAMMAR.md is the written grammar: what a slide may hold and how a story is told across slides.

The build

pnpm build:deck (scripts/build/deck.mjs) assembles the slides into public/brand-deck.html and writes each picture to public/deck-assets/ under a name made from a hash of its bytes, so a changed picture never shows its old bytes from a cache. The build also writes the deck's head: its title, its description, its canonical (https://www.prototemplate.com/deck), og:url and its social card.

Where it is served

  • /deck is a rewrite to public/brand-deck.html in next.config.ts. A link to /deck loads it as a document (src/lib/document-routes.ts), since a router navigation would fetch the whole file once as a page payload and again as a document.
  • /brand-deck.html answers the same file with X-Robots-Tag: noindex, so only /deck is indexed.

Who changes it

The onboarding and dashboard session owns deck/ and pushes its changes from its own worktree. Another session that needs a slide changed asks that session by name. The gt-deck skill holds the procedure for adding, editing and checking a slide.

On this page