Repository navigation
Conversation
# Conflicts: # src/mods/Loader.lua
# Conflicts: # docs/modding.md # src/mods/Loader.lua # src/world/WorldAPI.lua
…esh runtime owners
…ative world updates
Roxas2712
marked this pull request as ready for review
October 26, 2026 16:53
…ll-suite evidence
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.
Mods at API 1/2/3 can capture, restore and resume native checkpoint data through the save/controller services. Settled overworld checkpoints now retain wandering and mid-step NPCs, script placements, native followers, connected-map actors and map patches. Ordinary wild/trainer player decisions reconstruct fresh battle owners, party/stat aliases, volatile state and RNG. Proven native trainer/static completions and built-in data-only
start_battlerows resume through fresh owners; coroutines and callbacks are never serialized.src/core/CheckpointActors.lua,CheckpointBattle.lua,CheckpointScript.luaand the private native factories implement reconstruction with preflight validation, full recapture verification and rollback. Saved mod progress rewinds; current options and separate mod storage remain current. Normal entry hooks stay quiet until the single committedcheckpoint.restoredevent. Battle provenance is owned by the live battle and releases retired callback/coroutine graphs under GC.Qualified safe points exclude link/multiplayer, Safari/ghost/demo/special battles, forced actions, concurrent scripts, opaque callbacks/custom RNG and native VM call stacks. These operations fail with named refusals. Legacy format-1 static/spinner checkpoints remain readable under their admission rules.
Current upstream refresh: merged
8d5b4387and qualified runtimed2551170. All 168/168 engine suites, the other four acceptance gates, and 14,520 real-LÖVE assertions on each of 11.5 and 12 pass again. The battle continuation suite now has 858 assertions and restores post-turn decisions as well as checking future-state equality. Native Gen4 field/side state, boolean side keys and chosen-action ownership rewind; an optional existing native move factory reconstructs learned-slot PP bindings without saving metatables. Unqualified dynamic gym controllers and delegated action metadata/references remain named refusals.Earlier validation on runtime revisions
9532ee36(composed fork) and13808f9d(public host):The public acceptance stack reuses existing repair PRs #128–#134 and #294; no duplicate repair PRs were created. One existing RTC subscription uses the literal spelling recognized by the coverage gate; no assertions or native producers were removed. The old inherited failures are resolved on this stack.
See native checkpoint ownership and safe points and recorded qualification. These supersede the earlier static/spinner-only scope.
Original contributions by Roxas2712 are offered to Cedric / UNDERdecoded under the specific contribution grant; existing copyright and licence notices remain intact.
Final fork integration is pushed. Full-engine 561/561 evidence remains pinned to
a6f947a5; subsequent runtime8e336d45passes 22/22 affected engine suites, every required SDK/gallery/contract/unchanged-fixture gate, and 14,520 actual native checkpoint assertions on each of LÖVE 11.5 and 12. Concurrent friend/suspend and native Gen2 output changes are retained. This is not presented as a full-suite rerun of the later revision. Exact revisions, standalone dependency boundaries and unchanged performance-measurement sources are recorded in the current qualification ledger.