fix: collapse thickness island beside one T-node

Issue: #273
User-Visible: yes
This commit is contained in:
Sergey Matyunin
2026-08-23 20:20:03 +03:00
parent 3e8733ad27
commit 105a8f70eb
13 changed files with 191 additions and 22 deletions
+13
View File
@@ -719,6 +719,19 @@ export const MUTANTS = [
+ ' const eps = Math.max(pitch * scale * 0.02, 1e-9);',
}],
},
{
id: 'optimizer-single-topology-island-blocked',
guard: 'npx tsc -p tsconfig.test.json && node scripts/fix-test-build.mjs '
+ '&& node --test --test-name-pattern="issue 273 Optimize" '
+ 'test/plan-optimizer.test.mjs',
because: 'a proven 22→15→22 island beside exactly one room T-node must not survive '
+ 'merely because the old #198 guard classified both endpoints identically',
patches: [{
file: 'src/plan-optimizer.ts',
find: ' if (isNode(a, roomNodes) && isNode(b, roomNodes)) continue;',
replace: ' if (isNode(a, roomNodes) || isNode(b, roomNodes)) continue;',
}],
},
{
id: 'atomic-child-thickness-parent-fallback',
guard: 'npx tsc -p tsconfig.test.json && node scripts/fix-test-build.mjs '