code wiki / _hdl_build / nx_motion_photo_gate.nx
nx_motion_photo_gate.nx
buildroot/runtime/_hdl_build/nx_motion_photo_gate.nx
about
nx_motion_photo_gate.nx -- SKIN THE MANNEQUIN, proven: the SAME move (wave) now renders as the CONTINUOUS
SDF body (smin-fused, SSS/pores/spec/AO shading = the photoreal-path renderer) driven by the FK rig, and the
CRITIC scores it against the pioneer body at the SAME resolution (the no-self-flattery bar).
T1 valid APNG (acTL num_frames == N)
T2 MOTION present (frame checksums differ)
T3 body ON SCREEN (foreground coverage >= 4%)
T4 critic: posed-body frame scores in the SAME CLASS as the static pioneer at this res (>= 60% of it)
Writes knowledge/nx_motion_wave_photo.png (APNG) + nx_motion_photo_frame0.png + nx_motion_photo_pioneer.png.
license_tier: ORIGINAL expect_exit: 0
dependencies 9 imports · 0 importers
imports: nx_syscalls.nxnx_sdfrender.nxnx_skeleton.nxnx_figure_render.nxnx_movelib.nxnx_bodypose.nxnx_apng.nxnx_png.nxnx_critvis_lib.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
| 47 | const RW: i64 = 128 |
| 48 | const RH: i64 = 96 |
| 49 | const RFOCAL: i64 = 146 // 586 * 128 / 512 -> same FOV as the 512-wide production render |
functions
| 20 | func hw(s: *u8) -> i64 { var n: i64=0; while s[n]!=(0 as u8){n=n+1} sys_write(1,s,n); return 0 } |
| 21 | func pn(v: i64) -> i64 |
| 32 | func cksum(fb: *i64, n: i64) -> i64 called by 1: main |
| 38 | func find4(buf: *u8, n: i64, a: i64, b: i64, c: i64, d: i64) -> i64 called by 1: main |
| 52 | func pg_render(base: i64, fb: *i64, yaw: i64, camz_units: i64) -> i64 |
| 82 | func fgcount(fb: *i64, n: i64) -> i64 |
| 89 | func main() -> i64 |