feat(trainer): геометрические чертежи задач — движок фигур + иллюстрации во всех геом. темах
TrainerFigures (frontend/js/trainer/figures.js) — безопасный SVG-рендер «фигуры как данные» (модель SimForge): 11 типов — прямоугольный треугольник, углы треугольника/смежные/внешний, прямоугольник, квадрат, треугольник по основанию и высоте, трапеция, параллелограмм, ромб, правильный n-угольник, подобные треугольники. Чертёж строится из чисел (params), ⛔ без eval/Function, подписи экранируются, искомая величина — «?». Белые штрихи под индиго-сцену. - generators.js: figure-спека на всех 15 геом-генераторах (Углы, Пифагор, Площади, Многоугольники, Подобие) — привязка размеров к параметрам задачи. - _trainer_engine.js: figure прокидывается в problem. - trainer.html: контейнер #tr-figure в шапке-герое, renderFigure() в newProblem, скрыт для текстовых задач, скрипт-тег, CSS. Верификация: headless-смоук 5489 проверок / 900 рендеров (нет NaN/<script>/ обработчиков, «?» на искомой); адверсариал-ревью 4/4 группы clean. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -369,6 +369,7 @@
|
||||
skill: gen.skill || gen.id, // ключ прогресса = id генератора, если skill не задан
|
||||
title: gen.title,
|
||||
kind: kind,
|
||||
figure: gen.figure || null, // спека чертежа (данные) — рисует TrainerFigures по params
|
||||
lhsExpr: lhsExpr,
|
||||
rhsExpr: rhsExpr,
|
||||
display: (kind === 'system' && system)
|
||||
|
||||
Reference in New Issue
Block a user