feat(stereo): C1+C3 — плоскость как сечение + «натуральная величина»
Фаза C раунда «Конструктор» (C2 покрыта Фазой A, C4 отложена). C1 — любую построенную плоскость можно показать сечением тела: клик по плоскости в дереве (нормальный режим) → setSectionPlane: заливка многоугольника + подписи вершин K,L,M… + площадь и периметр в readout- панели. Удаление плоскости / очистка / смена фигуры сбрасывают сечение. C3 — «Натуральная величина» сечения (getTrueShape): многоугольник сечения разворачивается в свою плоскость (ортонормированный базис от нормали) с сохранением истинных длин → 2D-SVG мини-панель со штриховкой (pattern), подписями вершин, длинами сторон и S/P. Появляется автоматически при активном сечении. - StereoSim: _sectionPlaneId, setSectionPlane, _activeSectionPolygon, _sectionVertexLabel, getTrueShape; _drawPlaneObject заливает+подписывает активное сечение; getReadout добавляет S/P; getConstructions отдаёт sectionId + per-plane section; pickConstructObject в нормальном режиме тогглит сечение по плоскости. - Панель: контейнер #construct-trueshape + подсказка; glue _stereoUpdateTrueShape (SVG-рендер) вызывается из _stereoUpdateUI; строки плоскостей в дереве всегда кликабельны, тег «(сечение)». Верификация: node --check OK; headless-смоук 26/26 (квадрат y=2: S=16,P=16; readout/дерево/тоггл; true-shape длины K,L,M,N=4, площадь=16; сохранение длин и площади для прямого И наклонного сечения; 2D-shoelace=S; удаление/ очистка/setFigure сбрасывают сечение; dispose); эмодзи/eval/new Function — 0. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -94,11 +94,18 @@
|
||||
|
||||
### Фаза C — Сечения+
|
||||
|
||||
- [ ] C1 — Сечение **плоскостью-объектом** (из Фазы A): «показать как сечение» с площадью/периметром.
|
||||
- [ ] C2 — Сечение, **параллельное прямой/плоскости**; сечение **через прямую и точку**.
|
||||
- [ ] C3 — **«Натуральная величина» сечения** (разворот многоугольника сечения в плоскость экрана,
|
||||
отдельная мини-панель) + **штриховка**.
|
||||
- [ ] C4 — Честный конструктивный алгоритм следов с анимацией перехода между шагами (из бэклога Ф6).
|
||||
- [x] C1 — Сечение **плоскостью-объектом** (из Фазы A): клик по плоскости в дереве (нормальный режим)
|
||||
→ `setSectionPlane` показывает её заливкой + подписи вершин K,L,M… + площадь/периметр в readout
|
||||
(`_activeSectionPolygon`, `getReadout`). Удаление/очистка/смена фигуры сбрасывают сечение.
|
||||
- [x] C2 — **Покрыто Фазой A** (отдельный код не нужен): сечение через прямую+точку = плоскость по
|
||||
3 точкам (2 с прямой + 1); сечение ∥ плоскости через точку = rel-операция `ppar` → затем клик
|
||||
как сечение. Дополнительный UI признан избыточным.
|
||||
- [x] C3 — **«Натуральная величина» сечения** (`getTrueShape`): разворот многоугольника в его
|
||||
плоскость (ортонормированный базис от нормали) с сохранением истинных длин → 2D-мини-панель
|
||||
(SVG, штриховка `<pattern>`, подписи вершин, длины сторон, S/P). Проверено сохранение длин и
|
||||
площади для прямого и наклонного сечений.
|
||||
- [ ] C4 — Честный конструктивный алгоритм следов с анимацией (из бэклога Ф6) — **отложено**
|
||||
(крупная отдельная фича; текущий гибрид Ф6 + сечения-объекты Фазы A/C закрывают практику).
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user