wip(standalone): shape-world look round, stopped by low memory mid-check
The look round was stopped by the system for low memory (not a code fault) while checking worker-independent hashes and refreshed owner-distance comparisons. Saved state, not yet reviewed: - passage floors carry rock detail (flat-floor check passes) - tunnel radius step between joined segments 0.0000 voxels across 240 joins (was 2.9156) - 3-octave surface relief - cold 64 m full detail 0.982 s (0.703 shapes + 0.279 mesh), whole view 2.490 s, 8 workers Pending: determinism 1 vs 6 workers, owner-distance numbers, final captures, report. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MmSoF64BbRFmk9C3p1VsBJ
No files matched your search
|
After Width: | Height: | Size: 3.9 MiB |
|
After Width: | Height: | Size: 3.9 MiB |
|
After Width: | Height: | Size: 3.9 MiB |
|
After Width: | Height: | Size: 3.9 MiB |
|
After Width: | Height: | Size: 3.9 MiB |
|
After Width: | Height: | Size: 3.9 MiB |
|
After Width: | Height: | Size: 3.9 MiB |
|
After Width: | Height: | Size: 3.9 MiB |
|
After Width: | Height: | Size: 3.9 MiB |
|
After Width: | Height: | Size: 3.9 MiB |
|
After Width: | Height: | Size: 3.9 MiB |
|
After Width: | Height: | Size: 3.9 MiB |
@@ -1286,13 +1286,16 @@ float3 Lit=Rock*(Ambient+0.88*Diffuse)+float3(0.50,0.69,0.82)*Head*0.75;
|
||||
}
|
||||
|
||||
int RunOwnerShapeComparison(FStandaloneOwnerWorld& World,const FStandaloneShapeWorld& Shape,
|
||||
V3 CameraPosition,int32 Workers,int32 LevelFilter,int32 TileLimit)
|
||||
V3 CameraPosition,float CameraYaw,float CameraPitch,
|
||||
int32 Workers,int32 LevelFilter,int32 TileLimit)
|
||||
{
|
||||
if(FStandaloneShapeWorldAccess::GetActive()!=&Shape)
|
||||
{std::fprintf(stderr,"Shape comparison requires the compiled interval world to be active.\n");return 11;}
|
||||
if(LevelFilter>=World.FullResClipLevels&&!Shape.HasFarWorld())
|
||||
const_cast<FStandaloneShapeWorld&>(Shape).BuildFarWorld();
|
||||
const FVector CameraVoxels(CameraPosition.X*4.0,CameraPosition.Y*4.0,CameraPosition.Z*4.0);
|
||||
Shape.AuditViewSurface(CameraPosition.X,CameraPosition.Y,CameraPosition.Z,
|
||||
CameraYaw,CameraPitch);
|
||||
{
|
||||
const int32 Offsets[][3]={{0,0,0},{4,0,0},{-4,0,0},{0,4,0},{0,-4,0},{0,0,4},{0,0,-4}};
|
||||
for(const auto& Offset:Offsets)
|
||||
@@ -1779,9 +1782,14 @@ int main(int Argc,char** Argv)
|
||||
if(App.bShapeWorld&&(App.bShapeAuditOnly||App.bShapeCompare||bStreamBenchmark||BenchmarkLevel>=0)
|
||||
&&!App.BuildShapeWorldForCamera(Error,bNeedFarShapeWorld))
|
||||
{std::fprintf(stderr,"Shape interval build failed: %s\n",Error.c_str());return 2;}
|
||||
if(App.bShapeAuditOnly)return App.ShapeWorld->IsDetailAuditPassing()?0:7;
|
||||
if(App.bShapeAuditOnly)
|
||||
{
|
||||
const bool bSurfacePassing=App.ShapeWorld->AuditViewSurface(App.Position.X,App.Position.Y,
|
||||
App.Position.Z,App.Yaw,App.Pitch);
|
||||
return App.ShapeWorld->IsDetailAuditPassing()&&bSurfacePassing?0:7;
|
||||
}
|
||||
if(App.bShapeCompare)
|
||||
return RunOwnerShapeComparison(*App.World,*App.ShapeWorld,App.Position,App.WorkerCount,
|
||||
return RunOwnerShapeComparison(*App.World,*App.ShapeWorld,App.Position,App.Yaw,App.Pitch,App.WorkerCount,
|
||||
ShapeCompareLevel,ShapeCompareTileLimit);
|
||||
if(bRoundWallCompare)
|
||||
return RunRoundWallComparison(*App.World,App.Position,RoundCompareTileCount);
|
||||
|
||||