fix: prevent mixed-role walls during resize

Issue: #289
User-Visible: yes
This commit is contained in:
Sergey Matyunin
2026-08-24 15:19:40 +03:00
parent 2ad20dca2b
commit bca3bfd52c
15 changed files with 639 additions and 272 deletions
+12
View File
@@ -259,6 +259,18 @@ export const MUTANTS = [
replace: ' if (!original || !next || !polyIsSimple(next)) return false;',
}],
},
{
id: 'safe-resize-side-ownership-bypassed',
guard: 'npx tsc -p tsconfig.test.json && node scripts/fix-test-build.mjs '
+ '&& node --test --test-name-pattern="#289 side ownership" test/resize.test.mjs',
because: 'extending or shortening a shared side wall must stop before one thickness record '
+ 'describes both shared and outer material; the exact 43-step #289 fixture pins both directions',
patches: [{
file: 'src/resize.ts',
find: ' if (!sideOwnershipPreserved(result, plan, eps)) return false;',
replace: ' if (false && !sideOwnershipPreserved(result, plan, eps)) return false;',
}],
},
{
id: 'safe-resize-opening-jamb-bypassed',
guard: 'npx tsc -p tsconfig.test.json && node scripts/fix-test-build.mjs '