Blue Prince Board Game · Project Record

Changelog

Dated record of what changed, where, and why. Updated as the design evolves.

This changelog tracks three kinds of changes: factual fixes where something was wrong and is now right, renames where the thing didn't change but the language did, and deferrals where a mechanic was removed or held pending design work. Blog posts capture the narrative and reasoning; this doc captures the ledger. Entries list the files touched for traceability. Latest entries at the top.
September 19, 2026 Post 34 Restructured · Post 35 Split Out
Change
Post 34 restructured and retitled — “Hand-Write Ten: Going Back to Wireframes”
The post was carrying two arguments and opening on neither. Reframed around the origin it had been missing: the Protospiel publisher’s advice to hand-write about ten tiles, one per room type, prove the core loop, then make the rest. New spine — ten tiles don’t reduce eighty-five tiles’ worth of decisions to ten, because the median room touches five systems and you have to settle those five for every room that shares them. The sample doesn’t isolate; it surfaces what was being postponed. Closes on the reframe: the ten aren’t a smaller version of eighty-five, they’re the proof that the system holds before it scales, which is why they can’t skip the system. Dek now carries the day-job parallel — going back to wireframes from a high-fidelity prototype is never a good sign; it means something underneath was never settled and the fidelity was hiding it. Section order changed to Ten tiles → Eighteen systems → A mirror → Labels → Two models → Four corrections → Numbers → Still open. The four standalone correction sections (Bedroom, icons, Security, Freezer/Furnace) were interrupting the systems argument and are now one section with bolded lead-ins; no text cut. Fact corrected: the day was eight hours, not nine. The old dek’s “for about an hour it felt like the system was nearly done” read as a claim that the work took an hour — moved into the body where it plainly describes the feeling. Retitle propagated to blog.html, the nav.js footer, and the next-link on Post 33. New image images/posts/hippo-lipstick.jpeg placed under the adage line and promoted to the blog.html thumbnail; post_34_vulture.jpg stays at the close of the post. Backup of the previous version at posts/post-34.html.bak.
posts/post-34.html · blog.html · nav.js · posts/post-33.html
Published
Post 35 — “Betrayal at Mt. Holly”
Split out of Post 34, where it had been the closing section and roughly forty per cent of the text on a subject of its own. Dated Sept 18 with Post 34, since both cover the same day. The assistant-behaviour piece, standing alone: twice in twenty-four hours it recommended a decision that fundamentally changes the game, which on a fan adaptation is a proposal to build a different project — the second time being a proposal to cut the video game’s five floorplan icons to three because Betrayal at House on the Hill uses three, hours after it had spent the afternoon arguing those icons back in. Argument in five beats: it goes after the constraint rather than the wall; a cut is an output and “not yet, keep going” isn’t; the reversals are the same behaviour from the other end; it can’t tell a hard problem from a broken one. Carries a compressed restatement of the eighteen-system constraint in a rule block so it reads without Post 34, with links back in both directions. Images moved from Post 34: post_34_hippos.jpg (also the blog thumbnail) and post_34_betrayal.jpg. post_34_vulture.jpg stays on Post 34. Filenames unchanged — the paths simply point across. Wired: blog.html top entry, nav.js footer (Post 30 dropped), next-link from Post 34.
posts/post-35.html · blog.html · nav.js · posts/post-34.html
September 18, 2026 Decisions Closed · Doc Pass · Tile Models · Icons & Doors
Changed
Tile front and back: two models drawn at actual size, then compared
The labelled-line system decided earlier in the day turned out to be only half applied — 28 of 85 backs carried rules with no label at all, because the seven labels all answer when does this fire and a fifth of the rules are not a firing time (bag notes, standing facts, conditions on board state). QQ’s own front/back wireframe was the fix: a fixed four-slot data strip (Trunk · Dig · Roll · Placement) across the top of the back, rule prose underneath. With the strip absorbing the structural lines, 54 of 85 backs have no prose left at all. Two models then drawn for all eleven mini-loop rooms, front and back, at 10× and at actual size: Model A puts ENTRY effects on the front, Model B puts PLACED effects on the front. Both written from scratch for the face they sit on after a first attempt loaded the comparison against B by moving back-length sentences onto its front. Result: blank fronts tie at six each; four tiles come out identical under both models (Parlor, Hallway, Kitchen, Greenhouse) because their rules are FIRST EVER, ONCE A DAY and FROM HERE, which neither model reaches; Model A’s backs carry 647 characters against Model B’s 465. Model A is the front runner. Character budget set by legibility first — 6.5pt, not the 4.8pt of the earlier Greenhouse drawing — giving about 18 characters a line and a five-line, ninety-character budget, measured off the rendered page rather than estimated. workbench/tile_wireframes_model_comparison.html. Not yet printed; every budget in it is arithmetic until it is.
Added
The video game’s floorplan icons are back, as a column in rooms-data.js
QQ raised a system that had quietly left the game: the video game marks floorplans with subtype icons on top of the colour border. Six categories, each with its own wiki page and member list — Drafting (compass), Mechanical (gear), Tomorrow (clock), Puzzle (puzzle piece), Spread, and Entry (an open door). Mapped against all 85 rooms: drafting 8 · tomorrow 7 · entry 5 · spread 5 · puzzle 4 · mechanical 0 after the Security cut below, and 56 rooms with no icon at all. No room carries two. Twenty-two rooms in the wiki lists have no equivalent here — upgrade variants and expansion rooms — and every one was left unmatched rather than guessed at. The icons also close a gap the day had been circling: a tile that keeps working after it is placed can only ever show its front, and the icon says which kind of room it is without spending a rule line. Collision logged, not resolved: the video game’s Entry means the effect fires every time you step inside, while this file’s trigger:'entry' means the first time this run — the same word, opposite meanings, 34 rooms using ours.
Fixed
Door counts rebuilt from room shape — and the Bedroom was never wrong
The doors column was hidden earlier in the day and every room flagged unverified, on the strength of the Bedroom being recorded as two doors when it is a dead end. QQ found the cause: he was thinking of the Guest Bedroom. The Bedroom is an L-shape room, two doors on adjacent sides, exactly as the data said. Rebuilt from the wiki’s room-shape classification, which agreed with 75 of the 78 counts already in the file. Three changed: Courtyard 4→3, Secret Passage 1→2, Great Hall 7→4 — and the last two need a ruling rather than a correction, because the Great Hall’s seven doors are inside the room and were never tile geometry, and the Secret Passage is a dead end whose hidden passage opens when a book is pulled. A new shape field carries dead end / straight / L / T / 4-way, and it is the field to use for artwork: a count cannot tell a straight room from an L, and that is precisely what the September 18 photo-read got wrong on the Bedroom — right count, wrong geometry. doorsVerified stays false on all 85; a wiki agreeing with the data is corroboration, not a physical check.
Changed
Freezer and Furnace returned to video game canon; proximity dropped
Briefly rewritten as an entry effect, then reverted after checking the wiki: accounts freeze on drafting — “shortly after drafting the Freezer, the player’s accounts become frozen for the rest of the day” — and it only reads as an entry effect because you usually draft the tile and walk straight in. Thawing is standing in the Furnace. The proximity rule is gone, and following the video game is what removed it: distance and ambient heat never touch accounts there, they melt the physical ice inside the Freezer room, which this game does not model. The real-time distance formula that made proximity a trade-off belonged to the half we were never modelling, so nothing needed inventing to replace it. Frozen tokens still carry to the next run. Three rows added to design_deviations.html (Frozen Accounts, Furnace Thawing, Frozen Items in the Room — the last Removed, revisit only if a Key-scarcity challenge needs a gated Key source), and the existing Freezer — Frozen Box row marked Overturned where it still said a Furnace on the board thaws them. The assistant twice reported no Freezer or Furnace rows existed; there were two, missed by searching the rendered table of a page whose table is built by JavaScript.
Removed
Security cut from the base game to the Mechanical Mansion expansion
Security is a terminal room that upgrades floorplans, and it belongs with the expansion that brings the other mechanical rooms and their rules. It was kept in the base game because it would feel noticeably missing — but the version in the box does nothing at all: front line “No effect”, no back rule, and a gem to draft it. The Lavatory and the Spare Room are also empty and stay, because they are free; an empty room you walk into for nothing is character, an empty room you pay a gem for is a tax. It was also the only mechanical-icon room, so the gear icon now has no members in the base game and the set is five icons, not six. Still in rooms-data.js labelled Expansion, still listed in the glossary, which gains an Expansion filter. Bag is now 64; quick_reference.html updated. Consequence recorded: the cut removes the Babbage staff notice, which is the pointer in the Shelter time-lock chain — it reads “Entrance Hall clock stopped at half past one” and sends the player to that tile. The assistant first called the notice a duplicate of the Entrance Hall’s clock line; it is not, it is what makes that line mean anything. Neither half is built — the notice was designed and never made, and QQ confirms the clock line is an experiment he has not killed — so nothing working broke, but the 1:30 clue now has no delivery at all. Both open notes written onto the Entrance Hall and Security rows.
Decided
Every default-bag decision closed; 17 rooms outside the bag decided too
In one sitting, room by room and question by question, all recorded with sources in the review table: dig costs no steps (the Cloister “spend 1 step” was invented) · Greenhouse draws until a green room, no cap · Boudoir rolls for a Resource card · frozen coins and gems go in a Frozen box on the Campaign Sheet · Foyer lasts today only · clue-piece assignment confirmed (Parlor West, Billiard East, Gallery South, Room 8 North) · bells retired everywhere (Dining Room keeps the video game condition — first Rank 8 room entered — without the word; shops lose the +2 coins, nothing replaces it) · meal cards are consumables in the Dining Room envelope, and every shop keeps its cards in a labelled envelope · Bedroom +2 on every entry as in the video game · Furnace thaws the Freezer whichever came first · Passageway and Secret Passage give no Key · Archives: player picks the hidden tile · the “always red die” rule deleted · Coat Check item written on the Campaign Sheet · Master Bedroom’s +10 kept (it is a video game rule) · Her Ladyship’s Telescope guaranteed · Nook as written · Freezer Letter in an envelope · tiles come out of the bag face up with the gem cost on the front · Foundation has no trunk · Courtyard “never locked” dropped (it was the video game’s Corriyard upgrade, not the base room) · all ten unknown door counts read off the tiles · every video game placement rule printed on its tile back, facing rules dropped under the Post 25 orientation rule · Maid’s Chamber: a bedroom (the staff’s), 0 gems, no trunk, rooms placed after it need 5+ on the item roll, Shelter makes it a normal bedroom · Great Hall: Model 1 — all seven doors locked at 1 Key each, the Silver Key opens them all, the lever is in the room (deviation, severity high) · Silver Key has two jobs: removes every padlock on the board and opens every Great Hall door, now or later today. Outside the bag (photo): Tunnel (no Key, 2 dig spots, stack of 8 beside the board: draw 2 + 1), Planetarium (Post 15 stands), Sauna, Locker Room (Keys to placed hallways only, no locker rule), Morning Room (1 dig), Secret Garden (4), Kennel (3), Solarium (1), Dovecote (blue, 2), Dormitory (0 gems), Clock Tower (counts itself), Casino (15 coins + the d6 bet), Root Cellar (rule kept), Shelter, Hovel (purple, no trunk, 1 Special card, must pay steps), Toolshed. Vestibule, Lost & Found and Trading Post are expansion for now. All six Tomorrow rooms confirmed.
workbench/room_rules_first_pass.html — 85 rows, Set filter, every field sourced
Rebuilt
rooms-data.js rebuilt from the review table — one source, pages read it at load
85 rooms with the decided tile front and back, doors, dig, trunk, item roll, trigger, set, and the why / sources / open columns carried over. room_glossary.html no longer holds its own copy of the rooms: it loads rooms-data.js like nav.js and shows the new columns (doors, dig, trunk, item roll, tile front, tile back, open) with a Default-bag filter and an open-questions filter. No build step. To change a room: edit the table, regenerate the file.
rooms-data.js · room_glossary.html
Doc pass
Reference and print pages brought in line with the decisions
quick_reference.html: five-step turn (Drawing Board gone), lock table names the never-locked hallways and the Great Hall, reminders for Dinner, Hallways, Dig spots, Red rooms, Silver Key; 65 tiles. item_spawn_reference.html: rebuilt — Trunks / Dig spots / Item roll callouts, 21 take-on-entry rooms, 8 roll-first rooms, the four physical decks as counted (35 / 22 / 16 / 17). room_setup_reference.html: Gallery and Room 8 in the bag, the three expansion rooms marked, red-die and bell notes gone. campaign_sheet.html: Frozen box, Coat Check line, Clock Tower Keys blank, West Gate tick, four clue-piece ticks, Vestibule dropped. first_run_tutorial.html: face-up tiles, Lock Pick and Silver Key, d6 4+ rolls, category descriptions, deck names. how_to_win.html: east path is Model 1, key sources are the Archived Keychain sources, each path names its clue piece. inventory.html, production_guide.html, tomorrow_room_cards.html: bell removed; once-today marker listed as not yet designed; Campaign Sheet replaces the Carry-Forward card.
quick_reference · item_spawn_reference · room_setup_reference · campaign_sheet · first_run_tutorial · how_to_win · inventory · production_guide · tomorrow_room_cards
Logged
30 deviation rows added; 7 rewritten; 3 overturned; the Drawing Board removed
Each new row carries the video game rule beside the board-game rule and the date QQ decided it. High severity: Tile Is the Rule, Great Hall Model 1, Silver Key Two Jobs. Overturned (new status, filterable): Library Key, Bunk Room fruit+Key, Bunk Room +4. Trunk System rewritten; Hallway Keys widened; Puzzle Rooms, Tunnel and Courtyard notes updated. 81 rows.
design_deviations.html
Held
design_documentation.html — read in full, not yet edited
Nearly every rules paragraph describes the pre-Protospiel game (Sharpie tile backs, Lockpick charges, Silver Key redraws, Prism Key colour effects, Security levels, meal-card cycle, bell, dig-count table, 63 tiles, decks of 30/24/21/12) and §16 is a second copy of the room rules that disagrees with rooms-data.js. Two options on the table: patch ~70 passages in place, or rebuild the rules sections and make §16 read rooms-data.js. QQ to choose.
design_documentation.html
Added
Tile wireframe — Greenhouse, front and back (workbench)
Low-fidelity wireframe of one room tile under the Sept 17 rule that the tile is the rule (front = what matters on the board; back = what you need before you place it). Drawn at 10× with BGM’s 3mm bleed and 3mm safe zone to scale, plus a 40mm actual-size pair for a table-distance check. Every element carries its source from workbench/room_rules_first_pass.html and a Decided / Proposed / Open tag; front line and back text are the review table’s untested proposals. Decided by QQ today: the back is anonymous. No room name, no colour, nothing the front already says. First step against information overload is removing duplicates. The Greenhouse back carries four things — placement, dig count, the full rule, the lever line — and fits the safe zone at a rule-text size of 2.0mm (≈5.7pt as drawn); the print test decides legibility. Open questions the drawing surfaced: rotation (a dead-end tile placed in any of four orientations puts the name upside down from the seat), which side is up out of the bag (decides where gem cost lives), and the undesigned table-distance icon. The Sept 17 decisions themselves are in the Sept 17 entries below.
workbench/tile_wireframe_greenhouse.html
Rename
“Outdoor rooms” removed as the meaning of Green
Five files described the green colour category as “Outdoor rooms.” Wrong on two counts: green is a colour category on the grid (the VG and CLAUDE.md say “Green rooms” and nothing more — the Greenhouse is a glass building inside the house), and “outside” already means the Outer Rooms and grounds reached via the West Path (Section 19). The word collided with a real mechanic. Changed to “Green rooms” everywhere it stood for the colour; the design-doc expansion heading “Outdoor Rooms & Grounds” corrected to “Outer Rooms & Grounds,” since that section is about the five Outer Rooms. Ten wording changes, no rule text touched. Both teach scripts and the design doc still say green rooms always have a trunk — overturned Sept 17 (green = dig, purple = trunk), not yet corrected here; see the doc pass.
design_documentation.html · first_run_tutorial.html · protospiel_teach_script.html · workbench/protospiel_teach_script.html · workbench/room_rules_first_pass.html · posts/post-33.html
Published
Post 34 — “What’s in the Lavatory? A Mirror” (restructured and retitled Sept 19; “Betrayal at Mt. Holly” split out as Post 35)
The Sept 18 tile-rules overhaul in plain words, dated Sept 18. Follows Post 33 (“All Dressed Up and a Place to Go”). Carries the eighteen-system table (median room touches five, worst three touch nine), the 28 unlabelled backs and the four-slot strip that empties 54 of 85, the two tile models and why Model A won, the Bedroom / Guest Bedroom mix-up, the icons returning as a column, the Security cut, Freezer and Furnace back to canon, and the day’s computed numbers. Includes “Betrayal at Mt. Holly,” the section on the assistant’s day — rewritten from a list of mistakes into the pattern underneath them: twice in twenty-four hours it recommended a decision that fundamentally changes the game, which on a fan adaptation is a proposal to build a different project. States plainly that the tile system is about a third of the way through the refactor — not solved, not broken — and lists the open items (tile size 38.1 / 40 / 45mm unmeasured, no once-a-day marker, the 1:30 clue undelivered, the ENTER / Entry collision, Her Ladyship’s Chamber over budget). Three images in images/posts/: post_34_betrayal.jpg (both editions of Betrayal on the shelf, in place) — post_34_hippos.jpg and post_34_vulture.jpg (both since added to the repo). Wired: blog.html top entry, nav.js footer (Post 28 dropped), next-link from Post 33.
posts/post-34.html · blog.html · nav.js · posts/post-33.html · workbench/post_notes_lavatory_mirror.md · workbench/handoff_post_34_lavatory.md
September 17, 2026 Protospiel Debrief · The Tile Is the Rule · Room Rules Review
Playtest
Protospiel Chicago, Sept 11–13 — no playtest finished
Every session stalled on the text printed on the tiles. A player drafts the Closet, reads “2 items,” and waits — two of what, from where? The intended flow (pick the room, look it up in the room grid) never happened; the tile was in the player’s hand, so the tile was the rule. One player, Pete, reached for the table card instead. Worse with the Pool: its caption says “Adds Locker Room, Sauna and Pump Room to today’s Draft Pool,” so the player tried to add three tiles to the dealer towers, which can’t take them. The teach script and table card said “bag” while two towers sat on the mat. A game publisher who knew the video game (cut the pitch off with “familiar with the video game,” knew the designer’s name) sat down and stalled before the second draft. Publisher’s comments: “not necessarily,” when QQ said (without showing anything) that tile backs were being designed to do more work; counting steps every turn may get tedious — consider another way to put time pressure on a run (never came up in three sessions with Mike and Chris; noted); get blank tiles, write on them with a marker, pick about ten rooms, test just those; and, as a hunch: “there is something here” — the gameplay. Other players: “table distance” — the small text on a tile can’t be read from where a player sits; “make a room do one thing only” — not one effect per room, but a system a player can learn (the colour tells you the rule) instead of reading every tile, which leans harder on a rulebook. QQ’s ideas page (“IDEAS, mostly to simplify”): Silver Key opens every locked door on the board; Event and Addition rooms become rooms found inside other rooms (Tunnel in the Secret Passage, Planetarium in the Observatory, Sauna and Locker Room in the Pool, Morning Room in the Kitchen); Lock Pick rolls to see if it works instead of counting uses; Secret Passage: name a colour, draft until it appears, no gem cost; puzzle rooms hand out a clue card; a clue for every rank completed. Two of these already existed in the files: the Lock Pick card already rolls a d6 (1–2 picks it), and rooms-found-inside-rooms is logged for five rooms (DEV 42–46). QQ’s tile-back sketches: two layouts carrying placement restriction, gem cost, chess piece, room type and rarity — no rule text. That is the version “not necessarily” was answering; the publisher never saw them.
No files changed at the event. No surveys or observer notes were collected (QQ, Sept 18); posts/post-33.html is the full record.
Finding
The tile was the rule all along, and nobody had written it
Every word on every tile front except one (Entrance Hall’s “the clock has stopped at 1:30,” QQ’s) is the video game’s own caption. In the video game the caption is enough because the software does the rest. On the table the player does the rest, and the caption is the first and most trusted thing read — in the hand at the moment of decision, and the teach materials said to trust it. A player who knew the video game stalling is the strongest evidence, not the weakest: the captions matched what he knew, and what he knew didn’t match this game. The written materials contradicted each other. Trust the tile: definition_of_done.html (“All tiles are self-explanatory”), teach script beat 3 (“Whatever the room says happens the moment you enter”), table card step 5 (“Do what the room says now”). Don’t trust the tile: design_documentation.html Section 7, twice (“do not rely on the tile art … refer to this table”), teach script beat 5 (“the reference sheet has every room. Look there first”), table card sidebar, Item Reference §6. first_run_tutorial.html says both. The fix had been designed twice and never built: design_deviations.html row 1, “Room Tile Visual Redesign” (May 28, High), and workbench/tile_text_suggestions.html (June 3, all 88 rooms rewritten at twenty characters). The 110-tile print order shipped three weeks later with the video game’s captions. Counting the glossary and the September room grid, the room text has been written three separate times — never on the tile. Caption count (from the June sheet against the room grid; QQ still to check it himself): of 80 default-bag captions that can be sorted, 31 state the whole rule and are correct; 20 are correct but incomplete (the “2 items” kind); 16 describe a mechanic this game cut or changed; 13 have no text. 49 of 80 can’t be acted on from the front. An earlier “about a third” figure was wrong. The paperwork drifted the same way. Four lookup sheets disagree with each other and with the September rules: item_spawn_reference.html, design doc Sections 7 and 16, quick_reference.html, the Protospiel room grid. rooms-data.js is loaded by no page; room_glossary.html carries its own inline copy of 86 records; item_spawn_reference.html, design_documentation.html, room_setup_reference.html, the Item Reference, difficulty_curve_comparison.html and the June sheet each hold a hand-typed room table. Nothing flows from anything, which is why the Sept 10 always-locked-trunk decision reached the workbench sheets and nothing else. The printed card decks don’t match their files (counted from photos): Resource Items printed 35 (file 30; Post 30 says 29); Special Items 22 (Post 30: 21); Trunk Contents 16 (file 12–15); Dig Results 17, with junk cards and turnips the file doesn’t have. The physical decks are the truth; the files get regenerated from them.
all-cards.jpg · clue-cards-all.png (repo root — the photos the counts were taken from)
Rules Change
The tile is the rule
What’s printed on the tile is the rule. The front carries what matters while the tile is on the board. The back carries what you need before you place it: where it may go, how many dig spots, whether it has a trunk, anything that happens the moment it’s placed. No separate chart to look things up in during play. The video game captions go; QQ writes the text. Deviation to log: supersedes DEV 1. The one-line rule. Each front gets at most one line under the room name. Either it states the whole effect, so a player can act from it alone, or it names the kind of effect and ends with a small flip symbol meaning “the full rule is on the back of this tile.” A half-line with no symbol (“2 items”) is not allowed. Some rooms need no line: the colour rule plus a number is the whole rule. Table distance is a design rule: once a tile is placed, the things readable from across the mat are its colour, its name, its door positions, its gem cost, and at most one icon. The one line is read once, up close, at the draft. Rooms whose effect keeps going after placement need an icon that reads across the table (estimate: about 21 rooms); rooms that do something “once today” need a marker to show it’s been used. Neither the icon nor the marker is designed. Learn the colour, not the tile. Purple: bedrooms, always a trunk. Green: dig spots, count on the back. Orange: hallways, 1 Key on entry, Foyer and Great Hall excepted. Yellow: shops, ring the bell for 2 coins on first entry, then buy from the shop’s card. Red: 0 gems to draft, the tile says what it costs you, a Shelter token cancels it. Blue: read the tile. Each colour’s card uses the same eight lines in the same order (Gem cost / When placed / On entry / Trunk / Dig spots / Locks / Other / Exceptions). The exception count per colour is the honest measure of whether the rule is real; purple has seven. QQ’s caution, kept: colour rules must not flatten the house. Where it landed: the colour rule says what’s always true (there is a trunk); what’s inside stays random (the deck); every room’s own numbers stay on its tile; learning the house by heart is what the video game’s campaign is too. The whole house stays. Shrinking the bag would be “becoming a completely different game.” The publisher’s ten rooms is a way to test, not a game to build. Rule: nothing is reprinted before the new text has been tested on marker tiles. Deck-language rule (QQ): tiles say “draw 1 card,” never “1 item”; Keys never stack on a card (gems, dice and fruit may).
workbench/room_rules_first_pass.html (records the rule; no production file updated yet)
Rules Change
Draft from the bag; towers and Drawing Board retired
“Towers have a usability problem.” Draw 3 from the bag, place 1, the other 2 go straight back in the bag. The same for the Library’s three leftovers, the Greenhouse’s extra draws, Study redraws and Ivory Dice redraws. The Drawing Board / Holding Cell (two unchosen tiles cool off one turn) is retired — it worked on its first try in Session 3 and goes anyway. It is still referenced in the table card, teach script, quick_reference.html, design_documentation.html, CLAUDE.md and DEV 15; remove in the doc pass. DEV 3 and DEV 15 contradicted each other; this resolves to row 3. The dealer towers stay as objects (Post 32) but are not the draft mechanism.
workbench/room_rules_first_pass.html — production files not yet updated
Rules Change
Trunks: every bedroom, plus Attic, Den and the Garage’s car trunk — nowhere else
Always locked; 1 Key or the Sledge Hammer (unchanged from Sept 10). Where: every bedroom, plus the Attic and the Den, plus the Garage’s car trunk (Car Keys only, 2 Trunk Contents cards). No green room has a trunk — “green = dig, purple = trunk.” No blue room rolls for one (Closet, Darkroom, Mail Room, Walk-in Closet, Wine Cellar: none). Replaces the Sept 10 “bedrooms and green rooms” rule and closes the punch-list question about which blue rooms roll: none do. Reasoning, all estimates: 11 trunks at a full board against roughly 15–19 Keys of income and about 10 locked doors keeps Keys scarce, so the video game’s lesson survives — “you quickly learn NOT to spend your keys stupidly on trunks and wait till you have the sledgehammer. It’s a resource management learning for the player, not a flaw.” A version with 17 trunks put too many gems on the table (about 4.3 gems a run from trunks alone) and too many tokens on the tiles. The hammer does show up: the Sledge Hammer is 3 of the 22 Special Items cards, not one. Deviation to log: the video game guarantees no trunk anywhere in the default bag. Open: the Nook was defaulted to no trunk by the assistant (QQ didn’t name it); the Foundation’s trunk is undecided.
workbench/room_rules_first_pass.html — quick_reference, item_spawn_reference, design_documentation, room_glossary, rooms-data.js not yet updated
Rules Change
Dig spots, default bag, room by room — all always present, no roll
The Foundation 3 · Cloister 3 (no unlock condition; the walled garden goes to the lore list) · Greenhouse 3 · Wine Cellar 2 · Veranda 2 · Terrace 1 · Patio 1 · Storeroom 1 · Furnace 1 · Courtyard 0 (the Shovel is there) · Garage 0 · Closet 0 (wiki confirms the video game Closet has none). Supersedes the Sept 10 dig strip for these rooms. Estimate: about 20 dirt tokens on a full board; 50 owned. Rooms not in the bag by default (Secret Garden, Dovecote, Kennel, Morning Room, Solarium, Tunnel, Root Cellar) get their own session. Deviation to log: fixed counts where the video game has a chance.
workbench/room_rules_first_pass.html — workbench/protospiel_dig_strip.html and design_documentation.html Section 8 not yet updated
Rules Change
Room by room
Garage: 3 Keys on entry (the room grid had dropped them; the caption “+3 Keys” was right). Car trunk opens only with the Car Keys, 2 Trunk Contents cards. When placed, the door opens and the West Gate opens permanently (Campaign Sheet); the Garage tile itself resets each run; Garage ↔ Entrance Hall costs 2 steps while the Garage is on the board. Deviation to log: door opens on placement (video game: wall button or steam). Music Room: first entry, draw 1 Resource Items card and draw one Archived Keychain box. Once. Deviation to log: the video game’s guaranteed basic Key becomes a Resource card. Locksmith: the video game shop as printed, on a new shop card — Key 5 · Set of 3 Keys 12 · Special Key 8, once per day (draw one Keychain box) · Lock Pick 10, not sold if already in play. The grid’s free Key on first entry is dropped (video game: the Locksmith never contains items). First concrete answer to Session 3’s question about what coins are for. Library: no Key (video game: none). Draw 4, keep 1, three back in the bag. RECONFIRM — this overturned DEV 17 (Locked, “key to a locked cabinet”) on the assistant’s false statement that no row existed. Boudoir: no steps of its own; +10 if Her Ladyship’s Chamber is on the board; safe-room gem. The assistant proposed its item roll draw a Special Items card instead of a Resource card — unconfirmed. Bunk Room: no steps; draw 1 Resource Items card and take it twice (the video game’s pair of identical items); counts as 2 bedrooms; the only place a Key card doubles. RECONFIRM — overturned DEV 19 and DEV 37 (Locked) on the same false premise. Freezer: the freeze is back, as in the video game — coins and gems can’t be spent for the rest of the day and carry over to the next run. Furnace thaws them (“the synergy with furnace is that it can melt frozen assets”); otherwise the Furnace does nothing except its 1 dig spot and, with the Freezer, triggering the Freezer Letter. Storeroom: 1 Key, 1 gem, 1 coin on first entry, once (grid said every time). Safe rooms — Study, Office, Boudoir, Drawing Room: 1 gem on entry, once per run, every run, as a stand-in while the safe and red-letter system is worked out. Drafting Studio: no gem (the video game’s model safe has none). Deviation to log: the video game gives the gem only after the safe is cracked. Rotunda: the 1-step-per-turn cost to rotate was “completely invented” — turning is free; placed in the centre of the house (the wiki says “center” with no number; “centre three columns” is the assistant’s reading). Hallways: all give 1 Key on entry except Foyer and Great Hall (DEV 16 covers the Hallway; Passageway and Secret Passage are unconfirmed — the grid said the Passageway does nothing else). Gallery and Room 8 join the default bag as plain blue rooms (see clue cards). Deviations to log: Gallery is post-win in the video game; Room 8 is reached only via Key 8; their puzzles are removed for now. Bedroom: the video game gives +2 on every entry (the wiki notes the step-farming exploit); the table has it once. Open — decide.
workbench/room_rules_first_pass.html
Rules Change
Clue cards: four pieces, one per lever, one per puzzle room
The eight printed “A Clue” cards are fragments of the video game’s Antechamber Entry Controls blueprint (north lever: underground; east: Great Hall; south: Greenhouse; west: Secret Garden). They become four pieces, one per lever, held by the video game’s four puzzle rooms: Parlor, Billiard Room, Gallery, Room 8. First entry ever: take the piece and keep it; tick the Campaign Sheet. The printed “Return to bottom of pile” is wrong — reprint as “Keep this clue.” No puzzle inside any of the four for now (Room 8 needs a Key 8 that iam8bit doesn’t make). Which piece lives in which room (the table has Parlor West, Billiard East, Gallery South, Room 8 North) is the assistant’s assignment — not settled. The north piece points at expansion content on purpose, the same logic as the Shelter’s blank fragment. The video game’s four backup levers and the journal page are expansion; the Weight Room wall needs the video game’s Power Hammer (expansion), so the Sledge Hammer card’s “and certain walls” is a tease or a reprint fix. “A clue every rank you complete” is dead. QQ’s cut-up wordplay (“TRY CONTROLS” from “ENTRY CONTROLS”) survives a four-quadrant cut if the title is split “ANTECHAMBER EN | TRY CONTROLS.” Three lever paths checked against the wiki: west — Secret Garden (weather vane, permanent; lever resets daily); south — Greenhouse (broken base + Broken Lever, rest of day); east — Great Hall (prize chamber); north — moon symbol, no base-game path. The Greenhouse row had no lever text at all — added. Not yet logged: the video game’s Antechamber gives the Basement Key; this game gives the Room 46 Key and the win. Proposed, unconfirmed: the tile back says what the room does (“pull the lever; one Antechamber door opens”) and the clue piece says which door.
workbench/room_rules_first_pass.html — clue cards to be reprinted
Decision
Great Hall — two Silver Key models written, neither chosen
From the wiki: seven locked doors including the exit (always locked); the six side doors hide two prize chambers, two passages to always-unlocked side exits, and two dead ends; prize chambers only behind edge doors; the east lever is in one prize chamber; plain Keys work; the Foyer opens all; the Secret Garden Key can’t be used inside; the layout randomizes daily. Model 1: the Silver Key opens every locked door on the board, the Great Hall’s six included (QQ’s Protospiel note; QQ called it “OP” but was open to it). Model 2: the Silver Key opens one locked door free, then you draw until a 3- or 4-door room appears; the Great Hall’s side doors cost 1 Key each with a d6 for what’s behind them (1–2 dead end, 3–4 passage, 5–6 prize: 1 gem; first prize found holds the lever); the Foyer opens all six. The assistant recommends Model 2. QQ on the video game’s Silver Key: “used in a very specific moment and you don’t even really FEEL the effects. It’s very lackluster.” A special die for the room was proposed by QQ and rejected on his own Post 20 rule (three dice, three jobs) and because a die can’t do “no repeats.” The grid’s “spend 3 Keys” stays as the placeholder. A “lever pulled” marker is needed either way; none exists.
workbench/room_rules_first_pass.html (Great Hall row: PENDING)
Added
Room rules review table (workbench) — 68 rooms, every field with its source
One row per default-bag room (65 draftable + 3 fixed; Gallery and Room 8 added). Fields: colour, doors, gem cost, dig, trunk, item roll, trigger, proposed front line and its type, character count, whether it needs a table-distance icon, back text, and a Why column naming the source of every field — “mine” marks the assistant’s proposals. Six colour cards with the same eight lines. A wiki cross-check section. Filters for open rows. The 88 front lines are proposals, untested; the character limit comes from a print test, not this table. QQ ran two audit passes on the assistant’s work; findings, all corrected in the table: numbers stated as facts that had never been counted (“a third of captions,” “≤22 characters,” “7pt readable,” label dimensions, “most runs complete one or two ranks,” summary totals typed in rather than computed); gaps filled “for completeness” (a timing for the Courtyard’s Shovel, a Campaign Sheet note for the Master Bedroom, a Security staff-notice card that was designed and never built, “dead end” on the Closet, a line claiming the tile rewrite “isn’t a departure from the video game” — it is); jargon sent back (“stub,” “pointer,” rooms as “streets”); the Garage assumed to persist across runs (only the West Gate does); the Protospiel table assumed to be strangers. The worst: a heading over 23 items claiming “no deviation row for it,” written without opening design_deviations.html (51 rows). Six were logged, several Locked. The Library Key and Bunk Room decisions were made on that false premise and are flagged RECONFIRM above. Special Items deck facts (from the photos): Sledge Hammer 3 of 22, Shovel 3 of 22; duplicate cards for single tokens (3 Shovels, 3 Sledge Hammers, 2 Salt Shakers, 2 Metal Detectors, 2 Magnifying Glasses, 2 Broken Levers) have no “already holding it” rule — needs one line like the Keychain’s “box empty → take 3 Keys”; the Metal Detector card (draw one Resource card each time a new room is drafted) is the strongest card on the table and isn’t logged; three Banana cards say +2 steps where the rule is +3 — misprint, reprint later.
workbench/room_rules_first_pass.html · workbench/handoff_protospiel_reckoning.md (the session record the next chat wrote Post 33 from)
Published
Post 33 — “All Dressed Up and a Place to Go”
The Protospiel debrief and the Sept 17 decisions in plain words, dated Sept 17. Follows Post 32 (“Tell Me This Thing Is Not Fun”); Post 29 remains a held draft outside the sequence. Five images in images/posts/ (packed box, banner, table with the “Players Wanted” balloon, the tile-back sketch, the “Claude lied” illustration). Wired: blog.html top entry, nav.js footer, next-link from Post 32. The post states the caption count as unverified and the Great Hall as undecided.
posts/post-33.html · blog.html · nav.js · posts/post-32.html · images/posts/post_33_*.jpg
September 11, 2026 Blog Cleanup · Protospiel Prep · Trunk & Dig Rules
Rules Change
Trunks are always locked — lock-state roll removed
Confirmed by QQ (Sept 10): every trunk is locked and opens with 1 Key or the Sledgehammer. No blue-die roll for lock state. Matches the VG, where trunks always take a key. Trunk presence unchanged: Bedrooms and Green Rooms always have one (place on draft); the specific Blue rooms listed in rooms-data.js roll d6 on draft, 4–6 = trunk. This was decided in conversation months ago but never reached the files — quick_reference.html, item_spawn_reference.html, design_documentation.html, room_glossary.html and every roll: field in rooms-data.js still describe the old blue-die lock roll. Those files are not yet updated — see punch list. The Protospiel table sheets (workbench) carry the new rule.
workbench/protospiel_table_card.html · workbench/protospiel_teach_script.html · workbench/protospiel_room_grid.html
Rules Change
Dig spot counts set per room (supersedes Section 8 table)
QQ set the counts on Sept 10 for the Protospiel dig strip: Secret Garden 4 · Kennel, The Foundation, Wine Cellar, Cloister 3 · Courtyard, Patio, Greenhouse, Veranda, Dovecote, Tunnel 2 · Terrace, Closet 1 · Root Cellar: +1 to every room placed afterward. These differ from the design_documentation.html Section 8 table on six rooms (Courtyard, Wine Cellar, Cloister, Dovecote, Secret Garden, Foundation), from room_setup_reference.html (Courtyard 3), and from rooms-data.js (Terrace 2, Cloister 2, Wine Cellar d6). Wiki check (blueprince.wiki.gg) found the VG has no fixed counts — rooms have “a random or definite chance” — so the table is a BPBG abstraction, not transcription. Three findings need design_deviations.html entries: (1) VG Cloister dig spots are sealed and inaccessible; the Solarium–Cloister unlock is a BPBG invention, not canon; (2) VG Closet has no dig spots; (3) VG base Courtyard has no dig spots (only the upgraded variant). The dig strip is the source of truth until the docs are reconciled.
workbench/protospiel_dig_strip.html
Add
Protospiel Chicago 2026 table kit (workbench)
Four printable sheets built for the Sept 11–13 event, all in workbench/, all plain-language, all reflecting the always-locked trunk rule and the new dig counts: 5-Minute Teach (one page, six timed beats, do/don’t strip); Table Card (landscape: five-step turn loop + answers to the core questions); Dig Spots on Draft strip (two per sheet); Room Grid (four landscape sheets, 84 rooms, one square each: color, gem cost, dig, trunk, items, action). Built from rooms-data.js, item_spawn_reference.html and quick_reference.html. Not linked from the site; not production rules.
workbench/protospiel_teach_script.html · workbench/protospiel_table_card.html · workbench/protospiel_dig_strip.html · workbench/protospiel_room_grid.html
Fix
Blog scan — 34 files audited, gaps logged
Every file in posts/ checked for title, date, placeholders, missing images, broken links, name leaks, and prev/next. Findings: post 29 was listed on blog.html only inside an HTML comment (never live); post 30 (July 16) finished but never listed; four -DRAFT files with [QQ: …] prompts; prev/next links dead after post 7; footer “Dev Log” frozen on posts 23–27; homepage “Building in Public” frozen on posts 3–8 since April; post 12 dated Apr 18 on the index vs Apr 17 in the post; a stale duplicate post-29.html at repo root. No real-name or initial leaks in any post.
posts/*
Held
Post 29 moved to draft — not to be published
QQ’s call: post 29 (“I’ve Been Lying To You For Weeks” / “On Claude and Continuity”) stays unpublished. Renamed posts/post-29.html → posts/post-29-DRAFT.html to match the other drafts; commented-out blog.html entry removed; stale root-level copy moved to _to_delete/post-29-old-root-copy.html. The numbered sequence now goes 28 → 30.
posts/post-29-DRAFT.html · blog.html · _to_delete/
Published
Post 30 “131 Faces” cut from 2,900 to ~1,900 words and listed
Typography section removed and folded into posts/story1-fonts-DRAFT.html (new “The card type system” section; QQ’s angle for that post is respecting the source material — Mt. Holly’s own type). Five catalogue deck sections (Resource Items, Trunk Contents, Lever Clues, Treasure Maps, Kitchen/Meal) compressed into one section, “The other six,” keeping their card images. Dig Results caption “That’s the joke” removed. Typo confession trimmed. Meal Cards back path fixed (back-dinner.png → dinner-back.png). Header is the deck-back grid, post_30_backs_web.jpg (2400×657, 173 KB, resized from the 3.2 MB original which is kept alongside). Added to blog.html as the top entry.
posts/post-30.html · posts/story1-fonts-DRAFT.html · blog.html · images/posts/post_30_backs_web.jpg
Published
Post 32 “Tell Me This Thing Is Not Fun” — the dealer tower
Split from the materials draft. Dated Sept 10 (both of today's posts carry the 10th; the 11th is reserved for event posts). Hero: drafting-both-web.mp4, VG draft screen above the tower below, autoplay muted loop, caption “Same snappy feel.” Dealer-demo clip removed; VG draft clip kept. New paragraph makes the feel claim explicit: the tower's slide-out is the closest physical match to the VG draft screen in the prototype. Maker credited: Inspired Tabletop (Etsy, Chicago). Rarity-towers idea kept to one paragraph linking Post 26 and the new Model D entry, with an inline SVG of a by-rank button recipe (placeholder ratios, labelled as such). Closing pull is the dare plus the “property of a good mechanism” line. Also cut today: a 14.6 s silent montage of the dealer footage, dealer_montage_15s.mp4 / _web.mp4, not used in the post. Wired: blog.html top entry (thumb = hero poster), footer, homepage, chain 31 → 32.
posts/post-32.html · blog.html · nav.js · index.html · design_ideas.html · images/posts/dealer_montage_15s*.mp4
Published
Post 31 “The Awkward Teen Phase” — materials post, split from the dealer post
story2-materials-DRAFT.html became two posts. Post 31 (dated Sept 10): the materials tour — chests, telescope, dig tokens, coins, deck backs, meal cards, Entrance Hall clue, green-room family, tile generations, the two key props. All twelve [QQ] prompts resolved in conversation: chests are two different minis (large detailed one vs small paintable one), neither used — the solid gold cube won; Telescope was the first mini painted (purple spray); Secret Garden Key is the iam8bit replica; Archives keychain is expansion material; the 1:30 clock line is the only tile text QQ wrote himself; Tunnel block and Alzara sections cut; Closet-pair figure cut (it was old-vs-new, duplicating the three-room generations photo). New images: post_31_tile_generations.jpg (from IMG_6452) and a three-up row of the produced tiles (post_31_tiles_antechamber/grid/spread.jpg) above the closing pull. Opening rewritten to carry the summer-quiet frame and point at post 30. Post 32 took the dealer-tower section (hero video drafting-both-web.mp4, 1280px, 2.2 MB, silent, from the 41 MB original, with poster) — see its own entry above. post-31-DRAFT.html (the abandoned fork) retired to _to_delete/. 46 HEIC photos in images/posts converted to JPG (2000px); originals moved to _to_delete/heic/.
posts/post-31.html · posts/post-32.html · blog.html · nav.js · index.html · images/posts/
Fix
Prev/next rebuilt on all published posts; footer and homepage refreshed
Every published post (01–28, 30) now has one post-nav block in the same position: ← previous title / next title →, first post has only next, last has only previous, chain skips the 29 draft. Titles pulled from each post’s own h1. Verified programmatically: 56 links, all resolve, div counts balance. nav.js footer Dev Log column now 30, 28, 27, 26, 25. index.html “Building in Public” now 30, 28, 27, 26, 25, 24. Post 12 date on blog.html corrected to April 17.
posts/post-01.html … post-28.html, post-30.html · nav.js · index.html · blog.html
Add
Homepage rebuilt — video hero, photo gallery, dev log thumbnails
The old index.html had not changed shape since spring: a still hero, stat strip, a “Building in Public” row that sat on posts 3–8 for five months, and a long About. Rebuilt on the same site.css tokens. Hero is the 15-second dealer-tower montage (dealer_montage_15s_web.mp4, autoplay muted loop, poster fallback), same three CTAs. Stats corrected: 110 room tiles, 131 cards in 10 decks. New “What’s on the table right now” section: a nine-photo gallery grid, every photo a link into the post where it happened, with a one-line caption and month — dealer tower (32), produced tiles (31), the two chests (31), 131 Faces (30), the green rooms (31), Secret Garden Key (31), Session 3 (21), the spinner (23), Room 46 (31). Dev Log now shows the three most recent posts with thumbnails instead of six text cards. Play it: four cards (First Run, Quick Reference, Print & Play, Room Glossary) plus “All documents” to rules.html. About shortened to one paragraph and a fact grid (40 mm tiles, drawstring-bag draft, solo/2-player, ~45 min) linking to about.html. Ten new 1200×675 crops in images/home/. “Dev Log” label kept — the Blog-vs-Dev-Log naming question is parked. Rendered at 1400 and 400 px; no horizontal scroll, all image and link targets exist on disk. Follow-ups same night: hero now plays the montage once per tab and rests on the all-tiles still (a refresh shows the still; a new tab replays), reduced-motion users get the still only; the four Play it cards got hand-drawn inline SVG icons — sneaker (Steps), magnifying glass, print-and-cut card, manor grid with the Antechamber lit.
index.html · images/home/home_*.jpg (10 new)
Note
Deploy state
QQ pushed most of the September work (f248029). Still local at time of writing: the rebuilt index.html, the images/home/ crops, and small edits to posts/post-24.html, posts/post-32.html and this changelog. One more commit and push puts the homepage live.
—
July 15, 2026 Fix · Lock Indicators Removed From Markup
Site
index.html — removed Tracking Sheets section, split Print & Play into two columns
The homepage section grid (2 columns) had a lopsided Print & Play block of 10 decks sitting next to a one-item Tracking Sheets block (which also mislabeled itself “2 docs”). Removed the Tracking Sheets block and split Print & Play across two side-by-side section-blocks (5 decks each) to fill the vacated row and balance the grid. All ten *-print.html links preserved; the second column uses a dimmed “cont.” continuation header. Campaign Sheet (the only Tracking Sheets item) remains linked from the nav.js footer and tracking.html, so it is not orphaned.
index.html
Fix
nav.js footer + nav-highlight still referenced the old print decks
Thorough audit of print-page links across all file types (per the July 15 postmortem — check shared components, not just pages). The nav.js footer “Print & Play” column linked the retired alzara_cards.html and treasure_map_cards.html sheets; repointed to resource-items-print.html and special-items-print.html (Campaign Sheet kept). The nav-highlight isActive([…]) array still listed stale deck stems (alzara, tomorrow, commissary, special_items, dig_results, trunk_results, meal_cards, treasure_map), a duplicate campaign_sheet, and the never-existed player_sheet; simplified to ['print','tracking','campaign_sheet','constellations'] — the 'print' stem matches all ten *-print.html pages with no false positives. Verified: zero stale old-deck links site-wide, all ten current print links resolve. Left untouched (verified legit, not stale): kitchen_menu_card.html (the in-game Kitchen Menu Card in the Reference section — distinct from the Kitchen Menu print deck) and the meal_cards.html mention in posts/post-07.html (editorial prose).
nav.js
Fix
index.html Print & Play list was still pointing at the old card decks
The homepage carries its own Print & Play list (a section-block) separate from print.html; the July 10 rebuild updated print.html but missed this one. It still showed the pre-rebuild decks: old links (common_items_cards.html, trunk_results_cards.html, etc.), old names (“Common Items Deck”, “Trunk Result Cards”, “Dig Result Cards”), old counts (30/24/21/12…), the retired “Tomorrow Room Cards” deck, and a “9 decks” header. Rewritten to mirror print.html exactly: the ten current decks with new *-print.html links, new names (Resource Items, Trunk Contents, Dig Results, …), corrected counts, Lever Clues + Kitchen Menu in place of Tomorrow Room, and a “10 decks” header. Verified all ten links resolve and no old *_cards.html links remain on the page. (The only surviving old-page reference site-wide is editorial prose in posts/post-07.html auditing the old meal_cards.html — left as historical record.)
index.html
Fix
Removed lock icons from the shared nav/footer (nav.js) — showed on every page
The footer & mobile-nav injected by nav.js each carried a padlock icon on their design_documentation.html link. Because nav.js renders on every page, these two icons appeared site-wide (including the footer on index.html) — and were missed by every prior pass because those passes grepped page HTML only, never the shared injected component. Both icons commented out of nav.js. Also deleted nav_fix.js, an unreferenced git-tracked duplicate of nav.js that still held two lock icons (dead file, not loaded by any page). This is the same postmortem failure repeating: check the thing that renders on every page, not just the pages. Verified: the padlock SVG path now appears in zero live files (HTML/JS/CSS).
nav.js · nav_fix.js (deleted)
Fix
Replaced CSS-hiding with direct markup removal — lock icons still rendered
The July 12/14 approach hid the remaining lock indicators with display:none!important CSS rules. In practice the icons were still visible to the user on index.html. Switched to commenting the SVG/badge markup out of the DOM entirely (<!-- lock icon removed --> / <!-- lock badge removed -->), which does not depend on the cascade, cache, or selector matching. Removed this way: index.html — 4 doc-linked padlock SVGs (hero & featured "rules" buttons, Design Documentation carousel card, doc-list link); design.html — 10 padlock SVGs on doc-entry-title plus the 🔒 PASSWORD text badge. Verified: 0 <svg> and 0 rendered 🔒 in both files; site-wide the padlock SVG path no longer appears in any file. The old display:none rules on design.html are left as harmless dead code with an updated comment. To restore: un-comment the <!-- lock icon/badge removed --> markup (and the gate <script> blocks); delete the dead CSS rules.
index.html · design.html
Postmortem
Why so many lock indicators were missed across repeated passes
This task took four passes (July 12 → 15) to actually clear, which is embarrassing given “remove the locks” is a simple ask. Root causes, recorded so it isn't repeated: (1) Confirmed the selector, not the outcome. Each pass I verified that a CSS display:none rule matched the icons and declared victory — but never confirmed they were actually invisible in a rendered browser. The rule looked correct on paper (stylesheet !important should beat inline non-!important), so I trusted the theory over the user's direct observation that the icons were still there. Analysis is not verification. (2) Grepped for one signature, not the concept. Early passes searched only for the padlock <svg> path, so the 🔒 PASSWORD text badge and the 🔒 emoji suffixes in posts/post-26.html were invisible to the search and surfaced only on later, broader sweeps. A “lock indicator” is a concept with several representations (SVG icon, emoji badge, emoji suffix, gate text), and each pass widened the net only after the previous one missed something. (3) String-matching fragility. One index.html icon survived a bulk find/replace because its SVG abutted </span> with no leading space while my search string assumed a leading space — the count said 1 remained, catching it, but it should have been anticipated. Lesson: for “make X not appear,” verify the rendered result (0 elements in the DOM), enumerate every representation of X before searching, and prefer removing markup over relying on CSS to suppress it.
— (process note)
July 14, 2026 Cleanup · Lock Icon Policy
Cleanup
Removed six misplaced lock icons (policy violation)
A site-wide audit of the padlock SVG found it on pages where the lock-indicator policy forbids it (“Do not add lock icons to… blog post titles”). Removed permanently: two icons on blog post titles in index.html (“The Audit” and “The House That Already Exists”) and four in prev/next post-navigation links (posts/post-04.html, posts/post-06.html ×2, posts/post-10.html). These pointed at other blog posts, not locked docs, so the padlock was meaningless. Nav links now read cleanly (e.g. ← The Gem Desert, The Audit →). This is a permanent fix, independent of the temporary gate-off state — no restore step. A broader indicator audit also found two 🔒 emoji suffixes on sidebar links in posts/post-26.html (“Difficulty Curve Models 🔒”, “Design Ideas 🔒”); the emoji were removed outright (also permanent). After cleanup the padlock SVG survives only where policy allows: design.html (10, on doc-entry-title) and index.html (4, all pointing to the locked design_documentation.html); both sets — plus the 🔒 PASSWORD badge on design.html — are currently temp-hidden while the gate is off. All blog posts are now indicator-free.
index.html · posts/post-04.html · posts/post-06.html · posts/post-10.html · posts/post-26.html
July 12, 2026 Temporary · Password Gate Disabled
Temp
Password gate temporarily disabled on all protected docs
The password gate (room46 / bp_doc_auth) was temporarily switched off on all eleven protected pages so they render without a prompt: design_documentation, definition_of_done, production_guide, shopping_list, design_deviations, room_setup_reference, difficulty_curve_comparison, changelog, design_ideas, blue_prince_expansion_list, and the-case. On each page the gate <script> block was wrapped in an HTML comment marked PASSWORD GATE TEMPORARILY DISABLED — remove this comment wrapper to restore; the code is intact and reversible. The lock icons were hidden via temporary CSS rules (same restore marker): on design.html (.doc-entry-title svg) and on index.html, where four lock icons point at locked docs (hero/featured "rules" buttons, the Design Documentation carousel card, and the doc-list link — .btn-outline svg,.carousel-card-title svg,.section-block-list a svg). The index.html rule deliberately does NOT touch the two lock icons on blog post titles (lines ~226/238) — those are a pre-existing policy violation, tracked separately. A follow-up audit (July 14) also found a 🔒 PASSWORD text badge on the Design Documentation entry in design.html that the SVG rule missed; it is now hidden by the same temporary rule (.doc-entry-tag span). No file content or gate logic was deleted. To restore: remove the comment wrappers on the eleven pages and delete the three temporary CSS rules (.doc-entry-title svg and .doc-entry-tag span in design.html; the button/carousel/list rule in index.html).
design_documentation.html · definition_of_done.html · production_guide.html · shopping_list.html · design_deviations.html · room_setup_reference.html · difficulty_curve_comparison.html · changelog.html · design_ideas.html · blue_prince_expansion_list.html · the-case.html · design.html · index.html
July 10, 2026 Print & Play Rebuild · Card Decks
Site
Print & Play section rebuilt around exported card images
Home-print card art re-exported as 131 individual PNGs (poker faces + backs), normalized to 750 × 1021px @ 300 DPI and organized into ten decks: Resource Items (29, formerly "Common Items"), Special Items (21), Dig Results (17), Trunk Contents (15, formerly "Trunk Result Cards"), Treasure Maps (8), Lever Clues (8, new deck), Commissary Stock (7), Alzara Prophecy (6), Kitchen Menu (5), Meal Cards (5). Fixed a filename typo on disk (coomissary-stock-back → commissary-stock-back).
images/cards-for-print/*.png
Site
New PNG-based printable sheets + per-deck ZIP downloads
Ten fresh print-sheet pages generated (<deck>-print.html), each tiling the deck's PNG faces nine-up on US Letter with a matching card-back sheet for duplex printing, a Print button, and a ZIP download link. Each deck also packaged as a ZIP of its individual PNGs in images/cards-for-print/zips/. print.html rewritten to list exactly these ten decks with both "Print sheet" and "Download ZIP" actions. Retired the old hand-built card sheet-pages and the Tracking/Reference/Tomorrow Room entries from the Print & Play index (these ten decks are now the full home-print set). nav.js wired into every new page.
print.html · resource-items-print.html · special-items-print.html · dig-results-print.html · trunk-contents-print.html · treasure-maps-print.html · lever-clues-print.html · commissary-stock-print.html · alzara-prophecy-print.html · kitchen-menu-print.html · meal-cards-print.html · images/cards-for-print/zips/*.zip
June 2, 2026 Session 12 · Site Restructure · Repo Hygiene
Site
Full project backup to Google Drive
Entire project folder zipped and saved to Google Drive before beginning any repo reorganization work.
— (external backup)
Site
Image folder reorganization — complete
All images moved from flat images/ root into subfolders: posts/, playtests/, tokens/, lore/, metaclues/, win/, room-cards/, art-assets/, promo/, misc/, icons/, fonts/. All HTML file image paths updated across the full site. Verified clean via deadlinkchecker.com — 232 OK. Five remaining flagged items are intentional placeholder slots in interview2.html with onerror fallback handlers. Global broken image handler added to nav.js — any failed img tag now shows a navy "Image Unavailable" placeholder automatically.
images/ (all subfolders) · nav.js · all post-XX.html · blog.html · index.html · postcard_chain_table.html · special_items_all_sheets.html · item_spawn_reference.html · and others
Site
Post files moved into posts/ subfolder
All 28 post-XX.html files moved from repo root into posts/ subfolder. Internal paths updated with ../ prefix (site.css, nav.js, images/, blog.html back link, root page links). Root-level files updated: blog.html, index.html, design.html, and nav.js footer links all point to posts/post-XX.html. nav.js converted from relative to root-relative hrefs (href="index.html" → href="/index.html") so nav renders correctly from any subfolder depth.
posts/ (new folder) · nav.js · blog.html · index.html · design.html · all post-XX.html
Cleanup
Dead player_sheet.html links removed
player_sheet.html was referenced in index.html and tracking.html but the file never existed. Both links removed. Pre-existing dead link, not a regression.
index.html · tracking.html
Site
.gitignore created
_meta/ folder gitignored — session handoff files, private notes, and design docs never push to Netlify. production/ gitignored. Font subfolders gitignored. *.zip, *.eml, .DS_Store gitignored.
.gitignore
May 28, 2026 Session 11 · Site Polish · Design Capture · Event Prep
Site
Favicon added — three-size SVG set
Three SVG favicons created: 64px and 32px show a room tile (dashed border, four door notches, centered lock icon); 16px shows the tile with notches only — no lock, for legibility at small size. Navy #0D253D background, white lines. Injected globally via nav.js — no changes needed to individual HTML pages.
favicon-64.svg · favicon-32.svg · favicon-16.svg · nav.js
Site
Playtest status band added to homepage
New navy full-width band added above Featured Documents section. Four stats displayed with large Cinzel numerals: Sessions Complete (3), Days Played (6), Net Promoter Score (7), Players Would Play Again (✓). "Read the report →" link in new light blue link treatment. Old single-line playtest strip removed — was redundant with the new band.
index.html
Site
link-light utility class added to site.css
New global utility class .link-light for inline links on navy backgrounds. Cinzel serif, light blue #7EB8D4, subtle underline, hover state. Documented with inline comment. Use on any <a> sitting on a navy surface sitewide.
site.css
Site
Right rail playtest form added to blog.html and cleaned up on about.html
Both pages now use a consistent two-column layout (1fr 340px) with the Calling All Playtesters form tile in the right rail. Form cleaned up: rotated "Calling All Play Testers" text removed, crown image repositioned as a CSS-placed absolute element on tile corner, heading simplified to 18px bold Cinzel. Placeholder text updated to Simon / Simon@mt.holly.com. Form tile is now a reusable pattern for future pages.
about.html · blog.html
Site
thanks.html icon replaced with favicon SVG
The ⬡ hex emoji on the form confirmation page replaced with an inline SVG matching the 32px favicon — room tile with dashed border, notches, and lock — rendered at 64px display size.
thanks.html
Site
nav.js footer updated — posts 22 and 23 added
Dev Log footer column updated to show Post 23 (May 28 — Looks Only Get You So Far) and Post 22 (May 27 — Zooming Out) at the top. Posts 17 and 16 rolled off the bottom.
nav.js
Design
Room Tile Visual Redesign logged in design_deviations.html
New Proposed/High deviation entry. Session 3 revealed that baked-in VG subtitle text on room tiles caused players to treat tile notes as complete instructions, skipping the glossary entirely. Proposed resolution: source clean art via inpainting tools (cleanup.pictures confirmed viable on Foundation tile) and author custom instructional text with controlled hierarchy. Gem cost on tile front. 110 rooms — needs strategic rollout. Tonda Ros credited and acknowledged in notes.
design_deviations.html
Design
Two magnet component ideas logged in design_ideas.html
Magnet-Backed Realm Core Tokens: 3D-printed Realm Core shapes (Printables model by Aramendry) include a magnet cavity version — tokens snap to metal play surface. Magnetic Play Surface: room tiles with embedded magnets on a steel sheet mat — eliminates tile drift. Both Proposed/Component, both dated May 28. Entries cross-reference each other.
design_ideas.html
Event Prep
Event card created for Riso Quest / AIGA event (May 31)
Front/back takeaway card. Front: QR code linking to blueprinceboardgame.com. Back: Blue Prince Board Game title in game-accurate bold condensed font treatment, navy background, blueprint grid. Printed at 3.5×3.5 inches. QR generated as PNG at 444×444px with navy fill.
event_card.html · qr_bp.png
May 25, 2026 Session 10 · Brutal Simplification · Rules Implementation
Blog Post
Post 19 — Brutal Simplification published
Memorial Day weekend post. Captures the design tension of deciding what to cut from the adaptation — Tomorrow Room cards, Alzara, Kitchen/Dinner cards, Metal Detector, small-effect items, Treasure Maps. Written before the May 26 playtest that will resolve the list. Handwritten notes photo included. Post ends unresolved deliberately — a "before" to the playtest "after."
post-19.html · blog.html · nav.js · images/post19_brutal_simplification.jpeg
Rules Change
Safe rooms — simplified to 1 gem on first entry each run, no tracking
Previous rule: first-ever campaign entry into each of the four safe rooms (Drawing Room, Boudoir, Study, Office) yielded 1 red gem, tracked via Carry-Forward card. All subsequent entries in that campaign also yielded a gem. New rule: all six safe rooms (Drawing Room, Boudoir, Study, Office, Drafting Studio, Shelter) yield 1 pink gem on first entry each run. No tracking. No red gem distinction — all gems are pink. Carry-Forward card rows for safe rooms removed. Additionally: Wine Cellar incorrectly had a safe note in the glossary — removed (no safe exists in the VG).
blue_prince_rules.html · room_glossary.html
Removed
Tomorrow Room cards removed — Campaign Sheet replaces throughout
The physical Tomorrow Room card deck is removed from the base game. All "take the card on draft" language replaced with "check the Campaign Sheet box." The Campaign Sheet already had checkboxes for all Tomorrow Room bonuses (Sauna, Morning Room, Freezer, Coat Check, Clock Tower, Planetarium, Her Ladyship's Chamber, Master Bedroom) — this change makes those checkboxes the official tracking method. The card deck is moved to expansion consideration. Design Deviations entry updated: status Locked → Removed.
blue_prince_rules.html · room_glossary.html · production_guide.html · design_deviations.html
Rules Addition
Tile Orientation section added to Turn Structure
New section added after Special Placement Rules in Turn Structure. Explains that tile orientation is determined by board position, not player choice. Three cases: central tile (L and T-shape may connect from any door), edge tile from center (L-shape either orientation, T-shape fixed to middle door), edge or corner tile (all orientations fixed). Dovecote interaction noted as the one override. Added as a mid-game reference — the rule exists in the VG but was absent from the rules doc.
blue_prince_rules.html
Component
Physical token inventory added to production guide
New table added before the Production Checklist. 20 line items: padlock tokens (20), metal trunks (10), coins (100), Apple tokens (8), Banana tokens (6), Orange tokens (4), gems/pink acrylic (30), Ivory Dice (8), dirt pile tokens (50), regular keys (24), Shovel (1), Sledge Hammer (1), Telescope (1), Salt Shaker (1, flagged under review), player token (1), Shelter tokens (3), Silver Key (1), Prism Key (1), Secret Garden Key (1), Car Keys (1). Archived Keychain boxes (4) added separately. Fruit broken out by type per the distinct miniature decision.
production_guide.html
Rules Change
Archived Keychain mechanic adopted — blind draw replaces all Special Key rolls
All four Special Keys (Secret Garden Key, Car Keys, Silver Key, Prism Key) are housed in identical iam8bit Archived Keychain boxes. Whenever a Special Key is awarded — Music Room (roll 4–5), Billiard Room (roll 5), Locksmith (8 coins), Dig Result, Trunk Result — the player picks one box blind instead of rolling to determine which key. The two-roll Music Room system is retired. Car Keys added to the blind draw pool as a base game item (previously expansion-only). Edge case: Car Keys are never consumed — if the Car Keys box is drawn while the player already holds them, the box is empty; take 3 regular keys instead. Boxes repositioned after each draw to maintain mystery. Design Deviations entry added: Locked. Design Ideas entry updated: Proposed → Adopted.
blue_prince_rules.html · room_glossary.html · dig_results_cards.html · trunk_results_cards.html · design_deviations.html · design_ideas.html · production_guide.html
Rules Change
Fixed item spawns locked in — 5 rooms
Five thematic fixed spawns added to bring item distribution closer to VG spread and give each room a stronger identity. Courtyard: Shovel always placed on tile at draft (first to enter picks it up — mirrors Her Ladyship's Chamber/Telescope pattern; no second copy if already held). Hallway: 1 Key on entry. Library: 1 Key on entry. Nursery: 1 gem on entry. Bunk Room: 1 random fruit token + 1 Key on entry. All five logged as Deviations (Low severity) in Design Deviations. Item Spawn Reference updated with new rows for all five rooms.
blue_prince_rules.html · room_glossary.html · item_spawn_reference.html · design_deviations.html
Deferred to Expansion
Alzara Prophecy Cards — removed from base game
Alzara removed from all base game documentation. Rationale: lore content carries no meaning for players unfamiliar with the VG; neither playtest group responded to Alzara as intended. The physical card deck (alzara_cards.html) is preserved for future expansion use. Rumpus Room is now coins-only on entry. Design Deviations entry updated. SVG setup diagram cleaned up — Alzara prophecy box removed, Tomorrow Room cards also removed from diagram (cards already retired this session).
blue_prince_rules.html · room_glossary.html · production_guide.html · design_deviations.html
Confirmed
Kennel dig-spot mechanic confirmed as designed
Punch list flag ("Kennel is Blue, Blue rooms don't have dig spots") resolved. The 2 dig spot tokens on the Kennel tile are intentional — the Kennel's core mechanic is dig + door unlock, and the dig spots are how you trigger that in place. Blue rooms can and do have dig spots; the original flag was inaccurate. Kennel mechanic unchanged. A deeper audit of the dirt/dig spot system across room types is flagged for a future session.
None — confirmed as designed
Rules Addition
Drawing Board — tile cool-down system added
New mechanic adopted from playtesting. The 2 unchosen tiles after each draft no longer return immediately to the Active Bag — they are placed face-down on the Drawing Board (a designated spot beside the board) for one turn, then returned to the bag at the start of the next draft. This prevents drawing back the same rejected tiles on the subsequent turn, a frequently occurring frustration documented in both playtests. The Drawing Board is the physical translation of the VG's large pool-size buffer. Library draws 3 tiles to the Drawing Board (instead of 2). Ivory Die redraws follow the same rule. Logged as Low severity Addition in Design Deviations.
blue_prince_rules.html · rank_track_card.html · loop_card.html · item_spawn_reference.html · design_deviations.html
Milestone
GitHub repository created — auto-deploy pipeline live
Project files moved into a GitHub repository (blueprinceboardgame) using GitHub Desktop. Netlify disconnected from manual drag-and-drop deploys and reconnected to the GitHub repository via continuous deployment. blueprinceboardgame.com now auto-deploys within ~30 seconds of any push to main. New workflow: edit files locally → commit in GitHub Desktop with a descriptive message → push to origin → site updates automatically. No more manual zip uploads or drag-and-drop deploys.
All project files — version control established
Rules Change
Trunk system rewritten — guaranteed placement, lock die determines state
Previous rule: roll blue die at draft to determine if a trunk exists (OPEN = trunk present, LOCKED = no trunk). New rule: Green and Pink (Bedroom) rooms always have a trunk — place token on draft, then roll blue die for lock state only (OPEN = unlocked, LOCKED = locked). Blue rooms may still get a surprise trunk via Locked Trunk token card from the Special Items deck. Red, Orange, and Gold rooms never contain trunks. Bunk Room always has one trunk (previously could have 0, 1, or 2). Design rationale: players now learn which room types always have trunks rather than rolling to discover presence — more faithful to VG, cleaner table moment, consistent with physical token model.
blue_prince_rules.html · design_deviations.html
Milestone
blueprinceboardgame.com deployed live
Site deployed to Netlify and connected to the custom domain blueprinceboardgame.com, registered via Squarespace. All 60 project files live including 17 dev log posts, full rules documentation, changelog, design deviations, design ideas, room glossary, component references, and Definition of Done. DNS configured via Squarespace custom records (A record @ → 75.2.60.5, CNAME www → Netlify subdomain). Business cards printed for the Riso Quest workshop on May 31 — QR code linking directly to the site.
All project files — first public deployment
May 14, 2026 Session 8 · QQ Solo Playtest
Playtest
QQ solo playtest — incomplete run, triple locked at Cloister
Solo run, no observer. Path built through White and Blue ranks — Entrance Hall → Music Room → Hallway → Storeroom → Spare Room → Pantry → Observatory → Dining Room → Commissary → Archives → Walk-In Closet → Secret Garden → Billiard Room → Cloister. Run ended at Cloister: triple locked (two overlapping locks on Cloister plus Chamber above), no resources to proceed. Antechamber was visible but unreachable.

Confirmed working: Observatory mechanic worked well with the Fixed Stars booklet at table. Secret Garden key with physical token felt meaningful.

Economy concern: Couldn't afford anything in the Commissary. Magnifying Glass was for sale but felt useless — no tension on step economy. Steps weren't scarce enough to make step-granting items worth purchasing.

Design questions raised (logged, not acted on):
— Should item cards without physical tokens be consumed immediately when drawn, for consistency with token-based items?
— Consider removing Alzara cards altogether.

Rules/usability issues flagged (added to punch list):
— Billiard Room: no rules entry for what happens if Secret Garden Key is already used before entering.
— Cloister: trunk option presence unclear — needs verification.
— Overlapping lock tokens: usability problem when two adjacent rooms both have locks. Tokens physically clash and become confusing. Documented with photo.
— Lock pick: thinks there should be an option — verify against VG.
changelog.html · post-17.html
May 13, 2026 Session 7 · Playtest Documentation & Physical Prototype Review
Playtest
May 9 playtest documented — Mike (first-time player, never played VG)
Surprise drop-in playtest on Saturday May 9, 2026. Player: Mike. Solo play, QQ present and observing. Completed game in approximately 40 minutes. Won via Secret Garden draft on the West Wing, made it to the Antechamber. Player had never played the video game — clean first impression.

Rules clarity issues flagged (no changes made yet):
— Needed a reminder to roll for a locked door. Suggests the lock roll trigger isn't prominent enough in the tutorial or tile reference.
— Garage instructions unclear — player seemed to grasp the concept but needed guidance.
— Music Room Special Key system caused confusion. Player drafted Music Room; QQ awarded the Secret Garden Key. The two-roll sequence (first roll to determine if Special Key is granted, second roll to determine which key) was not self-evident from the tile or rules.
— Telescope instructions unclear in the context of the Observatory.

Observatory: Felt clunky in play. Resolved by introduction of the printed constellation booklet — table reference now available without going to a screen. Telescope instructions still need a rules clarity pass.

Economy: Player expected gems more frequently — "every few rooms or so." Suggests the gem reward cadence may feel too sparse to a new player. Noted, not acted on — requires more playtest data before any adjustment.

Shovel: Never appeared in the run. Player commented "Shovel seems irrelevant" — never thought about it. Likely a non-appearance issue rather than a balance issue, but worth tracking across future sessions.

Positive signals: Understood basic mechanics without VG background. Red room Archive effect worked as intended. Completed the game and reached the win condition. 40-minute runtime is within target range.
design_ideas.html (3 new entries) · changelog.html · post-16.html
Component
Physical prototype board — navy neoprene mat confirmed, dimensions logged
Current play surface is a navy neoprene mat with stitched edge, 31" × 15.5". Size noted as not final — final dimensions TBD pending Figma mat design. Mat will include printed zones replacing handwritten labels: confirmed zones include Outer Room staging area and a No Roll indicator (covering Ranks 1–3 where lock die is skipped). Additional printed zones under consideration: designated stack placeholders for Event Additions, Studio Additions, Found Floorplans, and Outer Rooms — each a labeled square on the mat surface. Final mat design to be produced in Figma.
production_guide.html (pending update)
Design Ideas
Three new ideas filed from May 9 playtest
All three filed as Proposed in design_ideas.html — no rules or component changes made.

Physical Item Tokens: Observed player instinct to want a physical object when gaining an item card. Proposal to replace high-frequency item cards (Shovel, Telescope, Lantern, etc.) with physical tokens, reducing card footprint and improving tactility.

QR Codes on Tile Backs: Player flagged that laptop room lookup is not realistic for most players. Suggestion to print unique QR codes on tile backs linking to mobile-optimized room reference pages. Feasibility questions noted (unique codes per tile, stable hosting, print complexity).

2-Player Competitive Mode: Player suggested unprompted — two boards, one shared bag, race to Antechamber. QQ wants to test next session. Key open questions: turn structure, shared vs separate resources, Outer Room handling, win condition.
design_ideas.html
April 20, 2026 Session 6
Bug fix
Nav restored on campaign_sheet.html — confirmed working
Page was missing its <link rel="stylesheet" href="site.css">, so the nav injected by nav.js had no styles to apply. Added the site.css link, the standard body { padding-top: 0 !important } override to prevent the page's own 24px body padding from pushing the nav down, and a margin-top: 32px on .print-label so the first content element sits below the nav with breathing room rather than hugging it. Print media already hides the nav via site.css's @media print rules, so the print layout is unaffected. Visually confirmed in browser. Removed from the punch list.

Open follow-up: Other standalone print-styled pages likely have the same missing-site.css issue. Files to audit: common_items_cards.html, kitchen_menu_card.html, loop_card.html, rank_track_card.html, alzara_cards.html, card_backs.html, commissary_stock_cards.html, dig_results_cards.html, meal_cards.html, special_items_all_sheets.html, tile_backs.html, tomorrow_room_cards.html, treasure_map_cards.html, trunk_results_cards.html. Note these may be intentionally standalone for print use without nav — audit should check whether each page is intended to be browsable from the site or purely a print artifact.
campaign_sheet.html · changelog.html (punch list entry removed)
Dev Log
Post 14 published — "The Housekeeping Post"
Dev log entry documenting the three-phase CSS cleanup. Covers the design token architecture (primitive → semantic → component), the failed cascade-layers experiment and why it was reverted, the blog post consolidation (Phase 2: 362 inline CSS lines removed), the layout-alignment bug surfaced during migration (Phase 2.5), the section hub unification (Phase 3), and the decision to stop before Phase 4. Includes an honest numbers table — the codebase net grew by 125 lines, which is the right number to report. The real win is centralization: changing the site's navy color now means editing one line instead of 37. The thumbnail and in-post hero image are screenshots of the site.css tokens section. Added to blog.html listing at top. Added to nav.js footer recent-posts list (post-09 dropped to maintain 5 entries).
post-14.html · blog.html · nav.js
Dev Log
Post 15 published — "The Constellation Problem"
Reflective post on the constellation redesign decision. Covers the three-way rule contradiction that had been sitting in our docs for months (reference card said "cumulative permanent," rules said "per-run only," Telescope entry said "pick one"), the playtesting pattern that made the 50-star milestone visibly unreachable, the difficulty of cutting something that's in the video game, the replacement d6 mechanic, and the thematic continuity piece where Ladyship's Chamber's call-it-a-day switched from +1 star to +1 key (tied to the Diary Key lore). Honest about the emotional shape of the decision — the avoidance, the "I'll figure it out later" for months, the sunk-cost of the tally grid design. The Fixed Stars printed booklet preserved as a future expansion idea. Thumbnail: rendered approximation of the old constellation card design, showing what's being cut.
post-15.html · blog.html · nav.js
Design
Constellation system redesigned — star accumulation removed, d6 roll replaces it
The single largest deviation from VG in the base game. The previous mechanic used star accumulation across a campaign: draft the Observatory for +1 star, end in the Planetarium for +2, cross milestones (1/2/3/4/7/8/11/15/50) to permanently activate constellations with stacking effects. Playtesting revealed most campaigns end in 1–4 days — the 15-star and 50-star milestones are unreachable, the tally grid was decorative, and the per-run vs cumulative rules were contradictory across three different docs. New mechanic: on first Observatory entry this run, roll a d6. 1=North Star (+1 coin), 2=The Twins (+2 trunks on Entrance Hall), 3=The Slice (+3 steps), 4=Diamondus Minor (+1 gem), 5=Clavis (+1 key), 6=The Sail (50% off shops rest of run). Telescope on first entry rolls twice. Planetarium end-of-day grants a carry-forward "next run rolls twice" effect. Telescope acquired after first entry allows one re-entry roll. Ladyship's Chamber call-it-a-day changed from "+1 star" to "+1 key" (ties thematically to the Diary Key quest chain in VG). Files touched: constellations.html (full redesign as d6 card), blue_prince_rules.html (Section 18 rewritten, Section 2 definition updated, Tomorrow Room table, Carry-Forward table, Ladyship's Chamber, Telescope item entry), room_glossary.html (Observatory/Planetarium/Ladyship entries), campaign_sheet.html (Star Tally and Constellation Milestones sections removed, Ladyship's carry-forward row added), tracking.html (Star Tally removed, descriptions updated), design_deviations.html (4 new deviation entries: Constellation System d6 Roll, Planetarium Carry-Forward, Ladyship's Call-it-a-Day, Telescope Item d6 Adaptation), shopping_list.html (booklet replaced with reference card), print.html (descriptions updated), design_ideas.html (Fixed Stars booklet preserved as future expansion idea). See Dev Log post 15 for full rationale and emotional context.
constellations.html · blue_prince_rules.html · room_glossary.html · campaign_sheet.html · tracking.html · design_deviations.html · shopping_list.html · print.html · design_ideas.html
Decision
CSS cleanup stopped after Phase 3 — diminishing returns on remaining files
Phase 4 scope would have been the "big inline doc" pattern files — blue_prince_rules, how_to_win, first_run_tutorial, production_guide, campaign_sheet, shopping_list, book_effects_reference, item_spawn_reference, and the paper-styled docs (room_setup_reference, constellations, blue_prince_expansion_list, difficulty_curve_comparison). These use a body { padding: 40px 20px } + .page border frame pattern. Each doc's layout is substantially unique (different table structures, callouts, badges, content flow) — the shared surface between them is maybe 30% of their CSS, mostly the outer .page frame and doc-header styles. Decision: leave these alone. The maintainability win from centralizing the frame across 10 files wouldn't justify the risk of per-file regressions when each doc is structurally distinct. Net impact of stopping: about 100–150 more lines that stay duplicated across those files but don't create active maintenance cost until the paper-doc design itself is revisited.
Decision only — no files changed
Cleanup
CSS Phase 3 — section hubs + reference docs migrated to shared .page-hero / .page-body / .doc-entry / .intro-block
Phase 3 of the CSS consolidation. Added to site.css: .page-hero suite (hero + inner + h1 + p), .page-body (1100px container), .doc-entry suite (doc-list card pattern used on section hubs), .intro-block (gold-bordered callout), .section-divider (small-caps eyebrow separator), and a site-wide scroll-margin-top rule so anchor-link jump targets don't hide behind the sticky nav. Unified four legacy hero class names — .section-hero, .cl-hero, .blog-hero, .gloss-hero — into a single .page-hero class. Migrated 12 files: rules, reference, print, design, blog, changelog, design_deviations, design_ideas, inventory, room_glossary, rollout_plan, tracking. Per-file visual quirks preserved via small inline overrides (tighter hero padding on docs, 900px width on tracking, font-size tweaks on inventory, etc.) — no visual changes intended. Net reduction: 73 lines of inline CSS across the 12 files. Site.css grew by ~200 lines (one-time). Remaining Phase 4 targets: the "big inline doc" pattern (rules doc, how_to_win, first_run_tutorial, production_guide, campaign_sheet, etc.) — those use a body { padding: 40px 20px } + .page border pattern that needs careful per-file handling.
site.css · rules.html · reference.html · print.html · design.html · blog.html · changelog.html · design_deviations.html · design_ideas.html · inventory.html · room_glossary.html · rollout_plan.html · tracking.html
Bug fix
Blog post layout standardized — all 13 posts now use 1100px hero + 760px prose column
Resolves the width inconsistency across the Dev Log. Before this pass, posts 01–07 used a 1100px hero with a 760px inner .post-prose wrapper for body text — but the hero itself had no such wrapper, so the dek and title stretched the full 1100px while the body text wrapped at 760px. Posts 08–13 used 780px everywhere with no inner wrapper. Neither pattern had the dek and body text aligned at the same width within a single post. Option A chosen from the two standardization options: apply the newer "wide hero + prose column" design everywhere. Each post now has a .post-prose wrapper inside .post-hero-inner containing the back link, meta, title, and dek — constraining them to 760px with left alignment — matching the .post-prose wrapper already used inside .post-body. Hero text and body text now start at the same x-position and wrap at the same width. The 1100px navy hero background with blueprint grid still spans the full wide area; only the text inside is constrained. Posts 08–13 also had their 780px width overrides removed from inline CSS since those values now conflict with the standard layout. Affects all 13 blog posts plus their inline CSS.
post-01 through post-13 (13 files)
Cleanup
CSS Phase 2 — blog post styles migrated from 13 inline blocks into site.css
Phase 2 of the CSS consolidation per Option A (migrate as-is, no visual changes). Moved all shared blog post styles — hero, back link, meta/title/dek, body layout, photo components, photo-pair grid, rule/decision/run-log callouts, signoff, post navigation — from 13 duplicated inline style blocks into a new BLOG POSTS section in site.css (~180 lines, one-time). Each post's inline style block shrank accordingly; total inline CSS across posts dropped from 452 lines to 102 lines (350-line reduction, ~77%). What remains inline per post: width overrides for older posts at 780px (kept as-is — visual standardization deferred), post-specific components (error-table in post-07, orchard-callout in post-11, milestone-callout in post-12, delta-table in post-13, change-list in post-03, design-link in post-04), and minor local tweaks to shared components where a post wanted a different visual treatment (e.g. the .run-log variant with opacity: .6 on labels in posts 11–12 overrides the default). The body { padding-top: 0 !important } nav-offset fix stays inline in the 10 posts that have it — not hoisted site-wide because it would affect non-post pages. Posts 01–03 don't have it; that's an unresolved gutter issue predating this pass, flagged for the punch list.
site.css · post-01 through post-13 (13 files)
Addition
Punch List added to Changelog as a sidebar column — open items tracked alongside the dated record
Restructured Changelog into a two-column layout: changelog entries on the left (~2/3 width), Punch List sidebar on the right (~1/3 width). Punch List tracks open items — UI bugs, pending renames, deferred audits, and design questions to revisit. Organized into four groups: UI / Site, Renames, Content Audits, Design Questions. Items "resolved" move from the sidebar into the left-column dated record. Sidebar is position: sticky so it stays in view while scrolling through dated entries. On narrow viewports (under 900px), the sidebar collapses below the changelog as a single column. Seeded with two user-flagged items (Dev Log spacing issue, Loop Card → Complete Turn Loop Card rename) plus five carry-forward items from prior sessions (typography bump, Kennel dig-spot, Maid's Chamber mechanic, verified-alignment retrofit, gem-cost sweep, rules doc intro update, spacing tokens discussion).
changelog.html
Addition
CSS Phase 1 — design tokens added to site.css; cascade layers attempted and removed
First pass at CSS consolidation. The phase introduces primitive → semantic design tokens (raw values like --navy-900 alias to purpose tokens like --color-bg-hero, so one primitive change propagates site-wide), typography tokens (h1-hub, h1-post, h1-hero, prose, meta, eyebrow, micro sizes; line heights; letter spacing), container width tokens (--container-wide: 1100px, --container-prose: 760px), and color-mix() in oklch for derived tints/shades (Baseline Widely Available 2026). Legacy aliases like --navy, --gold, --bg are preserved so all existing inline CSS keeps working unchanged. Spacing scale deferred per user direction. Cascade layers were initially wrapped around the rules but caused a real regression: pages with inline * { margin: 0; padding: 0; } resets (like the rules doc) had those unlayered resets override the layered component styles, collapsing the nav's padding. Unlayered styles always win over layered ones by design, which is incompatible with a codebase where every page has its own inline reset. Traditional specificity-based cascade reverted. The tokens provide the maintainability win the cleanup was aimed at; the layer wrapping would only matter if inline styles were eliminated first, which is a later phase.
site.css
Bug fix
H1 sizes normalized on Dev Log and Changelog to match section hub standard
Dev Log was rendering noticeably larger at clamp(28px, 5vw, 48px) compared to the section hubs (Rules, Reference, Print & Play, Design) at clamp(24px, 4vw, 40px). Changelog was slightly smaller at clamp(24px, 4vw, 38px). Both normalized to the section-hub standard clamp(24px, 4vw, 40px). The Home page hero stays largest at 64px (intentional — it's the marketing hero, not a section hub). Individual blog posts keep their 44px treatment — appropriate for article titles. This pass is specifically about section-hub consistency.
blog.html · changelog.html
Bug fix
Rules doc steps + bullets list layout — correct fix after two wrong attempts
Third time on this bug. The original flex layout split text into per-element flex items (diagonal word-salad). An earlier session change patched the nested-list counter issue but left the flex problem intact. The previous attempt this session swapped flex for grid — which has the exact same behavior problem (every direct child becomes its own grid item, and with only 2 columns and auto-flow, items stacked vertically instead of horizontally — worse rendering, same root cause). The correct pattern: position: relative on the <li> with padding-left: 34px to reserve space, plus position: absolute on the ::before pseudo-element to place the badge in that reserved space. This keeps the <li> as a normal block container — text and <strong> tags flow as inline content and wrap at word boundaries the way text always does. The fix applies to both .steps (numbered steps) and .bullets (bulleted lists) in the rules doc.
blue_prince_rules.html
Bug fix
Puzzle room mechanics swept across all docs — two stale summaries in rules doc corrected
After fixing the puzzle rooms in the Item Spawn Reference, audited every other doc for lingering stale puzzle-room mechanic descriptions. Most were clean — the main puzzle rooms section in the rules doc (Section on room mechanics) already had all three rooms documented correctly with standard die outcomes, and glossary/design_deviations/book_effects_reference were all accurate. Two stale summary paragraphs in the rules doc needed fixing: the Gems sources list said "Billiard Room (occasional gem reward)" — but Billiard Room gives Keys and the Secret Garden Key, not gems. Removed the Billiard reference entirely and made the Parlor entry more specific (1–3→1 gem · 4–5→2 gems · 6→3 gems). The Keys sources list said "Billiard Room (roll: usually 2 keys, rarely Special Key)" — which was half-right but missed the third outcome (6 → 3 Keys) and mischaracterized the Secret Garden Key as a "Special Key." Rewrote to list all three outcomes precisely. Other files (how_to_win, inventory, room_setup_reference, blog posts, kitchen_menu_card) only mention puzzle rooms descriptively as item sources, not mechanic definitions, so no changes needed there.
blue_prince_rules.html
Bug fix
Puzzle room mechanics corrected in Item Spawn Reference — standard die, not rank die
All three puzzle rooms (Parlor, Billiard Room, Music Room) were incorrectly documented as using the rank/lock die with OPEN/LOCKED outcomes. Per the glossary and rules doc (Section on dice: "Standard die used for puzzle room reward tiers — Parlor, Billiard Room, Music Room"), they actually use a plain numbered d6 with numeric outcome tiers. Also, Billiard Room was missing its third outcome entirely (the 6 → 3 Keys result). Rewrote all three rows: Parlor — 1–3→1 gem · 4–5→2 gems · 6→3 gems. Billiard Room — 1–4→2 Keys · 5→Secret Garden Key · 6→3 Keys. Music Room — always 1 Key, then 1–3 nothing / 4–5 Special Key roll / 6→2 Keys. Added a new .roll-num badge style (navy pill with number) for numeric outcomes — visually distinct from the OPEN/LOCKED badges used for lock dice, so the two die systems are immediately tellable apart.
item_spawn_reference.html
Cleanup
Item Spawn Reference rows alphabetized per section
The two rule sections had rooms in arbitrary order (the original order roughly grouped by mechanical similarity but not alphabetically). Sorted both: Always Draw now runs Attic → Closet → Den → Nook → Pantry → Rumpus Room → Storeroom → Walk-in Closet → Wine Cellar. Roll First runs Any Bedroom → Any Green Room → Billiard Room → Locker Room → Music Room → Parlor. Makes scanning the reference significantly faster when you know the room name you're looking for.
item_spawn_reference.html
Bug fix
Item Spawn Reference restructured for readability — three-column grid replaced with vertical stacking
The original layout fit three sections (Always Draw, Roll First, What's in Each Deck) side-by-side at the top-level page width, giving each column roughly 340px of horizontal room. Rule text with OPEN/LOCKED badges and multi-outcome rolls wrapped awkwardly — flex-aligned cells forced mid-word breaks and produced a word-salad reading experience. Rewrote the layout to stack the three sections vertically at full page width. Each rule now has ~900px of horizontal room; multi-outcome rolls render with a .lead preamble ("Roll blue die:") and each outcome on its own line via .outcome spans instead of <br>-heavy markup. The "What's in Each Deck" section splits internally into two columns (Common | Special) using CSS multi-columns for the item lists, preserving compact density without forcing the whole page into a cramped grid. Dead .section-wide CSS removed. Also corrected two lingering stale bits on this page that had been missed in prior sweeps: the White die label ("Ranks 1–4" → "Rank 4" — Ranks 1–3 are never locked) and an added italic note under the die pills stating "Ranks 1–3 are never locked — no die roll needed."
item_spawn_reference.html
Bug fix
Room Glossary Blue color badge now reads as blue
The Blue badge was styled using the site's navy color (#0D253D) at 10% opacity — which, on a cream background, desaturated to a gray appearance rather than a clearly blue one. The other color badges (Purple, Green, Red, Yellow) all held their hue better at the same opacity because they're more chromatically saturated. Swapped Blue to a cobalt (rgba(37,99,235,.14) background / #1e3a8a text) with a slightly higher fill opacity matching the treatment Yellow already uses. Now reads immediately as blue at a glance.
room_glossary.html
Added
Constellation Reference card created
The rules doc referenced a "constellation booklet" for Observatory star tracking, but no such doc existed in the current file set — a leftover reference from an earlier design iteration that produced a PDF booklet but never an HTML version. Built constellations.html as a single printable reference card in the style of rank_track_card.html and loop_card.html: cream background with blueprint grid, all nine constellations (1, 2, 3, 4, 7, 8, 11, 15, 50 stars) with their effects, a Planetarium aside, and a 50-box tally grid with gold-bordered milestones at the unlock thresholds. Linked from print.html under a new "Reference Cards" section and from the Observatory section of the rules doc (the "consult the constellation booklet" reference now points to this card). nav.js updated so the Print & Play tab highlights on the new page.
constellations.html · print.html · blue_prince_rules.html · nav.js
Bug fix
Page width standardized at 1100px across all screen pages
The site had inconsistent container widths: section hubs (Rules, Reference, Print & Play) were 900px, Changelog was 900px, How to Win was 760px, and blog posts 08 through 13 were 780px. Meanwhile the shared nav bar and footer from site.css are always 1100px. This caused visible "jumping" when navigating between pages — content would suddenly narrow or widen while the nav stayed the same. Standardized outer containers at 1100px to match site chrome. Narrow reading-width content (blog post prose, changelog dek, How to Win's document-style page) is now wrapped in an inner container at 760px so line lengths stay readable while the outer container aligns with nav/footer. How to Win specifically uses a .page-wrap outer container so its 760px paper-style document remains visually intact.
rules.html · reference.html · print.html · changelog.html · how_to_win.html · post-08.html · post-09.html · post-10.html · post-11.html · post-12.html · post-13.html
Bug fix
how_to_win.html missing site.css link — navbar/footer unstyled
Every other reference doc on the site includes <link rel="stylesheet" href="site.css"> after its embedded <style> block, plus a small override snippet to normalize body padding for the fixed navbar. how_to_win.html was missing both — nav.js was still injecting the navbar/footer HTML into the page, but without site.css the navigation rendered unstyled. Added the standard two-line block to match the pattern used by rank_track_card.html, loop_card.html, and the rest of the reference docs.
how_to_win.html
Bug fix
Tile Back Markings section rewritten to match actual prototype
The section had documented a letter-code system (E, S, F, X, O) for tile categories that was never on the physical tiles. The actual system is simpler: gem cost written in red Sharpie, category spelled out in full (Event, Studio, Found, Fixed, Outer) in black at the bottom of the tile back, placement restrictions in plain black text, blank back if none apply. Rewrote the seven-row table as three rows matching reality. Also removed an orphan <table> tag on the previous line 610 that was producing an empty second table element.
blue_prince_rules.html
Bug fix
Section 3 setup list CSS — nested sub-list was rendering as top-level steps
The .steps li selector was a descendant selector rather than a direct-child selector, so the nested <ul> inside step 5 inherited the numbered-badge treatment — causing steps 6 through 10 in the rendered output to actually be step 5's sub-items. Also caused awkward word-wrap because the flex layout applied to nested text. Scoped the selector to .steps > li and added proper nested list styling (gold diamond bullets, indented, no counter). Nine numbered steps now render correctly with step 5's five sub-items indented beneath.
blue_prince_rules.html
Added
Design Ideas doc created + first idea filed
New design_ideas.html tracks proposed mechanics through their lifecycle: Proposed → Under Review → Prototyping → Adopted / Rejected. Structure mirrors Design Deviations — filterable table with status, affects-category, and VG alignment columns. First entry filed: Sledgehammer → Secret Garden double door — carrying the Sledgehammer into the Secret Garden opens a second Antechamber door (East) in addition to the West door the room already opens. Matches the VG's Power Hammer behavior. Sledgehammer is not consumed but the East-door effect fires once per run. Status: Proposed. Linked from design.html's Project Record section.
design_ideas.html · design.html · nav.js
Added
Changelog doc created
New changelog.html — a dated, filterable ledger of every change made session by session. Tracks bug fixes, renames, deferrals, additions, and cleanup. Linked from design.html's Project Record section. Retroactive entries populated for Sessions 4 and 5 when creating.
changelog.html · design.html · nav.js
Cleanup
Blog index and footer updated to include posts 12 and 13
The blog landing page was missing post-12 (The Slow Win) and post-13 (Seven Tiles, One Sharpie). Added both with thumbnails. Also fixed post-11 entry — the title was showing "Room 46" from a pre-reframing version and the excerpt described the wrong run; corrected to "The Notes Don't Lie" with the current dek. Added thumbnails to posts 8, 9, and 10, which had been missing them (the 1–7 range had thumbnails, the 8–11 range had none). Footer Dev Log column updated to show the five most recent posts plus "All posts →" link — matches the column-length of the other footer sections.
blog.html · nav.js
April 19, 2026 Session 5
Bug fix
Room Setup Reference audited against glossary — three mismatches fixed
Cross-checked every Core room's category between room_glossary.html (truth source) and room_setup_reference.html. Three rooms disagreed: Secret Garden was listed as Found Floorplan but is actually an Event Addition (enters bag when Secret Garden Key is used); The Foundation was listed as Active Draft but is a Fixed Floor Plan (with a setup nuance — it starts in the bag, then becomes permanent at first placement); Security was named "Security Room" in setup but "Security" in the glossary and VG. All three fixed. Cross-check now shows zero disagreements.
room_setup_reference.html
Bug fix
Foundation setup note clarified — playtest finding
Original note ("Permanent from first placement") was technically accurate but obscured the important setup detail: the Foundation starts in the Active Bag. A playtest caught this — the tile was mistakenly placed on the Fixed Floor Plan pile outside the bag at setup, meaning it never appeared for drafting. Note updated with a warning marker and explicit instruction.
room_setup_reference.html
Added
Core Fixed count added to setup reference summary row
Summary stats were showing 5 of the 6 Core categories (Active Draft, Studio, Event, Outer, Found). The Fixed count was missing — so a new player couldn't verify the 4 Fixed Floor Plans at a glance. Added as a sixth stat card.
room_setup_reference.html
Bug fix
Lock die rank range corrected in three places
Three different docs stated the low-difficulty lock die covered Ranks 1–4. The actual rule (and the VG alignment) is that Ranks 1–3 are never locked at all — no die roll happens. The white die only applies at Rank 4. Same bug in three files, independently introduced.
rank_track_card.html · blue_prince_rules.html · inventory.html
Rename
Lock dice renamed: cream/amber/red → white/blue/red
Custom dice were produced with new colors to match VG color semantics — red stays as the danger color, blue replaces amber for medium, white replaces cream for easiest. Also dropped the parallel "Low/Mid/High" vocabulary entirely — the color names now do the work a difficulty label used to. ~70 references updated across 8 files.
rank_track_card.html · room_glossary.html · blue_prince_rules.html · first_run_tutorial.html · item_spawn_reference.html · design_deviations.html · inventory.html · room_setup_reference.html
Deferred
Security room mechanic removed pending design
Prior mechanic (choose Low/Normal/High difficulty override for lock rolls) read as confusing in playtests. Playtest-by-omission confirmed the room functions fine as a pure routing piece with its two doors. Mechanic is archived, not deleted — to be revisited if a better fit emerges. Glossary entry simplified to "No entry effect. Routing only."
room_glossary.html · blue_prince_rules.html
Bug fix
Rules doc Security section: broken HTML fragment fixed
A previous edit had left a sentence fragment (</div> with one simple mechanical function...) where the Security section's opening had been deleted but the tail left behind. Section rebuilt clean as part of the deferral above.
blue_prince_rules.html
Bug fix
Kitchen "daily special" die type corrected
Room setup reference listed Kitchen's daily special roll as using the amber die. The rules doc consistently specifies a standard d6 for this roll. Fixed to "Standard die for daily special."
room_setup_reference.html
Cleanup
Room glossary: six redundancy fixes in Notes column
Six rooms (Attic, Billiard Room, Drafting Studio, Greenhouse, Pool, Spare Room) had Notes text that restated the gem cost already shown in the Gems column. Removed the duplication. The Spare Room/Pool/Billiard Room cases were especially confusing because phrases like "1 gem" could read as a per-entry gain rather than a draft cost.
room_glossary.html
Cleanup
Room glossary: Roll column capitalization normalized
After the die rename, the Roll column had a mix of sentence-case ("Standard die on entry", "Always unlocked") and lowercase entries ("blue die on draft → OPEN = trunk"). All entries normalized to sentence-case for consistency.
room_glossary.html
April 18–19, 2026 Session 4 · Gem Audit & Structural Pass
Bug fix
Seven-tile gem-cost audit against VG authoritative source
Cross-referenced the full glossary against the VG wiki's "Rooms by Drafting Cost" category pages. Seven tiles had the wrong gem cost printed on the back. Six were under-priced in the board game (free to draft when the VG charges gems). One was over-priced (Kennel was charged 1 gem when it's actually free). Full delta: Office 0→2 · Walk-in Closet 0→1 · Ballroom 0→2 · Foyer 0→2 · Master Bedroom 0→2 · Vestibule 0→2 · Kennel 1→0. Physical tiles re-labeled with red Sharpie; glossary updated to match.
room_glossary.html · 7 physical tile backs
Rename
Shop color renamed to Yellow
The shop rooms (Commissary, Kitchen, Locksmith, Trading Post, Casino) had been labeled as "Shop" color in the glossary — but Shop is a category, not a color. Renamed to Yellow (matching the VG's yellow shop borders) and added a dedicated b-yellow badge style. Dining Room also flipped — it had been incorrectly tagged as Shop, but the VG catalogs it as a Blueprint. Now Blue with no shop tag.
room_glossary.html
Added
Category field split from Color field in glossary
Previously, the Type column conflated color (Blue, Purple, Red, etc.) with structural category (Fixed, Outer, Found). Split into two fields: color for the room's actual border color, category for its structural role (Fixed Floor Plan, Found Floorplan, Outer Room, Event Addition, Studio Addition). Display renders both badges; filter dropdown now has separate color and category filters. Affects 28 rooms that previously carried one confused tag.
room_glossary.html
Added
Maid's Chamber added to room glossary
Room was missing from the glossary entirely. Added with dual-color tagging (Red + Purple) via new color2 field. Entry text describes the item-icon suppression mechanic, but the design itself is flagged as not fully settled — pending confirmation or redesign.
room_glossary.html
Bug fix
Color reclassifications for eight rooms
Rooms that had been tagged with structural categories in the color field now correctly show their real colors: Antechamber · Entrance Hall · Room 46 · The Foundation (all now Blue + Fixed category), Hovel (Red + Outer — matches VG), Root Cellar (Green + Outer), Shelter (Blue + Outer), Toolshed (Blue + Outer), Trading Post (Yellow + Outer).
room_glossary.html
Before April 18, 2026. Prior sessions covered initial game design, ruleset drafting, component specification, difficulty curve comparison, meal/food system, Parlor and Billiard Room mini-games, initial playtest runs, and the launch of the dev log. These pre-date the changelog and are documented via blog posts and the Design Deviations reference.