openpencil/crates/op-host-desktop
Kayshen-X a9c1401e1a feat(renderer): rasterize svg image sources at the byte-cache seam
Skia and CanvasKit decode PNG/JPEG/GIF/WebP but not SVG, so every
captured page's inline-svg fallback and remote .svg painted as the
dashed placeholder forever.

- Native: resvg (minimal features, no text/raster-images) rasterizes
  SVG bytes to PNG where they enter the shared byte cache, so both the
  data-URI decode and the remote-fetch store paths only ever cache
  bitmap codecs. Target-gated off wasm32: measured +0.9 MiB gzip
  against the web bundle's 6 MiB ceiling.
- Web: the CanvasKit bridge falls back to the browser's own SVG
  decoder (async Image + 2d canvas -> CK.MakeImage). Pending decodes
  report success so the id is not negative-cached; the repaint pump
  keeps frames coming until the raster lands.
- The remote-image fetcher's magic-byte sniff now accepts SVG markup,
  and percent-encoded (non-base64) svg data URIs decode too.
2026-08-05 22:15:09 +08:00
..
assets merge: sync mesh/shader rendering, web live-sync and platform fixes from remote 2026-07-03 01:25:08 +08:00
src feat(renderer): rasterize svg image sources at the byte-cache seam 2026-08-05 22:15:09 +08:00
Cargo.toml feat(desktop): load signed relay bootstrap 2026-07-30 22:51:48 +08:00
entitlements.plist Improve git panel parity and macOS bundle identity 2026-05-31 20:23:28 +08:00
Info.plist feat(collab): add authenticated p2p collaboration 2026-07-29 00:06:58 +08:00