Migrate Mission Terminal to shared Lua UI
Approved migration of Mission Terminal presentation to a bundled XML/Lua package in /home/mathias/Projects/worktrees/engines-lua-next-target, branch feature/client-lua-mission-terminal, based on develop 78bd6621e (renamed from unpublished refactor/lua-next-target). Preserve original checkout and unrelated work. User authorized committing/pushing and opening the pull request through /open-pr. Reuse core.window content sizing, icon cells, scoped preferences and generated typed actions. Native owns terminal session and range checks, mission rules/selection/waypoints, committed slider state and wire conversion, packet dispatch and action validation. Preserve offer order/selection/tooltips, Ctrl-click inspection and context menus, slider commit-on-release and cancelled drags across close/reopen, preference compatibility, localized label alignment and combat-time updates. Remove retired native presenter/layout route and ContentWindowSizing when unused. Validate real Lua/layout/input regressions red-green, targeted Release tests, applicable Native AOT and shared suites; distinguish live/platform limitations. Implemented package and native adapter, protected request/accept/cancel/offer commands with current terminal/reply/selection validation, native committed preference values and wire conversion, compatible advanced-options persistence and native localized text measurement. Removed retired presenter/layout and sole-use ContentWindowSizing. Added generic nonactivating slider-commit observer. Real-input regression first failed with missing observer, then passed; terminal-switch-during-drag regression failed (committed 90 instead of 20), then passed with context input cancellation and restoration. Final targeted non-developer Release batch: 67 passed/2 install-dependent skips. Full client Release suite: 4198 passed/184 asset/environment skips; graphics: 719 passed/1 skip. Complete ./run-client-lua-tests.sh passes native Release 8/8, ASan/UBSan 8/8, generator self-tests and both Linux x64 Native AOT executables, including production Mission Terminal adapter/package, actual selection/input, committed request wire conversion, combat content sizing and allocation-free unchanged updates. Removing reply validation caused stale-input regression failure; changing committed observer to drag-change caused pre-release commit regression failure; both mutations restored. Native AOT runner needed the documented font-build tool prerequisites and a container-only native cache after automatic native builds were introduced; corrected and verified through the full runner. Shell syntax, Lua formatting and diff whitespace checks pass. Manual patch review completed; the independent review tool cannot select this uncommitted secondary worktree from the harness cwd, so no independent review is claimed. User subsequently confirmed the migration works on all platforms after their cross-platform testing. This is user-reported validation; no additional assistant-run platform tests or specific architecture coverage are claimed. Published commits 3251129a0 (AOT runner prerequisites/cache isolation) and 33b2fda7a (Mission Terminal migration). Branch pushed with upstream, working tree clean. Ready PR #2881 โ https://git.project-rk.com/prk/engines/pulls/2881 โ feature/client-lua-mission-terminal โ develop. Fetched develop advanced by two unrelated server/portal commits; branch retains the validated base and contains only this session's two commits. Existing executed validation was preserved without rerunning unchanged suites; final branch whitespace, Lua formatting and shell syntax checks pass. No merge or force-push. Mission Terminal alone opts out of combat layout lockdown to retain native-window usability; protected physical-input commands and native session validation remain required.
Checklist
3 of 3 complete- Replace native Mission Terminal presentation with shared XML/Lua composition and native validated commands; remove retired route.
- Preserve committed slider values and cancellation across window/session transitions through real input regression tests.
- Verify essential interactions, preferences, sizing, stale-context rejection and applicable Release/Native AOT validation.
- Area
- Project Rubi-Ka
- Project
- engines
- Kind
- Feature
- Task ID
tsk_xtvd53cydp- Updated