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,
|
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)
|
if(FStandaloneShapeWorldAccess::GetActive()!=&Shape)
|
||||||
{std::fprintf(stderr,"Shape comparison requires the compiled interval world to be active.\n");return 11;}
|
{std::fprintf(stderr,"Shape comparison requires the compiled interval world to be active.\n");return 11;}
|
||||||
if(LevelFilter>=World.FullResClipLevels&&!Shape.HasFarWorld())
|
if(LevelFilter>=World.FullResClipLevels&&!Shape.HasFarWorld())
|
||||||
const_cast<FStandaloneShapeWorld&>(Shape).BuildFarWorld();
|
const_cast<FStandaloneShapeWorld&>(Shape).BuildFarWorld();
|
||||||
const FVector CameraVoxels(CameraPosition.X*4.0,CameraPosition.Y*4.0,CameraPosition.Z*4.0);
|
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}};
|
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)
|
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)
|
if(App.bShapeWorld&&(App.bShapeAuditOnly||App.bShapeCompare||bStreamBenchmark||BenchmarkLevel>=0)
|
||||||
&&!App.BuildShapeWorldForCamera(Error,bNeedFarShapeWorld))
|
&&!App.BuildShapeWorldForCamera(Error,bNeedFarShapeWorld))
|
||||||
{std::fprintf(stderr,"Shape interval build failed: %s\n",Error.c_str());return 2;}
|
{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)
|
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);
|
ShapeCompareLevel,ShapeCompareTileLimit);
|
||||||
if(bRoundWallCompare)
|
if(bRoundWallCompare)
|
||||||
return RunRoundWallComparison(*App.World,App.Position,RoundCompareTileCount);
|
return RunRoundWallComparison(*App.World,App.Position,RoundCompareTileCount);
|
||||||
|
|||||||