Repository navigation
FRLG: author Parcel checkpoint in JSON and execute it through the story table - #260
Merged
Merged
Conversation
read_story_checkpoint_export() is the inverse of story_checkpoint_export(): it reads a pokesim-native-checkpoint-export/1 record (the shared checkpoint through Pokemon::read_story_checkpoint, plus FRLG's menu and supplies) into the same StoryCheckpoint type that story_checkpoints() holds, so build_checkpoint() and make_story_segment() take loaded rows unchanged. The envelope constants are checked, every native field is required and unknown fields fail, so a record is read as written or refused. PokemonSimulation's data/story/native/frlg-parcel-00.05.json (its commit 051785fa251f37b71eb661d4b583435d70f69439, the export tool's output for row 00.05) is built into the program from StoryData/ as autostory_checkpoint_json(), and load_story_checkpoint() reads it. Tests: CheckpointExport reads the capture and checks it exports back to the same file and to the same JSON as table row 00.05, and refuses eight altered copies; the existing export cases also round-trip every native field. AutoStory - Simulation runs the loaded 00.05 and the table's 00.05 through FakeGame and compares describe(), the trace, the log lines and the save pose. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013VUubhHeYSMGSSDXZkKZss
…heckpoint-replay # Conflicts: # SerialPrograms/Source/VideoGames/PokemonFRLG/Programs/AutoStory/PokemonFRLG_AutoStorySimulation_Tests.cpp
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.
Base:
frlg/stage7-celadon. Shared authored-envelope PR #266 is merged into #122 and propagated through every FRLG parent. Its shared files are no longer in this diff. This is the first data-authored production checkpoint; #258 remains a separate optional replay diagnostic.Checkpoint
00.05now loadsStoryData/frlg-parcel-00.05.plan.jsondirectly into the existing story table. The C++ Parcel event list is removed. The leanpokesim-authored-checkpoint/1document contains the shared checkpoint and FRLG save-menu configuration; it does not contain a supplies snapshot or export provenance. Existing executor behavior and bookkeeping defaults are preserved.Two gates:
How to review
Read the
.plan.json, the one-lineparcel()loader inPokemonFRLG_AutoStoryTable.cpp, thenPokemon/AutoStory/Pokemon_AuthoredCheckpointJson.*in #266, then the FRLG-specificData/JsonParser.*, its adjacentJson_Tests.*, andStoryData/README.md.Data/JsonWriter.*retains the legacy migration writer;LegacyJsonFormat.hshares its private envelope spellings with the legacy reader. Production authored loading does not depend on the writer. The old.jsonexport is retained only as a migration regression fixture. The existing strict export reader remains separate. Inspect changes withgit diff --color-moved=dimmed-zebra --color-moved-ws=allow-indentation-change origin/frlg/stage7-celadon...frlg/checkpoint-json.At
2060063f1(source tree identical to164bbce00), the five affected game translation units pass syntax checks and code health passes. Common envelope/game validation, common checkpoint parsing, and embedded lookup now delegate to #266. FRLG retains menu validation and legacy export migration support. Fresh native CI: Linux, Windows Clang, pending. Shared-codec Linux/Windows tests pass on #266; macOS is queued. Full native tests passed on all three platforms before the parser reorganization (f5fb08392), which does not validate this latest head. Simulation #73 and #74 are merged.The review cleanup separates parser/writer/tests under
AutoStory/Data, adds section spacing, removes unrelated line-ending-only simulation-test churn, usesstd::stringfor the simulation expectation description, and adds a TODO to load checkpoint series into a partial table.No console, profile or save was used. Scene/door observation behavior is unchanged: declared arrival poses are fallback assumptions, not newly verified evidence.