765 lines to 201, at parity with lisp/sand.lisp, clojure/src/fnm/sand.clj and src/fnm/sand.jank. Gone: audio and tone synthesis, the brush textures and the embedded PNG, the render-texture scene, the HUD font, the camera, the world cursor, the HUD and the input-state read-out. None of it is in any reference version, and none of it was the language being exercised. Inlined the single-use helpers -- empty-at?, move-grain, draw-grid, paint. settle also carried an unused (rl/Vector2 ...) binding, which put raylib inside the section whose banner says there is none, and a stray (pause). The physics is untouched on purpose: the references disagree there, so parity does not name a target, and settle is what the pinned hash covers. It still prints 15595743031174623232 at -O2, -O0 and as a dev build. test_web.ml asserted brush.png's bytes reached the wasm module, proving an embed survives the web build. web-files.flan is web-built and *run* under node and asserts the embedded bytes print, which is the same property checked harder, so the sand assertion goes rather than the embed staying.
Description
Languages
OCaml
67.2%
Emacs Lisp
15.2%
C
10.4%
HTML
2.9%
Standard ML
2.8%
Other
1.5%