nx_visual_hull_gate.nx
buildroot/runtime/nx_visual_hull_gate.nx
about
nx_visual_hull_gate.nx -- liar-killed GATE for silhouette -> 3D form.
Proven against SYNTHETIC silhouettes of a KNOWN shape, so the carver is verified end-to-end with
no photograph required: two orthogonal views of a square column must intersect to a box.
★THE TOOTH THAT MATTERS is T6: with ONE view folded in, a point far along the VIEW axis must
still read INSIDE, because a single silhouette cannot constrain depth. That is the mechanical
statement of why an anterior + posterior pair is ONE shape constraint and not two -- both project
along the same axis, so the second image adds albedo, not form. Asserting that in a comment is an
opinion; T6 makes it a measurement.
Tooth total is DERIVED; G_MIN_TEETH is a floor so a deleted tooth trips RED.
license_tier: ORIGINAL expect_exit: 0
dependencies 1 imports · 0 importers
imports: nx_visual_hull.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
| 16 | const G_MIN_TEETH: i64 = 12 |
| 17 | const IW: i64 = 128 |
| 18 | const IH: i64 = 128 |
| 19 | const GN: i64 = 16 |
| 20 | const CELL: i64 = 64 |
| 21 | const ORG: i64 = 0 - 512 |
functions
| 23 | func g_puts(s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } sys_write(1, s, n); return 0 } |
| 24 | func g_putn(v: i64) -> i64 |
| 36 | func g_bool(name: *u8, got: i64, want: i64, passp: *i64) -> i64 |
| 43 | func g_at(grid: *i64, wx: i64, wy: i64, wz: i64) -> i64 called by 1: main |
| 55 | func g_sign(v: i64) -> i64 { if v < 0 { return 0 - 1 } if v > 0 { return 1 } return 0 } called by 1: main |
| 57 | func main() -> i64 |