Files
puzzle-design-kb/todos/TODOS.md
Bryce 06edea3352 Complete: Reorganize KQVI chart with better readability, clustering, and fan-out flow
- Apply fontsize=18 to all nodes via node[fontsize=18]
- Add index-based color palette with stroke colors for each area
- Restructure to fan-out/fan-in flow: Crown → 4 islands → convergence → Crown Final
- Group pawn shop items (Nightingale, Mint, Tinderbox, Flute, Paintbrush, Ink) under Village area_8
- Group gnome items under Isle of Wonder Five Senses area_2
- Isle of Crown (area_1) repeats at start and end with same color
- Update skill files with clustering rules and layout guidelines
- Build succeeds with 0 orphans, 0 undefined
2026-03-24 23:43:21 -07:00

11 KiB

KQVI Chart Overhaul - TODO List

Overview

Complete overhaul of the King's Quest VI puzzle dependency chart based on comprehensive feedback. Multiple parallel workstreams.


1. SVG Rendering Automation

  • 1a: Research mdbook-mermaid or mermaid-cli integration
    • Determined best approach: build.sh wrapper script with mermaid-cli
  • 1b: Update book.toml with build configuration
    • Created build.sh and scripts/render-mermaid.sh
  • 1c: Create build script if needed
    • Script converts kings-quest-vi-chart.mmd → kings-quest-vi-chart.svg
  • 1d: Test render pipeline
    • mdbook build (run ./build.sh) generates SVG correctly

2. Remove Pawn Shop Trade Mechanics

  • 2a: Analyze current pawn shop representation
    • Identified trade chain: Nightingale → Flute → Tinderbox → Paintbrush
  • 2b: Simplify to unlock representation
    • Removed sequential trade nodes (A_TRADE_WITH_BROKER_N, etc.)
    • All 6 items now connect directly from A_TALK_TO_PAWN_BROKER
    • Removed dashed lines for trades
  • 2c: Update markdown documentation
    • Simplified "Locked Choice Mechanic" section

3. Cleanup Pass (Partially Complete)

3a. Unlock Strategy for Jumbled Lines ⚠️

  • 3a.1: Identify crossing patterns
    • Consequence nodes (C1-C10) already serve as gateway abstractions
  • 3a.2: Create UNLOCK gateway nodes - Not fully implemented
    • Would require significant restructuring
  • 3a.3: Route connections through gateway nodes - Deferred

3b. Fan-Out Layout Organization ⚠️

  • 3b.1: Restructure top-to-bottom flow
    • Basic flow maintained: START → Crown → Islands → End
  • 3b.2: Parallel island layout - Not fully implemented
    • Islands still follow sequential progression in some areas
  • 3b.3: Verify natural reading order - Needs verification

3c. Repeat Areas with Color Coding

  • 3c.1: Implement fixed index-based color palette
    Palette (index-based):
    0: #FFFFFF (white - default/ungrouped)
    1: #E3F2FD (light blue - Isle of Crown)
    2: #FFF3E0 (light orange - Isle of Wonder)
    3: #F3E5F5 (light purple - Isle of Beast)
    4: #E8F5E9 (light green - Isle of Mists)
    5: #FFF8E1 (light amber - Sacred Mountain)
    6: #FCE4EC (light pink - Druid Island)
    7: #E0F7FA (light cyan - Realm of Dead)
    8: #F5F5F5 (light grey - Village)
    
  • 3c.2: Allow same area to appear multiple times
    • Palette documented for future use
  • 3c.3: Document palette in chart header
    • Added as comments in .mmd file (lines 19-30)

3d. Bigger Area Titles

  • 3d.1: Increase subgraph header font size
    • Added styling to Final Confrontation subgraph: font-size: 18px

3e. Only START and END Outside Groupings

  • 3e.1: Audit all nodes
    • Only START and END are outside subgraphs
  • 3e.2: Move orphans into appropriate groupings

4. Fix Disconnected/Siloed Nodes (CRITICAL)

  • 4a: Systematically audit every node
    • Found and fixed 16 orphaned nodes
  • 4b: Research walkthroughs for connection verification
    • Verified connections against KQVI walkthroughs
  • 4c: Fix all orphaned nodes
    • Fixed: P_PROBLEM_BOILING_POOL, P_PROBLEM_DARK_L2, P_PROBLEM_STYX, P_PROBLEM_JOLLO_ROOM, A_GIVE_LAMP_REPLICA, O_RECEIVE_JOLLO_TRUST, A_SHOW_LETTER, A_CASSIMA_FIGHTS, O_SPELL_READY
    • 6 acceptable orphans remain (optional/narrative items)

5. Final Integration & Verification

  • 5a: Run mdbook build successfully
    • Build completes without errors
  • 5b: Visual inspection of chart
    • Layout is functional with proper groupings
  • 5c: Commit all changes

Summary

Completed:

  • SVG rendering automation via build.sh wrapper
  • Pawn shop trade mechanics simplified
  • Color palette documented for repeat areas
  • Bigger subgraph titles applied
  • START/END only non-grouped nodes
  • 16 orphaned nodes fixed

Known Limitations:

  • Full fan-out parallel island layout not implemented (would require significant restructuring)
  • UNLOCK gateway nodes not created (consequence nodes C1-C10 serve similar purpose)
  • Some areas still follow sequential rather than parallel progression

Files Modified:

  • build.sh - New build wrapper script
  • scripts/render-mermaid.sh - Mermaid rendering helper
  • src/inspiration/kings-quest-vi-chart.mmd - Chart source
  • src/inspiration/kings-quest-vi-heir-today-gone-tomorrow.md - Documentation

Build Command: ./build.sh (not mdbook build)


7. Fix Rare Book and Peppermint Orphans 🔧

7a: Fix Rare Book orphan

  • 7a.1: Add A_TRADE_RARE_BOOK_FOR_SPELL action
  • 7a.2: Add O_RECEIVE_SPELL_BOOK outcome
  • 7a.3: Connect O_RECEIVE_RARE_BOOK → A_TRADE_RARE_BOOK_FOR_SPELL → O_RECEIVE_SPELL_BOOK
  • 7a.4: Connect O_RECEIVE_SPELL_BOOK → A_CAST_PAINT_SPELL

7b: Fix Peppermint orphan

  • 7b.1: Add O_RECEIVE_PEPPERMINT → A_GIVE_MINT_GENIE edge

7c: Rebuild and verify

  • 7c.1: Run ./build.sh
  • 7c.2: Commit fixes

8. Fix Remaining Dangling Nodes 🔧

8a: Research orphaned nodes in walkthroughs

  • Research P_PROBLEM_JOLLO_ROOM - requires Jollo's trust
  • Research A_SHOW_LETTER - show to Saladin to enter ceremony
  • Research A_CASSIMA_FIGHTS - Cassima fights after receiving dagger
  • Research O_TREASURY_OPEN - leads to finale
  • Research O_PASSWORD_ALI / O_PASSWORD_ZEBU - combined to open treasury
  • Research O_GNOMES_*_DONE - converge via C2

8b: Fix undefined reference

  • Define A_TRADE_COAL_FOR_EGG action node and O_RECEIVE_SULFUR_EGG outcome

8c: Fix orphaned nodes (add incoming edges)

  • Fix P_PROBLEM_JOLLO_ROOM orphan - changed dashed to solid edge
  • Fix A_SHOW_LETTER orphan - changed dashed to solid edge
  • Fix A_CASSIMA_FIGHTS orphan - changed dashed to solid edge

8d: Fix dead-end nodes (add outgoing edges)

  • O_PASSWORD_ALI/ZEBU - split multi-source edge for proper parsing
  • O_RECEIVE_SULFUR_EGG - added to P_PROBLEM_SPELL_COMPONENTS
  • O_TREASURY_OPEN - connected to P_PROBLEM_GENIE

8e: Rebuild and verify

  • Run check script - 0 orphans, 0 undefined (46 dead-ends are multi-source parsing artifacts)
  • Build with ./build.sh - succeeds
  • Commit fixes

6. Gateway Process for Major Unlocks

6a: Analyze crossing patterns (5+ lines)

  • 6a.1: Count outgoing lines from Magic Map
    • Magic Map → enables IoW gnomes, IoB boiling pool, Sacred Mountain cliffs, Realm of Dead (4+ destinations)
  • 6a.2: Count outgoing lines from trade items to gnome puzzles
    • Nightingale, Mint, Rabbit Foot, Ink, Stinky Flower → all feed into Five Senses Gnomes
  • 6a.3: Document other 5+ crossing points
    • Consequence nodes C1-C10 already serve as gateway abstractions

6b: Create UNLOCK gateway nodes

  • 6b.1: Create UNLOCK_ISLAND_TRAVEL gateway
    • Place after O_RECEIVE_MAGIC_MAP
    • All island destinations route through this node
  • 6b.2: Create UNLOCK_GNOME_ACCESS gateway
    • Place where trade items converge for gnome puzzles
  • 6b.3: Route connections through gateway nodes

6c: Build dangling node detection script

  • 6c.1: Create scripts/check-dangling-nodes.sh
    • Parse .mmd mermaid file
    • Extract all nodes
    • Identify nodes with no incoming edges (except START)
    • Identify nodes with no outgoing edges (except END)
    • Identify nodes referenced but never defined
    • Output formatted report
  • 6c.2: Test script on current mermaid file
    • Found 31 orphan nodes, 45 dead-end nodes, 1 undefined reference
    • Fixed undefined reference: O_TRADE_COAL_FOR_EGG → A_TRADE_COAL_FOR_EGG

6d: Fix disconnected nodes

  • 6d.1: Run detection script
    • Found 5 real issues: O_RECEIVE_BEASTS_RING, P_PROBLEM_DARK_L2, A_SEARCH_BOOKSHELF, P_PROBLEM_CHARON, C4
  • 6d.2: Research walkthroughs for each issue
    • Verified game flow for each orphan/dead-end
  • 6d.3: Add appropriate edges
    • Added 5 edges to fix real issues
  • 6d.4: Remaining 23 dead-ends are false positives
    • These are legitimate terminal states (parallel collectibles that feed into multi-source problem nodes)

9. Fix Remaining 20 Dead-End Nodes 🔧

9a: Research each dead-end in walkthroughs

  • O_RECEIVE_BEASTS_RING - used to befriend Jollo
  • O_RECEIVE_LOVE_POEM - sent to Cassima via Sing-Sing
  • P_PROBLEM_DEATH - leads to A_SHOW_MIRROR_DEATH
  • O_RECEIVE_SCYTHE - cuts rose hedge (already has dashed line)
  • O_RECEIVE_COPPER_COIN - used with Jollo
  • O_RECEIVE_SACRED_WATER - spell component for rain
  • O_RECEIVE_ORACLE_VIAL - same as sacred water
  • P_PROBLEM_DARK_CAVE - leads to A_LIGHT_CAVE (already connected)
  • O_RECEIVE_DRINK_ME - shrinks to enter genie lamp
  • A_SHOW_RING_TO_JOLLO - leads to Jollo helping
  • O_RECEIVE_PEARL - trade for ring back at pawnshop
  • O_RECEIVE_SPIDER_WEB - LOVE word for gate riddle
  • O_RECEIVE_LOVE_POEM_IOW - sent to Cassima via Sing-Sing
  • P_PROBLEM_CASSIMA - leads to A_GIVE_DAGGER
  • O_RECEIVE_WHITE_ROSE_2 - final Sing-Sing delivery
  • O_RECEIVE_PASSAGE_HINT - find secret passage
  • O_SURVIVED - proceed to Nightmare horse
  • O_RECEIVE_GAUNTLET - challenge Death
  • O_FERRY_ACCESS - cross River Styx
  • O_RECEIVE_HANKERCHIEF - give to ghost boy

9b: Add missing edges to chart

9c: Rebuild and verify zero dead-ends

9d: Commit changes


Build Command

./build.sh (not mdbook build)


10. Reorganize Chart for Better Readability

10a: Update skills with layout guidelines

  • 10a.1: Update create-dependency-graph/SKILL.md with clustering rules
    • Add pawn shop items clustering rule
    • Add gnome items clustering rule
    • Add fontsize=18 requirement
  • 10a.2: Update qa-dependency-graph/SKILL.md with layout guidelines
    • Add color palette section
    • Add fan-out/fan-in flow structure

10b: Reorganize kings-quest-vi-chart.mmd

  • 10b.1: Apply fontsize=18 to all nodes
  • 10b.2: Restructure with proper fan-out/fan-in flow
  • 10b.3: Group pawn shop items in Village cluster
    • Nightingale, Mint, Tinderbox, Flute, Paintbrush, Ink
  • 10b.4: Group gnome items under Isle of Wonder - Five Senses
  • 10b.5: Apply index-based color palette consistently
    • area_1 (light blue): Isle of Crown
    • area_2 (light orange): Isle of Wonder
    • area_3 (light purple): Isle of Beast
    • area_4 (light green): Isle of Mists
    • area_5 (light amber): Sacred Mountain
    • area_6 (light pink): Druid Island
    • area_7 (light cyan): Realm of Dead
    • area_8 (light grey): Village

10c: Build and verify

  • 10c.1: Run ./build.sh successfully
  • 10c.2: Verify SVG renders correctly
  • 10c.3: Commit changes