passages: memoized exact MC midpoints + wider conservative sweep bounds (L101, exact vs L100)

Off-grid census by caller (MC midpoints, skirts, far shells); all 63.0M sweep misses accounted
(1.9M exact-route fallbacks, 61.1M counted bound skips). Exact MC midpoint queries memoized by
float bits (Unreal enables it too); feature bounds expanded. L100/L101 whole-view hashes equal in
all four strata (v216 unchanged); 0 added/removed crossings; 15 capture pairs pixel-identical.
Near-ready @W12 L100 -> L101: FI 1.77 -> 1.65, TN 1.66 -> 1.54, SW 0.85 -> 0.84, VS 1.03 -> 1.03 s
(L98 2.28/2.23/1.02/1.11). Fast tier PASS; Linux UE host builds. Unreal arrival traces not obtained
(the runner wrongly applied the 6 GiB address-space cap to Unreal).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016dhxM43dnWvUu2B5Ph1iG1
This commit is contained in:
Fr0zkaandClaude Opus 5.5 committed 2026-10-28 18:57:56 +01:00
1 parent 2d5822cdf7
commit 55e20f4a7e
48 files changed
+2087 -38

No files matched your search

+47 -2
View File
@@ -1445,7 +1445,36 @@ private:
const char* TileClassName=D.tileClass==VoxelForgeCore::TileClass::allAir?"air":
D.tileClass==VoxelForgeCore::TileClass::allSolid?"solid":
D.tileClass==VoxelForgeCore::TileClass::mixed?"mixed":"unknown";
std::printf("[CpuTileStages] key=(%d,%d,%d,lod%d) worker_id=%d worker_ms=%.3f payload_ms=%.3f tile_classified=%d tile_class=%s tile_skip=%d density_point_calls=%llu density_float_points=%llu density_lattice_points=%llu density_unclamped_points=%llu density_x8_points=%llu field_eval_sample_ns=%llu field_eval_sample_points=%llu samples=%llu classify_ms=%.3f column_ms=%.3f column_exclusive_ms=%.3f mc_ms=%.3f mc_grid_ms=%.3f mc_grid_workers=%u mc_cell_ms=%.3f mc_gradient_ms=%.3f mc_interpolation_ms=%.3f mc_dedup_ms=%.3f mc_skirt_ms=%.3f mc_other_ms=%.3f connector_ms=%.3f ground_ms=%.3f cap_ms=%.3f horizon_ms=%.3f mesh_assembly_ms=%.3f candidate_cells=%llu classified_cells=%llu surface_cells=%llu proof_solid_cells=%llu proof_air_cells=%llu proof_density_samples=%llu zband_reject_cells=%llu x8_calls=%llu x8_active_lanes=%llu grad_calls=%llu grad_memo_hits=%llu grad_fallback_calls=%llu midpoint_attempts=%llu midpoint_memo_hits=%llu skirt_edges=%llu skirt_boundary_edges=%llu skirt_density_probes=%llu skirt_triangles=%u fi_local_hit=%llu fi_local_miss=%llu fi_local_conflicts=%llu fi_shared_hit=%llu fi_shared_miss=%llu fi_shared_computes=%llu fi_shared_conflicts=%llu fi_lock_wait_us=%.3f\n",
const auto FormatCallerCounts=[](const auto& Values)
{
std::ostringstream Text;
for(std::size_t Index=0;Index<Values.size();++Index)
{
if(Index)Text<<',';
Text<<Values[Index];
}
return Text.str();
};
const std::string PassageSweepMissing=FormatCallerCounts(
D.passageSweepMissingLookupsByCaller);
const std::string PassageSweepFallbacks=FormatCallerCounts(
D.passageSweepExactRouteFallbacksByCaller);
const std::string PassageSweepBoundSkips=FormatCallerCounts(
D.passageSweepFeatureBoundSkipsByCaller);
const std::string PassageSweepTileFreeSkips=FormatCallerCounts(
D.passageSweepTileFreeSkipsByCaller);
const std::string PassageSweepVerticalBoundSkips=FormatCallerCounts(
D.passageSweepVerticalBoundSkipsByCaller);
const std::string PassageSweepNegativeReachSkips=FormatCallerCounts(
D.passageSweepNegativeReachSkipsByCaller);
const std::string PassageSweepPositiveReachSkips=FormatCallerCounts(
D.passageSweepPositiveReachSkipsByCaller);
const std::string DensityOffGridFloat=FormatCallerCounts(D.densityOffGridFloatByCaller);
const std::string DensityOffGridUnclamped=FormatCallerCounts(
D.densityOffGridUnclampedByCaller);
const std::string DensityOffGridDetail=FormatCallerCounts(
D.densityOffGridDetailByCaller);
std::printf("[CpuTileStages] key=(%d,%d,%d,lod%d) worker_id=%d worker_ms=%.3f payload_ms=%.3f tile_classified=%d tile_class=%s tile_skip=%d density_point_calls=%llu density_float_points=%llu density_lattice_points=%llu density_unclamped_points=%llu density_x8_points=%llu field_eval_sample_ns=%llu field_eval_sample_points=%llu samples=%llu classify_ms=%.3f column_ms=%.3f column_exclusive_ms=%.3f mc_ms=%.3f mc_grid_ms=%.3f mc_grid_workers=%u mc_cell_ms=%.3f mc_gradient_ms=%.3f mc_interpolation_ms=%.3f mc_dedup_ms=%.3f mc_skirt_ms=%.3f mc_other_ms=%.3f connector_ms=%.3f ground_ms=%.3f cap_ms=%.3f horizon_ms=%.3f mesh_assembly_ms=%.3f candidate_cells=%llu classified_cells=%llu surface_cells=%llu proof_solid_cells=%llu proof_air_cells=%llu proof_density_samples=%llu zband_reject_cells=%llu x8_calls=%llu x8_active_lanes=%llu grad_calls=%llu grad_memo_hits=%llu grad_fallback_calls=%llu midpoint_attempts=%llu midpoint_memo_hits=%llu skirt_edges=%llu skirt_boundary_edges=%llu skirt_density_probes=%llu skirt_surface_vertex=%llu skirt_surface_vertex_offgrid=%llu skirt_extruded_vertex=%llu skirt_extruded_vertex_offgrid=%llu skirt_clipped_vertex=%llu skirt_clipped_vertex_offgrid=%llu skirt_refinement_face=%llu skirt_refinement_face_offgrid=%llu skirt_coarse_centroid=%llu skirt_coarse_centroid_offgrid=%llu sweep_missing_by_caller=%s sweep_exact_fallback_by_caller=%s sweep_bound_skip_by_caller=%s sweep_tile_free_skip_by_caller=%s sweep_vertical_bound_skip_by_caller=%s sweep_negative_reach_skip_by_caller=%s sweep_positive_reach_skip_by_caller=%s density_offgrid_float_by_caller=%s density_offgrid_unclamped_by_caller=%s density_offgrid_detail_by_caller=%s skirt_triangles=%u fi_local_hit=%llu fi_local_miss=%llu fi_local_conflicts=%llu fi_shared_hit=%llu fi_shared_miss=%llu fi_shared_computes=%llu fi_shared_conflicts=%llu fi_lock_wait_us=%.3f\n",
Event.Key.Coord.X,Event.Key.Coord.Y,Event.Key.Coord.Z,Event.Key.Level,
Event.WorkerId,Event.WorkerMilliseconds,Event.PayloadBuildMilliseconds,
D.tileWasClassified?1:0,TileClassName,D.meshingSkipped?1:0,
@@ -1483,6 +1512,22 @@ private:
static_cast<unsigned long long>(D.marchingCubesSkirtEdgeCandidates),
static_cast<unsigned long long>(D.marchingCubesSkirtBoundaryCandidates),
static_cast<unsigned long long>(D.marchingCubesSkirtDensityProbes),
static_cast<unsigned long long>(D.marchingCubesSkirtDensityProbesByCaller[0]),
static_cast<unsigned long long>(D.marchingCubesSkirtDensityOffGridProbesByCaller[0]),
static_cast<unsigned long long>(D.marchingCubesSkirtDensityProbesByCaller[1]),
static_cast<unsigned long long>(D.marchingCubesSkirtDensityOffGridProbesByCaller[1]),
static_cast<unsigned long long>(D.marchingCubesSkirtDensityProbesByCaller[2]),
static_cast<unsigned long long>(D.marchingCubesSkirtDensityOffGridProbesByCaller[2]),
static_cast<unsigned long long>(D.marchingCubesSkirtDensityProbesByCaller[3]),
static_cast<unsigned long long>(D.marchingCubesSkirtDensityOffGridProbesByCaller[3]),
static_cast<unsigned long long>(D.marchingCubesSkirtDensityProbesByCaller[4]),
static_cast<unsigned long long>(D.marchingCubesSkirtDensityOffGridProbesByCaller[4]),
PassageSweepMissing.c_str(),PassageSweepFallbacks.c_str(),
PassageSweepBoundSkips.c_str(),
PassageSweepTileFreeSkips.c_str(),PassageSweepVerticalBoundSkips.c_str(),
PassageSweepNegativeReachSkips.c_str(),PassageSweepPositiveReachSkips.c_str(),
DensityOffGridFloat.c_str(),DensityOffGridUnclamped.c_str(),
DensityOffGridDetail.c_str(),
Event.SkirtTriangles,
static_cast<unsigned long long>(D.islandLocalCacheHits),
static_cast<unsigned long long>(D.islandLocalCacheMisses),
@@ -1584,7 +1629,7 @@ private:
bool bInstrumentTileDrain=false;
bool bLinux77Profile=false;
bool bProfilePassageComposer=false;
bool bExactMidpointDensityMemo=false;
bool bExactMidpointDensityMemo=true;
bool bActiveLaneBatching=false;
int32 ProofBlockCells=8;
bool bAuditUniformBlockProofs=false;