feat(stereo): конструкторное ядро A1 — прямые и плоскости как объекты
Фаза A раунда «Конструктор» (под ученика-самоучку). Прямая по 2 точкам
(имена a,b,c…) и плоскость по 3 точкам (имена α,β,γ…) как именованные
объекты сцены. Плоскость рисует полупрозрачный квад + пунктирную рамку +
сечение тела этой плоскостью (через _sliceByPlane) — сразу осмысленна.
- StereoSim: _lines/_planes (сериализуемые {x,y,z}), _constructGroup,
setLineMode/setPlaneMode, _onConstructClick, _createLine/_createPlane,
_rebuildConstructions/_drawLineObject/_drawPlaneObject, removeLast/clear,
getConstructions (с уравнением плоскости). Сброс в setFigure, очистка в
dispose, перерисовка подписей в toggleLabels, счётчик в info().
- Панель «Построения» в labs-bodies.html + glue (stereoLineMode/PlaneMode/
ConstructUndo/Clear, _stereoUpdateConstructList); интеграция в
_stereoDeactivateTools и _stereoUpdateUI.
- План: Фазы A и C в plans/STEREO_3D_IMPROVEMENT.md.
Верификация: node --check OK; headless-смоук 35/35 (создание/имена/нормаль/
коллинеарность/rebuild/summary/remove-last/clear/click-путь/setFigure-сброс/
dispose); эмодзи/eval/new Function — 0.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -64,4 +64,37 @@
|
||||
|
||||
---
|
||||
|
||||
История: создан 2026-05-30. Фаза 6 добавлена 2026-05-30.
|
||||
## Раунд «Конструктор» (2026-06-17) — упор на ученика-самоучку (песочница)
|
||||
|
||||
Цель: превратить отличный **визуализатор** в полноценный **конструктор** для самостоятельных
|
||||
построений. Приоритеты, выбранные пользователем: **Фаза A (конструкторное ядро)** и
|
||||
**Фаза C (сечения+)**. A — фундамент C (сечение через прямую+точку, параллельно прямой/плоскости
|
||||
опираются на объекты-прямые/плоскости).
|
||||
|
||||
### Фаза A — Конструкторное ядро
|
||||
|
||||
Прямые и плоскости как объекты первого класса + пересечения + параллели/перпендикуляры +
|
||||
общий undo/redo + дерево именованных объектов.
|
||||
|
||||
- [~] A1 — **Объектная модель + базовые построения.** `_lines[]` (имена a,b,c…), `_planes[]`
|
||||
(имена α,β,γ…), группа `_constructGroup`, сериализуемое хранение `{x,y,z}`. Инструменты
|
||||
«Прямая по 2 точкам» и «Плоскость по 3 точкам» (пикинг вершин/точек). Плоскость рисует
|
||||
полупрозрачный квад + пунктирную рамку + **сечение тела этой плоскостью** (через `_sliceByPlane`,
|
||||
делает плоскость осмысленной сразу). Панель «Построения», список объектов с уравнением плоскости.
|
||||
- [ ] A2 — **Пересечения** (прямая∩плоскость → точка; плоскость∩плоскость → прямая; прямая∩прямая
|
||||
→ точка) + **именованное дерево** с удалением/цветом/видимостью отдельных объектов.
|
||||
- [ ] A3 — **Параллели/перпендикуляры** (прямая ∥ прямой через точку; прямая ⟂ плоскости;
|
||||
плоскость ∥ плоскости; плоскость ⟂ прямой = «плоскость по точке и нормали» — мост к Фазе C) +
|
||||
**общий undo/redo** (снапшот всех пользовательских массивов построения, Ctrl+Z/Ctrl+Shift+Z).
|
||||
|
||||
### Фаза C — Сечения+
|
||||
|
||||
- [ ] C1 — Сечение **плоскостью-объектом** (из Фазы A): «показать как сечение» с площадью/периметром.
|
||||
- [ ] C2 — Сечение, **параллельное прямой/плоскости**; сечение **через прямую и точку**.
|
||||
- [ ] C3 — **«Натуральная величина» сечения** (разворот многоугольника сечения в плоскость экрана,
|
||||
отдельная мини-панель) + **штриховка**.
|
||||
- [ ] C4 — Честный конструктивный алгоритм следов с анимацией перехода между шагами (из бэклога Ф6).
|
||||
|
||||
---
|
||||
|
||||
История: создан 2026-05-30. Фаза 6 добавлена 2026-05-30. Раунд «Конструктор» (Фазы A,C) — 2026-06-17.
|
||||
|
||||
Reference in New Issue
Block a user