Skip to content

Hexcrawl H4b: site detail writeup card on the World map#63

Merged
deepiq2022 merged 6 commits into
mainfrom
hexcrawl-site-detail
Jun 14, 2026
Merged

Hexcrawl H4b: site detail writeup card on the World map#63
deepiq2022 merged 6 commits into
mainfrom
hexcrawl-site-detail

Conversation

@deepiq2022

Copy link
Copy Markdown
Contributor

H4b — Site detail card

Second slice of H4. A landmark on a hex (HexCell.site, the type) gains a generated writeup
— occupant/state + hook + features — shown in the World-map hex detail card. Two paths, mirroring
H2/H3/H4a: Crawl (reveal one writeup line at a time, cap 5) and Full (the 4-line writeup at
once). Inline on the World map; gated by the opt-in hexcrawl flag; loggable to journal.

What's in it

  • build_hexcrawl.py — authored siteOccupants / siteHooks / siteFeatures (10 each), with
    verify() coverage. Asset regenerated; verified in-sync.
  • HexcrawlData — three site-detail getters.
  • HexCell.siteLines (List<String>) — omit-when-empty JSON, tolerant maybeFromJson,
    copyWith clearSiteLines.
  • rollSiteLine(data, index, dice) (0 = occupant, 1 = hook, ≥2 = feature) + rollSiteDetail
    (4 ordered lines). The index→label mapping is the single source for both paths.
  • MapNotifier.setHexSite + crawlSite / generateSite — operate on the hex at (col,row),
    stored on the hex (never MapState.rooms → Dungeon tab untouched). Crawl caps at 5; Full sets 4;
    both no-op on site-less / absent hexes.
  • Detail-card site section — the site type, the revealed siteLines, and gated
    Crawl site / Full site / Log buttons (only when the hex has a site). Reuses the H4a
    card + the existing Wrap (loose-constraint safe). No new screen/painter.

Verification

  • dart analyze: clean.
  • flutter test: 759 passing (+8: model round-trip, rollSiteLine/rollSiteDetail,
    crawlSite cap + no-op paths, generateSite, and 3 widget tests driving canvas-tap → site card →
    Full writeup).
  • Reviewer pass: clean (test-coverage callouts addressed — cap + no-op now exercised).
  • Web build compiles; the three site tables (10/10/10) confirmed bundled (HTTP 200).

Plan: docs/superpowers/plans/2026-06-14-hexcrawl-site-detail.md

Next: H4c — site interior ("Enter" → small area map, both paths) — the final toolkit slice.

🤖 Generated with Claude Code

@deepiq2022 deepiq2022 merged commit 163bae2 into main Jun 14, 2026
1 check passed
@deepiq2022 deepiq2022 deleted the hexcrawl-site-detail branch June 14, 2026 21:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants