Adds a `dom` feature to beui: a browser runner, `beui::run_dom`, that keeps beui's own layout, input and focus but turns each frame's shapes into absolutely positioned DOM elements, reconciled by content so only what changed is touched. Text is measured with the browser's fonts through a canvas, so the module carries no fonts; the icon font is fetched by URL. - font.rs keeps the shared galley types and cache; FreeType moves to font/freetype.rs behind a new `fonts` feature, and font/browser.rs is the dom backend. A font generation makes documents lay out again when a web font finishes loading. - The wgpu web runner's event plumbing moves to app/browser.rs, shared with the dom runner. - crates/beui-web-demo shows examples/demo.rs this way, built in a wasm plan of its own (wasi-dom) so the dom feature never reaches block-app. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0196uUgCMmYrESjLeKT3BBxK
Claude committed on 9/26/2026, 9:59:38 PMparent419d88c
36 files changedLine totals unavailable