openpencil/crates/op-host-web
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/canvaskit fix(web): use browser fonts in canvaskit shell 2026-06-19 02:39:34 +08:00
pkg-ck fix(web): expand browser font fallback stack 2026-06-19 07:30:34 +08:00
pkg-webgl refactor(renderer): consolidate web shell on CanvasKit, retire skia path 2026-06-18 09:34:37 +08:00
smoke test(web): add rust web browser smoke 2026-06-20 19:24:59 +08:00
src perf(renderer): decode images off the paint thread 2026-07-19 20:45:04 +08:00
tests fix(renderer): apply image-fill crop transforms and metric text baselines 2026-07-19 20:45:04 +08:00
.gitignore
Cargo.toml feat(web): paste and drop html into the editor 2026-07-19 20:45:03 +08:00