# Lab Report — Ponies, Unicorns, and Aspirations: Companion Products Beyond the Build ### Post-Game Aspirations and Companion Product Concepts for CodexOfConquest.com **Original date:** 2026-05-24 · born `1d1b064` 18:47:49, §VI appended `13bb222` 18:54:19 **Original status:** 💭 ASPIRATIONAL — no Layer number, no insertion spec, no HTML changes implied **Verified:** 2026-08-12 (§DOC-02ae) against `play.html` @ 38,712 lines · `src/sources/5thOrgan.html` · `edit.html` **Verification verdict:** **3 of 5 concepts SHIPPED, two of them within five days.** The document's own scheduling claim — *"None of these can be started in the current session"* — was falsified **33 minutes later** by a commit in the same session. Every *transcribable* number in it is exact; every *illustrative* field name in it is invented. --- ## Abstract This report is the project's roadmap-of-aspirations: four companion products imagined for the day the game itself is finished — a **Dungeon Master's Companion Guide**, a **Fishing Guide**, a **Mission Explorer** (a debug-annotated data browser), and a **Polyphonic Pipe Organ Synthesizer** (72 sine oscillators, no samples, no audio files). A fifth idea appears in a single paragraph of §V, almost as an aside: ship the Fishing Guide as a *readable item inside the game* rather than as a document. Re-measured 80 days later, the register reads: **Mission Explorer SHIPPED** (as `edit.html`, five days later, inverted on all three of its stated design axes) · **Organ SHIPPED** (as `src/sources/5thOrgan.html`, thirty-three minutes later) · **Fishing Guide SHIPPED — but as the aside, not the document** (`FISHING_GUIDE_TEXT`, a `type:'readable'` item that unlocks zone DCs) · **DM's Guide NOT SHIPPED** · **Fishing Guide as a standalone document NOT SHIPPED**. The finding that generalises: the report ranked these by **effort and prerequisite**, and that ranking predicted nothing. What predicted everything is the **medium of the deliverable**. The three concepts that shipped are the three whose output is code or data. The two that did not are the two whose output is prose. This repository converts a specification into an implementation reliably and quickly; it has never once converted a specification into a book. --- ## I. Intent, Inspiration, and What Each Concept Buys the Player The document was written at a moment of confidence: the world had reached 76 nodes and 370 monsters, the architecture felt settled, and the natural next question was *what is this thing for, beyond itself?* Each of the four answers is a different theory of that question, and each has a distinct effect on playability. **A. The DM's Companion Guide — playability by *transposition*.** codexofconquest is a solo experience. The Guide's premise is that the HTML file is already an adventure module and only lacks the layer a human Dungeon Master needs to run it for a table: hidden agendas, favor thresholds stated plainly, monster flavour, ending conditions. The playability gain is not to the solo player at all — it converts a single-player program into a multiplayer evening. *"The game's HTML file is the adventure module. The DM's Guide is the thing that tells the DM what everything means."* **B. The Fishing Guide — playability by *legibility*.** The fishing sub-game has a rank-20 species pool, a Hooked condition, zone DCs and a predator layer. None of that is discoverable by playing; a player casts, something happens, and the model stays invisible. The Guide's premise is that a systems-dense minigame needs a reference or it reads as randomness. **This is the concept whose implementation the report itself improved in passing** (see §V and Finding 3). **C. The Mission Explorer — playability by *authorability*.** The stated target user is *"a DM, a modder, or a curious developer who wants to understand the architecture without reading 14,377 lines of source."* The playability argument is second-order but the strongest of the four: a world this size is only extendable if its data is browsable, and every hour a content author spends grepping is an hour not spent writing a quest. The report's own framing of the requirement is quoted from the user verbatim: *"give all the debug information about the variable name, about the data type, about its index and position where we can reference it to change it."* **D. The Pipe Organ — playability by *atmosphere*, under an architectural constraint.** The game ships as one static HTML file with no build step and no assets. That forbids music — every conventional soundtrack is a file. The organ dissolves the contradiction: an additive synthesiser's score is an array of integers and its instrument is arithmetic, so **a pipe organ is the only music design that survives this repository's invariants**. The intended payoff is background music *"like a player piano, in the background, as the game is played"* — a continuous, non-looping-sounding presence during travel and combat. That last sentence is the origin of **§AUDIO-01**: the synthesiser was built and the embedding never was. The game is silent to this day. --- ## II. Method Per the §DOC-02 program: batch census of every named identifier before reading the prose; `git log -S` on every dead symbol to separate **RETIRED** from **NOT SHIPPED**; the earliest surviving build `32c10c5` (2026-05-24, 14,377 lines) as the reference for claims about the past; sibling reports as a cross-check; and a reachability closure on every surface claimed playable. Two program instruments carried this pass in particular: - **Instrument 12 (copy-vs-illustration).** A passage the author could *copy* is reliable; a passage they *composed to illustrate a point* is not — regardless of whether it looks like a table. - **Instrument 7 (the corpus).** Three siblings adjudicate parts of this document that it cannot adjudicate about itself: **§DOC-02m** (`lab-report-fish-with-dnd.md`) owns the fishing measurements, **§DOC-02ad** (`lab-report-Polyphonic-Organ-Synth.md`) owns the synthesiser, and **§DOC-02i** independently verified this report's world constants at the archive. --- ## III. Census **World constants cited in §I.A — all exact at the archive build `32c10c5`** (independently confirmed by §DOC-02i, which measured the same seven constants for a different report on the same tree): | Constant | As written (2026-05-24) | At archive | At HEAD (2026-08-12) | |---|---|---|---| | Nodes | 76 | 76 ✅ | **416** | | Acts | 8 | 8 ✅ | 8 ✅ | | Named NPCs | 6 | 6 ✅ (`const NPC_DIALOGUES = {@10396`) | **204 profiles / 213 dialogues** | | Monsters | 370 | 370 ✅ | **398** | | Terrains | (66, §III.B) | 66 ✅ | **111** | | Froberger journal entries | 41 | 41 ✅ | **41** — unmoved in 80 days | | Codex Shards | 7 | 7 ✅ | 7 ✅ (`SHARD_GOAL = 7@36175`) | | `_S_DEFAULTS()` fields | 107 (§III.B) | 107 ✅ | 104 of 107 survive | | HTML source lines | 14,377 | 14,377 ✅ | **38,712** | **Nine of nine exact.** No design document in this corpus has done better on figures it measured itself. **§I.B's twenty named NPCs — 19 of 20 resolve (95 %).** Yael, Brynn, Quill, Pachelbel, Weckmann, Auros, Sweelinck, Muffat, Mordus, Draketide, Izador, Rennau, Vonn, Solvak, Yva, Isolde Voss, Benedikt Rasp, Jimmy Two-Tails and the Warden are all live. **`Leeuwenhoek` has 0 occurrences in `play.html` and 0 commits in its entire history** — the name exists only in the planning documents of the period. A cast list that is 95 % real and 5 % aspirational is exactly what an aspirational document should look like; the point of recording it is that *nothing in the prose distinguishes the nineteen from the one*. **§III's ASCII detail-panel mock-ups — 0 of 14 field names correct.** See Finding 4. --- ## IV. Spec → Shipped Delta Table | # | Claim / concept | Section | Verdict | Evidence | |---|---|---|---|---| | 1 | DM's Companion Guide, 80–120 pp | §I | **NOT SHIPPED** | no `codexofconquest-gm-guide` artefact; 0 occurrences repo-wide | | 2 | Fishing Guide, standalone 20–30 pp document | §II | **NOT SHIPPED** | superseded by row 3 | | 3 | Fishing Guide **as an in-game readable item** | §V | ✅ **SHIPPED** | `name:'Fishing Guide', icon:'📖', type:'readable'@13819` · `const FISHING_GUIDE_TEXT =@26659` | | 4 | …and it gates a mechanic, not just flavour | — | ✅ **exceeded** | `const hasGuide = (S_story.inventory@30406` reveals zone DCs | | 5 | Mission Explorer, a second HTML data browser | §III | ✅ **SHIPPED** `2d42ea2`, 2026-05-29 | `edit.html`, 10,685 lines, 17 tabs | | 6 | …read-only; C/U/D "intentionally excluded" | §III.D | ⚠️ **INVERTED** | 29 `POST` · 32 `PUT` · 4 `DELETE` call sites | | 7 | …cost: must externalize the data constants | §III.E | ❌ **cost never paid** | `