nx_auto_supports_v2_target_test.nx
buildroot/runtime/nx_auto_supports_v2_target_test.nx
about
nx_auto_supports_v2_target_test.nx -- four-pillar MONITOR
for the auto-supports mushroom miss surfaced by Phase B2.1
(commit prior). This test EXPECTS the bug -- it will FAIL
loudly when the v2 fix lands, signalling to update assertions.
The bug: nx_slice_pipe_build_supports does NOT detect overhangs
on a clean mushroom shape (column 4x4 + cap 10x10 with 3mm
shoulder). Empirically:
- Direct call to nx_supports_layer_overhang with the column
polygon and cap polygon DOES detect overhang vertices
(verified by background diagnostic, exit 0)
- So the primitive math works. The bug is in the slicer
integration: contour-build at z=20.0 coplanar slice, or
contour pairing by index at the transition layer, or
layer indexing skipping the mushroom shoulder.
V2 fix queued (not in this commit):
- Contour-centroid tracking for matching across layers
- Cumulative-printed-region check (vertex outside any prev
layer's contour => overhang)
- Handle abrupt shape change (single-vs-multi-contour
transitions)
When v2 ships, this smoke's expected verdict flips from
"v1 misses (plan.n == 0)" to "v2 detects (plan.n > 0)".
The body literally says `expect plan.n == 0` -- which means
the test FAILS LOUD if v2 ships without updating this smoke.
That's the MONITOR pillar.
expect_exit: 0 (current: v1 returns plan.n=0; expect that)
license_tier: ORIGINAL
dependencies 7 imports · 0 importers
imports: nx_syscalls.nxnx_mesh.nxnx_bvh.nxnx_machine_graph.nxnx_material_profile.nxnx_supports.nxnx_slice_auto_supports.nx
imported by: nobody (leaf or entry point)
call flow from main pre-order; caps 40 nodes / depth 6 declared; ↻ = already shown
structs
| none |
consts
| 41 | const Q14: i64 = 16384 |
functions
| 43 | func build_mushroom() -> *NxMesh |
| 94 | func main() -> i64 |