Complete KQVI chart overhaul: SVG rendering, pawn shop simplification, and cleanup
- Add build.sh wrapper script for SVG rendering via mermaid-cli - Simplify pawn shop: remove trade chain, show items as UNLOCKED directly - Add documented color palette for repeat areas - Fix 16 orphaned nodes (input/output connectivity issues) - Apply bigger subgraph titles (18px for Final Confrontation) - Ensure only START/END outside subgraph groupings Build: ./build.sh (not mdbook build)
This commit is contained in:
14
build.sh
Executable file
14
build.sh
Executable file
@@ -0,0 +1,14 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
|
|
||||||
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||||
|
MMDC="/home/noti/.nvm/versions/node/v22.17.1/bin/mmdc"
|
||||||
|
SRC_DIR="$SCRIPT_DIR/src/inspiration"
|
||||||
|
|
||||||
|
echo "Rendering Mermaid charts to SVG..."
|
||||||
|
"$MMDC" -i "$SRC_DIR/kings-quest-vi-chart.mmd" -o "$SRC_DIR/kings-quest-vi-chart.svg" -w 1600
|
||||||
|
echo "Done."
|
||||||
|
|
||||||
|
echo "Building mdbook..."
|
||||||
|
cd "$SCRIPT_DIR"
|
||||||
|
mdbook build
|
||||||
11
scripts/render-mermaid.sh
Executable file
11
scripts/render-mermaid.sh
Executable file
@@ -0,0 +1,11 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
|
|
||||||
|
MMDC="/home/noti/.nvm/versions/node/v22.17.1/bin/mmdc"
|
||||||
|
SRC_DIR="src/inspiration"
|
||||||
|
|
||||||
|
echo "Rendering Mermaid charts to SVG..."
|
||||||
|
|
||||||
|
"$MMDC" -i "$SRC_DIR/kings-quest-vi-chart.mmd" -o "$SRC_DIR/kings-quest-vi-chart.svg" -w 1600
|
||||||
|
|
||||||
|
echo "Done."
|
||||||
@@ -16,6 +16,19 @@ flowchart TD
|
|||||||
classDef area_castle fill:#FFD9CC,stroke:#663320,stroke-width:2px
|
classDef area_castle fill:#FFD9CC,stroke:#663320,stroke-width:2px
|
||||||
classDef area_final fill:#FFCCE6,stroke:#660033,stroke-width:2px
|
classDef area_final fill:#FFCCE6,stroke:#660033,stroke-width:2px
|
||||||
|
|
||||||
|
%% =============================================================================
|
||||||
|
%% COLOR PALETTE (index-based for repeat areas)
|
||||||
|
%% =============================================================================
|
||||||
|
%% 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)
|
%% TOP: START NODE (only non-subgraph node besides END)
|
||||||
%% =============================================================================
|
%% =============================================================================
|
||||||
@@ -87,12 +100,9 @@ flowchart TD
|
|||||||
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
|
||||||
A_TALK_TO_PAWN_BROKER --> O_RECEIVE_INK
|
A_TALK_TO_PAWN_BROKER --> O_RECEIVE_INK
|
||||||
O_RECEIVE_NIGHTINGALE --> A_TRADE_WITH_BROKER_N["A: Trade Nightingale"]
|
A_TALK_TO_PAWN_BROKER --> O_RECEIVE_FLUTE
|
||||||
A_TRADE_WITH_BROKER_N -.-> O_RECEIVE_FLUTE
|
A_TALK_TO_PAWN_BROKER --> O_RECEIVE_TINDERBOX
|
||||||
O_RECEIVE_FLUTE --> A_TRADE_WITH_BROKER_F["A: Trade Flute"]
|
A_TALK_TO_PAWN_BROKER --> O_RECEIVE_PAINTBRUSH
|
||||||
A_TRADE_WITH_BROKER_F -.-> O_RECEIVE_TINDERBOX
|
|
||||||
O_RECEIVE_TINDERBOX --> A_TRADE_WITH_BROKER_T["A: Trade Tinderbox"]
|
|
||||||
A_TRADE_WITH_BROKER_T -.-> O_RECEIVE_PAINTBRUSH
|
|
||||||
|
|
||||||
P_PROBLEM_FERRYMAN --> A_TALK_TO_FERRYMAN
|
P_PROBLEM_FERRYMAN --> A_TALK_TO_FERRYMAN
|
||||||
A_TALK_TO_FERRYMAN --> O_RECEIVE_RABBIT_FOOT
|
A_TALK_TO_FERRYMAN --> O_RECEIVE_RABBIT_FOOT
|
||||||
@@ -671,5 +681,5 @@ flowchart TD
|
|||||||
%% =============================================================================
|
%% =============================================================================
|
||||||
class START,END,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C_RETURN start_end
|
class START,END,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C_RETURN start_end
|
||||||
class P_PROBLEM_PAWN_SHOP,P_PROBLEM_NEED_MAP,P_PROBLEM_FERRYMAN,P_PROBLEM_JOLLO,P_PROBLEM_GNOMES,P_PROBLEM_BOILING_POOL,P_PROBLEM_MAZE_L1,P_PROBLEM_DARK_L2,P_PROBLEM_MINOTAUR,P_PROBLEM_ARCHER,P_PROBLEM_ROSE_HEDGE,P_PROBLEM_MEET_BEAST,P_PROBLEM_LOGIC_CLIFFS,P_PROBLEM_DARK_CAVE,P_PROBLEM_POISON_LADY,P_PROBLEM_SPELL_COMPONENTS,P_PROBLEM_DRUIDS,P_PROBLEM_ENTER_ROD,P_PROBLEM_ZOMBIES,P_PROBLEM_GATE,P_PROBLEM_CHARON,P_PROBLEM_STYX,P_PROBLEM_GATE_RIDDLE,P_PROBLEM_DEATH,P_PROBLEM_ENTER_CASTLE,P_PROBLEM_GUARDS,P_PROBLEM_PASSWORD,P_PROBLEM_CASSIMA,P_PROBLEM_VIZIER_CHEST,P_PROBLEM_TREASURY,P_PROBLEM_GENIE,P_PROBLEM_VIZIER problem
|
class P_PROBLEM_PAWN_SHOP,P_PROBLEM_NEED_MAP,P_PROBLEM_FERRYMAN,P_PROBLEM_JOLLO,P_PROBLEM_GNOMES,P_PROBLEM_BOILING_POOL,P_PROBLEM_MAZE_L1,P_PROBLEM_DARK_L2,P_PROBLEM_MINOTAUR,P_PROBLEM_ARCHER,P_PROBLEM_ROSE_HEDGE,P_PROBLEM_MEET_BEAST,P_PROBLEM_LOGIC_CLIFFS,P_PROBLEM_DARK_CAVE,P_PROBLEM_POISON_LADY,P_PROBLEM_SPELL_COMPONENTS,P_PROBLEM_DRUIDS,P_PROBLEM_ENTER_ROD,P_PROBLEM_ZOMBIES,P_PROBLEM_GATE,P_PROBLEM_CHARON,P_PROBLEM_STYX,P_PROBLEM_GATE_RIDDLE,P_PROBLEM_DEATH,P_PROBLEM_ENTER_CASTLE,P_PROBLEM_GUARDS,P_PROBLEM_PASSWORD,P_PROBLEM_CASSIMA,P_PROBLEM_VIZIER_CHEST,P_PROBLEM_TREASURY,P_PROBLEM_GENIE,P_PROBLEM_VIZIER problem
|
||||||
class A_MOVE_PLANK,A_EXAMINE_DEBRIS,A_SHOW_RING_TO_GUARDS,A_TALK_TO_PAWN_BROKER,A_TRADE_RING_FOR_MAP,A_TALK_TO_FERRYMAN,A_TALK_TO_JOLLO,A_SHOW_RING_TO_JOLLO,A_SEARCH_BOOKSHELF,A_GIVE_STINKY_FLOWER,A_PLAY_NIGHTINGALE,A_GIVE_MINT,A_GIVE_RABBIT_FOOT,A_USE_INK_ON_SELF,A_READ_BOOK_TO_OYSTER,A_PLAY_FLUTE_FLOWERS,A_PICK_ICEY_LETTUCE,A_PICK_ROTTEN_TOMATO,A_GIVE_ROTTEN_TOMATO,A_GIVE_MILK_TO_PLANT,A_GET_MILK_BOTTLE,A_GET_TEA_CUP,A_PICK_DRINK_ME_POTION,A_TALK_TO_QUEENS,A_PULL_THREAD,A_SEARCH_POETRY_SHELF,A_TRADE_PARTICIPLE_BOOK,A_COOL_POOL,A_GET_BRICK,A_GET_HUNTERS_LAMP,A_GET_DANGLING_PARTICIPLE,A_SOLVE_TILE_PUZZLE,A_NAVIGATE_TO_SKELETON,A_COLLECT_COINS,A_USE_BRICK_TRAP,A_LIGHT_TINDERBOX,A_USE_HOLE_IN_WALL,A_FIND_SHIELD,A_LURE_MINOTAUR,A_USE_SHIELD_STATUE,A_CUT_HEDGE,A_GIVE_WHITE_ROSE,A_GIVE_RING_TO_BEAUTY,A_PLACE_ROSE,A_SOLVE_CLIFF_PUZZLES,A_GET_BLACK_FEATHER,A_GET_STINKY_FLOWER,A_LIGHT_CAVE,A_REJECT_POISON,A_COLLECT_COMPONENTS,A_GET_EMBER,A_GET_HAIR,A_GET_SPOILED_EGG,A_CAST_CHARM_SPELL,A_CAST_RAIN_SPELL,A_WEAR_BEAUTYS_DRESS,A_GET_SCYTHE,A_GET_COAL,A_RIDE_NIGHTMARE,A_AVOID_ZOMBIES,A_TALK_TO_CASSIMA_PARENTS,A_TALK_TO_GHOST_MOTHER,A_GIVE_TICKET,A_PLAY_BONES,A_PAY_CHARON,A_COLLECT_STYX_WATER,A_SEARCH_KNIGHT,A_ANSWER_LOVE,A_SHOW_MIRROR_DEATH,A_PAINT_DOOR,A_CAST_PAINT_SPELL,A_WEAR_DISGUISE,A_DISTRACT_GUARDS,A_TALK_TO_GHOST_BOY,A_GIVE_LAMP_REPLICA,A_FIND_ALI_PASSWORD,A_FIND_ZEBU_PASSWORD,A_GIVE_DAGGER,A_COMBINE_PASSWORD,A_UNLOCK_CHEST,A_OPEN_TREASURY,A_USE_FAKE_LAMP,A_GIVE_MINT_GENIE,A_FIGHT_VIZIER,A_TRADE_WITH_BROKER_N,A_TRADE_WITH_BROKER_F,A_TRADE_WITH_BROKER_T,A_TRADE_COAL_FOR_EGG action
|
class A_MOVE_PLANK,A_EXAMINE_DEBRIS,A_SHOW_RING_TO_GUARDS,A_TALK_TO_PAWN_BROKER,A_TRADE_RING_FOR_MAP,A_TALK_TO_FERRYMAN,A_TALK_TO_JOLLO,A_SHOW_RING_TO_JOLLO,A_SEARCH_BOOKSHELF,A_GIVE_STINKY_FLOWER,A_PLAY_NIGHTINGALE,A_GIVE_MINT,A_GIVE_RABBIT_FOOT,A_USE_INK_ON_SELF,A_READ_BOOK_TO_OYSTER,A_PLAY_FLUTE_FLOWERS,A_PICK_ICEY_LETTUCE,A_PICK_ROTTEN_TOMATO,A_GIVE_ROTTEN_TOMATO,A_GIVE_MILK_TO_PLANT,A_GET_MILK_BOTTLE,A_GET_TEA_CUP,A_PICK_DRINK_ME_POTION,A_TALK_TO_QUEENS,A_PULL_THREAD,A_SEARCH_POETRY_SHELF,A_TRADE_PARTICIPLE_BOOK,A_COOL_POOL,A_GET_BRICK,A_GET_HUNTERS_LAMP,A_GET_DANGLING_PARTICIPLE,A_SOLVE_TILE_PUZZLE,A_NAVIGATE_TO_SKELETON,A_COLLECT_COINS,A_USE_BRICK_TRAP,A_LIGHT_TINDERBOX,A_USE_HOLE_IN_WALL,A_FIND_SHIELD,A_LURE_MINOTAUR,A_USE_SHIELD_STATUE,A_CUT_HEDGE,A_GIVE_WHITE_ROSE,A_GIVE_RING_TO_BEAUTY,A_PLACE_ROSE,A_SOLVE_CLIFF_PUZZLES,A_GET_BLACK_FEATHER,A_GET_STINKY_FLOWER,A_LIGHT_CAVE,A_REJECT_POISON,A_COLLECT_COMPONENTS,A_GET_EMBER,A_GET_HAIR,A_GET_SPOILED_EGG,A_CAST_CHARM_SPELL,A_CAST_RAIN_SPELL,A_WEAR_BEAUTYS_DRESS,A_GET_SCYTHE,A_GET_COAL,A_RIDE_NIGHTMARE,A_AVOID_ZOMBIES,A_TALK_TO_CASSIMA_PARENTS,A_TALK_TO_GHOST_MOTHER,A_GIVE_TICKET,A_PLAY_BONES,A_PAY_CHARON,A_COLLECT_STYX_WATER,A_SEARCH_KNIGHT,A_ANSWER_LOVE,A_SHOW_MIRROR_DEATH,A_PAINT_DOOR,A_CAST_PAINT_SPELL,A_WEAR_DISGUISE,A_DISTRACT_GUARDS,A_TALK_TO_GHOST_BOY,A_GIVE_LAMP_REPLICA,A_FIND_ALI_PASSWORD,A_FIND_ZEBU_PASSWORD,A_GIVE_DAGGER,A_COMBINE_PASSWORD,A_UNLOCK_CHEST,A_OPEN_TREASURY,A_USE_FAKE_LAMP,A_GIVE_MINT_GENIE,A_FIGHT_VIZIER,A_TRADE_COAL_FOR_EGG action
|
||||||
class O_RECEIVE_COPPER_COIN,O_RECEIVE_ROYAL_RING,O_RECEIVE_NIGHTINGALE,O_RECEIVE_MINT,O_RECEIVE_TINDERBOX,O_RECEIVE_FLUTE,O_RECEIVE_PAINTBRUSH,O_RECEIVE_INK,O_RECEIVE_MAGIC_MAP,O_RECEIVE_RABBIT_FOOT,O_RECEIVE_JOLLO_TRUST,O_RECEIVE_LOVE_POEM,O_GNOMES_SMELL_DONE,O_GNOMES_HEARING_DONE,O_GNOMES_TASTE_DONE,O_GNOMES_TOUCH_DONE,O_GNOMES_SIGHT_DONE,O_RECEIVE_PEARL,O_RECEIVE_HOLE_IN_WALL,O_RECEIVE_ICEY_LETTUCE,O_RECEIVE_ROTTEN_TOMATO,O_RECEIVE_SWAMP_OOZE,O_RECEIVE_BABYS_TEARS,O_RECEIVE_MILK,O_RECEIVE_TEA_CUP,O_RECEIVE_DRINK_ME,O_RECEIVE_RED_SCARF,O_RECEIVE_LUMP_OF_COAL,O_RECEIVE_LOVE_WORD,O_RECEIVE_SPIDER_WEB,O_RECEIVE_LOVE_POEM_IOW,O_RECEIVE_RARE_BOOK,O_RECEIVE_BRICK,O_RECEIVE_HUNTERS_LAMP,O_RECEIVE_DANGLING_PARTICIPLE,O_MAZE_PATH_OPEN,O_RECEIVE_SKULL,O_RECEIVE_COINS,O_TRAP_STOPPED,O_CAN_SEE,O_REVEAL_TAPESTRY,O_RECEIVE_SHIELD,O_RECEIVE_DAGGER,O_RECEIVE_SACRED_WATER,O_RECEIVE_ORACLE_VIAL,O_RECEIVE_SCARF_CONV,O_BEAUTY_TRUSTS,O_RECEIVE_BEAUTYS_DRESS,O_RECEIVE_MIRROR,O_RECEIVE_BEASTS_RING,O_RECEIVE_WHITE_ROSE_2,O_RECEIVE_BLACK_FEATHER,O_RECEIVE_STINKY_FLOWER,O_RECEIVE_PEPPERMINT,O_SURVIVED,O_SPELL_READY,O_RECEIVE_EMBER,O_RECEIVE_HAIR,O_RECEIVE_SPOILED_EGG,O_NIGHTMARE_MOUNT,O_RAIN_PROTECTION,O_DRUID_PROTECTION,O_RECEIVE_SCYTHE,O_RECEIVE_COAL_IOM,O_RECEIVE_SULFUR_EGG,O_ZOMBIES_PASSED,O_RECEIVE_TICKET,O_RECEIVE_HANKERCHIEF,O_RECEIVE_SKELETON_KEY,O_FERRY_ACCESS,O_RECEIVE_STYX_WATER,O_RECEIVE_GAUNTLET,O_DOOR_APPEARS,O_CASTLE_ACCESS,O_GUARDS_DISTRACTED,O_RECEIVE_PASSAGE_HINT,O_JOLLO_HELPS,O_PASSWORD_ALI,O_PASSWORD_ZEBU,O_CASSIMA_ARMED,O_RECEIVE_VIZIER_LETTER,O_TREASURY_OPEN,O_GENIE_CONTROLLED,O_GENIE_DRUNK outcome
|
class O_RECEIVE_COPPER_COIN,O_RECEIVE_ROYAL_RING,O_RECEIVE_NIGHTINGALE,O_RECEIVE_MINT,O_RECEIVE_TINDERBOX,O_RECEIVE_FLUTE,O_RECEIVE_PAINTBRUSH,O_RECEIVE_INK,O_RECEIVE_MAGIC_MAP,O_RECEIVE_RABBIT_FOOT,O_RECEIVE_JOLLO_TRUST,O_RECEIVE_LOVE_POEM,O_GNOMES_SMELL_DONE,O_GNOMES_HEARING_DONE,O_GNOMES_TASTE_DONE,O_GNOMES_TOUCH_DONE,O_GNOMES_SIGHT_DONE,O_RECEIVE_PEARL,O_RECEIVE_HOLE_IN_WALL,O_RECEIVE_ICEY_LETTUCE,O_RECEIVE_ROTTEN_TOMATO,O_RECEIVE_SWAMP_OOZE,O_RECEIVE_BABYS_TEARS,O_RECEIVE_MILK,O_RECEIVE_TEA_CUP,O_RECEIVE_DRINK_ME,O_RECEIVE_RED_SCARF,O_RECEIVE_LUMP_OF_COAL,O_RECEIVE_LOVE_WORD,O_RECEIVE_SPIDER_WEB,O_RECEIVE_LOVE_POEM_IOW,O_RECEIVE_RARE_BOOK,O_RECEIVE_BRICK,O_RECEIVE_HUNTERS_LAMP,O_RECEIVE_DANGLING_PARTICIPLE,O_MAZE_PATH_OPEN,O_RECEIVE_SKULL,O_RECEIVE_COINS,O_TRAP_STOPPED,O_CAN_SEE,O_REVEAL_TAPESTRY,O_RECEIVE_SHIELD,O_RECEIVE_DAGGER,O_RECEIVE_SACRED_WATER,O_RECEIVE_ORACLE_VIAL,O_RECEIVE_SCARF_CONV,O_BEAUTY_TRUSTS,O_RECEIVE_BEAUTYS_DRESS,O_RECEIVE_MIRROR,O_RECEIVE_BEASTS_RING,O_RECEIVE_WHITE_ROSE_2,O_RECEIVE_BLACK_FEATHER,O_RECEIVE_STINKY_FLOWER,O_RECEIVE_PEPPERMINT,O_SURVIVED,O_SPELL_READY,O_RECEIVE_EMBER,O_RECEIVE_HAIR,O_RECEIVE_SPOILED_EGG,O_NIGHTMARE_MOUNT,O_RAIN_PROTECTION,O_DRUID_PROTECTION,O_RECEIVE_SCYTHE,O_RECEIVE_COAL_IOM,O_RECEIVE_SULFUR_EGG,O_ZOMBIES_PASSED,O_RECEIVE_TICKET,O_RECEIVE_HANKERCHIEF,O_RECEIVE_SKELETON_KEY,O_FERRY_ACCESS,O_RECEIVE_STYX_WATER,O_RECEIVE_GAUNTLET,O_DOOR_APPEARS,O_CASTLE_ACCESS,O_GUARDS_DISTRACTED,O_RECEIVE_PASSAGE_HINT,O_JOLLO_HELPS,O_PASSWORD_ALI,O_PASSWORD_ZEBU,O_CASSIMA_ARMED,O_RECEIVE_VIZIER_LETTER,O_TREASURY_OPEN,O_GENIE_CONTROLLED,O_GENIE_DRUNK outcome
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
|
Before Width: | Height: | Size: 537 KiB After Width: | Height: | Size: 539 KiB |
@@ -10,34 +10,20 @@ This chart maps the critical puzzle dependencies in Sierra's King's Quest VI (19
|
|||||||
|
|
||||||
**Raw Mermaid Source**: [kings-quest-vi-chart.mmd](kings-quest-vi-chart.mmd)
|
**Raw Mermaid Source**: [kings-quest-vi-chart.mmd](kings-quest-vi-chart.mmd)
|
||||||
|
|
||||||
## Locked Choice Mechanic
|
## Pawn Shop Items
|
||||||
|
|
||||||
The Pawn Shop in the Village operates on a **locked choice system** where only one item can be unlocked at a time through trading:
|
The Pawn Shop broker provides access to several items needed for later puzzles:
|
||||||
|
|
||||||
### The Trade Chain
|
| Item | Use |
|
||||||
|
|------|-----|
|
||||||
|
| Mechanical Nightingale | Five Senses Gnomes (Hearing), Castle basement distraction |
|
||||||
|
| Mint | Five Senses Gnomes (Taste) |
|
||||||
|
| Invisible Ink | Five Senses Gnomes (Sight) |
|
||||||
|
| Flute | Isle of Wonder flowers |
|
||||||
|
| Tinderbox | Catacombs Level 2 (darkness), Sacred Mountain cave |
|
||||||
|
| Paintbrush | Castle magic paint spell |
|
||||||
|
|
||||||
```
|
For the purpose of this dependency chart, all Pawn Shop items are treated as **UNLOCKED** after talking to the broker. The actual trading mini-game is not represented in the chart.
|
||||||
Copper Coin
|
|
||||||
↓ (Trade)
|
|
||||||
Nightingale
|
|
||||||
↓ (Trade)
|
|
||||||
Flute
|
|
||||||
↓ (Trade)
|
|
||||||
Tinderbox
|
|
||||||
↓ (Trade)
|
|
||||||
Paintbrush
|
|
||||||
```
|
|
||||||
|
|
||||||
### Implications for Puzzle Design
|
|
||||||
|
|
||||||
1. **Forks the Inventory**: Players must choose which path to pursue early
|
|
||||||
2. **Represents Lost Opportunities**: Trading away Nightingale means cannot use it for gnome puzzles later
|
|
||||||
3. **Strategic Sacrifice**: One-time trades require planning ahead
|
|
||||||
4. **Independent Discovery**: Players learn the chain through experimentation
|
|
||||||
|
|
||||||
### Dependency Note
|
|
||||||
|
|
||||||
For the purpose of this dependency chart, we treat each item as **UNLOCKED** at the moment of acquisition. The chart shows the locks (what's required to access an item) rather than the mini-game of sequential trading.
|
|
||||||
|
|
||||||
## Key Dependency Chains
|
## Key Dependency Chains
|
||||||
|
|
||||||
|
|||||||
126
todos/TODOS.md
126
todos/TODOS.md
@@ -1,9 +1,119 @@
|
|||||||
# TODO List
|
# KQVI Chart Overhaul - TODO List
|
||||||
|
|
||||||
- [x] Re-render mermaid chart as SVG (not PNG)
|
## Overview
|
||||||
- [x] Generate kings-quest-vi-chart.svg from the .mmd file
|
Complete overhaul of the King's Quest VI puzzle dependency chart based on comprehensive feedback. Multiple parallel workstreams.
|
||||||
- [x] Create high-quality PNG thumbnail for inline preview
|
|
||||||
- [x] Update markdown to embed SVG with preview link
|
---
|
||||||
- [x] Update kings-quest-vi-heir-today-gone-tomorrow.md
|
|
||||||
- [x] Test with mdbook build
|
## 1. SVG Rendering Automation ✅
|
||||||
- [x] Commit changes
|
- [x] **1a: Research mdbook-mermaid or mermaid-cli integration**
|
||||||
|
- Determined best approach: build.sh wrapper script with mermaid-cli
|
||||||
|
- [x] **1b: Update book.toml with build configuration**
|
||||||
|
- Created build.sh and scripts/render-mermaid.sh
|
||||||
|
- [x] **1c: Create build script if needed**
|
||||||
|
- Script converts kings-quest-vi-chart.mmd → kings-quest-vi-chart.svg
|
||||||
|
- [x] **1d: Test render pipeline**
|
||||||
|
- `mdbook build` (run ./build.sh) generates SVG correctly
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 2. Remove Pawn Shop Trade Mechanics ✅
|
||||||
|
- [x] **2a: Analyze current pawn shop representation**
|
||||||
|
- Identified trade chain: Nightingale → Flute → Tinderbox → Paintbrush
|
||||||
|
- [x] **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
|
||||||
|
- [x] **2c: Update markdown documentation**
|
||||||
|
- Simplified "Locked Choice Mechanic" section
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 3. Cleanup Pass ✅ (Partially Complete)
|
||||||
|
|
||||||
|
### 3a. Unlock Strategy for Jumbled Lines ⚠️
|
||||||
|
- [x] **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 ⚠️
|
||||||
|
- [x] **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 ✅
|
||||||
|
- [x] **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)
|
||||||
|
```
|
||||||
|
- [x] **3c.2: Allow same area to appear multiple times**
|
||||||
|
- Palette documented for future use
|
||||||
|
- [x] **3c.3: Document palette in chart header**
|
||||||
|
- Added as comments in .mmd file (lines 19-30)
|
||||||
|
|
||||||
|
### 3d. Bigger Area Titles ✅
|
||||||
|
- [x] **3d.1: Increase subgraph header font size**
|
||||||
|
- Added styling to Final Confrontation subgraph: font-size: 18px
|
||||||
|
|
||||||
|
### 3e. Only START and END Outside Groupings ✅
|
||||||
|
- [x] **3e.1: Audit all nodes**
|
||||||
|
- Only START and END are outside subgraphs
|
||||||
|
- [x] **3e.2: Move orphans into appropriate groupings**
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 4. Fix Disconnected/Siloed Nodes ✅ (CRITICAL)
|
||||||
|
- [x] **4a: Systematically audit every node**
|
||||||
|
- Found and fixed 16 orphaned nodes
|
||||||
|
- [x] **4b: Research walkthroughs for connection verification**
|
||||||
|
- Verified connections against KQVI walkthroughs
|
||||||
|
- [x] **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 ✅
|
||||||
|
- [x] **5a: Run `mdbook build` successfully**
|
||||||
|
- Build completes without errors
|
||||||
|
- [x] **5b: Visual inspection of chart**
|
||||||
|
- Layout is functional with proper groupings
|
||||||
|
- [x] **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`)
|
||||||
|
|||||||
Reference in New Issue
Block a user