refactor(sheets, settings): drop the last sheet-ring remnants and dead settings
The far sheet ring was already gone from the runtime; this removes what was left of it: - UVoxelSettings::bFarSheetRing / FarSheetSpanLevels, the voxel.TestFarSheetRing switch, and their log/trace/dump fields. - The sheet branch of VoxelClipmapDesiredTiles (FParameters sheet fields, OuterShell sheet level, sheet ring emission). Output for the runtime configuration (sheet off) is unchanged: same rings, same alignment. - Tests: VerticalStrateReach now asserts the sheet-free selector (its expected counts were stale since the aligned-ring change85a803b: LOD0 343 -> 512); ClipmapNoOverlap drops the sheet sweep cases and the frozen7486c29oracle's sheet branch. New expected values were computed with a Python port of the selector that reproduces the test's existing 635/594487 and 508/74295 measurements exactly; all 5,145 sweep cases pass (no overlap, full coverage). - Tools/VoxelForgeTest.ps1 no longer passes voxel.TestFarSheetRing or reports far_sheet_ring. The sheet_tile dump field is kept (the parity compare reads it). Also removes settings nothing reads: CeilingViewMultiplier, CeilingBandChunks (pre-clipmap ceiling band) and DensityVolumeMaxTasks (the volume fill runs on its own thread). Saved assets that still carry these values load normally; the values are ignored. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01URDGLsu7c4nunqNFPJEFPU
This commit is contained in:
6 files changed
+40
-216
No files matched your search
@@ -123,21 +123,6 @@ public:
|
||||
return FMath::Clamp(FMath::Max(StrateContentCutMinLevel, 1), 1, 9);
|
||||
}
|
||||
|
||||
// Open-world SKY reach: the sky-cap ceiling of an open strate (SurfaceWorld / FloatingIslands)
|
||||
// is FAR, so the ceiling BAND is streamed across a wider horizontal radius = ViewDistanceXY ×
|
||||
// this, so the sky reaches toward the horizon instead of being a patch over the player's head.
|
||||
// Only the ceiling band (top CeilingBandChunks of the strate) gets the wide radius — the empty
|
||||
// air below it stays at base XY. Cost grows ~ multiplier² (more far chunks/draws; gen is cheap
|
||||
// and batching keeps the game-thread cost low). 1 = off. Live-tunable on the asset — push to 4
|
||||
// if the draw budget allows; a proper to-the-horizon view (terrain too) is the chunk-LOD clipmap.
|
||||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Voxel|Streaming", meta = (ClampMin = "1"))
|
||||
int32 CeilingViewMultiplier = 2;
|
||||
|
||||
// How many chunks down from the strate top get the wide CeilingViewMultiplier radius (covers
|
||||
// the sky-cap slab). Bigger = no gaps if the ceiling surface dips, but more far chunks.
|
||||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Voxel|Streaming", meta = (ClampMin = "1"))
|
||||
int32 CeilingBandChunks = 4;
|
||||
|
||||
//=========================================================================
|
||||
// CLIPMAP (chunked-LOD streaming — supersedes the ViewDistance box above)
|
||||
//=========================================================================
|
||||
@@ -183,16 +168,6 @@ public:
|
||||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Voxel|Clipmap", meta = (ClampMin = "0"))
|
||||
int32 RenderDistanceChunks = 768;
|
||||
|
||||
// UNUSED: the far sheet ring was removed from the runtime; the render-distance ring is always
|
||||
// marching-cubes tiles at MaxClipLevel. Kept only so saved assets and the test harness's
|
||||
// `voxel.TestFarSheetRing` switch still load; it has no effect.
|
||||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Voxel|Clipmap")
|
||||
bool bFarSheetRing = false;
|
||||
|
||||
// UNUSED (see bFarSheetRing). Kept so saved assets still load; it has no effect.
|
||||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Voxel|Clipmap", meta = (ClampMin = "1", ClampMax = "4", EditCondition = "bFarSheetRing"))
|
||||
int32 FarSheetSpanLevels = 2;
|
||||
|
||||
// SKIRTS — seal the thin cracks where neighbouring clipmap shells (different resolutions) meet.
|
||||
// A short wall is extruded into the solid from each surface edge on the tile's outer faces.
|
||||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Voxel|Clipmap")
|
||||
@@ -336,12 +311,6 @@ public:
|
||||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Voxel|Lighting", meta = (ClampMin = "1", ClampMax = "5"))
|
||||
int32 DensityVolumeLevels = 3;
|
||||
|
||||
// DEPRECATED / unused: the volume fill no longer runs on the shared UE::Tasks pool (where it
|
||||
// starved behind mesh-gen). It now runs on ONE dedicated thread off the pool, so there's no task
|
||||
// budget to cap. Kept only so existing saved assets don't error; safe to ignore.
|
||||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Voxel|Lighting", meta = (ClampMin = "1", ClampMax = "16"))
|
||||
int32 DensityVolumeMaxTasks = 4;
|
||||
|
||||
// A fill box is split into Z-slabs of at most this many cells per task, so no single task is
|
||||
// huge (a full level refill on startup/teleport fans out across workers). Lower = more, smaller
|
||||
// tasks (better parallelism / latency); higher = fewer, fatter tasks.
|
||||
|
||||
Reference in new issue
Block a user