feat(biochem): Фаза 5.1 — сид заданий типов balance/match/classify/complete

backend/scripts/seed_biochem_challenges.js (идемпотентно) добавляет 16 заданий
недостающих типов: balance 5, match 3, classify 4, complete 4. Контроллер их
уже поддерживал, но данных не было — фильтры в UI пустовали. data_json совпадает
с UI редактора и валидацией контроллера; XP начисляется через awardXP.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Maxim Dolgolyov
2026-05-30 13:58:47 +03:00
parent 2c8103aea4
commit b6dedfe516
2 changed files with 125 additions and 2 deletions
+9 -2
View File
@@ -114,11 +114,18 @@
---
## Фаза 5 — Challenges и геймификация — [ ]
## Фаза 5 — Challenges и геймификация — [~]
> Сделано: `backend/scripts/seed_biochem_challenges.js` (идемпотентно) засидировал
> 16 заданий недостающих типов — **balance 5, match 3, classify 4, complete 4**.
> Все 7 фильтров в UI редактора теперь с данными; контроллер их уже валидирует,
> XP начисляется. data_json совпадает с UI (balance: reactants/products/coefficients;
> match: pairs; classify/complete: target/equation/choices/answer).
> Осталось: drag-and-drop (5.2), 3D-build (5.3), адаптивность (5.4), ачивки bc_* (5.5).
Слоты ачивок `bc_5_challenges`/`bc_20_challenges` уже есть в `_shared.js` — довести до конца и расширить вызовы.
- [ ] 5.1 Реально засидировать недостающие типы challenge: balance (drag-коэффициенты), match, classify, complete (контроллер их уже поддерживает, данных в БД нет).
- [x] 5.1 Засидированы типы challenge: balance, match, classify, complete (16 заданий, идемпотентный сидер).
- [ ] 5.2 UI drag-and-drop для balance/match (сейчас только выбор/ввод).
- [ ] 5.3 3D-build challenge: собрать молекулу и проверить не только формулу, но и связность/геометрию.
- [ ] 5.4 Адаптивная сложность + «задача дня»; streak по биохимии.