UI-примитивы
Витрина Phase F2 (план 03): каждый примитив показан в 3 тирах одновременно, с релевантными состояниями. Тёмная тема — кнопка в шапке.
ChoiceTile
junior (1–2 кл.)
middle (3–4 кл.)
senior (5–6 кл.)
MathNumpad
Состояния «active»/«error» у клавиатуры как контейнера не применимы — см. NumericAnswer ниже.
junior (1–2 кл.) · default
disabled
middle (3–4 кл.) · default
disabled
senior (5–6 кл.) · default
disabled
NumericAnswer
junior (1–2 кл.) · default
middle (3–4 кл.) · active
senior (5–6 кл.) · default
DragSurface
Перетаскивание мышью/касанием — pointer events; клавиатурой — Enter/Space «взять», Enter/Space на корзине «положить», Escape — отмена.
junior (1–2 кл.) · default
Чётные
Нечётные
middle (3–4 кл.) · success/error
Чётные
Нечётные
senior (5–6 кл.) · default
Чётные
Нечётные
disabled
HeartsBar · StreakCounter · FloatingXp
junior (1–2 кл.)
middle (3–4 кл.)
senior (5–6 кл.)
CapsuleProgressIndicator
junior → ProgressPath (без чисел), middle/senior → ProgressNumeric. Один пропс `tier` переключает реализацию.
junior (1–2 кл.)
middle (3–4 кл.)
senior (5–6 кл.)
ArrayBoard
Массив-табло из шагов разбора: то же поле клеток, что ребёнок тянет руками в Pixi-сцене array-builder. Адаптер собирает его из выражения контента («10 × 7 = 70»), splitAfterRow показывает приём удвоения.
10 × 7 = 70
полная десятка групп
8 × 7 = 56
два блока по четыре ряда
9 × 6 = 54
десятка без одного ряда
MathText · accent
Числа и выражения внутри прозы. Без accent — как было; с ним ребёнок находит арифметику в абзаце глазами, не вчитываясь.
Забыл 8 × 7 — беру факт из таблицы на 4 и удваиваю: 4 × 7 = 28, значит 28 + 28 = 56 клеток.
Забыл 8 × 7 — беру факт из таблицы на 4 и удваиваю: 4 × 7 = 28, значит 28 + 28 = 56 клеток.
FemiMascot
junior (1–2 кл.) · глобальная реакция

явный state + реплика

middle (3–4 кл.) · глобальная реакция

явный state + реплика

senior (5–6 кл.) · глобальная реакция

явный state + реплика
