Maxim Dolgolyov
|
2e7ec81e59
|
feat: Phase 3 планиметрии — дуги углов, маркер 90°, инструменты foot/circumcircle/incircle
- _drawAngleMeasures(): реальные дуги через биссектрису (midAngle±halfSpread),
маркер правого угла квадратом при |angle-90°|<2°
- gIncircle(): функция вписанной окружности треугольника
- GeoEngine: поддержка constr='foot' (точка), constr='circumcircle'/'incircle' (окружность)
в _dependsOn и recompute; cascadeDelete через derived circles
- _drawCircle(): обработка derived=true (circumcircle/incircle) — dashed + cx/cy/r
- getStats(): исправлена статистика для производных окружностей
- constructions учитывает derivedCircles
- lab.html: 3 новые кнопки (Основание, Описанная, Вписанная) + хинты
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-04-14 10:15:05 +03:00 |
|
Maxim Dolgolyov
|
95cca89dfc
|
feat: планиметрия Phase 2 — инструменты построения
- GeoEngine: система производных объектов (recompute, propagateDeps),
каскадная цепочка зависимостей при перемещении точек
- 6 новых инструментов в GeoSim:
* midpoint — середина отрезка (производная точка)
* perpbisect — серединный перпендикуляр (derived_line)
* anglebisect — биссектриса угла ABC (derived_line)
* parallel — параллельная прямая через точку (derived_line)
* perpendicular — перпендикуляр через точку (derived_line)
* intersect — точка пересечения двух прямых (производная точка)
- Производные объекты: пунктирный стиль, светящийся ободок,
автообновление при перемещении родительских точек
- Двухфазный UI для parallel/perpendicular/intersect:
_pendingLineRef + _drawLineRefHighlight (подсветка первой линии)
- lab.html: 6 новых кнопок в секции "Построения", счётчик построений,
onHintChange callback для контекстных подсказок
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-04-14 10:00:00 +03:00 |
|
Maxim Dolgolyov
|
35849cf231
|
feat: планиметрия — интерактивная геометрическая симуляция
- Новый файл frontend/js/labs/geometry.js (~1200 строк):
GeoEngine (граф объектов с каскадным удалением),
GeoViewport (система координат math↔canvas, зум/пан),
GeoSim (полный движок: точки, отрезки, прямые, лучи,
окружности, треугольники, многоугольники, привязка к сетке
и точкам, undo/redo, экспорт PNG, classroom sync)
- frontend/lab.html: карточка, ctrl, sim-geometry секция,
функции geoSetTool/geoToggle/_openGeometry, скрипт-тег
- frontend/admin.html: geometry в ADMIN_SIMS
- backend/src/db/migrate.js: таблицы geometry_tasks,
geometry_submissions
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-04-14 09:40:41 +03:00 |
|