engine(ui): каркас меню-сцен — menuInput, MenuSceneBase, disabled-пункты
...
- Чистая readMenuInput (MenuActionMap/MenuNavEvent): порядок cancel → move →
(adjust XOR confirm) → extra; left/right подавляют confirm (Enter в
настройках не даёт двойной шаг).
- MenuSceneBase: build() из enter(), хуки onMove/onAdjust/onConfirm/
onCancel/onAction — заменяет скопированную в 4 сценах игры навигацию.
- MenuList.MenuItem.disabled + ListCursor с предикатом выбираемости:
курсор пропускает недоступные пункты, активация/клик игнорируются.
- Тесты: menuInput (5), listCursor +3 (505 всего); доки ui-and-dialogue.md
(«Меню-сцены», осознанный отказ от updateBelow).
Co-Authored-By: Claude Code <noreply@anthropic.com>
root
committed
9 hours ago