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 |
|