- remove replayStatus/leftStatus/rightStatus defs, updateStatus, updateDataFallback
- remove dead write-only locked ref and attributeHook + its onUnmounted
- drop status={...} props on LeftStatusBar/RightStatusBar
- hideStatus now reads flag default once at setup + // TODO: (flags has no listen system)
- preserve hideStatus consumers, map render, interaction handlers, mainUIController, MainSceneUI
- drop now-unused imports (onUnmounted/reactive/ILeftHeroStatus/IRightHeroStatus/ReplayingStatus)
- LeftStatusBar/RightStatusBar self-own leftStatus/rightStatus (reactive)
- attributes+lv refresh via hero.attribute.addHook({ onUpdateAttribute })
- floor trigger via hero.location.addHook({ onSetFloor }); value stays legacy core.status.floorId
- no-hook fields (up/items/debuff/replay/exampleHard) left as // TODO:
- onUnmounted unloads both hooks; StatusBarProps drops status member and generic
- Move render/ui/{main,settings,statusBar,toolbar}.tsx to src/ui/ with only relative specifiers rewritten
- Rewrite render capabilities to leaf modules (../render/use, ../render/renderer), never the ../render barrel
- Complete src/ui/index.ts with ./main ./settings ./statusBar ./toolbar + createUI()
- Delete the four old render/ui files