wip(assembler): M2 round 2 -- same-LOD borders watertight for MC/hybrid/DC; LOD0/1 transitions still open

Shared halo + deterministic border-quad ownership + T-junction conformance: 625/625 same-LOD for all three.
LOD 2:1 prototype (collar zipper) fails MC 5 / hybrid 38 / DC 40 cases (corners, overhangs).
Hybrid is bit-identical to MC on a sampled native SurfaceWorld cliff; DC rougher. Standalone only.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MmSoF64BbRFmk9C3p1VsBJ
This commit is contained in:
Fr0zkaandClaude Opus 5.5 committed 2026-10-10 03:56:28 +02:00
1 parent 6953254349
commit a3b7d2015e
34 files changed
+5028 -2048

No files matched your search

@@ -1,6 +1,8 @@
[CmdletBinding()]
param(
[ValidateRange(2,5)][int]$PhaseCount = 5
[ValidateRange(2,5)][int]$PhaseCount = 5,
[ValidateSet('all','seams','native','analysis')][string]$Mode = 'all',
[ValidateRange(0,1875)][int]$SeamRowLimit = 0
)
$ErrorActionPreference = 'Stop'
@@ -23,7 +25,9 @@ do {
Remove-Item -LiteralPath $Stdout, $Stderr -Force -ErrorAction SilentlyContinue
$Info = [Diagnostics.ProcessStartInfo]::new()
$Info.FileName = $Exe
$Info.Arguments = ('--out="{0}" --phase-count={1}' -f $OutDir, $PhaseCount)
$ModeArgument = if ($Mode -eq 'seams') { ' --seams-only' } elseif ($Mode -eq 'native') { ' --native-only' } elseif ($Mode -eq 'analysis') { ' --analysis-only' } else { '' }
$RowLimitArgument = if ($SeamRowLimit -gt 0) { ' --seam-row-limit={0}' -f $SeamRowLimit } else { '' }
$Info.Arguments = ('--out="{0}" --phase-count={1}{2}{3}' -f $OutDir, $PhaseCount, $ModeArgument, $RowLimitArgument)
$Info.WorkingDirectory = [IO.Path]::GetFullPath((Join-Path $WorkDir '..\..'))
$Info.UseShellExecute = $false
$Info.CreateNoWindow = $true