| 2026-09-07 |
feat(engine): скролл MenuList (ListScroll), hover->курсор, value-слот Button
...
ListScroll — чистое окно видимых строк (курсор всегда в окне, пересборка
короче зажимает offset). MenuList: visibleRows, кнопки строятся все — окно
двигает visible/y; hover переставляет курсор. Button: value справа
(настройки — setValue без пересборки списка). TextInput — вне среза.
Co-Authored-By: Claude Code <noreply@anthropic.com>
root
committed
14 hours ago
|
feat(engine): презентация диалогов — mood/tags/textKey, typewriter, клавиатурный выбор
...
- DialogueNode/Choice: mood, tags, textKey (+speakerKey у узла); view
получает mood/tags, текст резолвится hooks.resolve (fallback — ключ,
inline-текст первичен). Узел с одним textKey — реплика.
- ui/reveal.ts: чистый revealText(full, elapsedMs, cps) — тесты в node.
- DialogueBox v2: typewriter (update/skipReveal/revealing), moodColors,
клавиатурный курсор выбора (ListCursor: moveCursor/activate/cursorIndex),
высота панели растёт от контента.
- Игра: DialogueSystem.advance — сначала догнать печать, при выборе
активировать курсор; up/down листают варианты; typewriter 40 cps +
moodColors в LocationScene.
- Тесты: revealText, mood/tags в view, textKey/speakerKey; доки
ui-and-dialogue.md.
Co-Authored-By: Claude Code <noreply@anthropic.com>
root
committed
22 hours ago
|
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
22 hours ago
|
| 2026-09-05 |
engine: Tween+easing, fade-переходы, ресайз, IsoDepthLayer, GameState, RNG, StateMachine, DialogueRunner, Settings, атласы, PixelText+VT323, UI-кит, частицы, геймпад, тач-джойстик, аудио-шины, формат карт+Tiled
...
Co-Authored-By: Claude Code <noreply@anthropic.com>
root
committed
2 days ago
|