From d8c7652d0ef1df228d491ee55f04643883fdb3e0 Mon Sep 17 00:00:00 2001 From: Codex Date: Tue, 25 Aug 2026 17:22:57 +0300 Subject: [PATCH] docs: AC6 names the #271 trim as the one subtraction the node keeps (#302 r2 M3) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Код честно держал адресный латеральный трим с самого решения №5, дока после M1 описывала его верно — расходился только текст ТЗ, писавший «демонтирован целиком». §4.5, §8.2 и AC6 приведены к фактическому контракту. Issue: #302 User-Visible: no --- docs/specs/302-junction-node-material.md | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/docs/specs/302-junction-node-material.md b/docs/specs/302-junction-node-material.md index f671eb13..e8b21076 100644 --- a/docs/specs/302-junction-node-material.md +++ b/docs/specs/302-junction-node-material.md @@ -69,8 +69,9 @@ стали артефакты фаски на не-ортогональных узлах в новых эталонах (`junction-y-60-equal50` — вырез, `junction-acute30-mixed` — торчащие углы). Следствия: узловая механика чисто аддитивная, слой - `bevelMultiWallBody`/`bevelMultiWallPaper` удаляется, существующие - junction-эталоны переснимаются осознанно. + `bevelMultiWallPaper` удаляется, `bevelMultiWallBody` остаётся только + адресным латеральным тримом #271 (уточнение при реализации; §8.2), + существующие junction-эталоны переснимаются осознанно. ## 5. Цели @@ -126,9 +127,14 @@ фасадной границей `junctionNodeBound` — узел не растит новый фасад на вогнутой вершине. -**В узловой механике нет ни одной операции `difference`** (вычитающий слой -фаски демонтирован): дыра между полосами невозможна по построению, «лишний» -материал ограничен `MITRE_LIMIT` и фасадной границей. +**Единственное вычитание узловой механики — адресный латеральный трим +#271**: `bevelMultiWallBody` вызывается только для узлов с вырожденно-коротким +толстым саппортом (короче собственной толщины), где базовые контуры красят +лишнюю ширину, которую аддитивно не убрать; его угловые следы на таких узлах +перекрываются веерами. На всех остальных узлах механика чисто аддитивная: +слой фаски #249 как ВИД демонтирован целиком, дыра между полосами невозможна +по построению, «лишний» материал ограничен `MITRE_LIMIT` и фасадной +границей. ### 8.3. Спец-случаи @@ -193,8 +199,9 @@ не срезается), свободная часть клина срезана по лимиту узла. - **AC5.** Виртуальный участок в узле не порождает кладку; соседние физические лучи смыкаются веером через него. -- **AC6.** Узловая механика не содержит `difference`: слой фаски демонтирован, - веера и саппорты только добавляют. Мутант возвращает лимит веера к 1.25·h — +- **AC6.** Единственное вычитание узловой механики — адресный трим #271 на + узлах с вырожденно-коротким толстым саппортом; все прочие узлы аддитивны + (фаска #249 как вид демонтирована). Мутант возвращает лимит веера к 1.25·h — юнит формы веера обязан покраснеть (вырез Y-60 из отчёта владельца). - **AC7.** Оба рендерера дают идентичную геометрию узла (один вызов `wallBodiesUnionPath`; смок сверяет пути).