jolt.png: a built-in PNG writer (ray-tracer-multi)

A minimal truecolor PNG encoder over Chez bytevectors — CRC-32 / Adler-32
framing with DEFLATE "stored" blocks, so there's no compressor to carry. Restores
the jolt.png built-in (image/put!/write) the old host provided; def-var!'d into
the jolt.png namespace and loaded in the CLI before the loader's baked-namespace
snapshot, so (require '[jolt.png]) resolves with no source file. Output verified
to decode as a valid PNG (signature, IHDR, CRC-correct chunks, inflatable IDAT).
This commit is contained in:
Yogthos 2026-06-22 02:33:27 -04:00
parent af163bad59
commit 33664ed5e0
2 changed files with 123 additions and 0 deletions

View file

@ -19,6 +19,7 @@
(load "host/chez/host-contract.ss")
(load "host/chez/seed/image.ss")
(load "host/chez/compile-eval.ss")
(load "host/chez/png.ss") ; jolt.png — a baked namespace before the snapshot
(load "host/chez/loader.ss")
;; jolt.main + jolt.deps live under jolt-core; keep them (and src/jolt) on the