feat(biochem): Фаза 5.3 — 3D-build challenge с проверкой структуры
biochemController.js: structuralMatch/canonicalHash (Morgan-подобный канонический хеш графа) — для build-задания с data.requireStructure проверяется связность против эталонной молекулы (molecule_id), а не только формула. Отличает изомеры: этанол != диметиловый эфир при одной формуле C2H6O. seed_biochem_challenges.js: +4 structure-build задания (CO2, этилен, этанол, уксусная кислота). biochem.html: сообщение об ошибке wrong_structure. Проверено на реальном коде против БД: этанол==этанол true, ==диметиловый эфир false. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1550,6 +1550,8 @@ async function submitChallenge() {
|
||||
loadChallenges();
|
||||
} catch(e) {
|
||||
if (e.data?.error === 'wrong_formula') LS.toast(`Неверно. Ожидается ${e.data.expected}, получено ${e.data.submitted}`, 'error');
|
||||
else if (e.data?.error === 'wrong_structure') LS.toast('Формула верна, но структура (связность) не та — проверь, как соединены атомы', 'error');
|
||||
else if (e.data?.error === 'valency_error') LS.toast('Есть ошибки валентности', 'error');
|
||||
else LS.toast('Ошибка: ' + e.message, 'error');
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user