code wiki / _hdl_build / nx_motion_video_gate.nx

nx_motion_video_gate.nx

buildroot/runtime/_hdl_build/nx_motion_video_gate.nx

6591 B142 linesdepth 5pulls 9 transitivereach 0 importersview sourcekind gate/prooftopic motion
docsdependenciesstructsconstsfunctions

about

nx_motion_video_gate.nx -- prove the S3 loop end-to-end: BUILD a move (data) -> pose the rig via FK per frame -> render the articulated figure -> encode a sovereign ANIMATED PNG = "show the move in a VIDEO". Asserts: T1 the .png is a real APNG (signature + acTL/fcTL/fdAT/IEND + acTL num_frames == N) T2 MOTION happened (frame 0 checksum != mid-frame checksum -- the figure actually moved, not a static loop) T3 a driven JOINT moved (right wrist world-Y spans a real range across the clip = true FK articulation) T4 two DIFFERENT moves (wave vs kick) produce DIFFERENT poses at the same time (the library varies, like t2mesh) Writes knowledge/nx_motion_wave.png (APNG, browser-playable) + knowledge/nx_motion_frame0.png (still, eyeball). license_tier: ORIGINAL expect_exit: 0

dependencies 6 imports · 0 importers

nx_syscalls.nx nx_skeleton.nx nx_figure_render.nx nx_movelib.nx nx_apng.nx nx_png.nx nx_motion_video_gate.nx

imports: nx_syscalls.nxnx_skeleton.nxnx_figure_render.nxnx_movelib.nxnx_apng.nxnx_png.nx

imported by: nobody (leaf or entry point)

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

main hw sys_write sys_mmap sk_bytes rig_build sk_init sk_hdr sk_add_bone sk_hdr ↻ sk_bone move_bytes move_gen mv_times mv_hdr mv_time mv_zero mv_pose mv_set mv_pose ↻ md_deg mv_hdr ↻ md_deg ↻ apng_open sys_mmap ↻ ap_be32 ap_chunk ap_be32 ↻ ap_crc32 move_pose_at mv_hdr ↻ mv_time ↻ mv_pose ↻ sk_pose sk_bone ↻ sk_update sk_hdr ↻ sk_vs sk_lr sk_bone ↻

structs

none

consts

43const GW: i64 = 384
44const GH: i64 = 288

functions

16func hw(s: *u8) -> i64 { var n: i64=0; while s[n]!=(0 as u8){n=n+1} sys_write(1,s,n); return 0 }
called by 1: main calls 1: sys_write
17func pn(v: i64) -> i64
called by 1: main calls 2: sys_mmapsys_write
28func cksum(fb: *i64, n: i64) -> i64
called by 1: main
34func find4(buf: *u8, n: i64, a: i64, b: i64, c: i64, d: i64) -> i64
called by 1: main
46func main() -> i64