code wiki / _hdl_build / nx_eline_gate.nx

nx_eline_gate.nx

buildroot/runtime/_hdl_build/nx_eline_gate.nx

9042 B172 linesdepth 5pulls 9 transitivereach 0 importersview sourcekind gate/proof
docsdependenciesstructsconstsfunctions

about

nx_eline_gate.nx -- GATE for aesthetictwin rung AT15: the RICKETTS E-LINE profile ruler. CORRECTED: this shipped labelled AT5 for one session, and AT5 is the NEOTENY axis on that board. The rung is AT15 and its row was written into aesthetictwin.plan after the fact. Recording the mislabel rather than quietly renumbering, because a number that moved without explanation costs the next reader the whole reconciliation. WHY THIS RUNG EXISTS. The face was judged "not there" by the operator and the honest first answer was that I had no external ruler for a PROFILE at all -- only my own eye, which the standing rule grades as an interpretation and never as a shipping justification. Ricketts' esthetic plane is a published norm: a line from pronasale to soft-tissue pogonion, with both vermilions sitting BEHIND it in a balanced adult face. That turns "the face looks wrong" into two signed numbers against a bar nobody in this estate gets to choose. THE PAIR T4/T5 IS THE LOAD-BEARING PART AND THEY TEST DIFFERENT TERMS. An offset from a LINE has two endpoints and a subject; a ruler that had quietly degenerated into "how deep is the lip" would still move when the lip moves, so T4 alone cannot tell a line from a depth. T5 leaves the lips untouched and advances the CHIN, which changes only the baseline -- and the measured lip protrusion must fall anyway, because the line rotated forward underneath it. Only both together prove a line was used. T6 is a REACHABLE negative control, not decoration: shrunk to a tenth the face no longer reaches the pogonion band, and the ruler must refuse BY NAME rather than return the most flattering reading available. A measure that answered anyway would be reading its own parameters back out.

dependencies 4 imports · 0 importers

nx_syscalls.nx nx_gate_verdict.nx nx_gatekit_lib.nx nx_faceanat.nx nx_eline_gate.nx

imports: nx_syscalls.nxnx_gate_verdict.nxnx_gatekit_lib.nxnx_faceanat.nx

imported by: nobody (leaf or entry point)

call flow from main pre-order; caps 40 nodes / depth 6 declared; ↻ = already shown

main gv_ctr sys_mmap nxa_die sys_write sys_exit nxa_lock_take nxa_lock_addr sys_write ↻ nxa_lock_give nxa_lock_addr ↻ nxa_report_overrun sys_write ↻ nxa_dump_printable sys_write ↻ nxa_dump_sizes sys_write ↻ gv_head gv_puts sys_write ↻ sys_mmap ↻ faceanat_build sdf_clear_ops sdf_set_floor sdf_set_mtx_amp fa_tissue_z sdf_set_op fa_lip_prims sdf_set_prim sdf_set_kb sdf_set_mat sdf_set_rot it_cos4096 it_sin4096 it_sin4096 ↻ sdf_set_prim ↻ sdf_set_roll it_cos4096 ↻ it_sin4096 ↻ fa_eline_offset

structs

none

consts

28const EG_ASCII0: i64 = 48
29const EG_MINUS: i64 = 45
30const EG_NL: i64 = 10
31const EG_FIELDS: i64 = 6
32const EG_PART_CZ: i64 = 2
33const EG_LIP_LOWER: i64 = 11
34const EG_CHIN: i64 = 3
35const EG_TENTH: i64 = 10
38const EG_SHIFT: i64 = 60

functions

40func eg_pnum(tag: *u8, v: i64) -> i64
called by 1: main calls 3: sys_mmapsys_writegk_len
62func main(argc: i64, argv: *i64) -> i64