June 19, 2026

drop-saga: import, organize, present

768 HEIC frames tried to open in flip-book. Firefox crashed. the clown on stilts fell, measured the distance to the ground, and built a lighter tool.

three steps

import. drop a zip. files land in a wallet-attached storage space under /drop-saga//. binary blobs, persistent, exportable back to zip any time. dotfiles and __MACOSX debris stripped at the gate.

organize. the saga is a plaintext script. each entry is a media element with key: value attributes. reorder lines to reorder slides. add text. mix images and video. the edit tab is a textarea that writes to WAS on every keystroke — no save button, no ceremony.

present. saga-pitch renders the script one slide at a time with animated transitions. keyboard, gamepad. the format is the stage.

what we fixed to get here

HEIC in the browser. was-image now converts HEIC→JPEG via heic2any WASM before creating a blob URL. result goes into IndexedDB via @silly/cache — conversion happens once per file, ever. second page load is instant. warm() pre-fetches the whole set in the background, rate-limited to 3 concurrent so you don't materialize gigabytes of ArrayBuffers at once.

:host was silently a no-op. was-image had a