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
This commit is contained in:
2026-03-20 11:39:31 -07:00
parent 834c0c4d35
commit 06edea3352
5 changed files with 294 additions and 142 deletions

View File

@@ -199,6 +199,68 @@ end
#### Color-Coded Areas #### Color-Coded Areas
Apply index-based palette with consistent stroke colors:
| Index | Hex | Stroke | Area Example |
|-------|-----|--------|--------------|
| 1 | `#E3F2FD` | `#1976D2` | Isle of Crown |
| 2 | `#FFF3E0` | `#F57C00` | Isle of Wonder |
| 3 | `#F3E5F5` | `#7B1FA2` | Isle of Beast |
| 4 | `#E8F5E9` | `#388E3C` | Isle of Mists |
| 5 | `#FFF8E1` | `#F9A825` | Sacred Mountain |
| 6 | `#FCE4EC` | `#C2185B` | Druid Island |
| 7 | `#E0F7FA` | `#00838F` | Realm of Dead |
| 8 | `#F5F5F5` | `#616161` | Village |
**Same area can appear multiple times** at different logical points (e.g., Isle of Crown at game start AND as final area). Use the SAME color for repeated areas.
#### Font Size Requirement
**All nodes must use `fontsize=18`** or larger for readability:
```mermaid
flowchart TD
node[fontsize=18]
%% This sets default font size for all nodes
```
Apply this at the very start of the flowchart, before any nodes or subgraphs.
#### Clustering Rules
**Pawn Shop Items**: Group ALL pawn shop items under the Village (area_8) subgraph:
- Nightingale, Mint, Tinderbox, Flute, Paintbrush, Ink
- These items originate from the Village pawn shop broker interaction
**Gnome Items**: Group ALL Five Senses gnome outcomes under Isle of Wonder (area_2) subgraph:
- Smell, Hearing, Taste, Touch, Sight gnome satisfaction outcomes
- These are all part of the Five Senses puzzle sequence
```mermaid
subgraph area_8["<style>subgraphTitleTitle {font-size: 18px; font-weight: bold;}</style>Village - Pawn Shop Items"]
classDef area_8 fill:#F5F5F5,stroke:#616161,stroke-width:2px
class O_RECEIVE_NIGHTINGALE,O_RECEIVE_MINT,O_RECEIVE_TINDERBOX,O_RECEIVE_FLUTE,O_RECEIVE_PAINTBRUSH,O_RECEIVE_INK area_8
end
subgraph area_2_gnomes["<style>subgraphTitleTitle {font-size: 18px; font-weight: bold;}</style>Isle of Wonder - Five Senses Gnomes"]
classDef area_2_gnomes fill:#FFF3E0,stroke:#F57C00,stroke-width:2px
class O_GNOMES_SMELL_DONE,O_GNOMES_HEARING_DONE,O_GNOMES_TASTE_DONE,O_GNOMES_TOUCH_DONE,O_GNOMES_SIGHT_DONE area_2_gnomes
end
```
#### Subgraph Styling Format
Use this exact format for subgraph titles to ensure proper font size:
```mermaid
subgraph area_name["<style>subgraphTitleTitle {font-size: 18px; font-weight: bold;}</style>Area Title"]
classDef area_X fill:#HEXCOLOR,stroke:#STROKECOLOR,stroke-width:2px
class node1,node2,node3 area_X
end
```
#### Color-Coded Areas (Index-Based)
Apply index-based palette: Apply index-based palette:
| Index | Hex | Area Example | | Index | Hex | Area Example |

View File

@@ -204,30 +204,60 @@ A_PAY_PAWN_BROKER_COIN --> O_FLUTE_UNLOCKED
## Color Palette (Index-Based) ## Color Palette (Index-Based)
Use this fixed palette for area/subgraph coloring. Same area can appear multiple times at different logical points. Use this fixed palette for area/subgraph coloring. Same area can appear multiple times at different logical points. Use the SAME color for repeated areas (e.g., Isle of Crown appears at start AND end with same color).
| Index | Hex | Sample | | Index | Hex | Stroke | Area |
|-------|-----|--------| |-------|-----|--------|------|
| 0 | `#FFFFFF` | Default/ungrouped | | 1 | `#E3F2FD` | `#1976D2` | Isle of Crown |
| 1 | `#E3F2FD` | Light Blue | | 2 | `#FFF3E0` | `#F57C00` | Isle of Wonder |
| 2 | `#FFF3E0` | Light Orange | | 3 | `#F3E5F5` | `#7B1FA2` | Isle of Beast |
| 3 | `#F3E5F5` | Light Purple | | 4 | `#E8F5E9` | `#388E3C` | Isle of Mists |
| 4 | `#E8F5E9` | Light Green | | 5 | `#FFF8E1` | `#F9A825` | Sacred Mountain |
| 5 | `#FFF8E1` | Light Amber | | 6 | `#FCE4EC` | `#C2185B` | Druid Island |
| 6 | `#FCE4EC` | Light Pink | | 7 | `#E0F7FA` | `#00838F` | Realm of Dead |
| 7 | `#E0F7FA` | Light Cyan | | 8 | `#F5F5F5` | `#616161` | Village |
| 8 | `#F5F5F5` | Light Grey |
### Applying Colors in Mermaid ### Applying Colors in Mermaid
```mermaid ```mermaid
subgraph "Isle of Wonder"["**Isle of Wonder**"] subgraph "Isle of Wonder"["**Isle of Wonder**"]
classDef area2 fill:#FFF3E0,stroke:#FF9800,stroke-width:2px classDef area2 fill:#FFF3E0,stroke:#F57C00,stroke-width:2px
class O_RECEIVE_NIGHTINGALE area2 class O_RECEIVE_NIGHTINGALE area2
class O_RECEIVE_MINT area2 class O_RECEIVE_MINT area2
end end
``` ```
## Fan-Out/Fan-In Flow Structure
Adventure game puzzles naturally follow a **fan-out/fan-in** pattern where:
1. START → Initial area (single path)
2. Initial area → Multiple parallel islands/branches (fan out)
3. Parallel branches converge at a meeting point
4. Meeting point → Final area (single path) → END
### Layout Template
```
START
[ISLE OF CROWN - Beach & Village - Phase 1]
↓ (fan out to 4 parallel islands)
[ISLE OF WONDER] | [ISLE OF BEAST] | [ISLE OF MISTS] | [SACRED MOUNTAIN]
↓ (fan in)
[DRUID ISLE / REALM OF DEAD]
[ISLE OF CROWN - Final] (REPEAT AREA with same color)
END
```
### Validation
- [ ] START at top, END at bottom
- [ ] Fan-out from single path to parallel branches
- [ ] Fan-in from parallel branches to convergence point
- [ ] Repeated areas use SAME color throughout
## Known Acceptable False Positives ## Known Acceptable False Positives
The following are NOT errors: The following are NOT errors:

View File

@@ -1,106 +1,117 @@
flowchart TD flowchart TD
%% ============================================================================= %% =============================================================================
%% STYLE DEFINITIONS - Modern, accessible colors with 4.5:1+ contrast %% FONT SIZE - Set default for all nodes
%% =============================================================================
node[fontsize=18]
%% =============================================================================
%% COLOR PALETTE (index-based for repeat areas)
%% =============================================================================
%% area_1: #E3F2FD (light blue) - Isle of Crown
%% area_2: #FFF3E0 (light orange) - Isle of Wonder
%% area_3: #F3E5F5 (light purple) - Isle of Beast
%% area_4: #E8F5E9 (light green) - Isle of Mists
%% area_5: #FFF8E1 (light amber) - Sacred Mountain
%% area_6: #FCE4EC (light pink) - Druid Island
%% area_7: #E0F7FA (light cyan) - Realm of Dead
%% area_8: #F5F5F5 (light grey) - Village
%% =============================================================================
%% CLASS DEFINITIONS - Area colors with stroke
%% ============================================================================= %% =============================================================================
classDef start_end fill:#FFD700,stroke:#996600,stroke-width:3px,color:#000000 classDef start_end fill:#FFD700,stroke:#996600,stroke-width:3px,color:#000000
classDef problem fill:#FFB3B3,stroke:#8B0000,stroke-width:2px,color:#8B0000 classDef problem fill:#FFB3B3,stroke:#8B0000,stroke-width:2px,color:#8B0000
classDef action fill:#B3FFB3,stroke:#006400,stroke-width:2px,color:#006400 classDef action fill:#B3FFB3,stroke:#006400,stroke-width:2px,color:#006400
classDef outcome fill:#B3D9FF,stroke:#004080,stroke-width:2px,color:#004080 classDef outcome fill:#B3D9FF,stroke:#004080,stroke-width:2px,color:#004080
classDef area_ioc fill:#E6E6FF,stroke:#333399,stroke-width:2px classDef area_1 fill:#E3F2FD,stroke:#1976D2,stroke-width:2px
classDef area_iow fill:#FFE6FF,stroke:#660066,stroke-width:2px classDef area_2 fill:#FFF3E0,stroke:#F57C00,stroke-width:2px
classDef area_iob fill:#FFE6CC,stroke:#663300,stroke-width:2px classDef area_3 fill:#F3E5F5,stroke:#7B1FA2,stroke-width:2px
classDef area_maze fill:#CCFFCC,stroke:#006633,stroke-width:2px classDef area_4 fill:#E8F5E9,stroke:#388E3C,stroke-width:2px
classDef area_ism fill:#CCFFFF,stroke:#006666,stroke-width:2px classDef area_5 fill:#FFF8E1,stroke:#F9A825,stroke-width:2px
classDef area_iom fill:#FFFFCC,stroke:#666600,stroke-width:2px classDef area_6 fill:#FCE4EC,stroke:#C2185B,stroke-width:2px
classDef area_rod fill:#F0F0F0,stroke:#333333,stroke-width:2px classDef area_7 fill:#E0F7FA,stroke:#00838F,stroke-width:2px
classDef area_castle fill:#FFD9CC,stroke:#663320,stroke-width:2px classDef area_8 fill:#F5F5F5,stroke:#616161,stroke-width:2px
classDef area_final fill:#FFCCE6,stroke:#660033,stroke-width:2px
%% ============================================================================= %% =============================================================================
%% COLOR PALETTE (index-based for repeat areas) %% START NODE
%% =============================================================================
%% 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)
%% =============================================================================
%% TOP: START NODE (only non-subgraph node besides END)
%% ============================================================================= %% =============================================================================
START(["START: Wake on Isle of the Crown Beach"]) START(["START: Wake on Isle of the Crown Beach"])
%% Beach - Item Collection (parallel independent actions) %% =============================================================================
subgraph area_beach["Isle of the Crown - Beach"] %% PHASE 1: ISLE OF CROWN - Beach, Castle Entry, Village
A_MOVE_PLANK["A: Move debris on beach"] %% =============================================================================
O_RECEIVE_COPPER_COIN["O: Receive Copper Coin"] subgraph area_1_initial["<style>subgraphTitleTitle {font-size: 18px; font-weight: bold;}</style>Isle of Crown - Beach & Village"]
A_EXAMINE_DEBRIS["A: Examine debris more closely"] %% Beach - Item Collection
O_RECEIVE_ROYAL_RING["O: Receive Royal Insignia Ring"] subgraph area_1_beach["<style>subgraphTitleTitle {font-size: 16px; font-style: italic;}</style>Beach"]
A_MOVE_PLANK["A: Move debris on beach"]
O_RECEIVE_COPPER_COIN["O: Receive Copper Coin"]
A_EXAMINE_DEBRIS["A: Examine debris more closely"]
O_RECEIVE_ROYAL_RING["O: Receive Royal Insignia Ring"]
A_MOVE_PLANK --> O_RECEIVE_COPPER_COIN A_MOVE_PLANK --> O_RECEIVE_COPPER_COIN
A_EXAMINE_DEBRIS --> O_RECEIVE_ROYAL_RING A_EXAMINE_DEBRIS --> O_RECEIVE_ROYAL_RING
end
%% Castle Entry - Guards
subgraph area_1_castle_entry["<style>subgraphTitleTitle {font-size: 16px; font-style: italic;}</style>Castle Entry"]
A_SHOW_RING_TO_GUARDS["A: Show Royal Ring to guards"]
C1["Consequence: Meet Vizier, then kicked out"]
end
O_RECEIVE_ROYAL_RING --> A_SHOW_RING_TO_GUARDS
A_SHOW_RING_TO_GUARDS --> C1
%% Village - Multiple Parallel Independent Paths
subgraph area_8_village["<style>subgraphTitleTitle {font-size: 16px; font-style: italic;}</style>Village"]
%% Pawn Shop - All items grouped under Village area_8
P_PROBLEM_PAWN_SHOP["Problem: Need items from Pawn Shop"]
A_TALK_TO_PAWN_BROKER["A: Talk to Pawn Shop broker"]
O_RECEIVE_NIGHTINGALE["O: Receive Mechanical Nightingale"]
O_RECEIVE_MINT["O: Receive Mint"]
O_RECEIVE_TINDERBOX["O: Receive Tinderbox"]
O_RECEIVE_FLUTE["O: Receive Flute"]
O_RECEIVE_PAINTBRUSH["O: Receive Paintbrush"]
O_RECEIVE_INK["O: Receive Invisible Ink Bottle"]
%% Magic Map Trade
P_PROBLEM_NEED_MAP["Problem: Cannot travel to other islands"]
A_TRADE_RING_FOR_MAP["A: Trade Royal Ring for Magic Map"]
O_RECEIVE_MAGIC_MAP["O: Receive Magic Map"]
%% Ferryman - Rabbit's Foot
P_PROBLEM_FERRYMAN["Problem: Need ferry info and items"]
A_TALK_TO_FERRYMAN["A: Talk to Ali the ferryman"]
O_RECEIVE_RABBIT_FOOT["O: Receive Rabbit's Foot"]
%% Jollo in Bookstore
P_PROBLEM_JOLLO["Problem: Need Jollo's help for story"]
A_TALK_TO_JOLLO["A: Talk to Jollo in Bookstore"]
O_RECEIVE_JOLLO_TRUST["O: Receive Jollo's trust"]
A_SHOW_RING_TO_JOLLO["A: Show Royal Ring to Jollo"]
%% Love Poem (optional)
A_SEARCH_BOOKSHELF["A: Search poetry bookshelf"]
O_RECEIVE_LOVE_POEM["O: Receive Love Poem"]
%% Ali's Bookstore - Rare Book trade
A_TRADE_RARE_BOOK_FOR_SPELL["A: Trade Rare Book to Ali"]
O_RECEIVE_SPELL_BOOK["O: Receive Spell Book"]
end
%% Class assignments for Village pawn shop items (area_8)
class O_RECEIVE_NIGHTINGALE,O_RECEIVE_MINT,O_RECEIVE_TINDERBOX,O_RECEIVE_FLUTE,O_RECEIVE_PAINTBRUSH,O_RECEIVE_INK area_8
end end
START --> A_MOVE_PLANK START --> A_MOVE_PLANK
START --> A_EXAMINE_DEBRIS START --> A_EXAMINE_DEBRIS
%% Castle Entry - Guards
subgraph area_castle_entry["Isle of the Crown - Castle Entry"]
A_SHOW_RING_TO_GUARDS["A: Show Royal Ring to guards"]
C1["Consequence: Meet Vizier, then kicked out"]
end
O_RECEIVE_ROYAL_RING --> A_SHOW_RING_TO_GUARDS
A_SHOW_RING_TO_GUARDS --> C1
%% Village - Multiple Parallel Independent Paths
subgraph area_village["Isle of the Crown - Village"]
%% Pawn Shop - Locked Choice Mechanic (trade sequence)
P_PROBLEM_PAWN_SHOP["Problem: Need items from Pawn Shop"]
A_TALK_TO_PAWN_BROKER["A: Talk to Pawn Shop broker"]
O_RECEIVE_NIGHTINGALE["O: Receive Mechanical Nightingale"]
O_RECEIVE_MINT["O: Receive Mint"]
O_RECEIVE_TINDERBOX["O: Receive Tinderbox"]
O_RECEIVE_FLUTE["O: Receive Flute"]
O_RECEIVE_PAINTBRUSH["O: Receive Paintbrush"]
O_RECEIVE_INK["O: Receive Invisible Ink Bottle"]
%% Magic Map Trade
P_PROBLEM_NEED_MAP["Problem: Cannot travel to other islands"]
A_TRADE_RING_FOR_MAP["A: Trade Royal Ring for Magic Map"]
O_RECEIVE_MAGIC_MAP["O: Receive Magic Map"]
%% Ferryman - Rabbit's Foot
P_PROBLEM_FERRYMAN["Problem: Need ferry info and items"]
A_TALK_TO_FERRYMAN["A: Talk to Ali the ferryman"]
O_RECEIVE_RABBIT_FOOT["O: Receive Rabbit's Foot"]
%% Jollo in Bookstore
P_PROBLEM_JOLLO["Problem: Need Jollo's help for story"]
A_TALK_TO_JOLLO["A: Talk to Jollo in Bookstore"]
O_RECEIVE_JOLLO_TRUST["O: Receive Jollo's trust"]
A_SHOW_RING_TO_JOLLO["A: Show Royal Ring to Jollo"]
%% Love Poem (optional)
A_SEARCH_BOOKSHELF["A: Search poetry bookshelf"]
O_RECEIVE_LOVE_POEM["O: Receive Love Poem"]
%% Ali's Bookstore - Rare Book trade
A_TRADE_RARE_BOOK_FOR_SPELL["A: Trade Rare Book to Ali"]
O_RECEIVE_SPELL_BOOK["O: Receive Spell Book"]
end
C1 --> P_PROBLEM_PAWN_SHOP C1 --> P_PROBLEM_PAWN_SHOP
C1 --> P_PROBLEM_NEED_MAP C1 --> P_PROBLEM_NEED_MAP
C1 --> P_PROBLEM_FERRYMAN C1 --> P_PROBLEM_FERRYMAN
C1 --> P_PROBLEM_JOLLO C1 --> P_PROBLEM_JOLLO
C1 --> A_SEARCH_BOOKSHELF C1 --> A_SEARCH_BOOKSHELF
%% Village - Parallel independent paths (S3, S4, S5, S6 in original) %% Village - Parallel independent paths
P_PROBLEM_PAWN_SHOP --> A_TALK_TO_PAWN_BROKER P_PROBLEM_PAWN_SHOP --> A_TALK_TO_PAWN_BROKER
A_TALK_TO_PAWN_BROKER --> O_RECEIVE_NIGHTINGALE A_TALK_TO_PAWN_BROKER --> O_RECEIVE_NIGHTINGALE
A_TALK_TO_PAWN_BROKER --> O_RECEIVE_MINT A_TALK_TO_PAWN_BROKER --> O_RECEIVE_MINT
@@ -123,9 +134,24 @@ flowchart TD
A_SEARCH_BOOKSHELF --> O_RECEIVE_LOVE_POEM A_SEARCH_BOOKSHELF --> O_RECEIVE_LOVE_POEM
%% ============================================================================= %% =============================================================================
%% PHASE 2: Isle of Wonder - Five Senses Gnomes %% FAN-OUT: Magic Map unlocks travel to 4 parallel islands
%% ============================================================================= %% =============================================================================
subgraph area_iow_gnomes["Isle of Wonder - Five Senses Gnomes"] O_RECEIVE_MAGIC_MAP --> UNLOCK_ISLAND_TRAVEL["UNLOCK: Island Travel"]
UNLOCK_ISLAND_TRAVEL --> P_PROBLEM_GNOMES
UNLOCK_ISLAND_TRAVEL --> P_PROBLEM_BOILING_POOL
UNLOCK_ISLAND_TRAVEL --> P_PROBLEM_LOGIC_CLIFFS
O_RECEIVE_NIGHTINGALE --> UNLOCK_GNOME_ACCESS["UNLOCK: Gnome Access"]
O_RECEIVE_MINT --> UNLOCK_GNOME_ACCESS
O_RECEIVE_RABBIT_FOOT --> UNLOCK_GNOME_ACCESS
O_RECEIVE_INK --> UNLOCK_GNOME_ACCESS
O_RECEIVE_STINKY_FLOWER --> UNLOCK_GNOME_ACCESS
UNLOCK_GNOME_ACCESS --> P_PROBLEM_GNOMES
%% =============================================================================
%% ISLE OF WONDER - Five Senses Gnomes (area_2)
%% =============================================================================
subgraph area_2_gnomes["<style>subgraphTitleTitle {font-size: 18px; font-weight: bold;}</style>Isle of Wonder - Five Senses Gnomes"]
P_PROBLEM_GNOMES["Problem: Five gnomes block path north"] P_PROBLEM_GNOMES["Problem: Five gnomes block path north"]
A_GIVE_STINKY_FLOWER["A: Give Flower of Stench to Smell gnome"] A_GIVE_STINKY_FLOWER["A: Give Flower of Stench to Smell gnome"]
@@ -144,17 +170,9 @@ flowchart TD
O_GNOMES_SIGHT_DONE["O: Sight gnome satisfied"] O_GNOMES_SIGHT_DONE["O: Sight gnome satisfied"]
end end
O_RECEIVE_MAGIC_MAP --> UNLOCK_ISLAND_TRAVEL["UNLOCK: Island Travel"] %% Class assignments for gnome outcomes (area_2)
UNLOCK_ISLAND_TRAVEL --> P_PROBLEM_GNOMES class O_GNOMES_SMELL_DONE,O_GNOMES_HEARING_DONE,O_GNOMES_TASTE_DONE,O_GNOMES_TOUCH_DONE,O_GNOMES_SIGHT_DONE area_2
UNLOCK_ISLAND_TRAVEL --> P_PROBLEM_BOILING_POOL
UNLOCK_ISLAND_TRAVEL --> P_PROBLEM_LOGIC_CLIFFS
O_RECEIVE_NIGHTINGALE --> UNLOCK_GNOME_ACCESS["UNLOCK: Gnome Access"]
O_RECEIVE_MINT --> UNLOCK_GNOME_ACCESS
O_RECEIVE_RABBIT_FOOT --> UNLOCK_GNOME_ACCESS
O_RECEIVE_INK --> UNLOCK_GNOME_ACCESS
O_RECEIVE_STINKY_FLOWER --> UNLOCK_GNOME_ACCESS
UNLOCK_GNOME_ACCESS --> P_PROBLEM_GNOMES
P_PROBLEM_GNOMES --> A_PLAY_NIGHTINGALE P_PROBLEM_GNOMES --> A_PLAY_NIGHTINGALE
P_PROBLEM_GNOMES --> A_GIVE_MINT P_PROBLEM_GNOMES --> A_GIVE_MINT
P_PROBLEM_GNOMES --> A_GIVE_RABBIT_FOOT P_PROBLEM_GNOMES --> A_GIVE_RABBIT_FOOT
@@ -168,21 +186,21 @@ flowchart TD
A_USE_INK_ON_SELF --> O_GNOMES_SIGHT_DONE A_USE_INK_ON_SELF --> O_GNOMES_SIGHT_DONE
%% Isle of Wonder Beach - Oyster Pearl (INDEPENDENT of gnomes) %% Isle of Wonder Beach - Oyster Pearl (INDEPENDENT of gnomes)
subgraph area_iow_beach["Isle of Wonder - Beach (independent)"] subgraph area_2_beach["<style>subgraphTitleTitle {font-size: 16px; font-style: italic;}</style>Isle of Wonder - Beach"]
A_READ_BOOK_TO_OYSTER["A: Read Boring Book to Oyster"] A_READ_BOOK_TO_OYSTER["A: Read Boring Book to Oyster"]
O_RECEIVE_PEARL["O: Receive Pearl"] O_RECEIVE_PEARL["O: Receive Pearl"]
end end
O_RECEIVE_PEARL --> O_RECEIVE_ROYAL_RING
O_GNOMES_SMELL_DONE & O_GNOMES_HEARING_DONE & O_GNOMES_TASTE_DONE & O_GNOMES_TOUCH_DONE & O_GNOMES_SIGHT_DONE --> C2["Path through gnomes now open"] O_GNOMES_SMELL_DONE & O_GNOMES_HEARING_DONE & O_GNOMES_TASTE_DONE & O_GNOMES_TOUCH_DONE & O_GNOMES_SIGHT_DONE --> C2["Path through gnomes now open"]
C2 --> A_READ_BOOK_TO_OYSTER C2 --> A_READ_BOOK_TO_OYSTER
A_READ_BOOK_TO_OYSTER --> O_RECEIVE_PEARL A_READ_BOOK_TO_OYSTER --> O_RECEIVE_PEARL
O_RECEIVE_PEARL --> O_RECEIVE_ROYAL_RING
%% ============================================================================= %% =============================================================================
%% PHASE 3: Isle of Wonder - Garden, Chessboard, Point %% ISLE OF WONDER - Garden, Chessboard, Point (area_2)
%% ============================================================================= %% =============================================================================
subgraph area_iow_garden["Isle of Wonder - Garden"] subgraph area_2_garden["<style>subgraphTitleTitle {font-size: 16px; font-style: italic;}</style>Isle of Wonder - Garden"]
A_PLAY_FLUTE_FLOWERS["A: Play Flute for shy flowers"] A_PLAY_FLUTE_FLOWERS["A: Play Flute for shy flowers"]
O_RECEIVE_HOLE_IN_WALL["O: Receive Hole-in-the-Wall"] O_RECEIVE_HOLE_IN_WALL["O: Receive Hole-in-the-Wall"]
@@ -222,7 +240,7 @@ flowchart TD
O_RECEIVE_ROTTEN_TOMATO --> A_GIVE_ROTTEN_TOMATO O_RECEIVE_ROTTEN_TOMATO --> A_GIVE_ROTTEN_TOMATO
A_GIVE_ROTTEN_TOMATO --> O_RECEIVE_SWAMP_OOZE A_GIVE_ROTTEN_TOMATO --> O_RECEIVE_SWAMP_OOZE
subgraph area_iow_chessboard["Isle of Wonder - Chessboard Land"] subgraph area_2_chessboard["<style>subgraphTitleTitle {font-size: 16px; font-style: italic;}</style>Isle of Wonder - Chessboard Land"]
A_TALK_TO_QUEENS["A: Talk to Chessboard queens"] A_TALK_TO_QUEENS["A: Talk to Chessboard queens"]
O_RECEIVE_RED_SCARF["O: Receive Red Scarf"] O_RECEIVE_RED_SCARF["O: Receive Red Scarf"]
O_RECEIVE_LUMP_OF_COAL["O: Receive Lump of Coal"] O_RECEIVE_LUMP_OF_COAL["O: Receive Lump of Coal"]
@@ -236,7 +254,7 @@ flowchart TD
O_RECEIVE_LUMP_OF_COAL --> A_TRADE_COAL_FOR_EGG O_RECEIVE_LUMP_OF_COAL --> A_TRADE_COAL_FOR_EGG
A_TRADE_COAL_FOR_EGG --> O_RECEIVE_SULFUR_EGG A_TRADE_COAL_FOR_EGG --> O_RECEIVE_SULFUR_EGG
subgraph area_iow_point["Isle of Wonder - Point / Book Garden"] subgraph area_2_point["<style>subgraphTitleTitle {font-size: 16px; font-style: italic;}</style>Isle of Wonder - Point / Book Garden"]
A_PULL_THREAD["A: Pull thread from spider web"] A_PULL_THREAD["A: Pull thread from spider web"]
O_RECEIVE_LOVE_WORD["O: Receive word 'LOVE' (for Gate riddle)"] O_RECEIVE_LOVE_WORD["O: Receive word 'LOVE' (for Gate riddle)"]
O_RECEIVE_SPIDER_WEB["O: Receive Spider Web Paper"] O_RECEIVE_SPIDER_WEB["O: Receive Spider Web Paper"]
@@ -260,9 +278,9 @@ flowchart TD
A_TRADE_RARE_BOOK_FOR_SPELL --> O_RECEIVE_SPELL_BOOK A_TRADE_RARE_BOOK_FOR_SPELL --> O_RECEIVE_SPELL_BOOK
%% ============================================================================= %% =============================================================================
%% PHASE 4: Isle of the Beast - Initial Visit %% ISLE OF THE BEAST - Initial Visit (area_3)
%% ============================================================================= %% =============================================================================
subgraph area_iob_initial["Isle of the Beast - Initial Visit"] subgraph area_3_initial["<style>subgraphTitleTitle {font-size: 18px; font-weight: bold;}</style>Isle of the Beast - Initial Visit"]
P_PROBLEM_BOILING_POOL["Problem: Boiling pool blocks crossing"] P_PROBLEM_BOILING_POOL["Problem: Boiling pool blocks crossing"]
A_COOL_POOL["A: Use Iceberg Lettuce on pool"] A_COOL_POOL["A: Use Iceberg Lettuce on pool"]
C3["Path to north area now open"] C3["Path to north area now open"]
@@ -288,9 +306,9 @@ flowchart TD
A_GET_DANGLING_PARTICIPLE --> O_RECEIVE_DANGLING_PARTICIPLE A_GET_DANGLING_PARTICIPLE --> O_RECEIVE_DANGLING_PARTICIPLE
%% ============================================================================= %% =============================================================================
%% PHASE 5: Minotaur's Maze / Catacombs %% MINOTAUR'S MAZE (area_3 - part of Isle of Beast)
%% ============================================================================= %% =============================================================================
subgraph area_maze_l1["Minotaur's Maze - Level 1"] subgraph area_3_maze_l1["<style>subgraphTitleTitle {font-size: 16px; font-style: italic;}</style>Minotaur's Maze - Level 1"]
P_PROBLEM_MAZE_L1["Problem: Navigate maze to find items"] P_PROBLEM_MAZE_L1["Problem: Navigate maze to find items"]
A_SOLVE_TILE_PUZZLE["A: Solve tile puzzle (use manual)"] A_SOLVE_TILE_PUZZLE["A: Solve tile puzzle (use manual)"]
O_MAZE_PATH_OPEN["O: Tile path opens"] O_MAZE_PATH_OPEN["O: Tile path opens"]
@@ -314,7 +332,7 @@ flowchart TD
A_NAVIGATE_TO_SKELETON --> O_RECEIVE_SKULL A_NAVIGATE_TO_SKELETON --> O_RECEIVE_SKULL
A_COLLECT_COINS --> O_RECEIVE_COINS A_COLLECT_COINS --> O_RECEIVE_COINS
subgraph area_maze_l2["Minotaur's Maze - Level 2 (Dark)"] subgraph area_3_maze_l2["<style>subgraphTitleTitle {font-size: 16px; font-style: italic;}</style>Minotaur's Maze - Level 2 (Dark)"]
P_PROBLEM_DARK_L2["Problem: Cannot see in dark passage"] P_PROBLEM_DARK_L2["Problem: Cannot see in dark passage"]
A_LIGHT_TINDERBOX["A: Light Tinderbox to see"] A_LIGHT_TINDERBOX["A: Light Tinderbox to see"]
P_PROBLEM_DARK_L2 --> A_LIGHT_TINDERBOX P_PROBLEM_DARK_L2 --> A_LIGHT_TINDERBOX
@@ -338,7 +356,7 @@ flowchart TD
O_CAN_SEE --> A_FIND_SHIELD O_CAN_SEE --> A_FIND_SHIELD
A_FIND_SHIELD --> O_RECEIVE_SHIELD A_FIND_SHIELD --> O_RECEIVE_SHIELD
subgraph area_maze_lair["Minotaur's Lair"] subgraph area_3_maze_lair["<style>subgraphTitleTitle {font-size: 16px; font-style: italic;}</style>Minotaur's Lair"]
P_PROBLEM_MINOTAUR["Problem: Minotaur blocks exit"] P_PROBLEM_MINOTAUR["Problem: Minotaur blocks exit"]
A_LURE_MINOTAUR["A: Lure Minotaur with Red Scarf"] A_LURE_MINOTAUR["A: Lure Minotaur with Red Scarf"]
O_RECEIVE_DAGGER["O: Receive Dagger"] O_RECEIVE_DAGGER["O: Receive Dagger"]
@@ -354,15 +372,15 @@ flowchart TD
A_LURE_MINOTAUR --> O_RECEIVE_SACRED_WATER A_LURE_MINOTAUR --> O_RECEIVE_SACRED_WATER
A_LURE_MINOTAUR --> O_RECEIVE_ORACLE_VIAL A_LURE_MINOTAUR --> O_RECEIVE_ORACLE_VIAL
%% Parallel paths after maze - S23/S24 are PARALLEL, S20/S21 are PARALLEL %% Parallel paths after maze
O_MAZE_PATH_OPEN & O_RECEIVE_SKULL & O_RECEIVE_COINS & O_TRAP_STOPPED --> A_NAVIGATE_TO_SKELETON O_MAZE_PATH_OPEN & O_RECEIVE_SKULL & O_RECEIVE_COINS & O_TRAP_STOPPED --> A_NAVIGATE_TO_SKELETON
A_NAVIGATE_TO_SKELETON --> O_NAVIGATE_MAZE["O: Maze navigated, shield found"] A_NAVIGATE_TO_SKELETON --> O_NAVIGATE_MAZE["O: Maze navigated, shield found"]
O_NAVIGATE_MAZE --> P_PROBLEM_DARK_L2 O_NAVIGATE_MAZE --> P_PROBLEM_DARK_L2
%% ============================================================================= %% =============================================================================
%% PHASE 6: Isle of the Beast - Return Visit (with Shield) %% ISLE OF THE BEAST - Return Visit with Shield (area_3)
%% ============================================================================= %% =============================================================================
subgraph area_iob_return["Isle of the Beast - Return Visit"] subgraph area_3_return["<style>subgraphTitleTitle {font-size: 18px; font-weight: bold;}</style>Isle of the Beast - Return Visit"]
P_PROBLEM_ARCHER["Problem: Archer statue kills you"] P_PROBLEM_ARCHER["Problem: Archer statue kills you"]
A_USE_SHIELD_STATUE["A: Use Shield to block arrows"] A_USE_SHIELD_STATUE["A: Use Shield to block arrows"]
C4["Safe passage through archer gate"] C4["Safe passage through archer gate"]
@@ -382,7 +400,7 @@ flowchart TD
A_CUT_HEDGE --> C5 A_CUT_HEDGE --> C5
%% Beast's Domain %% Beast's Domain
subgraph area_beast_domain["Isle of the Beast - Beast's Domain"] subgraph area_3_beast_domain["<style>subgraphTitleTitle {font-size: 16px; font-style: italic;}</style>Beast's Domain"]
P_PROBLEM_MEET_BEAST["Problem: Need to meet Beast"] P_PROBLEM_MEET_BEAST["Problem: Need to meet Beast"]
A_GIVE_WHITE_ROSE["A: Give White Rose to Beauty"] A_GIVE_WHITE_ROSE["A: Give White Rose to Beauty"]
O_BEAUTY_TRUSTS["O: Beauty's trust gained"] O_BEAUTY_TRUSTS["O: Beauty's trust gained"]
@@ -408,9 +426,9 @@ flowchart TD
O_RECEIVE_WHITE_ROSE_2 --> O_JOLLO_HELPS O_RECEIVE_WHITE_ROSE_2 --> O_JOLLO_HELPS
%% ============================================================================= %% =============================================================================
%% PHASE 7: Isle of Sacred Mountain %% SACRED MOUNTAIN (area_5)
%% ============================================================================= %% =============================================================================
subgraph area_ism_cliffs["Isle of Sacred Mountain - Logic Cliffs"] subgraph area_5_cliffs["<style>subgraphTitleTitle {font-size: 18px; font-weight: bold;}</style>Isle of Sacred Mountain - Logic Cliffs"]
P_PROBLEM_LOGIC_CLIFFS["Problem: Copy protection puzzles block summit"] P_PROBLEM_LOGIC_CLIFFS["Problem: Copy protection puzzles block summit"]
A_SOLVE_CLIFF_PUZZLES["A: Solve 5 cliff puzzles (manual required)"] A_SOLVE_CLIFF_PUZZLES["A: Solve 5 cliff puzzles (manual required)"]
C6["Path to clifftop opens"] C6["Path to clifftop opens"]
@@ -430,7 +448,7 @@ flowchart TD
C6 --> A_GET_STINKY_FLOWER C6 --> A_GET_STINKY_FLOWER
A_GET_STINKY_FLOWER --> O_RECEIVE_STINKY_FLOWER A_GET_STINKY_FLOWER --> O_RECEIVE_STINKY_FLOWER
subgraph area_ism_clifftop["Isle of Sacred Mountain - Clifftop & Cave"] subgraph area_5_clifftop["<style>subgraphTitleTitle {font-size: 16px; font-style: italic;}</style>Sacred Mountain - Clifftop & Cave"]
P_PROBLEM_DARK_CAVE["Problem: Dark cave blocks path"] P_PROBLEM_DARK_CAVE["Problem: Dark cave blocks path"]
A_LIGHT_CAVE["A: Light way with Tinderbox"] A_LIGHT_CAVE["A: Light way with Tinderbox"]
O_RECEIVE_PEPPERMINT["O: Receive Peppermint Leaves"] O_RECEIVE_PEPPERMINT["O: Receive Peppermint Leaves"]
@@ -452,7 +470,7 @@ flowchart TD
O_SURVIVED --> A_RIDE_NIGHTMARE O_SURVIVED --> A_RIDE_NIGHTMARE
%% Winged Ones %% Winged Ones
subgraph area_ism_winged["Isle of Sacred Mountain - Winged Ones"] subgraph area_5_winged["<style>subgraphTitleTitle {font-size: 16px; font-style: italic;}</style>Sacred Mountain - Winged Ones"]
P_PROBLEM_SPELL_COMPONENTS["Problem: Need spell components for Night Mare"] P_PROBLEM_SPELL_COMPONENTS["Problem: Need spell components for Night Mare"]
A_COLLECT_COMPONENTS["A: Gather Ember, Hair, Spoiled Egg"] A_COLLECT_COMPONENTS["A: Gather Ember, Hair, Spoiled Egg"]
O_SPELL_READY["O: Charm Creatures spell ready"] O_SPELL_READY["O: Charm Creatures spell ready"]
@@ -482,9 +500,13 @@ flowchart TD
A_CAST_CHARM_SPELL --> O_NIGHTMARE_MOUNT A_CAST_CHARM_SPELL --> O_NIGHTMARE_MOUNT
%% ============================================================================= %% =============================================================================
%% PHASE 8: Isle of the Mists - Druids %% FAN-IN: Convergence from parallel paths
%% ============================================================================= %% =============================================================================
subgraph area_iom["Isle of the Mists - Druids"]
%% =============================================================================
%% ISLE OF THE MISTS - Druids (area_4 + area_6)
%% =============================================================================
subgraph area_4_iom["<style>subgraphTitleTitle {font-size: 18px; font-weight: bold;}</style>Isle of the Mists - Druids"]
P_PROBLEM_DRUIDS["Problem: Druids will burn you without protection"] P_PROBLEM_DRUIDS["Problem: Druids will burn you without protection"]
A_CAST_RAIN_SPELL["A: Cast Rain Spell (Baby's Tears + Milk + Hunter's Lamp)"] A_CAST_RAIN_SPELL["A: Cast Rain Spell (Baby's Tears + Milk + Hunter's Lamp)"]
O_RAIN_PROTECTION["O: Rain protection active"] O_RAIN_PROTECTION["O: Rain protection active"]
@@ -513,9 +535,9 @@ flowchart TD
O_RECEIVE_COAL_IOM --> A_TRADE_COAL_FOR_EGG O_RECEIVE_COAL_IOM --> A_TRADE_COAL_FOR_EGG
%% ============================================================================= %% =============================================================================
%% PHASE 9: Realm of the Dead %% REALM OF THE DEAD (area_7)
%% ============================================================================= %% =============================================================================
subgraph area_rod_landing["Realm of the Dead - Landing Point"] subgraph area_7_rod_landing["<style>subgraphTitleTitle {font-size: 18px; font-weight: bold;}</style>Realm of the Dead - Landing Point"]
P_PROBLEM_ENTER_ROD["Problem: Need to reach Land of the Dead"] P_PROBLEM_ENTER_ROD["Problem: Need to reach Land of the Dead"]
A_RIDE_NIGHTMARE["A: Ride Nightmare horse"] A_RIDE_NIGHTMARE["A: Ride Nightmare horse"]
C7["Arrive at Land of the Dead"] C7["Arrive at Land of the Dead"]
@@ -532,7 +554,7 @@ flowchart TD
P_PROBLEM_ZOMBIES --> A_AVOID_ZOMBIES P_PROBLEM_ZOMBIES --> A_AVOID_ZOMBIES
A_AVOID_ZOMBIES --> O_ZOMBIES_PASSED A_AVOID_ZOMBIES --> O_ZOMBIES_PASSED
subgraph area_rod_pathway["Realm of the Dead - Pathway"] subgraph area_7_rod_pathway["<style>subgraphTitleTitle {font-size: 16px; font-style: italic;}</style>Realm of the Dead - Pathway"]
A_TALK_TO_CASSIMA_PARENTS["A: Talk to Cassima's parents"] A_TALK_TO_CASSIMA_PARENTS["A: Talk to Cassima's parents"]
O_RECEIVE_TICKET["O: Receive Ticket to Underworld"] O_RECEIVE_TICKET["O: Receive Ticket to Underworld"]
@@ -546,7 +568,7 @@ flowchart TD
A_TALK_TO_GHOST_MOTHER --> O_RECEIVE_HANKERCHIEF A_TALK_TO_GHOST_MOTHER --> O_RECEIVE_HANKERCHIEF
O_RECEIVE_HANKERCHIEF --> A_TALK_TO_GHOST_BOY O_RECEIVE_HANKERCHIEF --> A_TALK_TO_GHOST_BOY
subgraph area_rod_gate["Realm of the Dead - Gate"] subgraph area_7_rod_gate["<style>subgraphTitleTitle {font-size: 16px; font-style: italic;}</style>Realm of the Dead - Gate"]
P_PROBLEM_GATE["Problem: Need ticket for underworld"] P_PROBLEM_GATE["Problem: Need ticket for underworld"]
A_GIVE_TICKET["A: Give ticket to skeleton gatekeeper"] A_GIVE_TICKET["A: Give ticket to skeleton gatekeeper"]
C8["Gate to Styx opens"] C8["Gate to Styx opens"]
@@ -570,7 +592,7 @@ flowchart TD
A_PAY_CHARON --> O_FERRY_ACCESS A_PAY_CHARON --> O_FERRY_ACCESS
O_FERRY_ACCESS --> A_RIDE_NIGHTMARE O_FERRY_ACCESS --> A_RIDE_NIGHTMARE
subgraph area_rod_styx["Realm of the Dead - River Styx"] subgraph area_7_rod_styx["<style>subgraphTitleTitle {font-size: 16px; font-style: italic;}</style>Realm of the Dead - River Styx"]
P_PROBLEM_STYX["Problem: Need Styx Water for paint spell"] P_PROBLEM_STYX["Problem: Need Styx Water for paint spell"]
A_COLLECT_STYX_WATER["A: Collect Styx Water with Tea Cup"] A_COLLECT_STYX_WATER["A: Collect Styx Water with Tea Cup"]
O_RECEIVE_STYX_WATER["O: Receive Styx Water"] O_RECEIVE_STYX_WATER["O: Receive Styx Water"]
@@ -586,7 +608,7 @@ flowchart TD
A_SEARCH_KNIGHT --> O_RECEIVE_GAUNTLET A_SEARCH_KNIGHT --> O_RECEIVE_GAUNTLET
O_RECEIVE_GAUNTLET --> P_PROBLEM_DEATH O_RECEIVE_GAUNTLET --> P_PROBLEM_DEATH
subgraph area_rod_throne["Realm of the Dead - Talking Gate & Throne"] subgraph area_7_rod_throne["<style>subgraphTitleTitle {font-size: 16px; font-style: italic;}</style>Realm of the Dead - Talking Gate & Throne"]
P_PROBLEM_GATE_RIDDLE["Problem: Gate asks riddle"] P_PROBLEM_GATE_RIDDLE["Problem: Gate asks riddle"]
A_ANSWER_LOVE["A: Answer 'LOVE' (from spider web)"] A_ANSWER_LOVE["A: Answer 'LOVE' (from spider web)"]
C9["Gate opens to Death's domain"] C9["Gate opens to Death's domain"]
@@ -606,9 +628,13 @@ flowchart TD
C10 --> C_RETURN["Return to Isle of the Crown Beach"] C10 --> C_RETURN["Return to Isle of the Crown Beach"]
%% ============================================================================= %% =============================================================================
%% PHASE 10: Castle Infiltration %% FAN-OUT: Return to Isle of Crown for final phase
%% ============================================================================= %% =============================================================================
subgraph area_castle_approach["Castle Infiltration - Two Paths Converge"]
%% =============================================================================
%% ISLE OF CROWN - Final Phase / Castle Infiltration (area_1)
%% =============================================================================
subgraph area_1_final_approach["<style>subgraphTitleTitle {font-size: 18px; font-weight: bold;}</style>Isle of Crown - Castle Infiltration"]
P_PROBLEM_ENTER_CASTLE["Problem: Cannot enter castle normally"] P_PROBLEM_ENTER_CASTLE["Problem: Cannot enter castle normally"]
%% Long Path - Paint Door %% Long Path - Paint Door
@@ -631,7 +657,7 @@ flowchart TD
O_RECEIVE_BEAUTYS_DRESS --> A_WEAR_DISGUISE O_RECEIVE_BEAUTYS_DRESS --> A_WEAR_DISGUISE
A_WEAR_DISGUISE --> O_CASTLE_ACCESS A_WEAR_DISGUISE --> O_CASTLE_ACCESS
subgraph area_castle_basement["Castle - Basement / Cells"] subgraph area_1_basement["<style>subgraphTitleTitle {font-size: 16px; font-style: italic;}</style>Castle - Basement / Cells"]
P_PROBLEM_GUARDS["Problem: Guards patrol basement"] P_PROBLEM_GUARDS["Problem: Guards patrol basement"]
A_DISTRACT_GUARDS["A: Use Nightingale to distract guards"] A_DISTRACT_GUARDS["A: Use Nightingale to distract guards"]
O_GUARDS_DISTRACTED["O: Guards distracted"] O_GUARDS_DISTRACTED["O: Guards distracted"]
@@ -654,7 +680,7 @@ flowchart TD
A_TALK_TO_GHOST_BOY --> O_RECEIVE_PASSAGE_HINT A_TALK_TO_GHOST_BOY --> O_RECEIVE_PASSAGE_HINT
O_RECEIVE_PASSAGE_HINT --> P_PROBLEM_PASSWORD O_RECEIVE_PASSAGE_HINT --> P_PROBLEM_PASSWORD
subgraph area_castle_passage["Castle - Secret Passage"] subgraph area_1_passage["<style>subgraphTitleTitle {font-size: 16px; font-style: italic;}</style>Castle - Secret Passage"]
P_PROBLEM_PASSWORD["Problem: Need password to proceed"] P_PROBLEM_PASSWORD["Problem: Need password to proceed"]
A_FIND_ALI_PASSWORD["A: Eavesdrop to learn 'ALI'"] A_FIND_ALI_PASSWORD["A: Eavesdrop to learn 'ALI'"]
A_FIND_ZEBU_PASSWORD["A: Spy on Vizier to learn 'ZEBU'"] A_FIND_ZEBU_PASSWORD["A: Spy on Vizier to learn 'ZEBU'"]
@@ -679,7 +705,7 @@ flowchart TD
O_RECEIVE_DAGGER --> A_GIVE_DAGGER O_RECEIVE_DAGGER --> A_GIVE_DAGGER
A_GIVE_DAGGER --> O_CASSIMA_ARMED A_GIVE_DAGGER --> O_CASSIMA_ARMED
subgraph area_castle_vizier["Castle - Vizier's Bedroom"] subgraph area_1_vizier["<style>subgraphTitleTitle {font-size: 16px; font-style: italic;}</style>Castle - Vizier's Bedroom"]
P_PROBLEM_VIZIER_CHEST["Problem: Need to open Vizier's chest"] P_PROBLEM_VIZIER_CHEST["Problem: Need to open Vizier's chest"]
A_UNLOCK_CHEST["A: Use Skeleton Key on chest"] A_UNLOCK_CHEST["A: Use Skeleton Key on chest"]
O_RECEIVE_VIZIER_LETTER["O: Receive Vizier's Letter"] O_RECEIVE_VIZIER_LETTER["O: Receive Vizier's Letter"]
@@ -699,9 +725,9 @@ flowchart TD
O_TREASURY_OPEN --> P_PROBLEM_GENIE O_TREASURY_OPEN --> P_PROBLEM_GENIE
%% ============================================================================= %% =============================================================================
%% PHASE 11: Final Confrontation %% FINAL CONFRONTATION (area_1)
%% ============================================================================= %% =============================================================================
subgraph area_1_final ["<style>subgraphTitleTitle {font-size: 18px; font-weight: bold;}</style>Final Confrontation"] subgraph area_1_final["<style>subgraphTitleTitle {font-size: 18px; font-weight: bold;}</style>Final Confrontation"]
P_PROBLEM_GENIE["Problem: Genie attacks"] P_PROBLEM_GENIE["Problem: Genie attacks"]
A_USE_FAKE_LAMP["A: Use Fake Genie Lamp (from Jollo)"] A_USE_FAKE_LAMP["A: Use Fake Genie Lamp (from Jollo)"]
@@ -715,7 +741,7 @@ flowchart TD
end end
%% ============================================================================= %% =============================================================================
%% BOTTOM: END NODE (only non-subgraph node besides START) %% END NODE
%% ============================================================================= %% =============================================================================
END(["END: Victory - KQVI Complete"]) END(["END: Victory - KQVI Complete"])

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 731 KiB

After

Width:  |  Height:  |  Size: 750 KiB

View File

@@ -241,3 +241,37 @@ Complete overhaul of the King's Quest VI puzzle dependency chart based on compre
## Build Command ## Build Command
`./build.sh` (not `mdbook build`) `./build.sh` (not `mdbook build`)
---
## 10. Reorganize Chart for Better Readability ✅
### 10a: Update skills with layout guidelines ✅
- [x] **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
- [x] **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 ✅
- [x] **10b.1: Apply fontsize=18 to all nodes**
- [x] **10b.2: Restructure with proper fan-out/fan-in flow**
- [x] **10b.3: Group pawn shop items in Village cluster**
- Nightingale, Mint, Tinderbox, Flute, Paintbrush, Ink
- [x] **10b.4: Group gnome items under Isle of Wonder - Five Senses**
- [x] **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 ✅
- [x] **10c.1: Run `./build.sh` successfully**
- [x] **10c.2: Verify SVG renders correctly**
- [x] **10c.3: Commit changes**