Skip to content

History / web_asset_delivery_plan

Revisions

  • web asset delivery plan - snp over bnp, immutable bundles, snowballs first Design review of the emscripten asset story. Records the verdict on .snp as the bnp alternative, why in-browser bnp patching is rejected, the bundle/manifest architecture, measured compression numbers, and Snowballs as the first target. Key points: - .snp shape is right, interface is wrong: the provider returns a filesystem path, which is the only real blocker for wasm. - bnp xdelta patching rejected - patching needs owned storage, browser storage is not durable, and content addressing dissolves the problem. - immutable versioned URLs remove quota/OPFS/eviction from the design. - boot moves to the JS wrapper before wasm starts, so asyncify never touches the boot path. - bundling beats trained dictionaries by 2.7x (tiles: 6.21x bundled vs 2.31x per-file with dict); dictionary gain is size-dependent, 19.6% at 29 KB files and 3.4% at 190 KB. - emit both .zst and .br and let Accept-Encoding negotiate; zstd window plateaus at 8 MB so the lgwin cap is a non-issue. - github pages cannot set Content-Encoding, so bundles go to the CDN. - reference data is not a publish gate once formats diverge; gates are completeness + load, with render smoke done revision-to-revision. - snowballs is 457 files / 46.2 MB -> 12.6 MB, so it ships as one bundle and is deliberately not tiered. Also notes five live bugs found while reading the streamed package code, worth fixing independently of any of this. Registers the page in the context index and points the roadmap's W2 entry at it. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SgdHuFQnKiND5p1VKQogJP

    @kaetemi kaetemi committed Aug 3, 2026