Audio was written off as needing a device. That is true of Sound and Music and false of Wave: copy, crop, reformat, export, load and decode are all CPU work, and wave-format is the same scalars-in/fields-out shape gen-image-color is, with the frame count computed rather than handed over. Cropping to a single frame before decoding puts raylib's byte-offset arithmetic in front of the decoder, which is what tells sample-size from channels — an axis discriminator, not a mirror. Fonts were said to have no headless test. They do, once the program stops asking raylib for a font and builds one out of Flan arrays: text measuring reads every field and computes. Both cases were verified red by permuting the defstructs; the permutations are recorded in the comments so the next reader need not rediscover which ones bite.
Description
Languages
OCaml
67.2%
Emacs Lisp
15.2%
C
10.4%
HTML
2.9%
Standard ML
2.8%
Other
1.5%