Repository navigation
Step 15: the tools on maps of our own - #61
Merged
Merged
Conversation
The trigger map and the variable map come out of the layout (compiler/backend/maps.ts), in the Python build's own lines, so every tool that reads a built map in the lifted game — sim.program(), the cost by line, the desync detector, Find an EUD Error, the debugger — reads a map of our own unchanged; the editor logs them under withVariableMap. build-fixture builds through the own build by default (EUDPLIB=1 for the Python side), so test-game, game-check, debug-game and bench-lowering run on maps of our own: the program-variables probe 3 of 3 in the game, the debugger's record held, the bench's baseline anew (-53%). tests/ownWalk.ts walks the built file as the game does, against the simulator, with the variables read back through the map: end to end in CI. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01En4SHqafb1QFJ4xgbUkAe5
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.
TrigScript 4, step 15 of the way off eudplib: everything that read a built map through the Python build's log now reads a map of our own the same way, and every probe is built our way by default.
The two maps from the layout (
compiler/backend/maps.ts,buildOwnMap'smaps). The trigger map: every trigger of the payload by rising offset, its conditions and actions counted off the bytes as the game counts them, the statement it was made for as "file:line:column", each action's own where a trigger holds several lines' work. The variable map: a row a run (a per-player program's runs each with their owner), each variable's cell out of the layout — a unit its EPD and uniqueness byte (epd), a made text its block's EPD and length, a text of the table its number in the pool (textBase), a growing array its handle and the heap's region ascells, a fixed array its region, a list its data. Said in the Python's own lines, soreadTriggerMap,readVariableMap,programVariables, the cost by line, the desync detector, Find an EUD Error and the debugger are unchanged; the editor's build logs them underwithVariableMap.build-fixtureon the own build, the default now (EUDPLIB=1builds through plugin-eudplib as before); the maps beside the map with TRIGGER_MAP/VARIABLE_MAP; MAP_NAME, KEEP_TRIGGERS, STACK_DEPTH/HEAP_CELLS, OWN_FREE; the compile without the emitter's graphs for the own path.test-game,game-check,debug-game,lifted-weighandbench-loweringrun on maps of our own unchanged;build-own.mtsis gone.Held in the lifted game:
probes/game-program.ts3 of 3 in the game (after two faults the first run found: a text of the table read as its pool number, a unit's uniqueness byte kept as the byte);probes/game-debug.tsthroughdebug-game, every check held;game-checkonown-triggersandgame-emitter: lines named, 0 ending the game, 0 never seen.The lowering bench's baseline anew: all lines 42,936 ns against 90,559 (−53 %); two lines slower (REF_FIELD_WRITE +20 %, DIV_CONST_R +12 %), in the Open list.
End to end in CI (
tests/ownWalk.ts): the built file's payload walked as the game walks the lists, Display Text read from the file's own string table, against the IR simulator frame by frame, and the variables read back through the map — no lifted game needed.Tests:
tests/own-build.test.ts+2,tests/service.test.ts(the maps logged underwithVariableMap); the suite green. Docs: README's source table,docs/v4-plan.md("The tools on maps of our own (2026-10-23)", step 15 ✓, the Open list's leftovers).🤖 Generated with Claude Code
https://claude.ai/code/session_01En4SHqafb1QFJ4xgbUkAe5