Prototype a modular flat Lua UI replacement
Build an explicitly experimental, opt-in UI suite using external provider packages and a shared Lua/asset library. Replace wing-based Control Center with compact labelled navigation and native validated actions; establish coherent flat HUD presentation across status, targets, hotbars and timers where existing contracts support it. Preserve built-in defaults, native authority, combat protection and provider fallback. No release, publication or automatic preference changes. Implemented as UI/Examples/Relay on feature/flat-lua-ui-prototype: shared relay.common Lua/PNG library plus five independent HUD providers (Control Center, status, targets, timers, hotbars). Other windows retain existing providers. README covers install/reset and current limits. Native popup/slider/item overlays retain existing artwork; fixed-width dock needs at least 800 logical pixels. No renderer/native API changes or new tests. Verified Lua syntax, all 21 XML files parsing and warnings-as-errors client build (zero warnings/errors) after both visual refinement rounds and new Inventory/Wear providers. Reinstalled and byte-verified all eight debug packages after each round. At user request copied the suite into PRK.Client/PRK.Client/bin/Debug/net10.0/UI/Addons/Relay* and byte-verified each file; existing CombatMeter untouched. After live screenshot feedback, softened surfaces, tightened and recolored the dock, removed the full 403x403 hotbar backing that made vertical/saved bars render as black slabs, and added independent Relay Inventory and Wear providers with compact borderless frames. A second screenshot showed the restored stock cyan hotbar slots and adjacent selected outlines were undesirable; replaced hotbar chrome with an original 36x36 dark package asset wrapped around the native interactive item surface. Further screenshot review showed spacing between controls was insufficient because the selected controls themselves were too narrow, and inventory still used stock cyan slot chrome. A focused crop confirmed the renderer left-aligns flat-button labels and that width/gaps alone did not provide internal padding. Added explicit 12px dock text padding and 10px Wear-tab text padding. User also requested one slot language across hotbar, inventory and Wear. Added a Relay grid adapter that keeps native collection binding/action on the row root while presenting item state on an inner native item surface, allowing Inventory to use the same shared dark slot asset without losing combat collection behavior. Rebuilt Wear pages dynamically around the same slot asset and inner native item surfaces. Eight packages are now installed: Common, ControlCenter, StatusBars, TargetPanels, TimerBars, Hotbar, Inventory and Wear. Provider selections/preferences were not changed. Live native rendering/gameplay and saved-layout interaction remain unverified; user will inspect. No commit or PR. Acceptance: installable package set with shared code/assets, working role contracts and native input behavior, installation/reset instructions, build/syntax checks and manual validation. User explicitly requests no new tests for this prototype; initial test edits have been removed. Inspect rendered native UI when feasible; explicitly record unverified live gameplay or rendering. Scope is a feasibility prototype, not full UI/product parity.
Checklist
2 of 3 complete- Implement opt-in shared library and flat HUD/control-center providers without changing built-in defaults
- Run build/syntax checks and manually inspect native UI and interactions where feasible; add no tests
- Document installation, rollback, experimental scope and verified limitations
- Area
- Project Rubi-Ka
- Project
- engines
- Kind
- Feature
- Task ID
tsk_esqz8fxy95- Updated