nx_likeness.nx
buildroot/runtime/nx_likeness.nx
about
nx_likeness.nx -- CLI over nx_likeness_lib (aesthetictwin AT45, 2026-09-18): the image-level likeness referee. A render (or any
still) is read against the reference stills of the one person it claims to be; every axis is published on its own line, the
same-person band per axis is derived from the reference pairs and printed with the pair that set it, and the verdict is LAST.
nx_likeness score <subject.png|jpg> <ref-list|ref-image> [oracle-file]
-> the reference receipts, the canvas derivation, the band per axis, the subject's receipt, one line per axis
(dist, band, nearest reference, INSIDE|OUTSIDE|UNMEASURED) and the verdict line
nx_likeness band <ref-list> [oracle-file]
-> the same without a subject: how far apart two photographs of the same person read on every axis
nx_likeness crop <image> <out.png> [oracle-file]
-> the aligned face crop written as a PNG (the canvas is the image's own two eye spans), so an alignment can be LOOKED AT
The reference list is one path per line, comment lines start with the hash byte, and a `@oracle <path>` line names the outside
oracle rows (the CLI argument wins when both are given); a list file that opens with a PNG or JPEG signature is a list of one.
A list, never a directory: the clothed-only curation of a reference set is a decision the list carries and a directory walk cannot.
exit: 0 INSIDE | 1 OUTSIDE | 2 usage | 3 unreadable | 4 decode failed | 5 UNMEASURED (the subject could not be aligned) | 6 NO-BAND
license_tier: ORIGINAL No hw writes (Rule 26).
dependencies 3 imports · 0 importers
imports: nx_syscalls.nxnx_likeness_lib.nxnx_png.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
| 20 | const LKC_ARGC_BAND: i64 = 3 |
| 21 | const LKC_ARGC_SCORE: i64 = 4 |
| 22 | const LKC_ARGC_CROP: i64 = 4 |
| 23 | const LKC_ARGC_BAND_ORACLE: i64 = 4 |
| 24 | const LKC_ARGC_SCORE_ORACLE: i64 = 5 |
| 25 | const LKC_ARGC_CROP_ORACLE: i64 = 5 |
| 26 | const LKC_EXIT_USAGE: i64 = 2 |
| 27 | const LKC_EXIT_READ: i64 = 3 |
| 28 | const LKC_EXIT_DECODE: i64 = 4 |
| 29 | const LKC_I64: i64 = 8 |
| 30 | const LKC_BPP: i64 = 3 |
| 31 | const LKC_BYTE: i64 = 255 |
| 32 | const LKC_SHIFT_G: i64 = 8 |
| 33 | const LKC_SHIFT_B: i64 = 16 |
functions
| 35 | func lkc_usage() -> i64 called by 1: main |
| 39 | func main(argc: i64, argv: **u8) -> i64 |