mirror of
https://github.com/Matysh/houseplan-card
synced 2026-10-06 06:38:57 +00:00
Ядро переработки узлов. Слой фаски #249 (`bevelMultiWallBody`) остаётся как утверждённый вид, но после него узел аддитивно получает обратно: - точные саппорт-квады своих лучей (каждый ограничен собственной конечной длиной — обрезанный латеральный фантом #271 вернуться не может); - по вееру на каждую пару соседних по азимуту лучей (сектор ≤ 180°; рефлексные секторы — внешность выпуклого угла — пропускаются), mitre в пределах лимита узла, иначе bevel-хорда на том же радиусе, что и хорда фаски. Куски клиппуются «гладкой» фасадной границей (`junctionNodeBound`: конверт с обычными углами, без узловых засечек) — узел не может отрастить новый фасад (контракт вогнутого Split), но и не теряет секторные веера, как терял бы при клипе по засечённому конверту. Вырожденные кольца нулевой площади, которые polyclip оставляет на совпадающих хордах, вычищаются. Тесты старого контракта переведены на новый: клин за фаской заполнен, если лежит в полосах узла (острый стык — сплошная кладка, сама починка #302), и пуст вне полос (фаска #249 как была). Хелпер и точечные тесты #249/#271/#197 и corner-Split обновлены; площадь фикстуры #197 выросла на 0.2 юнита² — слайвер вееров вдоль хорд фаски. Проверено исполнением: `npm test` 1286/1286; контракт «тело ⊇ полосы ∪ веера» на репро владельца — 0 пропаж; клинья на скриншоте исчезли. Issue: #302 User-Visible: no