openpencil/crates/op-host-web/tests
Kayshen-X ca5b6db5df perf(web): tint text rasters at draw instead of baking color
The browser-text raster cache keyed on RGBA, so identical glyphs in N
colors were N cache entries — text-heavy pages blew the 512 cap and
re-rasterized + re-uploaded GPU textures every frame while panning.
Text now rasters once as a white alpha mask (color and alpha out of
the key) and tints at draw via a bounded, LRU ColorFilter cache;
eviction is LRU instead of FIFO. Color-emoji segments keep the legacy
baked-color path since they ignore fillStyle. Verified visually:
before/after screenshots differ only in sub-24/255 antialiasing-edge
quantization (0.45% of pixels, max delta 14).
2026-07-11 10:47:41 +08:00
..
ci_workflow.rs fix(release): stop publishing unsigned macOS desktop tarball 2026-07-09 23:23:55 +08:00
cjk_font.rs fix(web): use browser fonts in canvaskit shell 2026-06-19 02:39:34 +08:00
dom_event_mapping.rs feat(editor): align rust web and desktop parity 2026-06-18 23:24:33 +08:00
paint_order.rs perf(web): tint text rasters at draw instead of baking color 2026-07-11 10:47:41 +08:00
web_mount_event_wiring.rs fix(web): sync canvaskit size before first paint 2026-06-19 01:30:43 +08:00