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.
May 14, 2026 Session 8 · Chad Solo Playtest
Playtest
Chad 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, Chad 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; Chad 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. Chad 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_v2.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_v2.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_v2.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_v2.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_v2, 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_v2, 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.