Add reusable native Mod Settings navigation groundwork - #281
Guffawaffle wants to merge 23 commits into
Conversation
…ion first (without held SPUD history)
0715bf5 to
f15d1c7
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 This branch inherits the hardcoded native-settings installer from #277. Bring forward that parent's real default-enabled 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
…gs-navigation # Conflicts: # example_community_patch_settings_en.toml # mods/src/config.h # mods/src/defaultconfig.h # mods/src/patches/patches.cc
Adds native Mod Settings pages and collapsible sections, keeping setting identity and persistence with each feature adapter. Empty groups are omitted; reused native views reject stale callbacks and reentrant writes. This is the navigation prerequisite for the controls in #282 and does not register new mod settings itself.
Depends on refreshed #277 and #280. Following #313, default-enabled
[patches].nativesettingshookscontrols the native adapter and[patches].runtimeconfighooksindependently controls persistence. The patch registry owns both; native settings and hotkeys no longer install persistence themselves. Shared invocation and lookup helpers are already indevthrough #292.Validation: Windows release build; existing settings catalog, callback, view, choice, slider and persistence fixtures; all 11 example TOMLs. Current Windows static fit covers the installed confirmation/quit/update targets. Exact candidate native navigation smoke and supported macOS native extent/execution evidence remain outstanding; fixture success does not establish native UI behavior.