Repository navigation
Add local officer preset reordering - #260
Guffawaffle wants to merge 17 commits into
Conversation
|
Restacked on #267 and reduced the preset consumer to |
|
@Guffawaffle Love it ❤️ A server sync would be extremely cool too but I get why it's out of scope, I really wouldn't want to take responsibility for messing with that 😅
Key log lines (default profile, |
|
Hook/feature alignment follow-up for #313 Follow-up to #313: keep hook installation independent of feature enablement, with default-enabled compatibility switches under The patch registry currently uses Updated at 251eac6: independent default-true installation, current default-off feature checks and complete typed hook family. Canonical source/presentations plus existing deferred data restore before native save/release, including feature-off ownership; failed restoration suspends customization. Mac accepts Command and previous Ctrl input. Exact Windows build, all examples and focused temporal/modifier checks pass; three independent review lanes clear of confirmed defects. Windows and both Mac CI builds are queued; no CI wait. Existing #267 dependency retained. Exact-artifact game/reflected-API smoke and Mac qualification remain open; historical arm64 smoke belongs to 73f6285. |
Adds opt-in local officer-preset ordering. Shift-click the pencil to move up; Ctrl-click moves down on Windows, and Command or Ctrl works on Mac. Normal clicks still rename. A separate display array preserves the canonical server slot/order IDs, and the chosen order persists through the existing shared mod-state component (#267).
The feature defaults to false. Hook installation is independently controlled by the default-true
[patches].officerpresetreorderhooksswitch. Callbacks read the current feature preference and retain native behavior when disabled or when the complete hook family cannot be installed.Before native save and screen release, an owned custom view restores native presentations and the canonical scroller source, including any deferred source. This handles regeneration that returns without assigning its backing list. Restoration uses validated reflected fields, managed reference writes and identity readback; failed restoration suspends custom ordering. The boundary remains active after the feature is disabled. Reapplication checks that the same view is still bound.
Validation: exact-head Windows release build (32.656s), all 11 maintained TOML examples, eight temporal cases exercising the actual extracted save/release/restoration callbacks, and both modifier branches with fake input. The fixture substitutes managed APIs and metadata; it does not establish live IL2CPP behavior. All five Windows client270 detour windows fit measured native extents.
Current-artifact Windows smoke and Mac qualification remain open. Historical arm64 smoke covered
73f6285. For the current251eac6ecandidate, build each available Mac architecture and check normal rename, Shift up, Command/Ctrl down, scrolling, persistence, rename/save/overwrite and immediate close/reopen. Also verify source restoration through deferred/failed regeneration and feature-off lifecycle paths before promotion.