Cargo.lock | 20 +- crates/canvas/Cargo.toml | 9 +- crates/canvas/examples/render_page.rs | 23 +- crates/canvas/src/gpu/canvas.wgsl | 87 -- crates/canvas/src/gpu/mod.rs | 1706 +++-------------------------- crates/canvas/src/gpu/page.rs | 105 +- crates/canvas/src/gpu/profile.rs | 51 +- crates/canvas/src/gpu/tags.rs | 140 --- crates/canvas/src/interaction/mod.rs | 3 +- crates/canvas/src/interaction/scroll.rs | 3 +- crates/canvas/src/interaction/tests.rs | 22 +- crates/draw/Cargo.toml | 17 + crates/draw/src/draw.wgsl | 87 ++ crates/draw/src/icon.rs | 122 +++ crates/draw/src/lib.rs | 1828 ++++++++++++++++++++++++++++++++ crates/draw/src/text.rs | 113 ++ crates/snowbound/Cargo.toml | 1 + crates/snowbound/src/main.rs | 8 +- tools/canvas/README.md | 9 +- 19 files changed, 2471 insertions(+), 1883 deletions(-)