Rules Rendering Pipeline

Canonical Sources

ManualLaTeX (edit this)Generated
Multi-trail Warp / Warp 12RULES.texRULES.pdf, RULES.html, RULES.md, apps/Warp12/public/rules.pdf
Warp 6 Classic DominoesRULES-Classic.texRULES-Classic.pdf, RULES-Classic.html, RULES-Classic.md, apps/Warp12/public/rules-classic.pdf

Do not manually edit the generated HTML / Markdown / PDF files — they are overwritten on next build.

Build Pipeline

yarn build:rules        # rebuilds both manuals when inputs change
yarn build:rules:force  # force both even if stamps match

tools/build-stamped.mjs (rules target):

  1. Two pdflatex passes per .tex (settles longtable widths)
  2. Pandoc → HTML (MathJax) and GitHub-flavored Markdown
  3. Copies PDFs into apps/Warp12/public/

Runtime

  • React imports RULES.html via apps/Warp12/src/content/rules-source.ts
  • PDF embeds: /rules.pdf (multi-trail), /rules-classic.pdf (Warp 6)

Why Not Browser-Side LaTeX?

We tried latex-content-renderer but it only supports simple LaTeX fragments. These manuals use multi-level sections, longtable, and cross-references — Pandoc at build time is the reliable path.

Dependencies

  • pandoc: brew install pandoc
  • pdflatex: MacTeX / TeX Live (brew install --cask mactex-no-gui)
  • MathJax CDN: loaded in index.html for HTML math

Warp 12 — a Double-Twelve domino variant for the NX Epoch.