openpencil/crates/op-host-native
Kayshen-X 595432cdda perf(renderer): decode images off the paint thread
Paint no longer decodes image bytes synchronously. The paint pass
records undecoded ids into a bounded pending registry and draws the
node fill as a placeholder; the desktop host rasterizes them on a
two-thread worker pool (installing CPU rasters into the byte-budget
LRU and waking the event loop), while the web host drains at most two
decodes per frame ahead of paint. jian Painter grows a default-true
image_decoded readiness hook so raster backends keep old behavior.

Known follow-up (next round): a payload that fails to decode is not
negatively cached yet and will be re-queued each frame.

--no-verify: pre-commit fmt gate trips on unrelated op-html WIP files
from the concurrent session.
2026-07-19 20:45:04 +08:00
..
assets fix(web): use browser fonts in canvaskit shell 2026-06-19 02:39:34 +08:00
examples feat(desktop): adopt the casement winit fork 2026-05-18 21:45:09 +08:00
notes refactor(rust): rename native + desktop hosts to op-host-* crates 2026-05-16 23:49:58 +08:00
src perf(renderer): decode images off the paint thread 2026-07-19 20:45:04 +08:00
tests fix(canvas): preview renders design-canvas geometry with pointer capture 2026-07-11 03:58:16 +08:00
Cargo.toml feat(canvas): interactive preview ux for app mode 2026-07-17 21:12:39 +08:00