create mode 100644 crates/canvas-app/Cargo.toml create mode 100644 crates/canvas-app/src/accessibility.rs create mode 100644 crates/canvas-app/src/macos.rs create mode 100644 crates/canvas-app/src/main.rs create mode 100644 crates/canvas-app/src/profile.rs create mode 100644 crates/canvas-gpu/Cargo.toml create mode 100644 crates/canvas-gpu/examples/render_page.rs create mode 100644 crates/canvas-gpu/src/canvas.wgsl create mode 100644 crates/canvas-gpu/src/lib.rs create mode 100644 crates/canvas-gpu/src/page.rs create mode 100644 crates/canvas-gpu/src/profile.rs create mode 100644 crates/canvas-gpu/src/tags.rs create mode 100644 crates/canvas/Cargo.toml create mode 100644 crates/canvas/src/bin/layout_probe.rs create mode 100644 crates/canvas/src/bin/page_probe.rs create mode 100644 crates/canvas/src/document.rs create mode 100644 crates/canvas/src/editor.rs create mode 100644 crates/canvas/src/layout.rs create mode 100644 crates/canvas/src/lib.rs create mode 100644 crates/canvas/src/outline.rs create mode 100644 crates/canvas/src/page.rs create mode 100644 crates/canvas/src/text.rs create mode 100644 fuzz/fuzz_targets/canvas_editor.rs create mode 100644 tools/canvas/README.md create mode 100644 tools/canvas/baseline_fixture.py create mode 100644 tools/canvas/build_macos.py create mode 100644 tools/canvas/capture_interaction.py create mode 100644 tools/canvas/capture_view.py create mode 100644 tools/canvas/compare.py create mode 100644 tools/canvas/compare_baselines.py create mode 100644 tools/canvas/compare_page.py create mode 100644 tools/canvas/compare_page_pdf.py create mode 100644 tools/canvas/compare_scroll.py create mode 100644 tools/canvas/core_text_probe.swift create mode 100644 tools/canvas/native_fixture.py create mode 100644 tools/canvas/range_stress.py create mode 100644 tools/canvas/test_compare.py create mode 100644 tools/canvas/test_compare_baselines.py create mode 100644 tools/canvas/test_compare_page.py create mode 100644 tools/canvas/test_compare_page_pdf.py create mode 100644 tools/canvas/test_compare_scroll.py