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:
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user