Skip to content

Demos

Both apps are written in Kāra, compiled to WebAssembly, and run entirely in your browser — the files you drop into them are never uploaded. Open the Network tab while editing: after the page loads, it stays empty.

No file handy? Neither app needs one. Each has sample chips under its drop zone, and the samples are drawn in the page rather than fetched — so you can try either tool, and watch the Network tab stay empty while you do it, without giving it anything of your own first.

  • The samples are canvas 2D, generated on click: zero requests, nothing bundled, nothing to license. Prism’s carries a zone plate, a Siemens star, hairline grids and a text ladder, so the difference between Lanczos-3 and bilinear at ½× is something you can see rather than something we claim; Veil’s is a fabricated account page — the exact thing people reach for a redactor to publish.
  • All pixel kernels live in a single .kara source per app, compiled with karac build --target=wasm_browser; the browser only decodes and re-encodes the image files. The wasm weighs ~100 KB (Prism) and ~52 KB (Veil).
  • Prism’s multicore build is Kāra’s TaskGroup fan-out compiled to Web Workers, with Vector[f64, 2] SIMD in the Lanczos inner loop — a 12 MP resize drops from ~1.1 s single-threaded scalar to ~285 ms. The same source also compiles to a sequential module with byte-identical output, which the page falls back to where threads aren’t available (append ?seq to force it).
  • Source, exact-oracle kernel tests, and the headless-Chrome verification harness live in karalang/kara-katas → apps/.