Hexcrawl H3: dungeon map generation (crawl + full) on the Dungeon map#61
Merged
Conversation
Crawl + full dungeon gen with authored generic content (room types/contents/ dressing), reusing addRoom + P4b room status. Parallels H2. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
6-task TDD plan: generic dungeon content tables, HexcrawlData getters, rollDungeonRoom, MapNotifier crawlDungeon/generateDungeon (reuse addRoom), gated dungeon controls. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
H3 — Generic dungeon map generation
Third slice of the generic, system-agnostic Hexcrawl toolkit (after H1 foundation + H2 region map gen). Adds procedural dungeon map generation with the same two-path model as H2 — crawl one room at a time, or generate a full N-room dungeon — gated behind the opt-in
hexcrawlfeature flag.Reuses the existing dungeon grid wholesale: each generated room flows through
MapNotifier.addRoom(places room + corridor + sets current), exactly like the oracle-drivenNew roombutton. The hexcrawl path is additive and parallel — both buttons coexist.What's in it
build_hexcrawl.py— authored, generic dungeon tables:DUNGEON_ROOM_TYPES(10),DUNGEON_CONTENTS(8),DUNGEON_DRESSING(10).verify()extended to cover them (non-empty, no dupes). Asset regenerated; verified in-sync with the script.HexcrawlData—dungeonRoomTypes/dungeonContents/dungeonDressinggetters.rollDungeonRoom(HexcrawlData, Dice)— rolls a room type (title) + content & dressing (detail).MapNotifier.crawlDungeon/generateDungeon— one room, or N connected rooms, via the existingaddRoom.New room (hexcrawl)+Generate dungeon (N)controls (Wrap, ± room count 4..30), shown only whenhexcrawlis enabled. Mirrors the H2 World-pane controls.Verification
dart analyze: clean.flutter test: 746 passing (+4 new: rollDungeonRoom, crawl/generate notifier, gated-controls on/off).flutter build web --debug) compiles; new dungeon tables confirmed bundled intoassets/assets/hexcrawl_data.json(10/8/10, Vault + Treasure present, HTTP 200).Spec:
docs/superpowers/specs/2026-06-14-hexcrawl-dungeon-gen-design.mdPlan:
docs/superpowers/plans/2026-06-14-hexcrawl-dungeon-gen.mdNext: H4 — local-zoom (sub-hex) + site generation, both paths.
🤖 Generated with Claude Code