fix: preserve wall ownership through compaction

Issue: #299
User-Visible: yes
This commit is contained in:
Sergey Matyunin
2026-08-24 23:28:39 +03:00
parent 6558728519
commit ba63fccbb7
12 changed files with 188 additions and 26 deletions
+13
View File
@@ -1299,6 +1299,19 @@ export const MUTANTS = [
+ ' const eps = Math.max(pitch * scale * 0.02, 1e-9);',
}],
},
{
id: 'wall-compaction-owner-role-bypassed',
guard: 'npx tsc -p tsconfig.test.json && node scripts/fix-test-build.mjs '
+ '&& node --test --test-name-pattern="#299" test/wall-thickness.test.mjs',
because: 'equal centimetres must not merge shared(A,B) with outer(A) or shared(A,C); '
+ 'dropping the owner signature recreates the mixed-role wall record from #299',
patches: [{
file: 'src/wall-thickness.ts',
find: ' if (pr.kinds[next] === null || pr.cms[next] !== cm\n'
+ ' || ownerSignatureFor(nextKey) !== ownerSignature) break;',
replace: ' if (pr.kinds[next] === null || pr.cms[next] !== cm) break;',
}],
},
{
id: 'optimizer-single-topology-island-blocked',
guard: 'npx tsc -p tsconfig.test.json && node scripts/fix-test-build.mjs '