nx_skull_canon_measure_t334.nx source
↩ module page · 259 lines · 19916 B
1// nx_skull_canon_gate.nx -- THE GENERATED SKULL AGAINST THE SCANNED ORACLE, LANDMARK BY LANDMARK (anatomy AN17, 2026-09-18).
2//
3// ACCEPT RULE, PRE-DECLARED BEFORE THE FIRST MEASUREMENT:
4// (i) ONE locator (nx_tissuefield_lib.tfl_locate, composed through nx_skull_canon_lib) locates the craniometric landmark
5// set on BOTH the oracle (knowledge/skull.nxmesh, BodyParts3D, CC BY-SA 2.1 Japan -- the RULER, never the product)
6// and the generated skull (argv[1], else ./nx_skullsdf.elf run from the estate root at sex 0, robust 500, 2 mm
7// cells: the tune's own parameters, because the oracle is one adult male). A generated skull the locator refuses
8// is a RED, never a SKIP -- that IS the substrate defect;
9// (ii) every quantity is compared relative to the nasion in each mesh's own upright frame (the oracle's file frame is
10// z-up and is read as such) and HOLDS when |ours - oracle| <= band, band = the locator's re-location noise on the
11// oracle plus on ours (half-edge shift, one-edge pitch, one-edge yaw, floored at half a mesh edge) plus the
12// oracle's bilateral asymmetry where the quantity is paired. Nothing is typed;
13// (iii) the classes: chin depth (pogonion - glabella, sagittal), nasal aperture position, height, width and depth, orbit
14// spacing, height, width and depth, bizygomatic breadth, bigonial breadth, prosthion depth and upper face height,
15// and THE SUBSTRATE THIRDS TOOTH MOVED HERE FROM nx_skullskin_gate (its header (iii): the skin's middle third equals
16// its lower third within the tissue table's spread). On the SKULL the same spans are glabella->nasospinale and
17// nasospinale->gnathion and the bar is the ORACLE's own imbalance, because a real skull's bony lower third is
18// longer than its middle third and a canon of equal thirds would convict the ruler;
19// (iv) neg-control-oracle-reads-inside-its-own-bands: two HELD-OUT rigid perturbations of the oracle (a negative
20// half-edge shift, a one-edge roll) must read inside the bands built from the other three -- a band that only
21// fits the perturbations it was read from is not a band;
22// neg-control-a-planted-49mm-chin-shift-reads-outside: the oracle's own record with its pogonion moved 49 mm
23// forward (the muzzle measured on the generated skull on 2026-09-18) must read OUTSIDE the chin band;
24// (v) the alignment is a TRANSLATION to the nasion and no rotation (both meshes declare y up, z anterior; a rotation
25// derived from the vault absorbed the generator's own vault defect, measured 2026-09-18), and the rotation it
26// refuses to apply is itself a tooth: the glabella-opisthocranion chord's pitch. Every value is emitted (gv_kv /
27// gv_check_near) for an outside adjudicator; the wall time is printed (the heavy roster's budget is read there).
28// Fixtures under /tmp/nx_skull_canon_gate/. license_tier: ORIGINAL No hw writes (Rule 26).
29import "nx_syscalls.nx"
30import "nx_gate_verdict.nx"
31import "nx_skull_canon_lib.nx"
32
33const SKG_DIR: *u8 = "/tmp/nx_skull_canon_gate"
34const SKG_SKULL: *u8 = "/tmp/nx_skull_canon_gate/skull.nxmesh"
35const SKG_ORACLE: *u8 = "/volume1/homes/elderwesto/nishihost/knowledge/skull.nxmesh"
36const SKG_CONF: *u8 = "/volume1/homes/elderwesto/nishihost/knowledge/tissue_depth.conf"
37const SKG_MODE755: i64 = 493
38const SKG_I64: i64 = 8
39const SKG_SEX_MALE: i64 = 0 // the oracle is an adult male; the tune fits at sex 0
40const SKG_ROBUST: i64 = 500 // the tune's robusticity
41const SKG_CELL_UM: i64 = 2000 // the skin gate's cell: 2 mm
42const SKG_RES_OFF: i64 = 0 // the residual layer is the oracle's field folded back; a rules ruler measures the rules
43const SKG_PLANT_CHIN_MM10: i64 = 490 // the muzzle measured 2026-09-18: pogonion 49 mm ahead of the glabella
44const SKG_PERMIL: i64 = 1000
45const SKG_ORACLE_Q: *u8 = "knowledge/gates/skull-oracle-measured-t334.dat" // the ruler's oracle readings, the tuner's landmark targets
46const SKG_ORACLE_Q_BYTES: i64 = 2048
47
48// one row per quantity, skc_qname order: <name> <oracle_u10> <band_oracle_u10>; returns the bytes written or -1
49func skg_write_oracle_q(RO: *i64, BO: *i64) -> i64 {
50 let b: *u8 = sys_mmap(SKG_ORACLE_Q_BYTES)
51 var o: i64 = 0
52 var q: i64 = 0
53 while q < SKC_QN {
54 o = tfl_cat(b, o, skc_qname(q))
55 o = tfl_cat(b, o, " " as *u8)
56 o = tfl_catn(b, o, skc_quantity(RO, q))
57 o = tfl_cat(b, o, " " as *u8)
58 o = tfl_catn(b, o, skc_quantity_band(BO, q))
59 b[o] = 10 as u8
60 o = o + 1
61 q = q + 1
62 }
63 let fd: i64 = sys_openat_wr(SKG_ORACLE_Q, TFL_MODE644)
64 if fd < 0 { return 0 - 1 }
65 sys_write(fd, b, o)
66 sys_close(fd)
67 return o
68}
69
70// one landmark's oracle and ours, printed
71func skg_print_lm(RO: *i64, RM: *i64, i: i64) -> i64 {
72 gv_puts(" lm " as *u8); gv_puts(skc_name(i))
73 gv_puts(" oracle=" as *u8); gv_num(skc_x(RO, i)); gv_puts("," as *u8); gv_num(skc_y(RO, i)); gv_puts("," as *u8); gv_num(skc_z(RO, i))
74 gv_puts(" st=" as *u8); gv_num(skc_state(RO, i))
75 gv_puts(" ours=" as *u8); gv_num(skc_x(RM, i)); gv_puts("," as *u8); gv_num(skc_y(RM, i)); gv_puts("," as *u8); gv_num(skc_z(RM, i))
76 gv_puts(" st=" as *u8); gv_num(skc_state(RM, i))
77 gv_puts(" delta=" as *u8); gv_num(skc_x(RM, i) - skc_x(RO, i)); gv_puts("," as *u8); gv_num(skc_y(RM, i) - skc_y(RO, i)); gv_puts("," as *u8); gv_num(skc_z(RM, i) - skc_z(RO, i))
78 gv_puts(" u10\n" as *u8)
79 return 0
80}
81// one quantity tooth: inside its band AND readable on both skulls; an unreadable quantity is a named RED
82func skg_tooth(name: *u8, q: i64, RO: *i64, RM: *i64, BO: *i64, BM: *i64, ctr: *i64) -> i64 {
83 let band: i64 = skc_quantity_band(BO, q) + skc_quantity_band(BM, q) + skc_quantity_asym(RO, q)
84 let ro: i64 = skc_quantity_ready(RO, q)
85 let rm: i64 = skc_quantity_ready(RM, q)
86 if ro * rm == 1 {
87 return gv_check_near(name, skc_quantity(RM, q), skc_quantity(RO, q), band, ctr)
88 }
89 gv_check(name, 0, ctr)
90 gv_puts(" UNREADABLE: " as *u8); gv_puts(skc_qname(q))
91 gv_puts(" oracle_ready=" as *u8); gv_num(ro); gv_puts(" ours_ready=" as *u8); gv_num(rm)
92 gv_puts(" -- a landmark this quantity reads was not located or a rim crest walk found no surface\n" as *u8)
93 return 0
94}
95
96func main(argc: i64, argv: *i64) -> i64 {
97 gv_head("nx_skull_canon_gate: the generated skull's craniometric landmarks against the scanned oracle, one locator, one frame, bands from the resource" as *u8)
98 let ctr: *i64 = gv_ctr()
99 let t0: i64 = sys_now_ms()
100 sys_mkdir(SKG_DIR, SKG_MODE755)
101 // ---- the conf the locator reads its construction ratios from ----
102 let T: *i64 = tfl_tab_new()
103 let loaded: i64 = tfl_conf_load(SKG_CONF, T)
104 gv_need("tissue-depth-conf-readable" as *u8, loaded, ctr)
105 // ---- the oracle: the scan as stored (anterior -z, flipped on load), densified by the lib ----
106 let tl: i64 = sys_now_ms()
107 let O: *i64 = skc_load(SKG_ORACLE, SKC_FRAME_BODYPARTS3D)
108 var haveo: i64 = 1
109 if (O as i64) == 0 { haveo = 0 }
110 gv_need("oracle-skull-readable" as *u8, haveo, ctr)
111 gv_kv("oracle_load_ms" as *u8, sys_now_ms() - tl)
112 // ---- ours: supplied, else generated at the tune's parameters ----
113 var skullp: *u8 = SKG_SKULL
114 var supplied: i64 = 0
115 if argc > 1 { skullp = argv[1] as *u8; supplied = 1 }
116 var M: *i64 = 0 as *i64
117 var havem: i64 = 0
118 var gen_rc: i64 = 0
119 var gen_ms: i64 = 0
120 if supplied == 1 {
121 M = skc_load(skullp, SKC_FRAME_AUTHORED)
122 if (M as i64) != 0 { havem = 1 }
123 gv_need("supplied-skull-readable" as *u8, havem, ctr)
124 } else {
125 let tg: i64 = sys_now_ms()
126 gen_rc = skc_run_generator(SKG_SKULL, SKG_SEX_MALE, SKG_ROBUST, SKG_CELL_UM, SKG_RES_OFF)
127 gen_ms = sys_now_ms() - tg
128 gv_kv("generator_sex_permil" as *u8, SKG_SEX_MALE); gv_kv("generator_robust_permil" as *u8, SKG_ROBUST); gv_kv("generator_cell_um" as *u8, SKG_CELL_UM); gv_kv("generator_residual_permil" as *u8, SKG_RES_OFF)
129 gv_kv("skullsdf_child_rc" as *u8, gen_rc); gv_kv("skullsdf_child_ms" as *u8, gen_ms)
130 gv_check_eq("generator-ran-to-completion" as *u8, gen_rc, 0, ctr)
131 if gen_rc == 0 { M = skc_load(SKG_SKULL, SKC_FRAME_AUTHORED); if (M as i64) != 0 { havem = 1 } }
132 gv_check("generated-skull-mesh-readable" as *u8, havem, ctr)
133 }
134 if haveo * havem * loaded == 1 {
135 if argc > 3 { skc_dump_profile(O, "oracle" as *u8); skc_dump_profile(M, "ours" as *u8) }
136 gv_kv("oracle_tris" as *u8, O[TFL_M_NT]); gv_kv("oracle_welded_verts" as *u8, O[TFL_M_NV]); gv_kv("oracle_edge_u10" as *u8, O[TFL_M_EDGE])
137 gv_kv("oracle_bbox_x_u10" as *u8, O[TFL_M_X1] - O[TFL_M_X0]); gv_kv("oracle_bbox_y_u10" as *u8, O[TFL_M_Y1] - O[TFL_M_Y0]); gv_kv("oracle_bbox_z_u10" as *u8, O[TFL_M_Z1] - O[TFL_M_Z0])
138 gv_kv("ours_tris" as *u8, M[TFL_M_NT]); gv_kv("ours_welded_verts" as *u8, M[TFL_M_NV]); gv_kv("ours_edge_u10" as *u8, M[TFL_M_EDGE])
139 gv_kv("ours_bbox_x_u10" as *u8, M[TFL_M_X1] - M[TFL_M_X0]); gv_kv("ours_bbox_y_u10" as *u8, M[TFL_M_Y1] - M[TFL_M_Y0]); gv_kv("ours_bbox_z_u10" as *u8, M[TFL_M_Z1] - M[TFL_M_Z0])
140 // ---- measure both through the one locator ----
141 let RO: *i64 = skc_rec_new()
142 let RAWO: *i64 = skc_rec_new()
143 let FO: *i64 = sys_mmap(SKC_FR_N * SKG_I64) as *i64
144 let tm: i64 = sys_now_ms()
145 let no: i64 = skc_measure(O, T, RO, RAWO, FO)
146 gv_kv("oracle_locate_ms" as *u8, sys_now_ms() - tm)
147 gv_need("landmarks-located-on-the-oracle" as *u8, (no > 0) as i64, ctr)
148 let RM: *i64 = skc_rec_new()
149 let RAWM: *i64 = skc_rec_new()
150 let FM: *i64 = sys_mmap(SKC_FR_N * SKG_I64) as *i64
151 let tm2: i64 = sys_now_ms()
152 let nm: i64 = skc_measure(M, T, RM, RAWM, FM)
153 gv_kv("ours_locate_ms" as *u8, sys_now_ms() - tm2)
154 gv_check("landmarks-located-on-the-generated-skull" as *u8, (nm > 0) as i64, ctr)
155 if (no > 0) * (nm > 0) == 1 {
156 gv_kv("oracle_landmarks_located" as *u8, skc_meas(RO, SKC_M_LOCATED)); gv_kv("oracle_landmarks_fallback" as *u8, skc_meas(RO, SKC_M_FALLBACK))
157 gv_kv("ours_landmarks_located" as *u8, skc_meas(RM, SKC_M_LOCATED)); gv_kv("ours_landmarks_fallback" as *u8, skc_meas(RM, SKC_M_FALLBACK))
158 // the alignment is a translation to the nasion (skc_frame); the rotation it REFUSED to apply is reported: the
159 // glabella-opisthocranion chord's pitch and the euryon line's roll, per skull, permil
160 gv_kv("gop_chord_pitch_permil_oracle" as *u8, FO[12]); gv_kv("gop_chord_pitch_permil_ours" as *u8, FM[12])
161 gv_kv("euryon_line_roll_permil_oracle" as *u8, FO[13]); gv_kv("euryon_line_roll_permil_ours" as *u8, FM[13])
162 gv_kv("align_residual_vertex_y_u10" as *u8, skc_y(RM, SKC_VERTEX) - skc_y(RO, SKC_VERTEX)); gv_kv("align_residual_vertex_z_u10" as *u8, skc_z(RM, SKC_VERTEX) - skc_z(RO, SKC_VERTEX))
163 gv_kv("align_residual_glabella_y_u10" as *u8, skc_y(RM, SKC_GLABELLA) - skc_y(RO, SKC_GLABELLA)); gv_kv("align_residual_glabella_z_u10" as *u8, skc_z(RM, SKC_GLABELLA) - skc_z(RO, SKC_GLABELLA))
164 gv_kv("align_residual_opisthocranion_z_u10" as *u8, skc_z(RM, SKC_OPISTHOCRANION) - skc_z(RO, SKC_OPISTHOCRANION))
165 gv_kv("align_residual_euryon_spacing_u10" as *u8, (skc_x(RM, SKC_EURYON_L) - skc_x(RM, SKC_EURYON_R)) - (skc_x(RO, SKC_EURYON_L) - skc_x(RO, SKC_EURYON_R)))
166 // the per-landmark table, oracle vs ours in the frame, then the same in each mesh's own coordinates
167 var li: i64 = 0
168 while li < SKC_LM_N { skg_print_lm(RO, RM, li); li = li + 1 }
169 li = 0
170 while li < SKC_LM_N {
171 gv_puts(" raw " as *u8); gv_puts(skc_name(li))
172 gv_puts(" oracle=" as *u8); gv_num(skc_x(RAWO, li)); gv_puts("," as *u8); gv_num(skc_y(RAWO, li)); gv_puts("," as *u8); gv_num(skc_z(RAWO, li))
173 gv_puts(" ours=" as *u8); gv_num(skc_x(RAWM, li)); gv_puts("," as *u8); gv_num(skc_y(RAWM, li)); gv_puts("," as *u8); gv_num(skc_z(RAWM, li))
174 gv_puts(" u10 mesh-space\n" as *u8)
175 li = li + 1
176 }
177 gv_kv("oracle_mesh_x0" as *u8, O[TFL_M_X0]); gv_kv("oracle_mesh_y0" as *u8, O[TFL_M_Y0]); gv_kv("oracle_mesh_z0" as *u8, O[TFL_M_Z0])
178 gv_kv("oracle_mesh_x1" as *u8, O[TFL_M_X1]); gv_kv("oracle_mesh_y1" as *u8, O[TFL_M_Y1]); gv_kv("oracle_mesh_z1" as *u8, O[TFL_M_Z1])
179 // ---- the bands ----
180 let BO: *i64 = skc_rec_new()
181 let BM: *i64 = skc_rec_new()
182 let tb: i64 = sys_now_ms()
183 let bo: i64 = skc_bands(O, T, RO, BO, SKC_P_SHIFT_POS, SKC_BAND_KINDS)
184 let bm: i64 = skc_bands(M, T, RM, BM, SKC_P_SHIFT_POS, SKC_BAND_KINDS)
185 gv_kv("bands_ms" as *u8, sys_now_ms() - tb)
186 // THE ORACLE'S QUANTITIES AS DATA (AN17, 2026-09-19): the tuner's landmark term reads where the ruler FOUND
187 // the oracle's landmarks, from this file, never from a number typed in the generator. One row per quantity,
188 // in skc_qname order: <name> <oracle_u10> <band_oracle_u10>. Truncate-written by the ruler that measured it.
189 let qw: i64 = skg_write_oracle_q(RO, BO)
190 gv_kv("oracle_quantities_written_bytes" as *u8, qw)
191 gv_check("oracle-quantities-written-for-the-tuner" as *u8, (qw > 0) as i64, ctr)
192 gv_check_eq("oracle-band-perturbations-all-located" as *u8, bo, SKC_BAND_KINDS, ctr)
193 gv_check_eq("ours-band-perturbations-all-located" as *u8, bm, SKC_BAND_KINDS, ctr)
194 var bi: i64 = 0
195 while bi < SKC_LM_N {
196 gv_puts(" band " as *u8); gv_puts(skc_name(bi))
197 gv_puts(" oracle=" as *u8); gv_num(skc_x(BO, bi)); gv_puts("," as *u8); gv_num(skc_y(BO, bi)); gv_puts("," as *u8); gv_num(skc_z(BO, bi))
198 gv_puts(" ours=" as *u8); gv_num(skc_x(BM, bi)); gv_puts("," as *u8); gv_num(skc_y(BM, bi)); gv_puts("," as *u8); gv_num(skc_z(BM, bi))
199 gv_puts(" u10\n" as *u8)
200 bi = bi + 1
201 }
202 var qi: i64 = 0
203 while qi < SKC_QN {
204 gv_puts(" q " as *u8); gv_puts(skc_qname(qi))
205 gv_puts(" oracle=" as *u8); gv_num(skc_quantity(RO, qi)); gv_puts(" ours=" as *u8); gv_num(skc_quantity(RM, qi))
206 gv_puts(" band_oracle=" as *u8); gv_num(skc_quantity_band(BO, qi)); gv_puts(" band_ours=" as *u8); gv_num(skc_quantity_band(BM, qi))
207 gv_puts(" asym_oracle=" as *u8); gv_num(skc_quantity_asym(RO, qi))
208 gv_puts(" ready=" as *u8); gv_num(skc_quantity_ready(RO, qi) * skc_quantity_ready(RM, qi)); gv_puts(" u10\n" as *u8)
209 qi = qi + 1
210 }
211 // ---- the teeth, one per landmark class ----
212 skg_tooth("chin-depth-pogonion-minus-glabella-sagittal-within-band" as *u8, SKC_Q_CHIN_DEPTH, RO, RM, BO, BM, ctr)
213 skg_tooth("nasal-aperture-position-nasion-to-nasospinale-within-band" as *u8, SKC_Q_NASAL_POSITION, RO, RM, BO, BM, ctr)
214 skg_tooth("nasal-aperture-height-rhinion-to-nasospinale-within-band" as *u8, SKC_Q_APERTURE_HEIGHT, RO, RM, BO, BM, ctr)
215 skg_tooth("nasal-aperture-width-rim-to-rim-within-band" as *u8, SKC_Q_APERTURE_WIDTH, RO, RM, BO, BM, ctr)
216 skg_tooth("nasal-aperture-depth-is-an-opening-not-a-dent-within-band" as *u8, SKC_Q_APERTURE_DEPTH, RO, RM, BO, BM, ctr)
217 skg_tooth("orbit-centre-spacing-within-band" as *u8, SKC_Q_ORBIT_SPACING, RO, RM, BO, BM, ctr)
218 skg_tooth("orbit-centre-height-below-glabella-within-band" as *u8, SKC_Q_ORBIT_HEIGHT, RO, RM, BO, BM, ctr)
219 skg_tooth("orbit-width-rim-to-rim-within-band" as *u8, SKC_Q_ORBIT_WIDTH, RO, RM, BO, BM, ctr)
220 skg_tooth("orbit-depth-is-a-socket-not-a-pit-within-band" as *u8, SKC_Q_ORBIT_DEPTH, RO, RM, BO, BM, ctr)
221 skg_tooth("zygion-width-bizygomatic-within-band" as *u8, SKC_Q_ZYGION_WIDTH, RO, RM, BO, BM, ctr)
222 skg_tooth("gonion-width-bigonial-within-band" as *u8, SKC_Q_GONION_WIDTH, RO, RM, BO, BM, ctr)
223 skg_tooth("prosthion-sagittal-minus-glabella-within-band" as *u8, SKC_Q_PROSTHION_DEPTH, RO, RM, BO, BM, ctr)
224 skg_tooth("upper-face-height-nasion-to-prosthion-within-band" as *u8, SKC_Q_UPPER_FACE_HEIGHT, RO, RM, BO, BM, ctr)
225 skg_tooth("vault-chord-pitch-glabella-to-opisthocranion-within-band" as *u8, SKC_Q_GOP_PITCH, RO, RM, BO, BM, ctr)
226 // the three quantities the tuner's blind spots demanded (2026-09-19): a socket is not a slit, a nasion is a dip,
227 // nasal bones come forward by a measured amount
228 skg_tooth("orbit-rim-height-supraorbital-to-infraorbital-within-band" as *u8, SKC_Q_ORBIT_RIM_HEIGHT, RO, RM, BO, BM, ctr)
229 skg_tooth("nasion-depth-glabella-minus-nasion-sagittal-within-band" as *u8, SKC_Q_NASION_DEPTH, RO, RM, BO, BM, ctr)
230 skg_tooth("nasal-projection-rhinion-minus-nasion-sagittal-within-band" as *u8, SKC_Q_NASAL_PROJECTION, RO, RM, BO, BM, ctr)
231 // THE SUBSTRATE TOOTH, moved from nx_skullskin_gate (iii): the skin's thirds followed the skull's; on the skull
232 // the spans are glabella->nasospinale vs nasospinale->gnathion and the bar is the oracle's own imbalance
233 skg_tooth("substrate-skull-middle-third-minus-lower-third-matches-the-oracle-within-band" as *u8, SKC_Q_THIRDS_IMBALANCE, RO, RM, BO, BM, ctr)
234 gv_kv("oracle_middle_third_u10" as *u8, skc_y(RO, SKC_GLABELLA) - skc_y(RO, SKC_NASOSPINALE)); gv_kv("oracle_lower_third_u10" as *u8, skc_y(RO, SKC_NASOSPINALE) - skc_y(RO, SKC_GNATHION))
235 gv_kv("ours_middle_third_u10" as *u8, skc_y(RM, SKC_GLABELLA) - skc_y(RM, SKC_NASOSPINALE)); gv_kv("ours_lower_third_u10" as *u8, skc_y(RM, SKC_NASOSPINALE) - skc_y(RM, SKC_GNATHION))
236 // ---- neg-controls ----
237 let ho: *i64 = sys_mmap(2 * SKG_I64) as *i64
238 let th: i64 = sys_now_ms()
239 let miss: i64 = skc_holdout(O, T, RO, BO, SKC_P_SHIFT_NEG, SKC_HOLDOUT_KINDS, ho)
240 gv_kv("holdout_ms" as *u8, sys_now_ms() - th)
241 gv_kv("holdout_quantities_tested" as *u8, ho[0]); gv_kv("holdout_copies_located" as *u8, ho[1])
242 gv_check("neg-control-oracle-holdout-copies-all-located" as *u8, (ho[1] == SKC_HOLDOUT_KINDS) as i64, ctr)
243 gv_check("neg-control-holdout-tested-a-nonempty-set" as *u8, (ho[0] > 0) as i64, ctr)
244 gv_check_eq("neg-control-oracle-reads-inside-its-own-bands" as *u8, miss, 0, ctr)
245 let RP: *i64 = skc_rec_copy(RO)
246 skc_set(RP, SKC_POGONION, skc_x(RO, SKC_POGONION), skc_y(RO, SKC_POGONION), skc_z(RO, SKC_POGONION) + SKG_PLANT_CHIN_MM10, skc_state(RO, SKC_POGONION))
247 let pd: i64 = skc_abs(skc_quantity(RP, SKC_Q_CHIN_DEPTH) - skc_quantity(RO, SKC_Q_CHIN_DEPTH))
248 let pb: i64 = skc_quantity_band(BO, SKC_Q_CHIN_DEPTH) + skc_quantity_band(BO, SKC_Q_CHIN_DEPTH)
249 gv_kv("planted_chin_shift_delta_u10" as *u8, pd); gv_kv("planted_chin_shift_band_u10" as *u8, pb)
250 gv_check("neg-control-a-planted-49mm-chin-shift-reads-outside" as *u8, (pd > pb) as i64, ctr)
251 // the one line the learning beat carries onto the trend spine
252 skc_print_line(RO, RM, BO, BM)
253 }
254 }
255 gv_values_head()
256 gv_kv("supplied_skull" as *u8, supplied)
257 gv_kv("total_ms" as *u8, sys_now_ms() - t0); gv_kv("peak_rss_kb" as *u8, tfl_peak_rss_kb())
258 return gv_verdict("nx_skull_canon_gate" as *u8, ctr, "the generated skull's face landmarks against the scanned oracle in a landmark frame, bands measured off the locator's own noise" as *u8)
259}