Files
Learn_System/plans/quantik-game/phase-4-quantum-abilities-sr.md
T
Maxim Dolgolyov 4b5c8077d3 @
feat(quantik-game): фаза 0 — слой целей в движке (goal/HUD/result)

Декларативный блок goal в спеке SimForge (булево SimExpr-условие победы),
вычисляемый каждый кадр: фиксация результата (победа/время/попытки/звёзды),
callback onGoal, HUD-оверлей (цель/звёзды/подсказка/баннер, inline SVG).
API инстанса: onGoal/getResult/resetResult. Серверный validateSpec
пропускает goal/game (длина выражений + escape текста, без исполнения).
Аддитивно: спека без goal ведёт себя как раньше. Смоук 40/40; npm test
238 pass/8 baseline; lint:routes 0. План фичи (7 фаз) + CONTEXT.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@
2026-06-13 15:13:02 +03:00

4.0 KiB

Phase 4: Квантовые способности + SR-комнаты

Status: Not Started Parent plan: PLAN.md Domain: fullstack

Objective

Фирменные «квантовые» механики, дающие герою идентичность, плюс связка с флешкарт-SR: суперпозиция (раздвоение), коллапс/пауза (точный прицел), туннелирование (проход сквозь тонкую стену за «энергию», которую даёт быстрое SR-повторение).

Tasks

  • Task 1: Суперпозиция: уровень с двумя телами-копиями Квантика; общий «закон» (params) рулит обеими; цель — обе достигают порталов/условий (goal.when ссылается на оба <id>.x/.y). Реюз существующей мульти-body физики. Визуал — две glow-точки (полупрозрачные «фантомы»).
  • Task 2: Коллапс/пауза-прицел: на паузе показать предсказанную траекторию (plot trace/ пунктир) текущего закона до запуска — «прицеливание». Реюз предпросмотра старта (P1/P2).
  • Task 3: Туннелирование: «энергетический заряд» расходуется, чтобы пройти сквозь помеченную tunnelable:true стену (стена временно проницаема). Энергия в HUD.
  • Task 4: SR-комната: перед/в уровне — мини-сессия повторения флешкарт (реюз Tier-1 SR API, мигр.074). Правильные ответы дают «энергию туннелирования». Открыть существующий движок повторения в модалке/панели игры; начислять заряды по результату.
  • Task 5: Контент: 2–3 уровня под каждую способность (обучающий + применение).
  • Task 6: Тесты: суперпозиция (оба тела в goal), расход/начисление энергии (чистая логика), проницаемость стены при заряде; смоук.

Files to Modify/Create

  • frontend/js/labs/_sim_engine.js — поле tunnelable у стены + расход энергии (аддитивно, документировать).
  • frontend/js/game/quantik-game.js — способности, HUD энергии, SR-комната-модалка.
  • интеграция с флешкарт-SR (клиентский модуль повторения / LS API).
  • frontend/js/game/levels.js — уровни способностей.
  • тест(ы).

Acceptance Criteria

  • Суперпозиция: победа только когда обе копии выполнили условие.
  • Коллапс: на паузе виден предсказанный путь.
  • Туннелирование тратит энергию; SR-повторение её пополняет; стена проницаема только при заряде.
  • Без eval/эмодзи; existing симуляции/SR не сломаны; тесты зелёные; lint baseline 0.

Notes

  • Имя param e зарезервировано (число Эйлера в SimExpr) — для энергии брать energy/charge.
  • SR-движок повторения уже существует — переиспользовать, не дублировать расписание.

Review Checklist

  • Все задачи; аддитивность; без эмодзи/eval; тесты зелёные; lint baseline 0

Handoff to Next Phase