nx_contactsheet.nx
buildroot/runtime/nx_contactsheet.nx
about
nx_contactsheet.nx -- VISUAL VALIDATION: render a whole gathered corpus as ONE tiled PNG.
Numbers prove a pipeline ran; pixels prove it ran CORRECTLY. Every tile here is decoded through OUR
decoder (nx_img_to_rgb -> the same path the fingerprinter uses), box-average downscaled and composited.
So the sheet is simultaneously (a) a look at the corpus and (b) proof the decode path yields real pixels:
a broken decoder produces noise or a hole, not a recognisable thumbnail.
usage: nx_contactsheet <dir> <out.png> [tile_px] [cols]
dependencies 5 imports · 0 importers
imports: nx_str.nxnx_syscalls.nxnx_dir.nxnx_img_to_rgb.nxnx_png_write.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 CS_MAXROWS: i64 = 4096 |
| 17 | const CS_ARENA: i64 = 1048576 |
| 18 | const CS_PATH: i64 = 4096 |
| 19 | const CS_PAD: i64 = 4 |
functions
| 21 | func cs_puts(s: *u8) -> i64 { sys_write(1, s, nx_str_len(s)); return 0 } |
| 23 | func cs_pi(v: i64) -> i64 |
| 37 | func cs_cat(dst: *u8, off: i64, s: *u8) -> i64 { var i: i64 = 0; while s[i] != (0 as u8) { dst[off+i] = s[i]; i = i + 1 } return off + i } called by 1: main |
| 39 | func cs_atoi(s: *u8) -> i64 called by 1: main |
| 51 | func cs_draw(sheet: *u8, SW: i64, ox: i64, oy: i64, fw: i64, fh: i64, src: *u8, sw: i64, sh: i64) -> i64 called by 1: main |
| 94 | func main(argc: i64, argv: *i64) -> i64 |