openpencil/crates/op-host-web/src
Kayshen-X 86357c04e5 fix(web): supersample offscreen text raster for HiDPI
Chrome text rendered blurry on Retina: all chrome/canvas text goes
through the offscreen 2D-canvas raster path (drawBrowserText), which
rasterized glyphs at CSS (1x) resolution. Those bitmaps are then drawn
onto the CanvasKit surface while a scale(dpr, dpr) transform is active,
magnifying them dpr-x — half-resolution on 2x displays.

Supersample the offscreen text canvas by the device pixel ratio and
composite it back at 1/dpr so glyphs land at native device resolution.
Thread the real dpr from Rust (CanvasKitBackend::new + resize_for_display)
into the bridge via a new setDpr method; cache key includes dpr and
stale bitmaps are dropped on dpr change.
2026-07-08 21:06:21 +08:00
..
event feat(editor): align rust web and desktop parity 2026-06-18 23:24:33 +08:00
widget_host fix(ai): blur chat input when agent settings open to prevent paste misrouting (#172) 2026-07-07 11:17:44 +08:00
a11y_dom.rs feat(editor): a11y + single-instance + layer-panel Rust↔TS parity 2026-06-18 22:18:07 +08:00
agent_indicator_sync.rs feat(web): undoable live-sync applies + agent-indicator relay 2026-07-03 00:08:23 +08:00
canvaskit.rs fix(web): supersample offscreen text raster for HiDPI 2026-07-08 21:06:21 +08:00
codegen_bundle.rs
codegen_web.rs refactor(renderer): consolidate web shell on CanvasKit, retire skia path 2026-06-18 09:34:37 +08:00
daemon_base.rs
dom_io.rs feat(web): user font import — family-aware CanvasKit + import UI + IndexedDB (phases 3-4) 2026-07-05 14:21:51 +08:00
file_actions.rs test(web): add rust web browser smoke 2026-06-20 19:24:59 +08:00
font_meta.rs feat(web): user font import — family-aware CanvasKit + import UI + IndexedDB (phases 3-4) 2026-07-05 14:21:51 +08:00
font_store_idb.rs feat(web): user font import — family-aware CanvasKit + import UI + IndexedDB (phases 3-4) 2026-07-05 14:21:51 +08:00
iconify_web.rs test(web): add rust web browser smoke 2026-06-20 19:24:59 +08:00
ime_input.rs fix(web): capture browser ime composition 2026-06-19 04:59:06 +08:00
lib.rs feat(web): user font import — family-aware CanvasKit + import UI + IndexedDB (phases 3-4) 2026-07-05 14:21:51 +08:00
listener.rs feat(editor): align rust web and desktop parity 2026-06-18 23:24:33 +08:00
live_sync.rs test(web): add rust web browser smoke 2026-06-20 19:24:59 +08:00
live_sync_glue.rs feat(web): undoable live-sync applies + agent-indicator relay 2026-07-03 00:08:23 +08:00
op_ck_bridge.js fix(web): supersample offscreen text raster for HiDPI 2026-07-08 21:06:21 +08:00
raf_pump.rs test(web): add rust web browser smoke 2026-06-20 19:24:59 +08:00
repaint_coalescer.rs fix(web): close native parity gaps in rust web host 2026-06-19 12:56:43 +08:00
repaint_ctx.rs feat(web): user font import — family-aware CanvasKit + import UI + IndexedDB (phases 3-4) 2026-07-05 14:21:51 +08:00
theme_preset_io.rs fix(variables): drain the web theme-preset Import/Export flag 2026-06-19 11:18:36 +08:00
web_acp_connect.rs feat(editor): align rust web and desktop parity 2026-06-18 23:24:33 +08:00
web_agent_connect.rs feat(editor): align rust web and desktop parity 2026-06-18 23:24:33 +08:00
web_ai_transport.rs test(web): add rust web browser smoke 2026-06-20 19:24:59 +08:00
web_chat.rs merge: land the align-branch work onto the refreshed base 2026-07-03 00:08:17 +08:00
web_clipboard.rs test(web): add rust web browser smoke 2026-06-20 19:24:59 +08:00
web_design_md.rs fix(web): drain design md panel actions 2026-06-19 07:52:03 +08:00
web_fonts.rs fix(web): rebuild layout scene on system-font load too 2026-07-05 14:21:53 +08:00
web_settings.rs chore(web): snapshot in-progress web-host work (settings module + deps) 2026-06-20 23:44:25 +08:00
widget_host.rs feat(canvas): refine node drag previews 2026-07-07 01:18:25 +08:00