Skip to content

FRLG maps: one map set with per-map status - #81

Merged
dayfine merged 1 commit into
mainfrom
frlg/single-map-set
Nov 10, 2026
Merged

dayfine merged 1 commit into
mainfrom
frlg/single-map-set

Conversation

@dayfine

@dayfine dayfine commented Nov 10, 2026

Copy link
Copy Markdown
Owner

FRLG maps are now one set in data/games/frlg/maps/runtime/, with each map's status (verified or candidate) recorded in the manifest instead of split across two directories.

  • The 57 approved maps become verified with byte-identical files, keeping their review notes (verification, terrain_corrections). For the 45 maps that had both copies, the reviewed runtime file wins. The 95 candidate-only maps join as candidate, and source-candidate/ is gone.
  • Status lives only in the manifest, so promoting a map never changes map bytes or hashes. The new frlg_map_set module provides check, sync-candidates and promote --run --date --checkpoint.
  • The generator --check (--manifest) and the import audit now validate the single set. The pack audit allows only scope boundaries and candidate→verified warps that are waiting for the verified map to be relinked (31, all listed in the README). Fixing those means editing reviewed maps, which is left for a follow-up.
  • Mainland Pokemon Centers and elevators now sit in a scripted-in-autostory scope group: they are scripted in AutoStory, not mapped. The 8 Centers verified earlier stay in the set.
  • The published path, manifest path and lock format are unchanged. Arduino-Source needs a lock bump plus a tools pin of at least 6c2f5c8, because 906956e rejects the new glyphs.

Testing

  • Full unittest suite on Python 3.8 and 3.12 (with jsonschema), contract_format --check, json_schema --check-published, the generator --check against the pinned pret cache, and the import audit with --schema.
  • Simulated the consumer offline: consumer_sync update/prepare/check --layout resources pass with this branch's tools and with main 6c2f5c8. Tools at 906956e fail with "unknown tile glyph".

🤖 Generated with Claude Code

https://claude.ai/code/session_013VUubhHeYSMGSSDXZkKZss

Merge runtime/ (57 approved maps) and source-candidate/ (140 generated maps)
into the single directory runtime/, which the published manifest and the
Arduino-Source resource pin already read. Each FRLG manifest entry now has a
status: verified (approved-runtime-pack, or a console-run record with run,
date and checkpoint) or candidate (generated from pret, unreviewed). For the
45 maps in both, the reviewed runtime bytes are kept unchanged. The 95
candidate-only maps join as candidates, without the in-file
generation_status (status lives in the manifest, so promotion never changes
map bytes or hashes).

frlg_map_set checks statuses, syncs candidate entries and promotes a map
after a console pass. The generator --check (--manifest) and the import audit
validate the new layout; the pack audit allows only scope boundaries and
candidate-to-verified links pending a relink. Mainland Pokemon Centers and
elevators move to a scripted-in-autostory scope group.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013VUubhHeYSMGSSDXZkKZss
@dayfine
dayfine marked this pull request as ready for review November 10, 2026 02:00
@dayfine
dayfine merged commit 179ae3c into main Nov 10, 2026
8 checks passed
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.

1 participant