From f340815db66b7f1ff1702c98e929ad52aecdf9c0 Mon Sep 17 00:00:00 2001 From: "Claude (auto-RE)" Date: Wed, 12 Aug 2026 06:56:49 +0000 Subject: [PATCH] fix(mesh): require exact pool coverage -- found by rendering, not by a metric Rendering assembled e106 from Stage_S02 showed the old slab: e106_bdy_03 spanning 600x1600x998 where three other containers give 276x236x941. Its anchor had slack 3, and the coverage gate tolerated up to three unreferenced tail vertices -- tolerance that was hiding a mis-anchor, since real blocks reach their last vertex exactly (8580 of 8629). Requiring exact coverage moves it to the block the other containers agree on and the slab disappears. Costs 3 resources (6212 -> 6209), inconsistency 39 -> 38, capture oracle unchanged at 46/46, suite green. Evidence: captures/e106-cover-slack-before-after.png Co-Authored-By: Claude Opus 5 (1M context) --- .../sylpheed-formats/examples/submesh_dump.rs | 14 +++++++-- crates/sylpheed-formats/src/mesh.rs | 19 ++++++++++-- .../e106-cover-slack-before-after.png | Bin 0 -> 43983 bytes docs/re/structures/xbg7-mesh.md | 29 ++++++++++++++++++ 4 files changed, 58 insertions(+), 4 deletions(-) create mode 100644 docs/re/captures/e106-cover-slack-before-after.png diff --git a/crates/sylpheed-formats/examples/submesh_dump.rs b/crates/sylpheed-formats/examples/submesh_dump.rs index cb8497a..a904e1f 100644 --- a/crates/sylpheed-formats/examples/submesh_dump.rs +++ b/crates/sylpheed-formats/examples/submesh_dump.rs @@ -11,13 +11,23 @@ fn main() { println!("{} — {} sub-meshes decoded, {} markers declared", m.name, m.meshes.len(), markers.len()); for (i, s) in m.meshes.iter().enumerate() { let max_idx = s.indices.iter().max().copied().unwrap_or(0) as usize; + let (mut lo, mut hi) = ([f32::MAX; 3], [f32::MIN; 3]); + for q in &s.positions { + for k in 0..3 { + lo[k] = lo[k].min(q[k]); + hi[k] = hi[k].max(q[k]); + } + } println!( - " #{i:<2} at 0x{:<9x} verts {:<6} idx {:<6} max_idx {:<6} slack {}", + " #{i:<2} at 0x{:<9x} verts {:<6} idx {:<6} max_idx {:<6} slack {} span [{:.0} {:.0} {:.0}]", s.vbuf_offset.unwrap_or(0), s.positions.len(), s.indices.len(), max_idx, - s.positions.len() as i64 - 1 - max_idx as i64 + s.positions.len() as i64 - 1 - max_idx as i64, + hi[0] - lo[0], + hi[1] - lo[1], + hi[2] - lo[2] ); } } diff --git a/crates/sylpheed-formats/src/mesh.rs b/crates/sylpheed-formats/src/mesh.rs index 7fcf46f..876ce50 100644 --- a/crates/sylpheed-formats/src/mesh.rs +++ b/crates/sylpheed-formats/src/mesh.rs @@ -976,6 +976,21 @@ fn grouped_consistency() -> f32 { std::env::var("XBG7_GROUPED_CONSISTENCY").ok().and_then(|v| v.parse().ok()).unwrap_or(0.85) } +/// Coverage requirement, as `max_index + N >= vtx_count`. **`1` since +/// 2026-08-12** — i.e. the indices must reach the pool's last vertex exactly. +/// +/// The old `4` tolerated three unreferenced tail vertices, and that slack was a +/// mis-anchor tell rather than a real variation: 8 580 of 8 629 decoded +/// sub-meshes cover their pool exactly, and `e106_bdy_03` in `Stage_S02` was one +/// of the few that did not — slack 3, decoding to a 600×1600×998 slab visible in +/// a render, where three other containers give 276×236×941. Requiring exact +/// coverage moves it onto the block those containers agree on. Costs 3 resources +/// disc-wide; capture oracle unchanged at 46/46. `XBG7_COVER_SLACK` overrides +/// (note `0` rejects everything — the comparison is `max_idx + N >= vtx_count`). +fn cover_slack() -> usize { + std::env::var("XBG7_COVER_SLACK").ok().and_then(|v| v.parse().ok()).unwrap_or(1) +} + /// 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`. @@ -1262,7 +1277,7 @@ fn validate_block_report( } max_idx = max_idx.max(i); } - if (max_idx as usize) + 4 < vtx_count { + if (max_idx as usize) + cover_slack() < vtx_count { return Err(format!( "indices reach only {max_idx} of {vtx_count} vertices (buffer not covered)" )); @@ -1525,7 +1540,7 @@ fn anchor_grouped_meshes( max_idx = max_idx.max(i); i < vc }); - if in_range && max_idx + 4 >= vc { + if in_range && max_idx + cover_slack() >= vc { meshes.push(read_pool_mesh(bytes, ib, vb, ic, vc, decl)); } vb += vc * stride; diff --git a/docs/re/captures/e106-cover-slack-before-after.png b/docs/re/captures/e106-cover-slack-before-after.png new file mode 100644 index 0000000000000000000000000000000000000000..550cf4e2fdbad43990162542aae8a0cfe2573a1a GIT binary patch literal 43983 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