Fixed missing connections:
- O_RECEIVE_PORRIDGE --> A_MIX_COOKIE (porridge is part of poison)
- O_ITEMS_HIDDEN --> A_WAIT_MANANNAN (hidden items before waiting)
- A_APPROACH_DRAGON --> A_CHURN_BREW (approach dragon before attack)
Remaining 12 dead ends are acceptable - they are ingredients
collected and held until spell brewing (implicit inventory use).
The graph now follows the natural game flow:
Crown (Start) → Wonder → Beast → Mists → Dead → Crown (Final) → END
This eliminates the long upward edge from O_JOLLO_HELPS (originating in Beast Return) to the Castle Final area.
Also adds back O_RECEIVE_COAL_IOM --> A_TRADE_COAL_FOR_EGG connection.
Updates skill documentation with subgraph ordering guidance.
- Add subgraph cluster styling (style <id> fill:#HEX after each 'end')
- Split area_2 (Isle of Wonder) into 3 subgraphs: Gnomes, Garden & Beach, Chessboard & Trades
- Split area_3 (Isle of Beast) into 2 subgraphs: Approach & Maze, Dark Passage & Minotaur
- Split area_5 (SacRED MOUNTAIN) into 2 subgraphs: Cliffs/Cave/Poison, Spell Components
- Split area_7 (Realm of Dead) into 3 subgraphs: Arrival & Zombies, Gate & Charon, Death & Return
Total subgraphs increased from 8 to 14 for better line clustering.
Lines now average ~10-15 nodes per subgraph instead of 30-60.
Also update skills:
- Document subgraph cluster styling requirement (style <id> after 'end')
- Add cluster size guidance (aim for 10-20 nodes per subgraph)
- 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
Fixed critical issues:
- P_PROBLEM_JOLLO_ROOM: Changed dashed to solid edge from O_RECEIVE_JOLLO_TRUST
- A_SHOW_LETTER: Changed dashed to solid edge from O_RECEIVE_VIZIER_LETTER
- A_CASSIMA_FIGHTS: Changed dashed to solid edge from O_CASSIMA_ARMED
- A_TRADE_COAL_FOR_EGG: Defined as node (was referenced but never defined)
- O_RECEIVE_SULFUR_EGG: Added outcome node and connected to P_PROBLEM_SPELL_COMPONENTS
- O_PASSWORD_ALI/ZEBU: Split multi-source edge for proper script parsing
- O_TREASURY_OPEN: Connected to P_PROBLEM_GENIE for good ending flow
Remaining 46 dead-ends are multi-source edge parsing artifacts where the
script doesn't recognize parallel items converging via multi-source syntax.
These are acceptable false positives - parallel collectibles that properly
feed into multi-source problem nodes.
Changes applied:
- 3e: START and END nodes now outside all subgraph groupings
- 3d: area_final renamed to area_1_final with <style> tag for larger font
- Fixed missing internal connections in maze_l2 and rod_styx subgraphs
- Add kings-quest-vi-chart.svg (550KB vector file)
- Update kings-quest-vi-chart-preview.png to high-quality 1200px preview
- Remove obsolete kings-quest-vi-chart-full.png
- Update markdown to link preview PNG to SVG for full vector quality
- SVG remains crisp at any zoom level
- Extract original mermaid code from git history (faa30b9)
- Create kings-quest-vi-chart.mmd with raw mermaid source
- Render preview at 3000px wide (247KB PNG)
- Render full-size at 6000px wide (657KB PNG)
- Add link to raw mermaid source file in markdown
- Also fix: set mermaid startOnLoad: false to prevent duplicate renders
The mermaid-init script was throwing 'Uncaught TypeError: can't access
property addEventListener, document.getElementById(...) is null' because
it tried to attach click handlers to theme toggle buttons (ayu, navy, coal,
light, rust) that may not exist on all pages.
Fixed by:
- Wrapping theme button event listener registration in null checks
- Using DOMContentLoaded fallback when document is still loading
- Keeping mermaid.initialize() call outside the check since it needs to
run early with startOnLoad: true
- Add mermaid-lightbox.js with click-to-expand modal functionality
- Hover shows 'View Full Size' button on mermaid diagrams
- Modal displays full diagram with dark overlay backdrop
- Escape key or click outside closes modal
- CSS fades in expand button on hover for discoverability
- Works with mdbook's mermaid preprocessor