re: the grouped pivot floor is not the blocker either -- anchor work plateaus at 98.7%

Sweeping XBG7_GROUPED_CONSISTENCY 0.85 -> 0.80 -> 0.75 decodes no additional
resources and leaves inconsistency at 39, while changing which geometry some
grouped models get -- strictly worse, so 0.85 stays. With the degeneracy/extent
fix already refuted, the remaining 82 misses are not a threshold away; they need
a structural answer (marker lists that do not map onto stored blocks), which
means a capture, not more tuning. Records the state of the four shipped changes.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-08-12 06:34:41 +00:00
parent 2f0ce19f68
commit 9d33345560
2 changed files with 31 additions and 1 deletions

View File

@@ -969,6 +969,13 @@ fn edge_cap() -> f32 {
std::env::var("XBG7_EDGE_CAP").ok().and_then(|v| v.parse().ok()).unwrap_or(1.0)
}
/// Winding floor for the grouped-pool **pivot** (default `0.85`). The single-block
/// path settled at 0.70 on measurement; this is the same question for the pivot,
/// and `XBG7_GROUPED_CONSISTENCY` sweeps it.
fn grouped_consistency() -> f32 {
std::env::var("XBG7_GROUPED_CONSISTENCY").ok().and_then(|v| v.parse().ok()).unwrap_or(0.85)
}
/// Smallest bounding-box extent a block may have (default `0.5`). An absolute
/// floor on a format with no unit convention is a scale assumption, so it is a
/// knob: `XBG7_MIN_EXTENT`.
@@ -1473,7 +1480,7 @@ fn anchor_grouped_meshes(
// collapses well below 0.85, so only the true pad/pivot passes.
let ib_k = ib0 + rel_ib[kmax];
let vb_k = vb0 + off_v[kmax];
if !validate_block(bytes, ib_k, vb_k, vck, ick, decl, 0.85, true) {
if !validate_block(bytes, ib_k, vb_k, vck, ick, decl, grouped_consistency(), true) {
continue;
}