Skip to content

FRLG maps: generated bases plus overlays (OVERLAYS.md step 1) - #83

Merged
dayfine merged 1 commit into
mainfrom
maps/overlays-step1
Nov 10, 2026
Merged

dayfine merged 1 commit into
mainfrom
maps/overlays-step1

Conversation

@dayfine

@dayfine dayfine commented Nov 10, 2026

Copy link
Copy Markdown
Owner

Depends on #82

The 152 FRLG maps now come from one generator mode as maps/base/. The only real hand edit left in the verified maps, Vermilion Gym's open beams, is an overlay, and runtime/ is base + overlays pre-resolved for the consumer.

  • Generator: every manifest map gets a base (verified Centers and Cerulean Cave included), so every source warp and connection is linked by name and the 31 pending relinks are gone. OPENED_TILES is removed. Elevation grids are only left out where that loses nothing; a map with water keeps its grid, because Arduino's walker blocks water by its level. A counter tile without collision counts as floor.
  • Overlays: VermilionCity_Gym gets one tile op with why story_state, applying after FLAG_FOUND_BOTH_VERMILION_GYM_SWITCHES / checkpoint 00.23. Water drawn as # on SSAnne_Exterior and VermilionCity is dropped, not kept as an overlay: Python routing blocks w, and AutoStory forbids Surf.
  • New map_overlays module: effective_map(name, story_state), plus audit, effective, check and write commands. Adds schemas/map-overlay.schema.json. Manifest entries now list base and overlay files with hashes.
  • Consumer: the interim is to keep reading runtime/, so only a lock bump is needed (71 FRLG files change; BDSP is untouched). OVERLAYS.md lists the details: parity script, glyph table, step 4.

Testing

  • Unit tests pass on Python 3.8 and 3.12, including new test_map_overlays. The publication test undoes a recorded v1-to-base delta and still reproduces every reviewed v1 digest.
  • Formatter, --check-published, generator --check on base/, map_overlays check and audit --all, frlg_map_set check, pack audit, import audit --schema, BDSP --check and the Parcel replay all pass.
  • Route goldens: only the map hash changed; the routes and drawings are the same.

🤖 Generated with Claude Code

https://claude.ai/code/session_013VUubhHeYSMGSSDXZkKZss

Every FRLG map now has a generator-owned base in maps/base/ (all 152, verified
maps outside the scope included; --check reproduces each byte for byte) and,
where authored, an overlay in maps/overlays/. runtime/ is derived: base bytes,
or base + overlays at story state "complete" for the interim consumer.

Generator: every manifest map gets a base, so every source warp and
connection is linked by name (the 31 pending relinks are gone); OPENED_TILES
leaves the generator; elevation grids are omitted only where lossless (never
with water, which Arduino's walker blocks by its level); a collision-free
MB_COUNTER is floor.

The verified maps' only real hand edit, Vermilion Gym's open beams, is a
story_state overlay after FLAG_FOUND_BOTH_VERMILION_GYM_SWITCHES / 00.23. Water
drawn as walls on SSAnne_Exterior and VermilionCity is dropped (no consumer
needs it). A testdata delta records the generated differences, and the
publication test undoes exactly those to reproduce the reviewed v1 digests.

map_overlays: effective_map(name, story_state), audit, effective, check and
write; schemas/map-overlay.schema.json; manifest entries list base and
overlay files with hashes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013VUubhHeYSMGSSDXZkKZss
@dayfine
dayfine merged commit e52be04 into main Nov 10, 2026
8 checks passed
dayfine added a commit to dayfine/Arduino-Source that referenced this pull request Nov 10, 2026
The FRLG map resource lock moves to PokemonSimulation e52be04
(dayfine/PokemonSimulation#83): all 152 maps regenerated, every pret warp
and connection linked, elevation grids back on 14 water maps, Vermilion
Gym's beams an overlay. Arduino still reads runtime/, the effective maps.

The map glyph table gains the tile legend's u d l r o H B (spin tiles,
the spin stop, fall holes and Strength switches), each a TileKind of its
own; no loaded map uses them yet. MAP_NAMES gains Route 8, the east-west
Underground Path and Route 7 to Celadon City for 00.30.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013VUubhHeYSMGSSDXZkKZss
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