mirror of
https://github.com/Matysh/houseplan-card
synced 2026-10-02 21:01:21 +00:00
refactor: fans are the whole additive node — dead support re-union removed (#302)
С адресным тримом (он не режет полосы обычных узлов) возврат саппорт-квадов в тело стал мёртвым слоем: полный юнит-набор зелёный без него — проверено исполнением, а не предположено. По дисциплине мутационного реестра избыточный слой убран (fans only), его мутант `junction-supports-not-restored` снят: у #271-узлов трим режет только ЗА пределами саппорта, возвращать нечего. Саппорт-квады остаются экспортом `junctionNodeGeometry` — детектор и тесты используют их как источник контрактной истины. `npm test` 1303/1303; `golden:verify` 126/126; контракт-проба репро — 0; `smoke_junction_holes` OK. Issue: #302 User-Visible: no
This commit is contained in:
@@ -3564,7 +3564,11 @@ export function wallBodiesGeometry(
|
||||
rooms, walls, openCuts, pitch, cellCm, gridPitch, coordScale,
|
||||
multiWallNodes,
|
||||
);
|
||||
for (const piece of [...corners.supports, ...corners.fans]) {
|
||||
// Fans only: with the trim now TARGETED (it never cuts an ordinary
|
||||
// node's strips) the support re-union became dead weight — measured by
|
||||
// the full unit suite staying green without it. The support quads stay
|
||||
// exported: the detector and the tests use them as the contract truth.
|
||||
for (const piece of corners.fans) {
|
||||
try {
|
||||
let ring: any = [closedRing(piece)];
|
||||
if (bound) ring = intersection(ring, bound);
|
||||
|
||||
Reference in New Issue
Block a user