Preserve player-authored TOML for runtime setting saves - #280
Guffawaffle wants to merge 12 commits into
Conversation
90f0fa3 to
6373d77
Compare
|
Hook/feature alignment follow-up for #313 Follow-up to #313: keep hook installation independent of feature enablement, with default-enabled compatibility switches under No direct feature-gated installer mismatch was identified here. The runtime writer does install quit/update hooks through Settings cascade (verified from current branch ancestry): #279 → #280; #277 + #280 → #281 → #282; sibling branches from #282 are #285, #293 and #297. #285 additionally depends on #269; #297 additionally depends on #296. Correct the owning parent first, then carry the fix through every dependent branch while preserving each sibling's scope. Implemented in |
…ml-editor # Conflicts: # docs/config-save.md
Runtime setting saves preserve the player's TOML comments, formatting and unrelated values. Instant warp is the first consumer. One worker coalesces changes per setting and reports conflicts when the selected disk value or symlink target changed externally; normal quit drains accepted saves and forced exit uses a bounded best effort.
Following #313, the patch registry installs persistence independently of hotkeys or native settings, controlled by default-enabled
[patches].runtimeconfighooks. Turning this compatibility switch off leaves live changes in the current session. Unsupported Unity quit bindings likewise retain session-only changes. Depends on #279, including its private staging and symlink fixes.Validation: Windows release build and existing startup-save, TOML editing, worker, adapter, disk/reload and force-close fixtures; all 11 example TOMLs. Current Windows client 270 method extents fit the selected SPUD overwrite windows. Native macOS execution, exact candidate game smoke and Windows partial-replacement fault injection remain outstanding. Earlier combined Mac ARM testing is separate evidence from this head; Intel runtime testing remains unconfirmed.