code wiki / (root) / nx_png_write.nx

nx_png_write.nx

buildroot/runtime/nx_png_write.nx

4497 B111 linesdepth 2pulls 2 transitivereach 156 importersview sourcekind librarytopic png
docsdependenciesstructsconstsfunctions

about

nx_png_write.nx -- sovereign PNG ENCODER so the Nishi ecosystem can output a render that any viewer (and Claude's image reader) can SEE -- closing the "can't inspect our own output" gap. 8-bit RGB, filter 0, zlib STORED blocks (no compression -> trivial + correct; a real DEFLATE pass is a perf rung). Self-contained: inline CRC-32 (IEEE) for chunks + Adler-32 for the zlib stream. license_tier: ORIGINAL

dependencies 1 imports · 74 importers

nx_syscalls.nx nx_png_write.nx nx_aa_font_demo.nx nx_aa_raster_test.nx nx_aatext_proof.nx nx_adnet_banner_gen.nx nx_apng_write.nx nx_arousal_body.nx nx_arousal_mesh.nx nx_arousal_render.nx nx_blitproof.nx nx_bmp_to_png.nx

diagram shows first 10 each side; +0 more imports, +64 more importers in the complete lists below.

imports: nx_syscalls.nx

imported by: nx_aa_font_demo.nxnx_aa_raster_test.nxnx_aatext_proof.nxnx_adnet_banner_gen.nxnx_apng_write.nxnx_arousal_body.nxnx_arousal_mesh.nxnx_arousal_render.nxnx_blitproof.nxnx_bmp_to_png.nxnx_breeder_lab.nxnx_browser.nxnx_browser_render.nxnx_caption_burn_gate.nxnx_char_identity_sheet.nxnx_contactsheet.nxnx_creature_demo.nxnx_cube3d_gate.nxnx_cube3d_lit_gate.nxnx_cube3d_spin_gate.nxnx_cyrillic_render_gate.nxnx_depth_tri_gate.nxnx_drift_engine.nxnx_font_family_gate.nxnx_font_mockup.nxnx_font_screen_tiers.nxnx_font_specimen.nxnx_font_test.nxnx_frontier_engine.nxnx_galx_thumb_oneshot.nxnx_glyph_compose.nxnx_glyph_word.nxnx_gx1_browser3d_gate.nxnx_gx5_nearclip_gate.nxnx_gx6_tonemap_gate.nxnx_gx8_ssao_gate.nxnx_gx9_saveload_gate.nxnx_gx_eye_gate.nxnx_gx_firstbyte_gate.nxnx_gx_pbr_ggx_gate.nxnx_gx_sss_skin_gate.nxnx_img_convert.nxnx_img_convert_loop_gate.nxnx_img_print.nxnx_img_sbs.nxnx_imgpage.nxnx_imgproof.nxnx_live_xlate_call_gate.nxnx_mailpiece.nxnx_media_convert.nxnx_mesh_view.nxnx_morpho_rd_gate.nxnx_multilang_call_gate.nxnx_multilang_render_gate.nxnx_nishi_font.nxnx_nishi_font_demo.nxnx_nishi_font_gate.nxnx_pcb_render_gate.nxnx_ppm_to_png.nxnx_procgen_gtlabels_gate.nxnx_procgen_human_gate.nxnx_procgen_scene_gate.nxnx_procgen_terrain_gate.nxnx_recolor.nxnx_render3d.nxnx_render_html.nxnx_scene3d_gate.nxnx_sovereign_surface_gate.nxnx_uiq_visual_lib.nxnx_vecfont_body_bench.nxnx_vecphrase_proof.nxnx_visual_diff_gate.nxnx_wasm_breeders_gate.nxnx_wasm_craft_gate.nx

structs

none

consts

6const K_MAGIC_65521: i64 = 65521
7const K_MAGIC_65534: i64 = 65534
8const K_MAGIC_65535: i64 = 65535

functions

10func pw_u32be(fd: i64, v: i64) -> i64
called by 1: pw_chunk calls 2: sys_mmapsys_write
16func pw_crc_block(crc: i64, buf: *u8, off: i64, len: i64) -> i64
called by 2: mainpw_chunk
32func pw_adler32(buf: *u8, off: i64, len: i64) -> i64
44func pw_chunk(fd: i64, typ: *u8, data: *u8, dlen: i64) -> i64
55func nx_png_write_rgb(path: *u8, rgb: *u8, w: i64, h: i64) -> i64