FI/TN/VS (legacy compiled-analytic) skip ZERO tiles at every LOD and evaluate ~44k density points per LOD0/1 tile; SW skips 359/512 at LOD0. The whole-tile skip requires a native tile with a uniform verdict, and the legacy paths return Mixed/unknown (R39 notes attached). Opt-in stage timers, sampled field timer, per-LOD classification and composer counters. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016dhxM43dnWvUu2B5Ph1iG1
38 lines
8.2 KiB
Markdown
38 lines
8.2 KiB
Markdown
## Revised ranked proposals
|
||
|
||
**What changed:** I withdraw the earlier claim that an FI interval is ready to add. The active owner FI path has no island plan, so I cannot identify a field term with a numeric bound that blocks the air proof. The native FI interval cannot stand in for that missing bound.
|
||
|
||
1. **[CODE] [INFERENCE] FI: bound the active compiled analytic field, including composition.** This has the highest potential gain given the reported 6.343 s FI whole view, but it is not implementation ready: the current classifier has no interval for this path. A new interval could preserve output bit for bit only if it bounds the actual field and all later composition conservatively. **No complete bound or term value is verified.** Falsifier: at the arrival and nearby FI tiles, the interval proves no `AllAir` tiles, or the field-call reduction is smaller than the classification cost.
|
||
|
||
2. **[CODE] [INFERENCE] TN: replace the midpoint verdict with a conservative box interval.** Current TN classification has composer and primitive overlap guards, then may return the midpoint’s sign; that sign is not an interval proof for the whole box. A bit-identical skip is possible only after bounding the active SDF, blends and detail, and vetoing composer changes. The detail clamp to **±3.9** is code verified; the complete TN interval is not. Falsifier: safe `AllAir` proofs are rare, or field-call savings do not exceed classification cost.
|
||
|
||
3. **[CODE] [INFERENCE] Keep composer overlap as a fail-closed veto; tighten only proven-empty regions.** Passage and cavern composition can change signs, including support that adds solid. A classifier must return `Mixed` if any such feature may affect the box, unless it also bounds that effect. Fixed ceiling and bedrock bands are checked, but transition displacement needs its expanded interval included. This can be bit-identical if every uncertain case fails closed. Falsifier: the new composer checks still veto nearly every would-be FI/TN air tile, or matched timings show no gain. L72’s route-mouth checks fell 80–87%, but its single timing comparison was mixed and did not establish a stable wall-time gain ([L72 report](/home/jahni/VoxelM/Plugins/VoxelForge/Standalone/Research/WorldAssemblerM3/Linux72/REPORT.md:33)).
|
||
|
||
4. **[REPORT] Do not re-enable native FI as a performance fix.** L70’s native FI experiment changed hashes and failed the audit, including 1,843 blocked route samples and 945 open-air violations. It changes the world ([L70 report](/home/jahni/VoxelM/Plugins/VoxelForge/Standalone/Research/WorldAssemblerM3/Linux70/REPORT.md:98)).
|
||
|
||
## FI arrival tile, walked by hand
|
||
|
||
The L70 arrival script gives FI camera position `(25.8369, 3.1992, -737)` metres ([arrival inputs](/home/jahni/VoxelM/Plugins/VoxelForge/Standalone/Research/WorldAssemblerM3/Linux70/RunHeadlessArrivalBenchmarksL70.py:13)). Using the 0.25 m core voxel and 32-voxel tile size, the central LOD0 tile is key `(3, 0, -93)`, with voxel origin `(96, 0, -2976)` ([tile size and key units](/home/jahni/VoxelM/Plugins/VoxelForge/Standalone/Core/include/VoxelForgeCore/VoxelForgeCore.h:27); [origin and cell setup](/home/jahni/VoxelM/Plugins/VoxelForge/Standalone/Core/src/VoxelForgeCore.cpp:2058)).
|
||
|
||
`ClassifyBoxDetailed` pads this tile by one voxel, producing Z bounds `[-2977, -2943]`. With the 32-voxel layout chunk width, it scans chunks `-94` through `-92`. L70 reports FI at `-93..-64` and TN at `-109..-94` ([slot bounds](/home/jahni/VoxelM/Plugins/VoxelForge/Standalone/Research/WorldAssemblerM3/Linux70/REPORT.md:5)). So the padded box crosses FI and TN.
|
||
|
||
Hand-walk:
|
||
|
||
- The `-94` chunk is legacy TN; `-93` and `-92` are FI.
|
||
- FI is assigned kind `FloatingIslands`, but its plan and evaluator are only installed if the matching plan exists ([binding code](/home/jahni/VoxelM/Plugins/VoxelForge/Standalone/Core/src/ShapeWorldInternal.h:395)). L70 reports that this owner has no native FI plan and uses `compiled-analytic/FloatingIslands` ([dispatch report](/home/jahni/VoxelM/Plugins/VoxelForge/Standalone/Research/WorldAssemblerM3/Linux70/REPORT.md:37)).
|
||
- The missing FI plan sets `bBadPlan`; overlap with TN also sets the cross-stratum flag. After any earlier passage or band veto, the cross-recipe guard returns `Mixed, unknown` ([overlap scan](/home/jahni/VoxelM/Plugins/VoxelForge/Standalone/Core/src/ShapeWorldInternal.h:5980); [guard](/home/jahni/VoxelM/Plugins/VoxelForge/Standalone/Core/src/ShapeWorldInternal.h:6118)).
|
||
- A tile wholly inside FI still fails closed: the FI interval branch returns `Mixed, unknown` when `IslandPlan` or `IslandField` is absent ([FI interval branch](/home/jahni/VoxelM/Plugins/VoxelForge/Standalone/Core/src/ShapeWorldInternal.h:6214)).
|
||
|
||
**I cannot verify that this particular tile is mostly air:** the L72 report gives arrival-wide times and tile counts, not per-tile occupancy. I also cannot name a field term’s bound or value as the blocker. The blocker here is structural: **`IslandPlan == null` and `IslandField == null`**, with an additional FI/TN stratum crossing for this padded tile. There is no active numeric field bound to report.
|
||
|
||
Either way, the tile is not skipped. The whole-tile early-out requires a native tile and a known uniform verdict ([tile skip gate](/home/jahni/VoxelM/Plugins/VoxelForge/Standalone/Core/src/VoxelForgeCore.cpp:2365)). TN’s final fallback can classify from the box midpoint after its guards ([fallback](/home/jahni/VoxelM/Plugins/VoxelForge/Standalone/Core/src/ShapeWorldInternal.h:6257)), but TN is non-native, so that verdict does not enable the tile skip. The legacy FI and TN tiles therefore proceed to grid evaluation.
|
||
|
||
## Bound audit
|
||
|
||
- **[CODE] Native FI field interval:** `FloatingIslandFieldV1::interval` includes contour warp, island/root geometry, roughness, connector blends and rounding slack ([range formulas](/home/jahni/VoxelM/Plugins/VoxelForge/Standalone/Core/src/FloatingIslandsInternal.h:1088), [field interval](/home/jahni/VoxelM/Plugins/VoxelForge/Standalone/Core/src/FloatingIslandsInternal.h:2492)). By code inspection, those terms are represented in the **raw field interval**. It is not a bound for the current compiled analytic FI path, nor by itself for all of `NativeFloatingIslandDensityAt`: that function also applies mouth filtering, route preservation, fragment handling and boundary sealing ([post-processing](/home/jahni/VoxelM/Plugins/VoxelForge/Standalone/Core/src/ShapeWorldInternal.h:6818)). Composer effects must also be covered or vetoed.
|
||
|
||
- **[CODE] TN noise and warps:** the shared roughness code applies domain warp before evaluating fractal noise and interpolates anchored values with `Lerp` ([roughness evaluator](/home/jahni/VoxelM/Plugins/VoxelForge/Standalone/Core/src/VoxelForgeFieldShared.h:415)). If bounding that field locally, the proved `sup|FBM| = 1.5` must be used, not 1.0; the warp amplitude is at most `1.25 × 1.5 × |strength|` per component, and interpolation must use the envelope of its endpoints ([bound note](/home/jahni/VoxelM/Plugins/VoxelForge/Docs/archive/OPSTACK-PROGRESS.md:3565)). The final detail blend is clamped to ±3.9 ([detail clamp](/home/jahni/VoxelM/Plugins/VoxelForge/Standalone/Core/src/ShapeWorldInternal.h:7917)). These are verified component bounds, **not a verified supremum for the whole TN `Eval`**.
|
||
|
||
- **[CODE] Composer bands and support:** the classifier returns `Mixed` for passage overlap, and its passage proof bounds include passage segments, mouth-support routes and support columns ([passage bounds](/home/jahni/VoxelM/Plugins/VoxelForge/Standalone/Core/src/ShapeWorldInternal.h:4510)). Those are spatial vetoes, not a numeric density interval. The composer also applies boundary bands and passage composition after the base field ([composition order](/home/jahni/VoxelM/Plugins/VoxelForge/Standalone/Core/src/ShapeWorldInternal.h:1981)). The classifier’s direct band loop checks authored ceiling and bedrock bands, while expanded transition bounds are built separately ([expanded intervals](/home/jahni/VoxelM/Plugins/VoxelForge/Standalone/Core/src/ShapeWorldInternal.h:520)); I did not verify that the classifier uses those expanded intervals for every active transition. A new all-air proof must account for that gap and retain the passage-support veto.
|
||
|
||
Read-only review only; no builds, tests or benchmarks were run. |