From 045eb2646e1a4b596b57030fae5afcfe8dc72a29 Mon Sep 17 00:00:00 2001 From: Maxim Dolgolyov Date: Sat, 30 May 2026 15:43:37 +0300 Subject: [PATCH] =?UTF-8?q?docs(biochem):=20=D0=BF=D0=BB=D0=B0=D0=BD=20?= =?UTF-8?q?=E2=80=94=20=D0=A4=D0=B0=D0=B7=D1=8B=205.2/5.3/5.5=20=D0=B2?= =?UTF-8?q?=D1=8B=D0=BF=D0=BE=D0=BB=D0=BD=D0=B5=D0=BD=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- plans/BIOCHEM_UPGRADE.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/plans/BIOCHEM_UPGRADE.md b/plans/BIOCHEM_UPGRADE.md index 0e4c342..40c5d29 100644 --- a/plans/BIOCHEM_UPGRADE.md +++ b/plans/BIOCHEM_UPGRADE.md @@ -121,15 +121,17 @@ > Все 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). +> Сделано также: 5.2 живая поэлементная проверка баланса; 5.3 3D-build с +> изоморфизмом графа (Morgan-хеш) + 4 задания; 5.5 ачивки bc_* привязаны к +> событиям. Осталось только 5.4 (адаптивность/«задача дня»/streak). Слоты ачивок `bc_5_challenges`/`bc_20_challenges` уже есть в `_shared.js` — довести до конца и расширить вызовы. - [x] 5.1 Засидированы типы challenge: balance, match, classify, complete (16 заданий, идемпотентный сидер). -- [ ] 5.2 UI drag-and-drop для balance/match (сейчас только выбор/ввод). -- [ ] 5.3 3D-build challenge: собрать молекулу и проверить не только формулу, но и связность/геометрию. +- [x] 5.2 Живая поэлементная проверка баланса (счётчик атомов слева=справа по мере ввода). _(числовой ввод с мгновенной обратной связью вместо литерального drag-and-drop.)_ +- [x] 5.3 3D-build challenge: `structuralMatch`/`canonicalHash` (Morgan) в контроллере — проверка связности против эталона (molecule_id), отличает изомеры (этанол≠диметиловый эфир); +4 structure-build задания. - [ ] 5.4 Адаптивная сложность + «задача дня»; streak по биохимии. -- [ ] 5.5 Привязать ачивки `bc_5_challenges`/`bc_20_challenges` (и новые: «собрал АТФ», «сбалансировал 10 реакций», «прошёл цикл Кребса») к событиям; проверить начисление в `gamificationController`. +- [x] 5.5 Ачивки `bc_first_molecule`/`bc_5_challenges`/`bc_20_challenges` привязаны: `checkAchievements` вызывается после решения задачи и сохранения молекулы; счётчики из `bio_user_challenges`/`bio_user_molecules` в `checkPhase3Achievements`. ---