wip(assembler): round S2 (Sol) -- shared per-tile feature queries for every Core family; island placement 30x faster
Island-only worker context replaced by a shared worker-local candidate domain (WorldAssemblyFeatureTileListV1 / ScopedWorldAssemblyFeatureQueriesV1) serving SurfaceWorld, FloatingIslands and far-shell queries; a per-domain cost hint keeps the full scan on small plans. Content placement prepares the same queries and skips proven air: owner island cell p95 7.07 -> 0.24 ms; populated fixture 572 exact placements, 3.27 s -> 29 ms. Full/candidate hashes equal with dropped-feature controls on both families; S1 default W1/W8/W16 hashes reproduced; Core-off and M2 fixtures pass. Default contract for future families in ARCHITECTURE 8.23. Run on gpt-6.1-sol medium. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MmSoF64BbRFmk9C3p1VsBJ
This commit is contained in:
1 parent
d6e69420e8
commit
6ddb834b1c
19 files changed
+1849
-132
No files matched your search
@@ -12,6 +12,7 @@ param(
|
||||
[switch]$MismatchedManifestFallback,
|
||||
[switch]$CoreOffTest,
|
||||
[switch]$CorePlanOnly,
|
||||
[switch]$SharedFeatureAuditOnly,
|
||||
[int]$CoreTestSeed = [int]::MinValue
|
||||
)
|
||||
|
||||
@@ -34,7 +35,8 @@ $DerivedDataCache = Join-Path $PluginRoot 'Saved\BuildHost\VFCoreWorldDDC'
|
||||
$ZenData = Join-Path $OutputRoot 'ZenData'
|
||||
$EditorCmd = 'E:\Program Files\Epic Games\UE_5.7\Engine\Binaries\Win64\UnrealEditor-Cmd.exe'
|
||||
$MemoryLimitBytes = 8GB
|
||||
$CrashRoots = @((Join-Path $HostRoot 'Saved\Crashes'), (Join-Path $StagePlugin 'Saved\Crashes'))
|
||||
$CrashRoots = @((Join-Path $HostRoot 'Saved\Crashes'), (Join-Path $StagePlugin 'Saved\Crashes'),
|
||||
(Join-Path $UserDirectory 'Saved\Crashes'))
|
||||
$CoreSizeSuffix = ''
|
||||
if ([Math]::Abs($CoreVoxelSizeCm - 25.0) -gt 0.000001) {
|
||||
$CoreSizeText = $CoreVoxelSizeCm.ToString('0.####', [Globalization.CultureInfo]::InvariantCulture)
|
||||
@@ -127,6 +129,10 @@ if ($HasManifestOverride -and -not (Test-Path -LiteralPath $WorldAssemblyManifes
|
||||
}
|
||||
|
||||
if ($MismatchedManifestFallback) { $RunName = 'mismatched_fallback' }
|
||||
if ($SharedFeatureAuditOnly) {
|
||||
if ($SelectedModeCount -ne 0) { throw '-SharedFeatureAuditOnly uses the SurfaceWorld owner route.' }
|
||||
$RunName = 'shared_feature_audit'
|
||||
}
|
||||
|
||||
$foreignEditors = @(Get-Process -ErrorAction SilentlyContinue |
|
||||
Where-Object { $_.ProcessName -like 'UnrealEditor*' })
|
||||
@@ -221,7 +227,7 @@ $CoreOffTestFlag = if ($CoreOffTest) { 1 } else { 0 }
|
||||
$CorePlanOnlyFlag = if ($CorePlanOnly) { 1 } else { 0 }
|
||||
$BaseArguments = @(
|
||||
('-project="{0}"' -f $HostProject),
|
||||
'-nullrhi', '-unattended', '-nop4', '-nosplash', '-NoSound',
|
||||
'-nullrhi', '-unattended', '-nop4', '-nosplash', '-NoSound', '-corelimit=12',
|
||||
'-stdout', '-FullStdOutLogOutput', '-forcelogflush', '-NoZenAutoLaunch',
|
||||
'-notraceserver', '-nocrashreports', '-ddc=NoZenLocalFallback',
|
||||
('-userdir="{0}"' -f $UserDirectory),
|
||||
@@ -241,6 +247,7 @@ $BaseArguments = @(
|
||||
("-corehybridfixturesonly=$HybridFixturesOnlyFlag"),
|
||||
('-out="{0}"' -f $OutputDirectory)
|
||||
)
|
||||
if ($SharedFeatureAuditOnly) { $BaseArguments += '-corefeatureauditonly' }
|
||||
if ($HasManifestOverride) {
|
||||
$BaseArguments += ('-coreworldassembly="{0}"' -f $StagedWorldAssembly)
|
||||
}
|
||||
@@ -285,6 +292,9 @@ try {
|
||||
-RedirectStandardOutput $StdoutPath -RedirectStandardError $StderrPath `
|
||||
-WindowStyle Hidden -PassThru
|
||||
$Process.PriorityClass = [Diagnostics.ProcessPriorityClass]::Normal
|
||||
# W16 is a logical determinism partition; at most 12 logical CPUs execute host work.
|
||||
# W16 reste un partitionnement logique; limiter l'execution hote a 12 processeurs logiques.
|
||||
$Process.ProcessorAffinity = [IntPtr]0xFFF
|
||||
$StartedUtc = [datetime]::UtcNow
|
||||
$PeakPrivateBytes = [int64]0
|
||||
while (-not $Process.HasExited) {
|
||||
@@ -351,6 +361,16 @@ if (-not (Test-Path -LiteralPath $FinalLog -PathType Leaf)) {
|
||||
$FinalLog = Join-Path $LogDirectory "CoreWorldValidation-$RunName.retry.log"
|
||||
}
|
||||
$Text = Get-Content -LiteralPath $FinalLog -Raw
|
||||
if ($SharedFeatureAuditOnly) {
|
||||
if ($Text -notmatch '\[VoxelForgeSharedFeatureCost\] pass complete=1 warmed_routes=1') {
|
||||
throw "Shared feature audit did not pass: $FinalLog"
|
||||
}
|
||||
if (@(Get-NewCrashFolders).Count -gt 0) { throw 'Shared feature audit produced a new crash folder.' }
|
||||
Write-Host 'VOXELFORGE_SHARED_FEATURE_AUDIT_PASS warmed_routes=1'
|
||||
Write-Host "Core actor log: $FinalLog"
|
||||
Write-Host "Peak commandlet private bytes sampled: $PeakPrivateBytes"
|
||||
return
|
||||
}
|
||||
if ($CoreFallbackTest) {
|
||||
foreach ($Marker in @(
|
||||
'[VoxelForgeCoreFallbackTest] fallback=PASS core_disabled=1 legacy_generator=1',
|
||||
|
||||
Reference in new issue
Block a user