Drawfie canvas-only viewer prototype (2026-10-11) Source bundle: /viewer-source.tar.gz Compositor source: /compositor.c Application source: /app.js Worker source: /worker.js License: GPL-3.0-or-later, see /LICENSE.txt. Drawpile upstream source and copyright: https://github.com/drawpile/Drawpile/tree/792a981ac984ef81ca160b4acbf4d17b904862ce The fixed-point Normal and Multiply formulas and tile delta layout are adapted from Drawpile's pixels.c and tile.c. Other blend modes, groups, clipping, annotations and timeline playback are not supported by this prototype; the extractor rejects unsupported layer properties. Dependency: @bokuweb/zstd-wasm 0.0.27, MIT; https://github.com/bokuweb/zstd-wasm; license at /ZSTD-WASM-LICENSE.txt. The included vendor JavaScript was changed only to use browser-resolvable .js import paths. Snapshot data is a pre-migration saved canvas, not automatically synchronized with the live session. Index checks run every minute. New versioned manifests invalidate changed tile positions; the current implementation downloads a compressed pack per version. Retention specification: maximum 60 days, 4 GiB history budget, latest version pinned per session. Automatic snapshot creation/history pruning is not enabled. Previous full Drawpile prototype: /editor.html