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:
@@ -3708,7 +3708,9 @@
|
||||
<button class="st-action-btn" onclick="stereoConstructClear()">Очистить</button>
|
||||
</div>
|
||||
<div id="construct-hint" style="font-size:0.63rem;color:rgba(255,255,255,0.38);margin-top:3px;line-height:1.4"></div>
|
||||
<div style="font-size:0.6rem;color:rgba(255,255,255,0.3);margin-top:2px;line-height:1.35">Клик по плоскости в списке — показать её сечением (заливка, площадь, периметр, натуральная величина).</div>
|
||||
<div id="construct-list" style="font-size:0.7rem;margin-top:4px;line-height:1.6"></div>
|
||||
<div id="construct-trueshape" style="display:none;margin-top:6px;background:rgba(6,214,224,0.05);border:1px solid rgba(6,214,224,0.18);border-radius:8px;padding:6px"></div>
|
||||
|
||||
<!-- ── Метки рёбер ── -->
|
||||
<div class="gp-section-title" style="margin-top:8px;margin-bottom:6px">Метки рёбер</div>
|
||||
|
||||
Reference in New Issue
Block a user