From f0b5f8ff557bbeff2fa32bb10ad935562e92d0ed Mon Sep 17 00:00:00 2001 From: Brandon Thomas Date: Wed, 30 Sep 2026 05:17:08 -0400 Subject: [PATCH] one-shot first ver --- .cargo/config.toml | 2 + .gitignore | 7 + CLAUDE.md | 32 + Cargo.lock | 4919 ++++++++++++++++++ Cargo.toml | 54 + NOTICE | 15 + README.md | 16 + apps/printcraft/Cargo.toml | 14 + apps/printcraft/src/main.rs | 56 + assets/demo/showcase-data.csv | 23 + assets/demo/showcase.html | 779 +++ assets/fonts/Inter-Medium.ttf | Bin 0 -> 417300 bytes assets/fonts/Inter-Regular.ttf | Bin 0 -> 411640 bytes assets/fonts/Inter-SemiBold.ttf | Bin 0 -> 419744 bytes assets/fonts/JetBrainsMono-Regular.ttf | Bin 0 -> 270224 bytes assets/fonts/OFL-Inter.txt | 92 + assets/fonts/OFL-JetBrainsMono.txt | 93 + assets/icons/LICENSE-lucide.txt | 43 + assets/icons/accessibility.svg | 19 + assets/icons/align-left.svg | 17 + assets/icons/app-window.svg | 16 + assets/icons/arrow-left-right.svg | 16 + assets/icons/arrow-up-down.svg | 18 + assets/icons/arrow-up-right.svg | 16 + assets/icons/badge-check.svg | 16 + assets/icons/bandage.svg | 19 + assets/icons/bell.svg | 16 + assets/icons/blend.svg | 14 + assets/icons/bold.svg | 15 + assets/icons/book-open.svg | 16 + assets/icons/bookmark.svg | 15 + assets/icons/braces.svg | 16 + assets/icons/brush-cleaning.svg | 16 + assets/icons/brush.svg | 15 + assets/icons/camera.svg | 16 + assets/icons/check-circle-2.svg | 16 + assets/icons/check.svg | 13 + assets/icons/chevron-down.svg | 13 + assets/icons/chevron-left.svg | 15 + assets/icons/chevron-right.svg | 13 + assets/icons/chevron-up.svg | 15 + assets/icons/chevrons-left.svg | 14 + assets/icons/chevrons-right.svg | 14 + assets/icons/circle-check.svg | 16 + assets/icons/circle-dashed.svg | 20 + assets/icons/circle-dot.svg | 14 + assets/icons/circle-help.svg | 17 + assets/icons/circle.svg | 15 + assets/icons/clock-3.svg | 16 + assets/icons/clock.svg | 14 + assets/icons/cloud-upload.svg | 17 + assets/icons/cloud.svg | 15 + assets/icons/columns-2.svg | 16 + assets/icons/compass.svg | 14 + assets/icons/contrast.svg | 14 + assets/icons/copy-plus.svg | 18 + assets/icons/copy.svg | 14 + assets/icons/crop.svg | 14 + assets/icons/droplet.svg | 13 + assets/icons/ellipsis-vertical.svg | 17 + assets/icons/ellipsis.svg | 15 + assets/icons/eraser.svg | 14 + assets/icons/eye-off.svg | 16 + assets/icons/eye.svg | 14 + assets/icons/file-check.svg | 17 + assets/icons/file-down.svg | 18 + assets/icons/file-input.svg | 18 + assets/icons/file-lock-2.svg | 18 + assets/icons/file-minus.svg | 17 + assets/icons/file-output.svg | 18 + assets/icons/file-pen-line.svg | 18 + assets/icons/file-plus-2.svg | 18 + assets/icons/file-plus.svg | 16 + assets/icons/file-scan.svg | 20 + assets/icons/file-search.svg | 18 + assets/icons/file-symlink.svg | 17 + assets/icons/file-text.svg | 19 + assets/icons/file-x.svg | 18 + assets/icons/files.svg | 17 + assets/icons/film.svg | 22 + assets/icons/filter.svg | 15 + assets/icons/folder-open.svg | 13 + assets/icons/folder-plus.svg | 15 + assets/icons/folder.svg | 13 + assets/icons/gauge.svg | 14 + assets/icons/git-compare.svg | 18 + assets/icons/grid-3x3.svg | 17 + assets/icons/hand.svg | 16 + assets/icons/hash.svg | 18 + assets/icons/heading.svg | 17 + assets/icons/highlighter.svg | 16 + assets/icons/house.svg | 16 + assets/icons/image-plus.svg | 19 + assets/icons/image.svg | 15 + assets/icons/info.svg | 15 + assets/icons/italic.svg | 17 + assets/icons/languages.svg | 20 + assets/icons/lasso.svg | 15 + assets/icons/layers.svg | 15 + assets/icons/layout-grid.svg | 18 + assets/icons/link-2.svg | 17 + assets/icons/link.svg | 14 + assets/icons/list-checks.svg | 19 + assets/icons/list-ordered.svg | 20 + assets/icons/list.svg | 20 + assets/icons/lock-open.svg | 14 + assets/icons/lock.svg | 14 + assets/icons/maximize-2.svg | 16 + assets/icons/maximize.svg | 18 + assets/icons/message-circle-reply.svg | 17 + assets/icons/message-square-text.svg | 18 + assets/icons/message-square.svg | 13 + assets/icons/mic.svg | 17 + assets/icons/minimize.svg | 18 + assets/icons/minus.svg | 13 + assets/icons/moon.svg | 13 + assets/icons/mouse-pointer-2.svg | 13 + assets/icons/move.svg | 18 + assets/icons/navigation.svg | 13 + assets/icons/paint-bucket.svg | 16 + assets/icons/palette.svg | 17 + assets/icons/panel-left.svg | 16 + assets/icons/panel-right.svg | 14 + assets/icons/panels-top-left.svg | 15 + assets/icons/paperclip.svg | 15 + assets/icons/pen-line.svg | 16 + assets/icons/pen-tool.svg | 16 + assets/icons/pencil.svg | 16 + assets/icons/pipette.svg | 15 + assets/icons/plus.svg | 14 + assets/icons/presentation.svg | 17 + assets/icons/printer.svg | 17 + assets/icons/rectangle-horizontal.svg | 15 + assets/icons/redo-2.svg | 14 + assets/icons/replace.svg | 21 + assets/icons/rotate-ccw.svg | 16 + assets/icons/rotate-cw.svg | 16 + assets/icons/ruler.svg | 19 + assets/icons/save.svg | 17 + assets/icons/scan-text.svg | 21 + assets/icons/scan.svg | 16 + assets/icons/scissors.svg | 17 + assets/icons/search.svg | 14 + assets/icons/send.svg | 16 + assets/icons/settings-2.svg | 18 + assets/icons/settings.svg | 14 + assets/icons/share-2.svg | 19 + assets/icons/shield-check.svg | 16 + assets/icons/signature.svg | 16 + assets/icons/sliders-horizontal.svg | 21 + assets/icons/sparkles.svg | 16 + assets/icons/spline.svg | 17 + assets/icons/square-dashed-mouse-pointer.svg | 24 + assets/icons/square-dashed.svg | 24 + assets/icons/square.svg | 13 + assets/icons/squares-subtract.svg | 18 + assets/icons/stamp.svg | 15 + assets/icons/star.svg | 15 + assets/icons/sticky-note.svg | 16 + assets/icons/strikethrough.svg | 17 + assets/icons/sun.svg | 21 + assets/icons/swatch-book.svg | 16 + assets/icons/tag.svg | 16 + assets/icons/text-cursor-input.svg | 19 + assets/icons/text-select.svg | 29 + assets/icons/trash-2.svg | 19 + assets/icons/trash.svg | 17 + assets/icons/triangle-alert.svg | 17 + assets/icons/type.svg | 15 + assets/icons/underline.svg | 16 + assets/icons/undo-2.svg | 14 + assets/icons/user-round.svg | 16 + assets/icons/wand-sparkles.svg | 20 + assets/icons/wrench.svg | 15 + assets/icons/x.svg | 14 + assets/icons/zoom-in.svg | 16 + assets/icons/zoom-out.svg | 17 + crates/engine/Cargo.toml | 12 + crates/engine/src/catalog.rs | 512 ++ crates/engine/src/lib.rs | 60 + crates/geom/Cargo.toml | 11 + crates/geom/src/lib.rs | 67 + crates/render/Cargo.toml | 16 + crates/render/src/inspect.rs | 641 +++ crates/render/src/lib.rs | 22 + crates/render/src/raster.rs | 138 + crates/ui-egui/Cargo.toml | 20 + crates/ui-egui/src/canvas.rs | 573 ++ crates/ui-egui/src/chrome.rs | 316 ++ crates/ui-egui/src/dialogs.rs | 127 + crates/ui-egui/src/home.rs | 123 + crates/ui-egui/src/icon_data.rs | 164 + crates/ui-egui/src/icons.rs | 71 + crates/ui-egui/src/lib.rs | 395 ++ crates/ui-egui/src/palette.rs | 132 + crates/ui-egui/src/panels.rs | 509 ++ crates/ui-egui/src/theme.rs | 181 + crates/ui-egui/src/widgets.rs | 104 + rustfmt.toml | 2 + xtask/Cargo.toml | 11 + xtask/src/demo_pdf/annots.rs | 591 +++ xtask/src/demo_pdf/chrome.rs | 113 + xtask/src/demo_pdf/form.rs | 501 ++ xtask/src/demo_pdf/mod.rs | 99 + xtask/src/demo_pdf/pdf.rs | 453 ++ xtask/src/demo_pdf/postprocess.rs | 494 ++ xtask/src/demo_pdf/raster.rs | 110 + xtask/src/main.rs | 46 + 208 files changed, 15369 insertions(+) create mode 100644 .cargo/config.toml create mode 100644 .gitignore create mode 100644 CLAUDE.md create mode 100644 Cargo.lock create mode 100644 Cargo.toml create mode 100644 NOTICE create mode 100644 README.md create mode 100644 apps/printcraft/Cargo.toml create mode 100644 apps/printcraft/src/main.rs create mode 100644 assets/demo/showcase-data.csv create mode 100644 assets/demo/showcase.html create mode 100644 assets/fonts/Inter-Medium.ttf create mode 100644 assets/fonts/Inter-Regular.ttf create mode 100644 assets/fonts/Inter-SemiBold.ttf create mode 100644 assets/fonts/JetBrainsMono-Regular.ttf create mode 100644 assets/fonts/OFL-Inter.txt create mode 100644 assets/fonts/OFL-JetBrainsMono.txt create mode 100644 assets/icons/LICENSE-lucide.txt create mode 100644 assets/icons/accessibility.svg create mode 100644 assets/icons/align-left.svg create mode 100644 assets/icons/app-window.svg create mode 100644 assets/icons/arrow-left-right.svg create mode 100644 assets/icons/arrow-up-down.svg create mode 100644 assets/icons/arrow-up-right.svg create mode 100644 assets/icons/badge-check.svg create mode 100644 assets/icons/bandage.svg create mode 100644 assets/icons/bell.svg create mode 100644 assets/icons/blend.svg create mode 100644 assets/icons/bold.svg create mode 100644 assets/icons/book-open.svg create mode 100644 assets/icons/bookmark.svg create mode 100644 assets/icons/braces.svg create mode 100644 assets/icons/brush-cleaning.svg create mode 100644 assets/icons/brush.svg create mode 100644 assets/icons/camera.svg create mode 100644 assets/icons/check-circle-2.svg create mode 100644 assets/icons/check.svg create mode 100644 assets/icons/chevron-down.svg create mode 100644 assets/icons/chevron-left.svg create mode 100644 assets/icons/chevron-right.svg create mode 100644 assets/icons/chevron-up.svg create mode 100644 assets/icons/chevrons-left.svg create mode 100644 assets/icons/chevrons-right.svg create mode 100644 assets/icons/circle-check.svg create mode 100644 assets/icons/circle-dashed.svg create mode 100644 assets/icons/circle-dot.svg create mode 100644 assets/icons/circle-help.svg create mode 100644 assets/icons/circle.svg create mode 100644 assets/icons/clock-3.svg create mode 100644 assets/icons/clock.svg create mode 100644 assets/icons/cloud-upload.svg create mode 100644 assets/icons/cloud.svg create mode 100644 assets/icons/columns-2.svg create mode 100644 assets/icons/compass.svg create mode 100644 assets/icons/contrast.svg create mode 100644 assets/icons/copy-plus.svg create mode 100644 assets/icons/copy.svg create mode 100644 assets/icons/crop.svg create mode 100644 assets/icons/droplet.svg create mode 100644 assets/icons/ellipsis-vertical.svg create mode 100644 assets/icons/ellipsis.svg create mode 100644 assets/icons/eraser.svg create mode 100644 assets/icons/eye-off.svg create mode 100644 assets/icons/eye.svg create mode 100644 assets/icons/file-check.svg create mode 100644 assets/icons/file-down.svg create mode 100644 assets/icons/file-input.svg create mode 100644 assets/icons/file-lock-2.svg create mode 100644 assets/icons/file-minus.svg create mode 100644 assets/icons/file-output.svg create mode 100644 assets/icons/file-pen-line.svg create mode 100644 assets/icons/file-plus-2.svg create mode 100644 assets/icons/file-plus.svg create mode 100644 assets/icons/file-scan.svg create mode 100644 assets/icons/file-search.svg create mode 100644 assets/icons/file-symlink.svg create mode 100644 assets/icons/file-text.svg create mode 100644 assets/icons/file-x.svg create mode 100644 assets/icons/files.svg create mode 100644 assets/icons/film.svg create mode 100644 assets/icons/filter.svg create mode 100644 assets/icons/folder-open.svg create mode 100644 assets/icons/folder-plus.svg create mode 100644 assets/icons/folder.svg create mode 100644 assets/icons/gauge.svg create mode 100644 assets/icons/git-compare.svg create mode 100644 assets/icons/grid-3x3.svg create mode 100644 assets/icons/hand.svg create mode 100644 assets/icons/hash.svg create mode 100644 assets/icons/heading.svg create mode 100644 assets/icons/highlighter.svg create mode 100644 assets/icons/house.svg create mode 100644 assets/icons/image-plus.svg create mode 100644 assets/icons/image.svg create mode 100644 assets/icons/info.svg create mode 100644 assets/icons/italic.svg create mode 100644 assets/icons/languages.svg create mode 100644 assets/icons/lasso.svg create mode 100644 assets/icons/layers.svg create mode 100644 assets/icons/layout-grid.svg create mode 100644 assets/icons/link-2.svg create mode 100644 assets/icons/link.svg create mode 100644 assets/icons/list-checks.svg create mode 100644 assets/icons/list-ordered.svg create mode 100644 assets/icons/list.svg create mode 100644 assets/icons/lock-open.svg create mode 100644 assets/icons/lock.svg create mode 100644 assets/icons/maximize-2.svg create mode 100644 assets/icons/maximize.svg create mode 100644 assets/icons/message-circle-reply.svg create mode 100644 assets/icons/message-square-text.svg create mode 100644 assets/icons/message-square.svg create mode 100644 assets/icons/mic.svg create mode 100644 assets/icons/minimize.svg create mode 100644 assets/icons/minus.svg create mode 100644 assets/icons/moon.svg create mode 100644 assets/icons/mouse-pointer-2.svg create mode 100644 assets/icons/move.svg create mode 100644 assets/icons/navigation.svg create mode 100644 assets/icons/paint-bucket.svg create mode 100644 assets/icons/palette.svg create mode 100644 assets/icons/panel-left.svg create mode 100644 assets/icons/panel-right.svg create mode 100644 assets/icons/panels-top-left.svg create mode 100644 assets/icons/paperclip.svg create mode 100644 assets/icons/pen-line.svg create mode 100644 assets/icons/pen-tool.svg create mode 100644 assets/icons/pencil.svg create mode 100644 assets/icons/pipette.svg create mode 100644 assets/icons/plus.svg create mode 100644 assets/icons/presentation.svg create mode 100644 assets/icons/printer.svg create mode 100644 assets/icons/rectangle-horizontal.svg create mode 100644 assets/icons/redo-2.svg create mode 100644 assets/icons/replace.svg create mode 100644 assets/icons/rotate-ccw.svg create mode 100644 assets/icons/rotate-cw.svg create mode 100644 assets/icons/ruler.svg create mode 100644 assets/icons/save.svg create mode 100644 assets/icons/scan-text.svg create mode 100644 assets/icons/scan.svg create mode 100644 assets/icons/scissors.svg create mode 100644 assets/icons/search.svg create mode 100644 assets/icons/send.svg create mode 100644 assets/icons/settings-2.svg create mode 100644 assets/icons/settings.svg create mode 100644 assets/icons/share-2.svg create mode 100644 assets/icons/shield-check.svg create mode 100644 assets/icons/signature.svg create mode 100644 assets/icons/sliders-horizontal.svg create mode 100644 assets/icons/sparkles.svg create mode 100644 assets/icons/spline.svg create mode 100644 assets/icons/square-dashed-mouse-pointer.svg create mode 100644 assets/icons/square-dashed.svg create mode 100644 assets/icons/square.svg create mode 100644 assets/icons/squares-subtract.svg create mode 100644 assets/icons/stamp.svg create mode 100644 assets/icons/star.svg create mode 100644 assets/icons/sticky-note.svg create mode 100644 assets/icons/strikethrough.svg create mode 100644 assets/icons/sun.svg create mode 100644 assets/icons/swatch-book.svg create mode 100644 assets/icons/tag.svg create mode 100644 assets/icons/text-cursor-input.svg create mode 100644 assets/icons/text-select.svg create mode 100644 assets/icons/trash-2.svg create mode 100644 assets/icons/trash.svg create mode 100644 assets/icons/triangle-alert.svg create mode 100644 assets/icons/type.svg create mode 100644 assets/icons/underline.svg create mode 100644 assets/icons/undo-2.svg create mode 100644 assets/icons/user-round.svg create mode 100644 assets/icons/wand-sparkles.svg create mode 100644 assets/icons/wrench.svg create mode 100644 assets/icons/x.svg create mode 100644 assets/icons/zoom-in.svg create mode 100644 assets/icons/zoom-out.svg create mode 100644 crates/engine/Cargo.toml create mode 100644 crates/engine/src/catalog.rs create mode 100644 crates/engine/src/lib.rs create mode 100644 crates/geom/Cargo.toml create mode 100644 crates/geom/src/lib.rs create mode 100644 crates/render/Cargo.toml create mode 100644 crates/render/src/inspect.rs create mode 100644 crates/render/src/lib.rs create mode 100644 crates/render/src/raster.rs create mode 100644 crates/ui-egui/Cargo.toml create mode 100644 crates/ui-egui/src/canvas.rs create mode 100644 crates/ui-egui/src/chrome.rs create mode 100644 crates/ui-egui/src/dialogs.rs create mode 100644 crates/ui-egui/src/home.rs create mode 100644 crates/ui-egui/src/icon_data.rs create mode 100644 crates/ui-egui/src/icons.rs create mode 100644 crates/ui-egui/src/lib.rs create mode 100644 crates/ui-egui/src/palette.rs create mode 100644 crates/ui-egui/src/panels.rs create mode 100644 crates/ui-egui/src/theme.rs create mode 100644 crates/ui-egui/src/widgets.rs create mode 100644 rustfmt.toml create mode 100644 xtask/Cargo.toml create mode 100644 xtask/src/demo_pdf/annots.rs create mode 100644 xtask/src/demo_pdf/chrome.rs create mode 100644 xtask/src/demo_pdf/form.rs create mode 100644 xtask/src/demo_pdf/mod.rs create mode 100644 xtask/src/demo_pdf/pdf.rs create mode 100644 xtask/src/demo_pdf/postprocess.rs create mode 100644 xtask/src/demo_pdf/raster.rs create mode 100644 xtask/src/main.rs diff --git a/.cargo/config.toml b/.cargo/config.toml new file mode 100644 index 00000000..5592118f --- /dev/null +++ b/.cargo/config.toml @@ -0,0 +1,2 @@ +[alias] +xtask = "run -p xtask --" diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..0d78b09d --- /dev/null +++ b/.gitignore @@ -0,0 +1,7 @@ +*~ +plan/ +/target +/dist +/corpus +/log +.DS_Store diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 00000000..e0fd683e --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,32 @@ +# PrintCraft — instructions for agents + +PrintCraft is a clean-room, open-source, Rust-native PDF application targeting Adobe Acrobat Pro parity. It runs natively on macOS, Windows and Linux, and on the web via WASM. It is the sibling of `../photocraft` (a Photoshop-class editor) and follows the same conventions. + +## Start every session here +1. Read `plan/STATUS.md`: the current milestone, the next unchecked task and any blockers. +2. Read that task in `plan/execution-plan.md` §3, the relevant section of `plan/architecture.md`, and the README of the crate you're touching. +3. Follow the **autonomous operation protocol** in `plan/execution-plan.md` §7 (orient → plan → implement + test → verify → record → commit). Don't stop to ask unless §7 lists the decision as the user's. + +`plan/` is gitignored (local-only, like PhotoCraft). The machine-readable parity checklist lives in `parity/` (committed). + +## Non-negotiables +- **Clean-room.** + - Never read, disassemble or copy anything inside the Acrobat bundle (names and listings only). **Never open `Contents/Resources/JavaScripts/`.** + - Behaviour comes from public docs, specs (ISO 32000-2, the Arlington model) and black-box observation (`plan/acrobat/`). + - Never copy GPL/AGPL code. MuPDF, Ghostscript, Poppler, veraPDF and DSS run only as external oracle processes. + - See `plan/README.md` §Clean-room and `plan/adr/0001`. +- **Privacy.** When observing Acrobat, use synthetic fixtures only. Never capture the Home view, recent files or account info. Capture by window id (`plan/acrobat/tools/`). Never commit Acrobat outputs, corpus files or personal data. +- **Layering.** Nothing below L7 depends on egui/winit/eframe/rfd (`plan/architecture.md` §3). `cos`/`filters`/`crypt`/`arlington` stay standalone. +- **Fidelity.** The PDF object graph is the model. Preserve unknown data. Saves are incremental unless a full rewrite is required. Never silently drop or repair data without recording it. +- **Rust only** in the product and build (`xtask`). No handwritten JS/TS. +- **Quality gates** before every commit: `cargo fmt --check`, `cargo clippy --workspace -- -D warnings`, `cargo test --workspace`, and the wasm check once `xtask ci` exists (M0). +- **Commits:** one task id per commit (e.g. `M1.4: xref stream reader`). Commit only green states. End messages with the attribution line required by the environment. + +## Running and looking at the app +- `cargo run -p printcraft -- ` opens the desktop app. +- `cargo xtask demo-pdf` builds `dist/demo/printcraft-showcase.pdf` (needs Chrome) for visual checks. +- For UI work, **look at the result**: screenshot the window by id (`plan/acrobat/tools/winlist.swift` + `screencapture -l`) until the UI control channel (M3.9) exists, then use `ui.screenshot`. Compare against `plan/acrobat/02-ui-ux.md`. +- Parallel agents: use a separate `CARGO_TARGET_DIR` per agent and separate git worktrees. + +## Current bootstrap debt (tracked in STATUS.md) +- `printcraft-render` renders through the `hayro` crate directly and inspects documents through `lopdf`. Both get replaced by `cos` / `model` / the DisplayList device (M1–M2, ADR-0004). diff --git a/Cargo.lock b/Cargo.lock new file mode 100644 index 00000000..497421e4 --- /dev/null +++ b/Cargo.lock @@ -0,0 +1,4919 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "accesskit" +version = "0.24.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3b7f7f85a7e5f68090000ed7622545829afd484d210358702ae4cb97dd0c320" +dependencies = [ + "uuid", +] + +[[package]] +name = "accesskit_atspi_common" +version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e8c61bee90b42a772d39d06a740207dc71a4e780004ace1db8d99fb1baaa954" +dependencies = [ + "accesskit", + "accesskit_consumer 0.36.0", + "atspi-common", + "phf", + "serde", + "zvariant", +] + +[[package]] +name = "accesskit_consumer" +version = "0.35.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53cf47daed85312e763fbf85ceca136e0d7abc68e0a7e12abe11f48172bc3b10" +dependencies = [ + "accesskit", + "hashbrown 0.16.1", +] + +[[package]] +name = "accesskit_consumer" +version = "0.36.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "25e0d7e25d06f4dc21d1774d67146e9e80d6789216cbd4d1e88185b0095dba60" +dependencies = [ + "accesskit", + "hashbrown 0.16.1", +] + +[[package]] +name = "accesskit_consumer" +version = "0.38.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d10a236f96f87d70732e44520046785431ef01d5bcd6b041317bfadd2f88245" +dependencies = [ + "accesskit", + "hashbrown 0.16.1", +] + +[[package]] +name = "accesskit_macos" +version = "0.26.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce02dc63b43f0c9296af9ac946312a2dc8814427d7a64d2d600971dac55b6076" +dependencies = [ + "accesskit", + "accesskit_consumer 0.38.0", + "hashbrown 0.16.1", + "objc2 0.5.2", + "objc2-app-kit 0.2.2", + "objc2-foundation 0.2.2", +] + +[[package]] +name = "accesskit_unix" +version = "0.21.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b016ca8db0ea0ea2ceff29a9d6240391492d960716aa471967c00e8cc8cb197c" +dependencies = [ + "accesskit", + "accesskit_atspi_common", + "async-channel", + "async-executor", + "async-task", + "atspi", + "futures-lite", + "futures-util", + "serde", + "zbus", +] + +[[package]] +name = "accesskit_windows" +version = "0.32.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eff7009f1a532e917d66970a1e80c965140c6cfbbabbdde3d64e5431e6c78e21" +dependencies = [ + "accesskit", + "accesskit_consumer 0.35.0", + "hashbrown 0.16.1", + "static_assertions", + "windows", + "windows-core", +] + +[[package]] +name = "accesskit_winit" +version = "0.32.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fe9a94394896352cc4660ca2288bd4ef883d83238853c038b44070c8f134313" +dependencies = [ + "accesskit", + "accesskit_macos", + "accesskit_unix", + "accesskit_windows", + "raw-window-handle", + "winit", +] + +[[package]] +name = "adler2" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" + +[[package]] +name = "aes" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "35f0f96ce78e38c3dc6d8948aa8163d06385be74000f3c7a95bf1eef35d3ea32" +dependencies = [ + "cipher", + "cpubits", + "cpufeatures", +] + +[[package]] +name = "ahash" +version = "0.8.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75" +dependencies = [ + "cfg-if", + "getrandom 0.3.4", + "once_cell", + "version_check", + "zerocopy", +] + +[[package]] +name = "alloc-no-stdlib" +version = "2.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc7bb162ec39d46ab1ca8c77bf72e890535becd1751bb45f64c597edb4c8c6b3" + +[[package]] +name = "alloc-stdlib" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e76a019e91224d279006ff972f1e984179a6e9feb050adba6ce8274aef23195" +dependencies = [ + "alloc-no-stdlib", +] + +[[package]] +name = "allocator-api2" +version = "0.2.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" + +[[package]] +name = "android-activity" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f2a1bb052857d5dd49572219344a7332b31b76405648eabac5bc68978251bcd" +dependencies = [ + "android-properties", + "bitflags 2.13.2", + "cc", + "jni", + "libc", + "log", + "ndk", + "ndk-context", + "ndk-sys", + "num_enum", + "thiserror 2.0.21", +] + +[[package]] +name = "android-properties" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc7eb209b1518d6bb87b283c20095f5228ecda460da70b44f0802523dea6da04" + +[[package]] +name = "android_system_properties" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae221649c9976a6f6c56ae1facf410f3ddb33cc661c4b7b61020a912d4237fbc" +dependencies = [ + "libc", +] + +[[package]] +name = "anyhow" +version = "1.0.104" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "330a5ed07fa54e4702c9d6c4174f74427fc0ef6e214bbd677ae50a5099946470" + +[[package]] +name = "arboard" +version = "3.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0348a1c054491f4bfe6ab86a7b6ab1e44e45d899005de92f58b3df180b36ddaf" +dependencies = [ + "clipboard-win", + "image", + "log", + "objc2 0.6.4", + "objc2-app-kit 0.3.2", + "objc2-core-foundation", + "objc2-core-graphics", + "objc2-foundation 0.3.2", + "parking_lot", + "percent-encoding", + "windows-sys 0.60.2", + "x11rb", +] + +[[package]] +name = "arrayref" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb" + +[[package]] +name = "arrayvec" +version = "0.7.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3fb67a6e08acf24fdeccbac2cb6ac4305825bd1f117462e0e6f2f193345ad56" + +[[package]] +name = "as-raw-xcb-connection" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "175571dd1d178ced59193a6fc02dde1b972eb0bc56c892cde9beeceac5bf0f6b" + +[[package]] +name = "ash" +version = "0.38.0+1.3.281" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bb44936d800fea8f016d7f2311c6a4f97aebd5dc86f09906139ec848cf3a46f" +dependencies = [ + "libloading", +] + +[[package]] +name = "async-broadcast" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "435a87a52755b8f27fcf321ac4f04b2802e337c8c4872923137471ec39c37532" +dependencies = [ + "event-listener", + "event-listener-strategy", + "futures-core", + "pin-project-lite", +] + +[[package]] +name = "async-channel" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "924ed96dd52d1b75e9c1a3e6275715fd320f5f9439fb5a4a11fa51f4221158d2" +dependencies = [ + "concurrent-queue", + "event-listener-strategy", + "futures-core", + "pin-project-lite", +] + +[[package]] +name = "async-executor" +version = "1.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c96bf972d85afc50bf5ab8fe2d54d1586b4e0b46c97c50a0c9e71e2f7bcd812a" +dependencies = [ + "async-task", + "concurrent-queue", + "fastrand", + "futures-lite", + "pin-project-lite", + "slab", +] + +[[package]] +name = "async-io" +version = "2.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "456b8a8feb6f42d237746d4b3e9a178494627745c3c56c6ea55d92ba50d026fc" +dependencies = [ + "autocfg", + "cfg-if", + "concurrent-queue", + "futures-io", + "futures-lite", + "parking", + "polling", + "rustix 1.1.5", + "slab", + "windows-sys 0.61.2", +] + +[[package]] +name = "async-lock" +version = "3.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "290f7f2596bd5b78a9fec8088ccd89180d7f9f55b94b0576823bbbdc72ee8311" +dependencies = [ + "event-listener", + "event-listener-strategy", + "pin-project-lite", +] + +[[package]] +name = "async-process" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc50921ec0055cdd8a16de48773bfeec5c972598674347252c0399676be7da75" +dependencies = [ + "async-channel", + "async-io", + "async-lock", + "async-signal", + "async-task", + "blocking", + "cfg-if", + "event-listener", + "futures-lite", + "rustix 1.1.5", +] + +[[package]] +name = "async-recursion" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "async-signal" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52b5aaafa020cf5053a01f2a60e8ff5dccf550f0f77ec54a4e47285ac2bab485" +dependencies = [ + "async-io", + "async-lock", + "atomic-waker", + "cfg-if", + "futures-core", + "futures-io", + "rustix 1.1.5", + "signal-hook-registry", + "slab", + "windows-sys 0.61.2", +] + +[[package]] +name = "async-task" +version = "4.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b75356056920673b02621b35afd0f7dda9306d03c79a30f5c56c44cf256e3de" + +[[package]] +name = "async-trait" +version = "0.1.92" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "82f6aeea286b8eb4dd3431a1be1b59d290ace00f5bfd8e2a159bc2a05e2c1667" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + +[[package]] +name = "atomic-waker" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" + +[[package]] +name = "atspi" +version = "0.29.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c77886257be21c9cd89a4ae7e64860c6f0eefca799bb79127913052bd0eefb3d" +dependencies = [ + "atspi-common", + "atspi-proxies", +] + +[[package]] +name = "atspi-common" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "20c5617155740c98003016429ad13fe43ce7a77b007479350a9f8bf95a29f63d" +dependencies = [ + "enumflags2", + "serde", + "static_assertions", + "zbus", + "zbus-lockstep", + "zbus-lockstep-macros", + "zbus_names", + "zvariant", +] + +[[package]] +name = "atspi-proxies" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2230e48787ed3eb4088996eab66a32ca20c0b67bbd4fd6cdfe79f04f1f04c9fc" +dependencies = [ + "atspi-common", + "serde", + "zbus", +] + +[[package]] +name = "autocfg" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53" + +[[package]] +name = "base64" +version = "0.22.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" + +[[package]] +name = "bit-set" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09ec2f926cc3060f09db9ebc5b52823d85268d24bb917e472c0c4bea35780a7d" +dependencies = [ + "bit-vec", +] + +[[package]] +name = "bit-vec" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b71798fca2c1fe1086445a7258a4bc81e6e49dcd24c8d0dd9a1e57395b603f51" + +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + +[[package]] +name = "bitflags" +version = "2.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ded4057c258ba199e2d26386d3af3780957ecaee6c4ef4041c6b4b8b97c0b06" + +[[package]] +name = "block-buffer" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2f6c7dbe95a6ed67ad9f18e57daf93a2f034c524b99fd2b76d18fdfeb6660aa" +dependencies = [ + "hybrid-array", +] + +[[package]] +name = "block-padding" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "710f1dd022ef4e93f8a438b4ba958de7f64308434fa6a87104481645cc30068b" +dependencies = [ + "hybrid-array", +] + +[[package]] +name = "block2" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c132eebf10f5cad5289222520a4a058514204aed6d791f1cf4fe8088b82d15f" +dependencies = [ + "objc2 0.5.2", +] + +[[package]] +name = "block2" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cdeb9d870516001442e364c5220d3574d2da8dc765554b4a617230d33fa58ef5" +dependencies = [ + "objc2 0.6.4", +] + +[[package]] +name = "blocking" +version = "1.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a70e4329df6cb94385eed412ec92375c3cdd8a6e502493d1229b6414e4036dfa" +dependencies = [ + "async-channel", + "async-task", + "futures-io", + "futures-lite", + "piper", +] + +[[package]] +name = "brotli" +version = "8.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5cc91aac060a7a1e25823bdccbfb6af1875b88f17c6daac97894eed8207166b3" +dependencies = [ + "alloc-no-stdlib", + "alloc-stdlib", + "brotli-decompressor", +] + +[[package]] +name = "brotli-decompressor" +version = "5.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a32acac15fe1967bc3986b2a6347dffc965602354ea6f450ad07e8bfd253583" +dependencies = [ + "alloc-no-stdlib", + "alloc-stdlib", +] + +[[package]] +name = "bumpalo" +version = "3.20.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72f5acc6cb2ba439de613abc23857ec3d78374d8ed5ac84e9d11336e87da8649" + +[[package]] +name = "bytemuck" +version = "1.25.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95832e849adfb21180ccb6826a99da14e5d266ae5c2e668e1602cf234f153797" +dependencies = [ + "bytemuck_derive", +] + +[[package]] +name = "bytemuck_derive" +version = "1.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a1f896587b6f2c069c73d2f0913e2d590c3990285cd2f0b6aa02b786b4c679c" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + +[[package]] +name = "byteorder-lite" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f1fe948ff07f4bd06c30984e69f5b4899c516a3ef74f34df92a2df2ab535495" + +[[package]] +name = "bytes" +version = "1.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc652a48c352aef3ea3aed32080501cf3ef6ed5da78602a020c991775b0aff04" + +[[package]] +name = "calloop" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b99da2f8558ca23c71f4fd15dc57c906239752dd27ff3c00a1d56b685b7cbfec" +dependencies = [ + "bitflags 2.13.2", + "log", + "polling", + "rustix 0.38.44", + "slab", + "thiserror 1.0.69", +] + +[[package]] +name = "calloop" +version = "0.14.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4dbf9978365bac10f54d1d4b04f7ce4427e51f71d61f2fe15e3fed5166474df7" +dependencies = [ + "bitflags 2.13.2", + "polling", + "rustix 1.1.5", + "slab", + "tracing", +] + +[[package]] +name = "calloop-wayland-source" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95a66a987056935f7efce4ab5668920b5d0dac4a7c99991a67395f13702ddd20" +dependencies = [ + "calloop 0.13.0", + "rustix 0.38.44", + "wayland-backend", + "wayland-client", +] + +[[package]] +name = "calloop-wayland-source" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "138efcf0940a02ebf0cc8d1eff41a1682a46b431630f4c52450d6265876021fa" +dependencies = [ + "calloop 0.14.4", + "rustix 1.1.5", + "wayland-backend", + "wayland-client", +] + +[[package]] +name = "cbc" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce2dc9ee5f88d11e0beb842c88b33c8a5cf0d1329c4b19494af42b07dbfe8896" +dependencies = [ + "cipher", +] + +[[package]] +name = "cc" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f360145194ee8e21db5ee7f3fcd4fe52210864c75c985dae33218202c8bbe040" +dependencies = [ + "find-msvc-tools", + "jobserver", + "libc", + "shlex", +] + +[[package]] +name = "cfg-if" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e7648175b45a9a48536d676f68d918270699102aa8dab5496df06904c914600" + +[[package]] +name = "cfg_aliases" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f079e83a288787bcd14a6aea84cee5c87a67c5a3e660c30f557a3d24761b3527" + +[[package]] +name = "cgl" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ced0551234e87afee12411d535648dd89d2e7f34c78b753395567aff3d447ff" +dependencies = [ + "libc", +] + +[[package]] +name = "chacha20" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "65c35e4b699c7e15ccbe7ee35c005e4fc0a278d22238a2857e6ce2dadeda1b06" +dependencies = [ + "cfg-if", + "cpufeatures", + "rand_core", +] + +[[package]] +name = "chrono" +version = "0.4.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1aa79e62e7697b8e29b513a68abacf485adcd1fe8284a4316c5ae868e6633327" +dependencies = [ + "iana-time-zone", + "num-traits", + "windows-link", +] + +[[package]] +name = "cipher" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e8cf2a2c93cd704877c0858356ed03480ff301ee950b43f1cbe4573b088bfa6c" +dependencies = [ + "crypto-common", + "inout", +] + +[[package]] +name = "clipboard-win" +version = "5.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bde03770d3df201d4fb868f2c9c59e66a3e4e2bd06692a0fe701e7103c7e84d4" +dependencies = [ + "error-code", +] + +[[package]] +name = "codespan-reporting" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af491d569909a7e4dee0ad7db7f5341fef5c614d5b8ec8cf765732aba3cff681" +dependencies = [ + "serde", + "termcolor", + "unicode-width", +] + +[[package]] +name = "color" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2ec7c5eb7a16992b1904d76c517d170ab353b0e0b3d5a0c81a8a0cd1037893cf" +dependencies = [ + "bytemuck", +] + +[[package]] +name = "combine" +version = "4.6.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfc320937d09e6de266b31b9afb480f197d7a861be86be7cb2ea7e5d1bfffc5e" +dependencies = [ + "bytes", + "memchr", +] + +[[package]] +name = "concurrent-queue" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "const-oid" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a6ef517f0926dd24a1582492c791b6a4818a4d94e789a334894aa15b0d12f55c" + +[[package]] +name = "core-foundation" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "core-foundation-sys" +version = "0.8.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" + +[[package]] +name = "core-graphics" +version = "0.23.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c07782be35f9e1140080c6b96f0d44b739e2278479f64e02fdab4e32dfd8b081" +dependencies = [ + "bitflags 1.3.2", + "core-foundation", + "core-graphics-types", + "foreign-types", + "libc", +] + +[[package]] +name = "core-graphics-types" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "45390e6114f68f718cc7a830514a96f903cccd70d02a8f6d9f643ac4ba45afaf" +dependencies = [ + "bitflags 1.3.2", + "core-foundation", + "libc", +] + +[[package]] +name = "core_detect" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f8f80099a98041a3d1622845c271458a2d73e688351bf3cb999266764b81d48" + +[[package]] +name = "cpubits" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15b85f9c39137c3a891689859392b1bd49812121d0d61c9caf00d46ed5ce06ae" + +[[package]] +name = "cpufeatures" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ca28b0ae3115b884660db4118d803791fd6756b6e88f39c0f3f7859060d7566" +dependencies = [ + "libc", +] + +[[package]] +name = "crc32fast" +version = "1.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01a7799fd6b852db0e61728dde9a204c423b44d689dbd432522543614b490e78" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "crossbeam-deque" +version = "0.8.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "622f3fc73690be383c7214310406f28a90e6edeadc3cea882f9d71e495b9711a" +dependencies = [ + "crossbeam-epoch", + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-epoch" +version = "0.9.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc74980687109a3b14c72fd458107bf0baa1da1a1a805e178d15501ba9b86d9d" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-utils" +version = "0.8.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a31eee39dddec8330830986fcd7625edb5a24ec90ea038215273bbc3adb08ac6" + +[[package]] +name = "crunchy" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" + +[[package]] +name = "crypto-common" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce6e4c961d6cd6c9a86db418387425e8bdeaf05b3c8bc1411e6dca4c252f1453" +dependencies = [ + "hybrid-array", +] + +[[package]] +name = "cursor-icon" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f27ae1dd37df86211c42e150270f82743308803d90a6f6e6651cd730d5e1732f" + +[[package]] +name = "data-url" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be1e0bca6c3637f992fc1cc7cbc52a78c1ef6db076dbf1059c4323d6a2048376" + +[[package]] +name = "digest" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1dd6dbb5841937940781866fa1281a1ff7bd3bf827091440879f9994983d5c2" +dependencies = [ + "block-buffer", + "const-oid", + "crypto-common", +] + +[[package]] +name = "dispatch" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd0c93bb4b0c6d9b77f4435b0ae98c24d17f1c45b2ff844c6151a07256ca923b" + +[[package]] +name = "dispatch2" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e0e367e4e7da84520dedcac1901e4da967309406d1e51017ae1abfb97adbd38" +dependencies = [ + "bitflags 2.13.2", + "block2 0.6.2", + "libc", + "objc2 0.6.4", +] + +[[package]] +name = "dlib" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab8ecd87370524b461f8557c119c405552c396ed91fc0a8eec68679eab26f94a" +dependencies = [ + "libloading", +] + +[[package]] +name = "document-features" +version = "0.2.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4b8a88685455ed29a21542a33abd9cb6510b6b129abadabdcef0f4c55bc8f61" +dependencies = [ + "litrs", +] + +[[package]] +name = "downcast-rs" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2" + +[[package]] +name = "dpi" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8b14ccef22fc6f5a8f4d7d768562a182c04ce9a3b3157b91390b52ddfdf1a76" + +[[package]] +name = "ecb" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26f2a8b3e564eba0877223dc343703ad0385794e882e6d13f3a4dd5c6b1f41ac" +dependencies = [ + "cipher", +] + +[[package]] +name = "ecolor" +version = "0.36.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0656a7530b9e2841ee7a5f983965bdd9840c32f4012f759cfd44b912cced6b34" +dependencies = [ + "bytemuck", + "emath", +] + +[[package]] +name = "eframe" +version = "0.36.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55ad41fac6e3149abb4866e93df37dbd33baa95db525c3368c944584e95a5dc2" +dependencies = [ + "ahash", + "bytemuck", + "document-features", + "egui", + "egui-wgpu", + "egui-winit", + "egui_glow", + "glutin", + "glutin-winit", + "image", + "js-sys", + "log", + "objc2 0.6.4", + "objc2-app-kit 0.3.2", + "objc2-foundation 0.3.2", + "parking_lot", + "percent-encoding", + "pollster 1.0.1", + "profiling", + "raw-window-handle", + "static_assertions", + "wasm-bindgen", + "web-sys", + "web-time", + "wgpu", + "windows-sys 0.61.2", + "winit", +] + +[[package]] +name = "egui" +version = "0.36.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc938cc27cd911415e1e4d151bc56ff9df063d8db081374e87aeb805ea74b2ba" +dependencies = [ + "accesskit", + "ahash", + "bitflags 2.13.2", + "emath", + "epaint", + "itertools", + "log", + "nohash-hasher", + "profiling", + "smallvec", + "unicode-segmentation", + "web-sys", +] + +[[package]] +name = "egui-wgpu" +version = "0.36.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5cef1f6d1bba40b09a4d0d62cb822b81030922cfbf65c5373398c3a3caafc5bd" +dependencies = [ + "ahash", + "bytemuck", + "document-features", + "egui", + "epaint", + "log", + "profiling", + "thiserror 2.0.21", + "type-map", + "web-time", + "wgpu", + "winit", +] + +[[package]] +name = "egui-winit" +version = "0.36.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "98466000559d66ba4db786a30448b01483946add4188e7f10f522a27b4fb89cc" +dependencies = [ + "accesskit_winit", + "arboard", + "bytemuck", + "egui", + "log", + "objc2 0.6.4", + "objc2-foundation 0.3.2", + "objc2-ui-kit 0.3.2", + "profiling", + "raw-window-handle", + "smithay-clipboard", + "web-time", + "winit", +] + +[[package]] +name = "egui_extras" +version = "0.36.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05cbdc785020861553f230f23d330ba1fb72613b9d8e0e457f3bdc8ba6db6dcf" +dependencies = [ + "ahash", + "egui", + "enum-map", + "itertools", + "log", + "profiling", + "resvg", +] + +[[package]] +name = "egui_glow" +version = "0.36.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "606ed4167daf341e5753d703285c4c1d562324b2c07aa8f405cd7d066fe58f3b" +dependencies = [ + "bytemuck", + "egui", + "glow", + "log", + "profiling", + "winit", +] + +[[package]] +name = "either" +version = "1.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "252afb9ae5eaa683babdc6a068b3f5726eb19e05070c731f9b2a23a7c3e8ed34" + +[[package]] +name = "emath" +version = "0.36.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52c8d4141cf0f60fb2f7aefaf352d3ffa5171ef0ab09731c64391801e95e48f1" +dependencies = [ + "bytemuck", +] + +[[package]] +name = "encoding_rs" +version = "0.8.42" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e985e0451871ad22fb8d2b6b076e2028a502a0d3950998c2c5c0a4f9b5d9679" +dependencies = [ + "cfg-if", + "core_detect", + "multiversion_no_op", + "rustversion", + "scopeguard", + "simdutf8", +] + +[[package]] +name = "endi" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "66b7e2430c6dff6a955451e2cfc438f09cea1965a9d6f87f7e3b90decc014099" + +[[package]] +name = "enum-map" +version = "2.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6866f3bfdf8207509a033af1a75a7b08abda06bbaaeae6669323fd5a097df2e9" +dependencies = [ + "enum-map-derive", +] + +[[package]] +name = "enum-map-derive" +version = "0.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f282cfdfe92516eb26c2af8589c274c7c17681f5ecc03c18255fe741c6aa64eb" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "enumflags2" +version = "0.7.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1027f7680c853e056ebcec683615fb6fbbc07dbaa13b4d5d9442b146ded4ecef" +dependencies = [ + "enumflags2_derive", + "serde", +] + +[[package]] +name = "enumflags2_derive" +version = "0.7.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67c78a4d8fdf9953a5c9d458f9efe940fd97a0cab0941c075a813ac594733827" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "epaint" +version = "0.36.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0ec0308dc23130fc1a7d4623a8534c2ed069c6dc84e258ee4f3de99615aa1a3" +dependencies = [ + "ahash", + "bytemuck", + "ecolor", + "emath", + "epaint_default_fonts", + "font-types 0.12.5", + "harfrust", + "log", + "nohash-hasher", + "parking_lot", + "profiling", + "self_cell", + "skrifa 0.44.0", + "smallvec", + "unicode-general-category", + "unicode-segmentation", + "vello_cpu 0.1.0", +] + +[[package]] +name = "epaint_default_fonts" +version = "0.36.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "773fa9c96dd0dbef887e39d0ed6177f141cce4d68e6041df77570aa3702dfa13" + +[[package]] +name = "equivalent" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" + +[[package]] +name = "errno" +version = "0.3.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" +dependencies = [ + "libc", + "windows-sys 0.61.2", +] + +[[package]] +name = "error-code" +version = "3.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b5343afd4a8365a643ac588dab4cf234a190c7f6c88c9f6dd6ffe00837661b7" + +[[package]] +name = "euclid" +version = "0.22.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1a05365e3b1c6d1650318537c7460c6923f1abdd272ad6842baa2b509957a06" +dependencies = [ + "num-traits", +] + +[[package]] +name = "event-listener" +version = "5.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a23add41df1562121a9393cb065eab5146a1242410f23a644851e90cfd669d2" +dependencies = [ + "parking", + "pin-project-lite", +] + +[[package]] +name = "event-listener-strategy" +version = "0.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8be9f3dfaaffdae2972880079a491a1a8bb7cbed0b8dd7a347f668b4150a3b93" +dependencies = [ + "event-listener", + "pin-project-lite", +] + +[[package]] +name = "fastrand" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da7c62ceae207dd37ea5b845da6a0696c799f85e97da1ab5b7910be3c1c80223" + +[[package]] +name = "fax" +version = "0.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "caf1079563223d5d59d83c85886a56e586cfd5c1a26292e971a0fa266531ac5a" + +[[package]] +name = "fdeflate" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e6853b52649d4ac5c0bd02320cddc5ba956bdb407c4b75a2c6b75bf51500f8c" +dependencies = [ + "simd-adler32", +] + +[[package]] +name = "fearless_simd" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b97b65636e5b9ef369943878ac74335ba1c55c1cb6adbf1e2c293c624248d693" + +[[package]] +name = "find-msvc-tools" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aedcfb3409746eddb02b9e19ebda1c3394f759a152e48ee875a0844d1b955484" + +[[package]] +name = "flate2" +version = "1.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e634e2e0ebac1ee034020da1ca582e17ffe4e0f5e985823721e168928136dcb" +dependencies = [ + "crc32fast", + "miniz_oxide 0.9.1", + "zlib-rs", +] + +[[package]] +name = "float-cmp" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "98de4bbd547a563b716d8dfa9aad1cb19bfab00f4fa09a6a4ed21dbcf44ce9c4" + +[[package]] +name = "foldhash" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb" + +[[package]] +name = "font-types" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b38ad915f6dadd993ced50848a8291a543bd41ca62bc10740d5e64e2ab4cfd7" +dependencies = [ + "bytemuck", +] + +[[package]] +name = "font-types" +version = "0.12.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8eb065f3251655b3c90e22e5e363f310fc5332fb3402e37bbc94752283248f6" +dependencies = [ + "bytemuck", +] + +[[package]] +name = "foreign-types" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d737d9aa519fb7b749cbc3b962edcf310a8dd1f4b67c91c4f83975dbdd17d965" +dependencies = [ + "foreign-types-macros", + "foreign-types-shared", +] + +[[package]] +name = "foreign-types-macros" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea5190182e6915eb873ddbc16e23b711b6eb1f9c00a0d0a3a91b5f6228475225" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + +[[package]] +name = "foreign-types-shared" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa9a19cbb55df58761df49b23516a86d432839add4af60fc256da840f66ed35b" + +[[package]] +name = "futures-core" +version = "0.3.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92d699e522242e69e3003b94ecc1f960f3a5e015aa7c5d7486e65ad01dd94f5e" + +[[package]] +name = "futures-io" +version = "0.3.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53c0fa8157de1303bfffdaa1cc2a673bfffb60102f76b0ef4441659124373fed" + +[[package]] +name = "futures-lite" +version = "2.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f78e10609fe0e0b3f4157ffab1876319b5b0db102a2c60dc4626306dc46b44ad" +dependencies = [ + "fastrand", + "futures-core", + "futures-io", + "parking", + "pin-project-lite", +] + +[[package]] +name = "futures-macro" +version = "0.3.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9fb9654ba8355388abeb8dcb4fc62f511300867002afc858860463bdd9fe0c44" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + +[[package]] +name = "futures-task" +version = "0.3.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd417de3d1d015fc3bfd2b1ea46dfc7bab72ef86f1cc7cc9c78e728b34a6d1fd" + +[[package]] +name = "futures-util" +version = "0.3.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d50a92467f8ba5dd6e3ee5d4bd04d73ab2e4e1c44474a0674821dfce14b79bc" +dependencies = [ + "futures-core", + "futures-macro", + "futures-task", + "pin-project-lite", + "slab", +] + +[[package]] +name = "gethostname" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bd49230192a3797a9a4d6abe9b3eed6f7fa4c8a8a4947977c6f80025f92cbd8" +dependencies = [ + "rustix 1.1.5", + "windows-link", +] + +[[package]] +name = "getrandom" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd" +dependencies = [ + "cfg-if", + "libc", + "r-efi 5.3.0", + "wasip2", +] + +[[package]] +name = "getrandom" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "300e883d756b2e4ec94e02791f39b04b522276138852cfc41d9fb7e904106099" +dependencies = [ + "cfg-if", + "libc", + "r-efi 6.0.0", + "rand_core", +] + +[[package]] +name = "gl_generator" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a95dfc23a2b4a9a2f5ab41d194f8bfda3cabec42af4e39f08c339eb2a0c124d" +dependencies = [ + "khronos_api", + "log", + "xml-rs", +] + +[[package]] +name = "glifo" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d99fc21d493812643aae86d53b7bbd02f376434a90317e8a790bc209fdd6605e" +dependencies = [ + "bytemuck", + "foldhash", + "hashbrown 0.17.1", + "log", + "peniko", + "png 0.18.1", + "skrifa 0.42.1", + "smallvec", + "vello_common 0.0.9", +] + +[[package]] +name = "glifo" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed4a1bb24121291d27230c1b1b44e07d6a9b28cefdb32fe1581dfb84e14f940a" +dependencies = [ + "bytemuck", + "foldhash", + "hashbrown 0.17.1", + "log", + "peniko", + "skrifa 0.44.0", + "smallvec", + "vello_common 0.1.0", +] + +[[package]] +name = "glow" +version = "0.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29038e1c483364cc6bb3cf78feee1816002e127c331a1eec55a4d202b9e1adb5" +dependencies = [ + "js-sys", + "slotmap", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "glutin" +version = "0.32.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12124de845cacfebedff80e877bb37b5b75c34c5a4c89e47e1cdd67fb6041325" +dependencies = [ + "bitflags 2.13.2", + "cfg_aliases", + "cgl", + "dispatch2", + "glutin_egl_sys", + "glutin_glx_sys", + "glutin_wgl_sys", + "libloading", + "objc2 0.6.4", + "objc2-app-kit 0.3.2", + "objc2-core-foundation", + "objc2-foundation 0.3.2", + "once_cell", + "raw-window-handle", + "wayland-sys", + "windows-sys 0.52.0", + "x11-dl", +] + +[[package]] +name = "glutin-winit" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85edca7075f8fc728f28cb8fbb111a96c3b89e930574369e3e9c27eb75d3788f" +dependencies = [ + "cfg_aliases", + "glutin", + "raw-window-handle", + "winit", +] + +[[package]] +name = "glutin_egl_sys" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c4680ba6195f424febdc3ba46e7a42a0e58743f2edb115297b86d7f8ecc02d2" +dependencies = [ + "gl_generator", + "windows-sys 0.52.0", +] + +[[package]] +name = "glutin_glx_sys" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a7bb2938045a88b612499fbcba375a77198e01306f52272e692f8c1f3751185" +dependencies = [ + "gl_generator", + "x11-dl", +] + +[[package]] +name = "glutin_wgl_sys" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c4ee00b289aba7a9e5306d57c2d05499b2e5dc427f84ac708bd2c090212cf3e" +dependencies = [ + "gl_generator", +] + +[[package]] +name = "gpu-allocator" +version = "0.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51255ea7cfaadb6c5f1528d43e92a82acb2b96c43365989a28b2d44ee38f8795" +dependencies = [ + "ash", + "hashbrown 0.16.1", + "log", + "presser", + "thiserror 2.0.21", + "windows", +] + +[[package]] +name = "guillotiere" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b17e70c989c36bad147b27a58d148c0741c51448aa5653436547323e524d0ab" +dependencies = [ + "euclid", +] + +[[package]] +name = "half" +version = "2.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b" +dependencies = [ + "cfg-if", + "crunchy", + "num-traits", + "zerocopy", +] + +[[package]] +name = "harfrust" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c03d949a14aa089bbb282f7dd76a498a7f684428e4257202efc119ec010376f9" +dependencies = [ + "bitflags 2.13.2", + "bytemuck", + "read-fonts 0.41.0", + "smallvec", +] + +[[package]] +name = "hashbrown" +version = "0.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100" +dependencies = [ + "allocator-api2", + "equivalent", + "foldhash", +] + +[[package]] +name = "hashbrown" +version = "0.17.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed5909b6e89a2db4456e54cd5f673791d7eca6732202bbf2a9cc504fe2f9b84a" +dependencies = [ + "foldhash", +] + +[[package]] +name = "hayro" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4caa128ab87fd48ffb7490617cf93f77f606820dffbc9fd9ef6ab0ed077f56d" +dependencies = [ + "bytemuck", + "hayro-interpret", + "image", + "kurbo 0.13.1", + "pic-scale", + "vello_cpu 0.0.8", +] + +[[package]] +name = "hayro-ccitt" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f4d0e94ddd48749f06bbe4e5389fb9799a0c45bcaf00495042076ef05e3241a" + +[[package]] +name = "hayro-cmap" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24d285dc30731c8485de5fa732fbdf2b3affdf01e4da7c2135022ca6fa664bf6" +dependencies = [ + "brotli", + "hayro-postscript", +] + +[[package]] +name = "hayro-interpret" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2613d0406898995042d0794c4245b2f2fba1246490c8ac593769bba6551129d" +dependencies = [ + "bitflags 2.13.2", + "hayro-cmap", + "hayro-syntax", + "kurbo 0.13.1", + "moxcms", + "phf", + "rustc-hash 2.1.3", + "siphasher", + "skrifa 0.42.1", + "smallvec", + "yoke", +] + +[[package]] +name = "hayro-jbig2" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69374b3668dd45aeb3d3145cda68f2c7b4f223aaa2511e67d076f1c7d741388d" +dependencies = [ + "fearless_simd", + "hayro-ccitt", +] + +[[package]] +name = "hayro-jpeg2000" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c75ab947623ef4ccaa7acf0579edf7cbb5a73838e3839a7be73335e522f433a1" +dependencies = [ + "fearless_simd", +] + +[[package]] +name = "hayro-postscript" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "885c5ef0654933139a9b9546fc2c69e18d37f38aa2520f079092b1be18f1fcaa" + +[[package]] +name = "hayro-syntax" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0edeafd70aa2db743de8ede8637d07ec87db05efe69cde371d03f1b185fcef27" +dependencies = [ + "flate2", + "hayro-ccitt", + "hayro-jbig2", + "hayro-jpeg2000", + "memchr", + "rustc-hash 2.1.3", + "smallvec", + "zune-jpeg", +] + +[[package]] +name = "hermit-abi" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e17592d60ebacc7d5e169f4663c5f84f9161cc90328abcfe8456f41e4dfcb284" + +[[package]] +name = "hex" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" + +[[package]] +name = "hybrid-array" +version = "0.4.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "27f864f10dfb56725ce5ce5472bc52252c8f93a4ab86327122cebf62c5f59a17" +dependencies = [ + "typenum", +] + +[[package]] +name = "iana-time-zone" +version = "0.1.65" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e31bc9ad994ba00e440a8aa5c9ef0ec67d5cb5e5cb0cc7f8b744a35b389cc470" +dependencies = [ + "android_system_properties", + "core-foundation-sys", + "iana-time-zone-haiku", + "js-sys", + "log", + "wasm-bindgen", + "windows-core", +] + +[[package]] +name = "iana-time-zone-haiku" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" +dependencies = [ + "cc", +] + +[[package]] +name = "image" +version = "0.25.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85ab80394333c02fe689eaf900ab500fbd0c2213da414687ebf995a65d5a6104" +dependencies = [ + "bytemuck", + "byteorder-lite", + "moxcms", + "num-traits", + "png 0.18.1", + "tiff", +] + +[[package]] +name = "imagesize" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "edcd27d72f2f071c64249075f42e205ff93c9a4c5f6c6da53e79ed9f9832c285" + +[[package]] +name = "indexmap" +version = "2.14.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc4e190f5d26ca7051642629da2c52fc03bde85a03197c99408dcd291734c855" +dependencies = [ + "equivalent", + "hashbrown 0.17.1", +] + +[[package]] +name = "inout" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4250ce6452e92010fdf7268ccc5d14faa80bb12fc741938534c58f16804e03c7" +dependencies = [ + "block-padding", + "hybrid-array", +] + +[[package]] +name = "itertools" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b4baf93f58d4425749ca49a51c50ebab072c5df6994d08fed93541c331481dc" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" + +[[package]] +name = "jni" +version = "0.22.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5efd9a482cf3a427f00d6b35f14332adc7902ce91efb778580e180ff90fa3498" +dependencies = [ + "cfg-if", + "combine", + "jni-macros", + "jni-sys 0.4.1", + "log", + "simd_cesu8", + "thiserror 2.0.21", + "walkdir", + "windows-link", +] + +[[package]] +name = "jni-macros" +version = "0.22.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a00109accc170f0bdb141fed3e393c565b6f5e072365c3bd58f5b062591560a3" +dependencies = [ + "proc-macro2", + "quote", + "rustc_version", + "simd_cesu8", + "syn 2.0.119", +] + +[[package]] +name = "jni-sys" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41a652e1f9b6e0275df1f15b32661cf0d4b78d4d87ddec5e0c3c20f097433258" +dependencies = [ + "jni-sys 0.4.1", +] + +[[package]] +name = "jni-sys" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6377a88cb3910bee9b0fa88d4f42e1d2da8e79915598f65fb0c7ee14c878af2" +dependencies = [ + "jni-sys-macros", +] + +[[package]] +name = "jni-sys-macros" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38c0b942f458fe50cdac086d2f946512305e5631e720728f2a61aabcd47a6264" +dependencies = [ + "quote", + "syn 2.0.119", +] + +[[package]] +name = "jobserver" +version = "0.1.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c00acbd29eabad4a2392fa0e921c874934dbbf4194312ad20f04a0ed67a3cb3" +dependencies = [ + "getrandom 0.4.3", + "libc", +] + +[[package]] +name = "js-sys" +version = "0.3.106" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7883d941dae510fb2d978fc3fe018c71c9e2892fd38854de3e8b92c2e5ad9cc5" +dependencies = [ + "cfg-if", + "futures-util", + "wasm-bindgen", +] + +[[package]] +name = "khronos-egl" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6aae1df220ece3c0ada96b8153459b67eebe9ae9212258bb0134ae60416fdf76" +dependencies = [ + "libc", + "libloading", + "pkg-config", +] + +[[package]] +name = "khronos_api" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2db585e1d738fc771bf08a151420d3ed193d9d895a36df7f6f8a9456b911ddc" + +[[package]] +name = "kurbo" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c62026ae44756f8a599ba21140f350303d4f08dcdcc71b5ad9c9bb8128c13c62" +dependencies = [ + "arrayvec", + "euclid", + "smallvec", +] + +[[package]] +name = "kurbo" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b60dfc32f652b926df6192e55525b16d186c69d47876c3ead4da5cc9f8450e2" +dependencies = [ + "arrayvec", + "euclid", + "polycool", + "smallvec", +] + +[[package]] +name = "libc" +version = "0.2.189" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3eaf3ede3fee6db1a4c2ee091bf8a8b4dccdc6d17f656fb07896ee72867612f2" + +[[package]] +name = "libloading" +version = "0.8.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7c4b02199fee7c5d21a5ae7d8cfa79a6ef5bb2fc834d6e9058e89c825efdc55" +dependencies = [ + "cfg-if", + "windows-link", +] + +[[package]] +name = "libm" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981" + +[[package]] +name = "libredox" +version = "0.1.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61ff90caf6077a803a240f62fdbe88645a890bbca49ef8174c3cb0404362171d" +dependencies = [ + "bitflags 2.13.2", + "libc", + "plain", + "redox_syscall 0.9.4", +] + +[[package]] +name = "linebender_resource_handle" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4a5ff6bcca6c4867b1c4fd4ef63e4db7436ef363e0ad7531d1558856bae64f4" + +[[package]] +name = "linux-raw-sys" +version = "0.4.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab" + +[[package]] +name = "linux-raw-sys" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32a66949e030da00e8c7d4434b251670a91556f4144941d37452769c25d58a53" + +[[package]] +name = "litrs" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11d3d7f243d5c5a8b9bb5d6dd2b1602c0cb0b9db1621bafc7ed66e35ff9fe092" + +[[package]] +name = "lock_api" +version = "0.4.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965" +dependencies = [ + "scopeguard", +] + +[[package]] +name = "log" +version = "0.4.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9f8bd3e56ce4dfc153cf470fffbfa98c7620958b312ca5c3a4b8d5181fd13c6" + +[[package]] +name = "lopdf" +version = "0.45.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfffda0fe1ab0157e1a13c14bebd3f28671f2fccb7922f0722ec53926e6922d3" +dependencies = [ + "aes", + "bitflags 2.13.2", + "brotli-decompressor", + "cbc", + "chrono", + "ecb", + "encoding_rs", + "flate2", + "getrandom 0.4.3", + "indexmap", + "itoa", + "log", + "md-5", + "nom", + "rand", + "rangemap", + "rayon", + "sha2", + "stringprep", + "thiserror 2.0.21", + "weezl 0.2.1", +] + +[[package]] +name = "md-5" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69b6441f590336821bb897fb28fc622898ccceb1d6cea3fde5ea86b090c4de98" +dependencies = [ + "cfg-if", + "digest", +] + +[[package]] +name = "memchr" +version = "2.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98" + +[[package]] +name = "memmap2" +version = "0.9.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1219ed1b7f229ee7104d281dd01d6802fe28bb6e95d292942c4daacdeb798c0" +dependencies = [ + "libc", +] + +[[package]] +name = "memoffset" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a" +dependencies = [ + "autocfg", +] + +[[package]] +name = "miniz_oxide" +version = "0.8.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" +dependencies = [ + "adler2", + "simd-adler32", +] + +[[package]] +name = "miniz_oxide" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b63fbc4a50860e98e7b2aa7804ded1db5cbc3aff9193adaff57a6931bf7c4b4c" +dependencies = [ + "adler2", + "simd-adler32", +] + +[[package]] +name = "moxcms" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb85c154ba489f01b25c0d36ae69a87e4a1c73a72631fc6c0eb6dde34a73e44b" +dependencies = [ + "num-traits", + "pxfm", +] + +[[package]] +name = "multiversion_no_op" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "743fb55ba31b18fb1ecef6bdc9aa2743314978ac084044301a7eee33fb99a20d" + +[[package]] +name = "naga" +version = "30.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a616d2fb8c89516ac2723a581f69d6c18576046bed761bd6b305e5618e6ae130" +dependencies = [ + "arrayvec", + "bit-set", + "bitflags 2.13.2", + "cfg-if", + "cfg_aliases", + "codespan-reporting", + "half", + "hashbrown 0.17.1", + "indexmap", + "libm", + "log", + "naga-types", + "num-traits", + "once_cell", + "rustc-hash 1.1.0", + "spirv", + "thiserror 2.0.21", + "unicode-ident", +] + +[[package]] +name = "naga-types" +version = "30.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "590afbf58a6f4f62873cd5cff4468061844bafa1cdf399cc954537c22d768d49" +dependencies = [ + "hashbrown 0.17.1", + "indexmap", + "rustc-hash 1.1.0", + "thiserror 2.0.21", +] + +[[package]] +name = "ndk" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3f42e7bbe13d351b6bead8286a43aac9534b82bd3cc43e47037f012ebfd62d4" +dependencies = [ + "bitflags 2.13.2", + "jni-sys 0.3.1", + "log", + "ndk-sys", + "num_enum", + "raw-window-handle", + "thiserror 1.0.69", +] + +[[package]] +name = "ndk-context" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "27b02d87554356db9e9a873add8782d4ea6e3e58ea071a9adb9a2e8ddb884a8b" + +[[package]] +name = "ndk-sys" +version = "0.6.0+11769913" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee6cda3051665f1fb8d9e08fc35c96d5a244fb1be711a03b71118828afc9a873" +dependencies = [ + "jni-sys 0.3.1", +] + +[[package]] +name = "nohash-hasher" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2bf50223579dc7cdcfb3bfcacf7069ff68243f8c363f62ffa99cf000a6b9c451" + +[[package]] +name = "nom" +version = "8.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df9761775871bdef83bee530e60050f7e54b1105350d6884eb0fb4f46c2f9405" +dependencies = [ + "memchr", +] + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", + "libm", +] + +[[package]] +name = "num_enum" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d0bca838442ec211fa11de3a8b0e0e8f3a4522575b5c4c06ed722e005036f26" +dependencies = [ + "num_enum_derive", + "rustversion", +] + +[[package]] +name = "num_enum_derive" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "680998035259dcfcafe653688bf2aa6d3e2dc05e98be6ab46afb089dc84f1df8" +dependencies = [ + "proc-macro-crate", + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "objc-sys" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cdb91bdd390c7ce1a8607f35f3ca7151b65afc0ff5ff3b34fa350f7d7c7e4310" + +[[package]] +name = "objc2" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46a785d4eeff09c14c487497c162e92766fbb3e4059a71840cecc03d9a50b804" +dependencies = [ + "objc-sys", + "objc2-encode", +] + +[[package]] +name = "objc2" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a12a8ed07aefc768292f076dc3ac8c48f3781c8f2d5851dd3d98950e8c5a89f" +dependencies = [ + "objc2-encode", +] + +[[package]] +name = "objc2-app-kit" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e4e89ad9e3d7d297152b17d39ed92cd50ca8063a89a9fa569046d41568891eff" +dependencies = [ + "bitflags 2.13.2", + "block2 0.5.1", + "libc", + "objc2 0.5.2", + "objc2-core-data", + "objc2-core-image", + "objc2-foundation 0.2.2", + "objc2-quartz-core 0.2.2", +] + +[[package]] +name = "objc2-app-kit" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d49e936b501e5c5bf01fda3a9452ff86dc3ea98ad5f283e1455153142d97518c" +dependencies = [ + "bitflags 2.13.2", + "block2 0.6.2", + "objc2 0.6.4", + "objc2-core-foundation", + "objc2-core-graphics", + "objc2-foundation 0.3.2", +] + +[[package]] +name = "objc2-cloud-kit" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74dd3b56391c7a0596a295029734d3c1c5e7e510a4cb30245f8221ccea96b009" +dependencies = [ + "bitflags 2.13.2", + "block2 0.5.1", + "objc2 0.5.2", + "objc2-core-location", + "objc2-foundation 0.2.2", +] + +[[package]] +name = "objc2-contacts" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a5ff520e9c33812fd374d8deecef01d4a840e7b41862d849513de77e44aa4889" +dependencies = [ + "block2 0.5.1", + "objc2 0.5.2", + "objc2-foundation 0.2.2", +] + +[[package]] +name = "objc2-core-data" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "617fbf49e071c178c0b24c080767db52958f716d9eabdf0890523aeae54773ef" +dependencies = [ + "bitflags 2.13.2", + "block2 0.5.1", + "objc2 0.5.2", + "objc2-foundation 0.2.2", +] + +[[package]] +name = "objc2-core-foundation" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a180dd8642fa45cdb7dd721cd4c11b1cadd4929ce112ebd8b9f5803cc79d536" +dependencies = [ + "bitflags 2.13.2", + "dispatch2", + "objc2 0.6.4", +] + +[[package]] +name = "objc2-core-graphics" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e022c9d066895efa1345f8e33e584b9f958da2fd4cd116792e15e07e4720a807" +dependencies = [ + "bitflags 2.13.2", + "dispatch2", + "objc2 0.6.4", + "objc2-core-foundation", + "objc2-io-surface", +] + +[[package]] +name = "objc2-core-image" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55260963a527c99f1819c4f8e3b47fe04f9650694ef348ffd2227e8196d34c80" +dependencies = [ + "block2 0.5.1", + "objc2 0.5.2", + "objc2-foundation 0.2.2", + "objc2-metal 0.2.2", +] + +[[package]] +name = "objc2-core-location" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "000cfee34e683244f284252ee206a27953279d370e309649dc3ee317b37e5781" +dependencies = [ + "block2 0.5.1", + "objc2 0.5.2", + "objc2-contacts", + "objc2-foundation 0.2.2", +] + +[[package]] +name = "objc2-encode" +version = "4.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef25abbcd74fb2609453eb695bd2f860d389e457f67dc17cafc8b8cbc89d0c33" + +[[package]] +name = "objc2-foundation" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ee638a5da3799329310ad4cfa62fbf045d5f56e3ef5ba4149e7452dcf89d5a8" +dependencies = [ + "bitflags 2.13.2", + "block2 0.5.1", + "dispatch", + "libc", + "objc2 0.5.2", +] + +[[package]] +name = "objc2-foundation" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3e0adef53c21f888deb4fa59fc59f7eb17404926ee8a6f59f5df0fd7f9f3272" +dependencies = [ + "bitflags 2.13.2", + "block2 0.6.2", + "objc2 0.6.4", + "objc2-core-foundation", +] + +[[package]] +name = "objc2-io-surface" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "180788110936d59bab6bd83b6060ffdfffb3b922ba1396b312ae795e1de9d81d" +dependencies = [ + "bitflags 2.13.2", + "objc2 0.6.4", + "objc2-core-foundation", +] + +[[package]] +name = "objc2-link-presentation" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1a1ae721c5e35be65f01a03b6d2ac13a54cb4fa70d8a5da293d7b0020261398" +dependencies = [ + "block2 0.5.1", + "objc2 0.5.2", + "objc2-app-kit 0.2.2", + "objc2-foundation 0.2.2", +] + +[[package]] +name = "objc2-metal" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd0cba1276f6023976a406a14ffa85e1fdd19df6b0f737b063b95f6c8c7aadd6" +dependencies = [ + "bitflags 2.13.2", + "block2 0.5.1", + "objc2 0.5.2", + "objc2-foundation 0.2.2", +] + +[[package]] +name = "objc2-metal" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0125f776a10d00af4152d74616409f0d4a2053a6f57fa5b7d6aa2854ac04794" +dependencies = [ + "bitflags 2.13.2", + "block2 0.6.2", + "objc2 0.6.4", + "objc2-foundation 0.3.2", +] + +[[package]] +name = "objc2-quartz-core" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e42bee7bff906b14b167da2bac5efe6b6a07e6f7c0a21a7308d40c960242dc7a" +dependencies = [ + "bitflags 2.13.2", + "block2 0.5.1", + "objc2 0.5.2", + "objc2-foundation 0.2.2", + "objc2-metal 0.2.2", +] + +[[package]] +name = "objc2-quartz-core" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96c1358452b371bf9f104e21ec536d37a650eb10f7ee379fff67d2e08d537f1f" +dependencies = [ + "bitflags 2.13.2", + "objc2 0.6.4", + "objc2-core-foundation", + "objc2-core-graphics", + "objc2-foundation 0.3.2", + "objc2-metal 0.3.2", +] + +[[package]] +name = "objc2-symbols" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0a684efe3dec1b305badae1a28f6555f6ddd3bb2c2267896782858d5a78404dc" +dependencies = [ + "objc2 0.5.2", + "objc2-foundation 0.2.2", +] + +[[package]] +name = "objc2-ui-kit" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8bb46798b20cd6b91cbd113524c490f1686f4c4e8f49502431415f3512e2b6f" +dependencies = [ + "bitflags 2.13.2", + "block2 0.5.1", + "objc2 0.5.2", + "objc2-cloud-kit", + "objc2-core-data", + "objc2-core-image", + "objc2-core-location", + "objc2-foundation 0.2.2", + "objc2-link-presentation", + "objc2-quartz-core 0.2.2", + "objc2-symbols", + "objc2-uniform-type-identifiers", + "objc2-user-notifications", +] + +[[package]] +name = "objc2-ui-kit" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d87d638e33c06f577498cbcc50491496a3ed4246998a7fbba7ccb98b1e7eab22" +dependencies = [ + "bitflags 2.13.2", + "objc2 0.6.4", + "objc2-core-foundation", + "objc2-foundation 0.3.2", +] + +[[package]] +name = "objc2-uniform-type-identifiers" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44fa5f9748dbfe1ca6c0b79ad20725a11eca7c2218bceb4b005cb1be26273bfe" +dependencies = [ + "block2 0.5.1", + "objc2 0.5.2", + "objc2-foundation 0.2.2", +] + +[[package]] +name = "objc2-user-notifications" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76cfcbf642358e8689af64cee815d139339f3ed8ad05103ed5eaf73db8d84cb3" +dependencies = [ + "bitflags 2.13.2", + "block2 0.5.1", + "objc2 0.5.2", + "objc2-core-location", + "objc2-foundation 0.2.2", +] + +[[package]] +name = "once_cell" +version = "1.21.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50" + +[[package]] +name = "orbclient" +version = "0.3.55" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5df339f526ea9a60e371768d50efc2f2508c7203290731565d1f7a6f71d21747" +dependencies = [ + "libc", + "libredox", +] + +[[package]] +name = "ordered-float" +version = "5.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c7c9e0d9b23589f26070720bac724174bfec1083e82f7854cdd0267518343c0" +dependencies = [ + "num-traits", +] + +[[package]] +name = "ordered-stream" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9aa2b01e1d916879f73a53d01d1d6cee68adbb31d6d9177a8cfce093cced1d50" +dependencies = [ + "futures-core", + "pin-project-lite", +] + +[[package]] +name = "parking" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba" + +[[package]] +name = "parking_lot" +version = "0.12.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a" +dependencies = [ + "lock_api", + "parking_lot_core", +] + +[[package]] +name = "parking_lot_core" +version = "0.9.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall 0.5.18", + "smallvec", + "windows-link", +] + +[[package]] +name = "peniko" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "839c8299360d2e998bdb106dc0a6cd71dcc5f4df51df1b620361bf50e283cca6" +dependencies = [ + "bytemuck", + "color", + "kurbo 0.13.1", + "linebender_resource_handle", + "smallvec", +] + +[[package]] +name = "percent-encoding" +version = "2.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" + +[[package]] +name = "phf" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1562dc717473dbaa4c1f85a36410e03c047b2e7df7f45ee938fbef64ae7fadf" +dependencies = [ + "phf_macros", + "phf_shared", + "serde", +] + +[[package]] +name = "phf_generator" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "135ace3a761e564ec88c03a77317a7c6b80bb7f7135ef2544dbe054243b89737" +dependencies = [ + "fastrand", + "phf_shared", +] + +[[package]] +name = "phf_macros" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "812f032b54b1e759ccd5f8b6677695d5268c588701effba24601f6932f8269ef" +dependencies = [ + "phf_generator", + "phf_shared", + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "phf_shared" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e57fef6bc5981e38c2ce2d63bfa546861309f875b8a75f092d1d54ae2d64f266" +dependencies = [ + "siphasher", +] + +[[package]] +name = "pic-scale" +version = "0.7.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6edb0ff645d35accaec252de081d55984a0d6c952cb1e5dc2b9afa7c78f07288" +dependencies = [ + "num-traits", + "pxfm", +] + +[[package]] +name = "pico-args" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5be167a7af36ee22fe3115051bc51f6e6c7054c9348e28deb4f49bd6f705a315" + +[[package]] +name = "pin-project" +version = "1.1.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2466b2336ed02bcdca6b294417127b90ec92038d1d5c4fbeac971a922e0e0924" +dependencies = [ + "pin-project-internal", +] + +[[package]] +name = "pin-project-internal" +version = "1.1.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c96395f0a926bc13b1c17622aaddda1ecb55d49c8f1bf9777e4d877800a43f8b" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "pin-project-lite" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd" + +[[package]] +name = "piper" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c835479a4443ded371d6c535cbfd8d31ad92c5d23ae9770a61bc155e4992a3c1" +dependencies = [ + "atomic-waker", + "fastrand", + "futures-io", +] + +[[package]] +name = "pkg-config" +version = "0.3.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6b464fbc74e149a392436b17d523f769e057cb6877f6a5c4618bc6f11800548" + +[[package]] +name = "plain" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4596b6d070b27117e987119b4dac604f3c58cfb0b191112e24771b2faeac1a6" + +[[package]] +name = "png" +version = "0.17.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "82151a2fc869e011c153adc57cf2789ccb8d9906ce52c0b39a6b5697749d7526" +dependencies = [ + "bitflags 1.3.2", + "crc32fast", + "fdeflate", + "flate2", + "miniz_oxide 0.8.9", +] + +[[package]] +name = "png" +version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60769b8b31b2a9f263dae2776c37b1b28ae246943cf719eb6946a1db05128a61" +dependencies = [ + "bitflags 2.13.2", + "crc32fast", + "fdeflate", + "flate2", + "miniz_oxide 0.8.9", +] + +[[package]] +name = "polling" +version = "3.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d0e4f59085d47d8241c88ead0f274e8a0cb551f3625263c05eb8dd897c34218" +dependencies = [ + "cfg-if", + "concurrent-queue", + "hermit-abi", + "pin-project-lite", + "rustix 1.1.5", + "windows-sys 0.61.2", +] + +[[package]] +name = "pollster" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f3a9f18d041e6d0e102a0a46750538147e5e8992d3b4873aaafee2520b00ce3" + +[[package]] +name = "pollster" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc6355899e1c9462875b6757c79f3caa011a1fdae12bbb1a2e72dd1f234f8336" + +[[package]] +name = "polycool" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50596ddc09eb5ad5f75cacd40209568e66df71baf86e1499a0e99c4cff12a5a6" +dependencies = [ + "arrayvec", +] + +[[package]] +name = "portable-atomic" +version = "1.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05c8b63e8d9609db387f0324918f81d68fe27748f084ef092fb35954d0539a85" + +[[package]] +name = "portable-atomic-util" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "10ab3eb7f3becc3a1cbc4f2c6f20267996cfc1a6467a873763411b136a122715" +dependencies = [ + "portable-atomic", +] + +[[package]] +name = "presser" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e8cf8e6a8aa66ce33f63993ffc4ea4271eb5b0530a9002db8455ea6050c77bfa" + +[[package]] +name = "printcraft" +version = "0.1.0" +dependencies = [ + "eframe", + "egui", + "printcraft-ui-egui", +] + +[[package]] +name = "printcraft-engine" +version = "0.1.0" +dependencies = [ + "printcraft-render", +] + +[[package]] +name = "printcraft-geom" +version = "0.1.0" + +[[package]] +name = "printcraft-render" +version = "0.1.0" +dependencies = [ + "hayro", + "hayro-syntax", + "log", + "lopdf", + "thiserror 2.0.21", +] + +[[package]] +name = "printcraft-ui-egui" +version = "0.1.0" +dependencies = [ + "eframe", + "egui", + "egui_extras", + "printcraft-engine", + "printcraft-render", + "rfd", + "serde", +] + +[[package]] +name = "proc-macro-crate" +version = "3.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e67ba7e9b2b56446f1d419b1d807906278ffa1a658a8a5d8a39dcb1f5a78614f" +dependencies = [ + "toml_edit", +] + +[[package]] +name = "proc-macro2" +version = "1.0.107" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "profiling" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d595e54a326bc53c1c197b32d295e14b169e3cfeaa8dc82b529f947fba6bcf5" + +[[package]] +name = "pxfm" +version = "0.1.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d55d956fa96f5ec02be2e13af0e20391a5aa83d6a074e3ad368959d0fab299ea" + +[[package]] +name = "quick-error" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a993555f31e5a609f617c12db6250dedcac1b0a85076912c436e6fc9b2c8e6a3" + +[[package]] +name = "quick-xml" +version = "0.41.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e660451e55124f798a69a5af3f49ccfbefbd41910eefd25caf2393e1f3473ec1" +dependencies = [ + "memchr", +] + +[[package]] +name = "quote" +version = "1.0.47" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "r-efi" +version = "5.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" + +[[package]] +name = "r-efi" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf" + +[[package]] +name = "rand" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "65c9fb96cbc91e3478eaae79a69fcd3f1ae4ad052e471fe6732fff548984b4af" +dependencies = [ + "chacha20", + "getrandom 0.4.3", + "rand_core", +] + +[[package]] +name = "rand_core" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "63b8176103e19a2643978565ca18b50549f6101881c443590420e4dc998a3c69" + +[[package]] +name = "range-alloc" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca45419789ae5a7899559e9512e58ca889e41f04f1f2445e9f4b290ceccd1d08" + +[[package]] +name = "rangemap" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a611d15b50743feb4c76b7d03edcb0e64f399c26961e4efe6975bc398be6aa3d" + +[[package]] +name = "raw-window-handle" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "20675572f6f24e9e76ef639bc5552774ed45f1c30e2951e1e99c59888861c539" + +[[package]] +name = "raw-window-metal" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "40d213455a5f1dc59214213c7330e074ddf8114c9a42411eb890c767357ce135" +dependencies = [ + "objc2 0.6.4", + "objc2-core-foundation", + "objc2-foundation 0.3.2", + "objc2-quartz-core 0.3.2", +] + +[[package]] +name = "rayon" +version = "1.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb39b166781f92d482534ef4b4b1b2568f42613b53e5b6c160e24cfbfa30926d" +dependencies = [ + "either", + "rayon-core", +] + +[[package]] +name = "rayon-core" +version = "1.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22e18b0f0062d30d4230b2e85ff77fdfe4326feb054b9783a3460d8435c8ab91" +dependencies = [ + "crossbeam-deque", + "crossbeam-utils", +] + +[[package]] +name = "read-fonts" +version = "0.39.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4ed38b89c2c77ff968c524145ad65fb010f38af5c7a224b53b81d47ac2daa81" +dependencies = [ + "bytemuck", + "font-types 0.11.3", +] + +[[package]] +name = "read-fonts" +version = "0.41.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "046a7d674daf459825b32f5062056d6882db0d2f5a479fbd76ccfc870ac18709" +dependencies = [ + "bytemuck", + "font-types 0.12.5", + "once_cell", +] + +[[package]] +name = "redox_syscall" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" +dependencies = [ + "bitflags 1.3.2", +] + +[[package]] +name = "redox_syscall" +version = "0.5.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" +dependencies = [ + "bitflags 2.13.2", +] + +[[package]] +name = "redox_syscall" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "737970939a87c6fa31e7acad13307bccbb017a073b695b6089a2c484f929e20e" +dependencies = [ + "bitflags 2.13.2", +] + +[[package]] +name = "renderdoc-sys" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19b30a45b0cd0bcca8037f3d0dc3421eaf95327a17cad11964fb8179b4fc4832" + +[[package]] +name = "resvg" +version = "0.45.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8928798c0a55e03c9ca6c4c6846f76377427d2c1e1f7e6de3c06ae57942df43" +dependencies = [ + "log", + "pico-args", + "rgb", + "svgtypes", + "tiny-skia", + "usvg", +] + +[[package]] +name = "rfd" +version = "0.17.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "20dafead71c16a34e1ff357ddefc8afc11e7d51d6d2b9fbd07eaa48e3e540220" +dependencies = [ + "block2 0.6.2", + "dispatch2", + "js-sys", + "libc", + "log", + "objc2 0.6.4", + "objc2-app-kit 0.3.2", + "objc2-core-foundation", + "objc2-foundation 0.3.2", + "percent-encoding", + "pollster 0.4.0", + "raw-window-handle", + "wasm-bindgen", + "wasm-bindgen-futures", + "wayland-backend", + "wayland-client", + "wayland-protocols", + "web-sys", + "windows-sys 0.61.2", +] + +[[package]] +name = "rgb" +version = "0.8.53" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47b34b781b31e5d73e9fbc8689c70551fd1ade9a19e3e28cfec8580a79290cc4" +dependencies = [ + "bytemuck", +] + +[[package]] +name = "roxmltree" +version = "0.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c20b6793b5c2fa6553b250154b78d6d0db37e72700ae35fad9387a46f487c97" + +[[package]] +name = "rustc-hash" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" + +[[package]] +name = "rustc-hash" +version = "2.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b1e7f9a428571be2dc5bc0505c13fb6bf936822b894ec87abf8a08a4e51742d" + +[[package]] +name = "rustc_version" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" +dependencies = [ + "semver", +] + +[[package]] +name = "rustix" +version = "0.38.44" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154" +dependencies = [ + "bitflags 2.13.2", + "errno", + "libc", + "linux-raw-sys 0.4.15", + "windows-sys 0.59.0", +] + +[[package]] +name = "rustix" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "891efababe418670775f199f0d233d84843c227a0949a883ce15b37c78d6629d" +dependencies = [ + "bitflags 2.13.2", + "errno", + "libc", + "linux-raw-sys 0.12.1", + "windows-sys 0.61.2", +] + +[[package]] +name = "rustversion" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf54715a573b99ac80df0bc206da022bcd442c974952c7b9720069370852e21f" + +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "scoped-tls" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294" + +[[package]] +name = "scopeguard" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" + +[[package]] +name = "self_cell" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2ab42ca02749e120097e328d91d415325bdf43b1c72c4c8badf37375fe40a813" + +[[package]] +name = "semver" +version = "1.0.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a7852d02fc848982e0c167ef163aaff9cd91dc640ba85e263cb1ce46fae51cd" + +[[package]] +name = "serde" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba" +dependencies = [ + "serde_core", + "serde_derive", +] + +[[package]] +name = "serde_core" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + +[[package]] +name = "serde_repr" +version = "0.1.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8d3b1629de253c70a0508c3899572da79ca359fdab27c7920ff00406df418906" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + +[[package]] +name = "sha2" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "446ba717509524cb3f22f17ecc096f10f4822d76ab5c0b9822c5f9c284e825f4" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest", +] + +[[package]] +name = "shlex" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba" + +[[package]] +name = "signal-hook-registry" +version = "1.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4db69cba1110affc0e9f7bcd48bbf87b3f4fc7c61fc9155afd4c469eb3d6c1b" +dependencies = [ + "errno", + "libc", +] + +[[package]] +name = "simd-adler32" +version = "0.3.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a219298ac11a56ea9a6d2120044824d6f01aeb034955e7af7bc16858527deea" + +[[package]] +name = "simd_cesu8" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11031e251abf8611c80f460e19dbdeb54a66db918e49c65a7065b46ac7aec520" +dependencies = [ + "rustc_version", + "simdutf8", +] + +[[package]] +name = "simdutf8" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3a9fe34e3e7a50316060351f37187a3f546bce95496156754b601a5fa71b76e" + +[[package]] +name = "simplecss" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a9c6883ca9c3c7c90e888de77b7a5c849c779d25d74a1269b0218b14e8b136c" +dependencies = [ + "log", +] + +[[package]] +name = "siphasher" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33f4fe9184a62d842c9ef383018f3306d8ba224fd9d836f56d7288308847c256" + +[[package]] +name = "skrifa" +version = "0.42.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c34617370ae968efb7161bb2beb517d9084659aae19e24b89e3db25b46e4564" +dependencies = [ + "bytemuck", + "read-fonts 0.39.2", +] + +[[package]] +name = "skrifa" +version = "0.44.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "819ab7d62b1d3e72d9d9dea5650bac30424f9111364bb94928dbf5ecad1baa68" +dependencies = [ + "bytemuck", + "read-fonts 0.41.0", +] + +[[package]] +name = "slab" +version = "0.4.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5" + +[[package]] +name = "slotmap" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bdd58c3c93c3d278ca835519292445cb4b0d4dc59ccfdf7ceadaab3f8aeb4038" +dependencies = [ + "version_check", +] + +[[package]] +name = "smallvec" +version = "1.16.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9395f0f0eee849a9b707b2f06bb92a6a422090e2123bb2ef8e87a0e61892a8e" + +[[package]] +name = "smithay-client-toolkit" +version = "0.19.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3457dea1f0eb631b4034d61d4d8c32074caa6cd1ab2d59f2327bd8461e2c0016" +dependencies = [ + "bitflags 2.13.2", + "calloop 0.13.0", + "calloop-wayland-source 0.3.0", + "cursor-icon", + "libc", + "log", + "memmap2", + "rustix 0.38.44", + "thiserror 1.0.69", + "wayland-backend", + "wayland-client", + "wayland-csd-frame", + "wayland-cursor", + "wayland-protocols", + "wayland-protocols-wlr", + "wayland-scanner", + "xkeysym", +] + +[[package]] +name = "smithay-client-toolkit" +version = "0.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0512da38f5e2b31201a93524adb8d3136276fa4fe4aafab4e1f727a82b534cc0" +dependencies = [ + "bitflags 2.13.2", + "calloop 0.14.4", + "calloop-wayland-source 0.4.1", + "cursor-icon", + "libc", + "log", + "memmap2", + "rustix 1.1.5", + "thiserror 2.0.21", + "wayland-backend", + "wayland-client", + "wayland-csd-frame", + "wayland-cursor", + "wayland-protocols", + "wayland-protocols-experimental", + "wayland-protocols-misc", + "wayland-protocols-wlr", + "wayland-scanner", + "xkeysym", +] + +[[package]] +name = "smithay-clipboard" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "71704c03f739f7745053bde45fa203a46c58d25bc5c4efba1d9a60e9dba81226" +dependencies = [ + "libc", + "smithay-client-toolkit 0.20.0", + "wayland-backend", +] + +[[package]] +name = "smol_str" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd538fb6910ac1099850255cf94a94df6551fbdd602454387d0adb2d1ca6dead" +dependencies = [ + "serde", +] + +[[package]] +name = "spirv" +version = "0.4.0+sdk-1.4.341.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9571ea910ebd84c86af4b3ed27f9dbdc6ad06f17c5f96146b2b671e2976744f" +dependencies = [ + "bitflags 2.13.2", +] + +[[package]] +name = "stable_deref_trait" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596" + +[[package]] +name = "static_assertions" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" + +[[package]] +name = "strict-num" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6637bab7722d379c8b41ba849228d680cc12d0a45ba1fa2b48f2a30577a06731" +dependencies = [ + "float-cmp", +] + +[[package]] +name = "stringprep" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b4df3d392d81bd458a8a621b8bffbd2302a12ffe288a9d931670948749463b1" +dependencies = [ + "unicode-bidi", + "unicode-normalization", + "unicode-properties", +] + +[[package]] +name = "svgtypes" +version = "0.15.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68c7541fff44b35860c1a7a47a7cadf3e4a304c457b58f9870d9706ece028afc" +dependencies = [ + "kurbo 0.11.3", + "siphasher", +] + +[[package]] +name = "syn" +version = "2.0.119" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "3.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8593e8e72159ed2257d083c7a454a85cbf854f37a0966d8d483aff8c8a3ebcee" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "synstructure" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "901704edd0dfe137f1987838ee4f259e4e063c31371bdb423f7ae38ec6f77f02" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + +[[package]] +name = "tempfile" +version = "3.27.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32497e9a4c7b38532efcdebeef879707aa9f794296a4f0244f6f69e9bc8574bd" +dependencies = [ + "fastrand", + "getrandom 0.4.3", + "once_cell", + "rustix 1.1.5", + "windows-sys 0.61.2", +] + +[[package]] +name = "termcolor" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "thiserror" +version = "1.0.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" +dependencies = [ + "thiserror-impl 1.0.69", +] + +[[package]] +name = "thiserror" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09e52cb86a36cede5cb101bf8908837b3e4c6e5e59fe7fd85c23fb56200d189e" +dependencies = [ + "thiserror-impl 2.0.21", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe5197923287db20a58125f0bc85c062f7f2c892de97b18c356f9efb14b28524" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + +[[package]] +name = "tiff" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b63feaf3343d35b6ca4d50483f94843803b0f51634937cc2ec519fc32232bc52" +dependencies = [ + "fax", + "flate2", + "half", + "quick-error", + "weezl 0.1.12", + "zune-jpeg", +] + +[[package]] +name = "tiny-skia" +version = "0.11.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "83d13394d44dae3207b52a326c0c85a8bf87f1541f23b0d143811088497b09ab" +dependencies = [ + "arrayref", + "arrayvec", + "bytemuck", + "cfg-if", + "log", + "png 0.17.16", + "tiny-skia-path", +] + +[[package]] +name = "tiny-skia-path" +version = "0.11.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c9e7fc0c2e86a30b117d0462aa261b72b7a99b7ebd7deb3a14ceda95c5bdc93" +dependencies = [ + "arrayref", + "bytemuck", + "strict-num", +] + +[[package]] +name = "tinyvec" +version = "1.13.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd3ca314f692efd6c868f8408f53fe444634a845f96c028b97d35f6a1f79f0ee" + +[[package]] +name = "tokio" +version = "1.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "202caea871b69668250d242070849eb495be178ed697a3e98aebce5bc81a0bed" +dependencies = [ + "pin-project-lite", +] + +[[package]] +name = "toml_datetime" +version = "1.1.1+spec-1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3165f65f62e28e0115a00b2ebdd37eb6f3b641855f9d636d3cd4103767159ad7" +dependencies = [ + "serde_core", +] + +[[package]] +name = "toml_edit" +version = "0.25.15+spec-1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1340ea94a5856333492c9064b02c778b191dd2c853778d9609debdcdfea3a614" +dependencies = [ + "indexmap", + "toml_datetime", + "toml_parser", + "winnow", +] + +[[package]] +name = "toml_parser" +version = "1.1.3+spec-1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d38ac1cf9b95face32296c0a3ede1fdc270627c9d9c02a7274dd6d960dc4d56" +dependencies = [ + "winnow", +] + +[[package]] +name = "tracing" +version = "0.1.44" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "63e71662fa4b2a2c3a26f570f037eb95bb1f85397f3cd8076caed2f026a6d100" +dependencies = [ + "log", + "pin-project-lite", + "tracing-attributes", + "tracing-core", +] + +[[package]] +name = "tracing-attributes" +version = "0.1.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "tracing-core" +version = "0.1.36" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db97caf9d906fbde555dd62fa95ddba9eecfd14cb388e4f491a66d74cd5fb79a" +dependencies = [ + "once_cell", +] + +[[package]] +name = "type-map" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb30dbbd9036155e74adad6812e9898d03ec374946234fbcebd5dfc7b9187b90" +dependencies = [ + "rustc-hash 2.1.3", +] + +[[package]] +name = "typenum" +version = "1.20.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6f5e870be6c3b371b77fe0ee0bafb859fa4964b4404c27de1d380043c4dda20" + +[[package]] +name = "uds_windows" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2f6fb2847f6742cd76af783a2a2c49e9375d0a111c7bef6f71cd9e738c72d6e" +dependencies = [ + "memoffset", + "tempfile", + "windows-sys 0.61.2", +] + +[[package]] +name = "unicode-bidi" +version = "0.3.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c1cb5db39152898a79168971543b1cb5020dff7fe43c8dc468b0885f5e29df5" + +[[package]] +name = "unicode-general-category" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b993bddc193ae5bd0d623b49ec06ac3e9312875fdae725a975c51db1cc1677f" + +[[package]] +name = "unicode-ident" +version = "1.0.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d245f478577f809a851594d02313b640fb437e0bb33866753cff937863096954" + +[[package]] +name = "unicode-normalization" +version = "0.1.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5fd4f6878c9cb28d874b009da9e8d183b5abc80117c40bbd187a1fde336be6e8" +dependencies = [ + "tinyvec", +] + +[[package]] +name = "unicode-properties" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7df058c713841ad818f1dc5d3fd88063241cc61f49f5fbea4b951e8cf5a8d71d" + +[[package]] +name = "unicode-segmentation" +version = "1.13.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6f5d3c3b1bf09027a88a6bc961fc00497d651009560b5463668dc81b0fa87a8" + +[[package]] +name = "unicode-width" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4ac048d71ede7ee76d585517add45da530660ef4390e49b098733c6e897f254" + +[[package]] +name = "usvg" +version = "0.45.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "80be9b06fbae3b8b303400ab20778c80bbaf338f563afe567cf3c9eea17b47ef" +dependencies = [ + "base64", + "data-url", + "flate2", + "imagesize", + "kurbo 0.11.3", + "log", + "pico-args", + "roxmltree", + "simplecss", + "siphasher", + "strict-num", + "svgtypes", + "tiny-skia-path", + "xmlwriter", +] + +[[package]] +name = "uuid" +version = "1.26.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2ef6dac1e96601b4fb3acccccff2139741fcb757cb9a36089bf5be91cfb285ce" +dependencies = [ + "js-sys", + "serde_core", + "wasm-bindgen", +] + +[[package]] +name = "vello_common" +version = "0.0.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3361bff7f7d82c0c496b92048db83846691f0e844cc28dee92b1c824291b55ee" +dependencies = [ + "bytemuck", + "fearless_simd", + "guillotiere", + "hashbrown 0.17.1", + "log", + "peniko", + "png 0.18.1", + "smallvec", + "thiserror 2.0.21", +] + +[[package]] +name = "vello_common" +version = "0.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19d672facaa2d697285a786cd9d44d614cd2ce54cdc022504bf339f8fff3b750" +dependencies = [ + "bytemuck", + "fearless_simd", + "guillotiere", + "hashbrown 0.17.1", + "log", + "peniko", + "png 0.18.1", + "smallvec", + "thiserror 2.0.21", +] + +[[package]] +name = "vello_common" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2e9aed918117e8152c9eddfd8362d73c465c23f26c44786aa331707b8a64fa2" +dependencies = [ + "bytemuck", + "fearless_simd", + "guillotiere", + "log", + "peniko", + "smallvec", + "thiserror 2.0.21", +] + +[[package]] +name = "vello_cpu" +version = "0.0.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d8ded630e8316bb94a55881256506d1f3b9947b5f66db8a7d32ca7ba02decd0" +dependencies = [ + "bytemuck", + "glifo 0.1.1", + "hashbrown 0.17.1", + "png 0.18.1", + "vello_common 0.0.8", +] + +[[package]] +name = "vello_cpu" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac7349e1f55f6b801c7c277958df4ea53e7f20f21e8014910ad888b2ecda93ea" +dependencies = [ + "bytemuck", + "glifo 0.2.0", + "hashbrown 0.17.1", + "vello_common 0.1.0", +] + +[[package]] +name = "version_check" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" + +[[package]] +name = "walkdir" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" +dependencies = [ + "same-file", + "winapi-util", +] + +[[package]] +name = "wasip2" +version = "1.0.4+wasi-0.2.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b67efb37e106e55ce722a510d6b5f9c17f083e5fc79afc2badeb12cc313d9487" +dependencies = [ + "wit-bindgen", +] + +[[package]] +name = "wasm-bindgen" +version = "0.2.129" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9bb54f33acc68fd454578d9820b0bde1a1a3d17aa17bb7b6595806d02886d409" +dependencies = [ + "cfg-if", + "once_cell", + "rustversion", + "wasm-bindgen-macro", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-futures" +version = "0.4.79" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3cbab34de2d982e9b48e18d216d04c4a6f641066ff19ffb699980f591ee3610e" +dependencies = [ + "js-sys", + "tokio", + "wasm-bindgen", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.129" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e29d0c35b16e224a7eeb5cd2d25e3e1968fbd65604117b44d3b789d00ee8535" +dependencies = [ + "quote", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.129" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f501a8bc3719dba86ef8ae4728879c08001bea749eb1333ac5b91e040e2a6b7" +dependencies = [ + "bumpalo", + "proc-macro2", + "quote", + "syn 3.0.6", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.129" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23f0c9c52aa7cd7d77769a4cfe2a9adb1b331f489a41d912ce14513d5ab995c6" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "wayland-backend" +version = "0.3.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38a91b4eaddff87b1cd1074985e3713da4af2c49742d1b356b2c01670a67a078" +dependencies = [ + "cc", + "downcast-rs", + "rustix 1.1.5", + "scoped-tls", + "smallvec", + "wayland-sys", +] + +[[package]] +name = "wayland-client" +version = "0.31.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3c36a0f861ad76d0901f2800b46321410d9f73f2ea88aac0650d86c32688073" +dependencies = [ + "bitflags 2.13.2", + "rustix 1.1.5", + "wayland-backend", + "wayland-scanner", +] + +[[package]] +name = "wayland-csd-frame" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "625c5029dbd43d25e6aa9615e88b829a5cad13b2819c4ae129fdbb7c31ab4c7e" +dependencies = [ + "bitflags 2.13.2", + "cursor-icon", + "wayland-backend", +] + +[[package]] +name = "wayland-cursor" +version = "0.31.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a52d18780be9b1314328a3de5f930b73d2200112e3849ca6cb11822793fb34d" +dependencies = [ + "rustix 1.1.5", + "wayland-client", + "xcursor", +] + +[[package]] +name = "wayland-protocols" +version = "0.32.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23d0c813de3daa2ed6520af85a3bd49b0e722a3078506899aa9686fea58dc4b6" +dependencies = [ + "bitflags 2.13.2", + "wayland-backend", + "wayland-client", + "wayland-scanner", +] + +[[package]] +name = "wayland-protocols-experimental" +version = "20250721.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "40a1f863128dcaaec790d7b4b396cc9b9a7a079e878e18c47e6c2d2c5a8dcbb1" +dependencies = [ + "bitflags 2.13.2", + "wayland-backend", + "wayland-client", + "wayland-protocols", + "wayland-scanner", +] + +[[package]] +name = "wayland-protocols-misc" +version = "0.3.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e9567599ef23e09b8dad6e429e5738d4509dfc46b3b21f32841a304d16b29c8" +dependencies = [ + "bitflags 2.13.2", + "wayland-backend", + "wayland-client", + "wayland-protocols", + "wayland-scanner", +] + +[[package]] +name = "wayland-protocols-plasma" +version = "0.3.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b6d8cf1eb2c1c31ed1f5643c88a6e53538129d4af80030c8cabd1f9fa884d91" +dependencies = [ + "bitflags 2.13.2", + "wayland-backend", + "wayland-client", + "wayland-protocols", + "wayland-scanner", +] + +[[package]] +name = "wayland-protocols-wlr" +version = "0.3.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eb04e52f7836d7c7976c78ca0250d61e33873c34156a2a1fc9474828ec268234" +dependencies = [ + "bitflags 2.13.2", + "wayland-backend", + "wayland-client", + "wayland-protocols", + "wayland-scanner", +] + +[[package]] +name = "wayland-scanner" +version = "0.31.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "338e30461b3a2b67d70eb30a6d89f8e0c93a833e07d2ae89085cd070c4a00ac0" +dependencies = [ + "proc-macro2", + "quick-xml", + "quote", +] + +[[package]] +name = "wayland-sys" +version = "0.31.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8eab23fefc9e41f8e841df4a9c707e8a8c4ed26e944ef69297184de2785e3be" +dependencies = [ + "dlib", + "log", + "once_cell", + "pkg-config", +] + +[[package]] +name = "web-sys" +version = "0.3.106" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88261b9deccee56594c11a3460c462c41f58d148598fe70ad77070126a68aba4" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "web-time" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "weezl" +version = "0.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a28ac98ddc8b9274cb41bb4d9d4d5c425b6020c50c46f25559911905610b4a88" + +[[package]] +name = "weezl" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4ca08e5ef825b65b056d9efbd95c8750683f0a6d0466d02e96dc2e4e360f3d2" + +[[package]] +name = "wgpu" +version = "30.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "527ccdf43dd5b2e8676eed9984ce00e2bbb0a1b85b70c1969dcb6cd2eb55ab9e" +dependencies = [ + "arrayvec", + "bitflags 2.13.2", + "bytemuck", + "cfg-if", + "cfg_aliases", + "document-features", + "hashbrown 0.17.1", + "js-sys", + "log", + "naga", + "parking_lot", + "portable-atomic", + "profiling", + "raw-window-handle", + "smallvec", + "static_assertions", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "wgpu-core", + "wgpu-hal", + "wgpu-types", +] + +[[package]] +name = "wgpu-core" +version = "30.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "14c018fce9b6270aa203c2fdd56f3cce996713534bd757e4ea58c8560b121f14" +dependencies = [ + "arrayvec", + "bit-set", + "bit-vec", + "bitflags 2.13.2", + "bytemuck", + "cfg_aliases", + "document-features", + "hashbrown 0.17.1", + "indexmap", + "log", + "naga", + "naga-types", + "once_cell", + "parking_lot", + "portable-atomic", + "profiling", + "raw-window-handle", + "rustc-hash 1.1.0", + "smallvec", + "thiserror 2.0.21", + "wgpu-core-deps-apple", + "wgpu-core-deps-emscripten", + "wgpu-core-deps-wasm", + "wgpu-core-deps-windows-linux-android", + "wgpu-hal", + "wgpu-naga-bridge", + "wgpu-types", +] + +[[package]] +name = "wgpu-core-deps-apple" +version = "30.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "061f3d319a40d39d00b1ecc2c33b89fe21d4e6fe01859df3500a3a8ecccd6b68" +dependencies = [ + "wgpu-hal", +] + +[[package]] +name = "wgpu-core-deps-emscripten" +version = "30.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d98b86cf4abf524a902dd35f18ca6a3f08fc2ae9847c8f10b48e30491b1f0b86" +dependencies = [ + "wgpu-hal", +] + +[[package]] +name = "wgpu-core-deps-wasm" +version = "30.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d260ca2ca8adc654f513a869bf3cac0b47f5b8d3f87803d6942015f8de597aae" +dependencies = [ + "wgpu-hal", +] + +[[package]] +name = "wgpu-core-deps-windows-linux-android" +version = "30.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7586165fd5f6d881cb9ce4bb71f40d6caab2c0f1837e3fc1d9788a197fb6004f" +dependencies = [ + "wgpu-hal", +] + +[[package]] +name = "wgpu-hal" +version = "30.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6b7fb58561a792bc237628ba0792e332de418fefe145f13b5ed8201e6d52f58" +dependencies = [ + "android_system_properties", + "arrayvec", + "ash", + "bit-set", + "bitflags 2.13.2", + "block2 0.6.2", + "bytemuck", + "cfg-if", + "cfg_aliases", + "glow", + "glutin_wgl_sys", + "gpu-allocator", + "hashbrown 0.17.1", + "js-sys", + "khronos-egl", + "libc", + "libloading", + "log", + "naga", + "naga-types", + "ndk-sys", + "objc2 0.6.4", + "objc2-core-foundation", + "objc2-core-graphics", + "objc2-foundation 0.3.2", + "objc2-metal 0.3.2", + "objc2-quartz-core 0.3.2", + "once_cell", + "ordered-float", + "parking_lot", + "portable-atomic", + "portable-atomic-util", + "profiling", + "range-alloc", + "raw-window-handle", + "raw-window-metal", + "renderdoc-sys", + "smallvec", + "static_assertions", + "thiserror 2.0.21", + "wasm-bindgen", + "wayland-sys", + "web-sys", + "wgpu-naga-bridge", + "wgpu-types", + "windows", + "windows-core", + "windows-result", +] + +[[package]] +name = "wgpu-naga-bridge" +version = "30.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2f62e73117bb7a62bfd9c5a5841438a823f6566c6442a808ee269d2d055c081" +dependencies = [ + "naga", + "wgpu-types", +] + +[[package]] +name = "wgpu-types" +version = "30.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "99dad6f1fbdbbdb4c278a6508b059d44688f5cebddf78d005a46a31340269286" +dependencies = [ + "bitflags 2.13.2", + "bytemuck", + "js-sys", + "log", + "naga-types", + "raw-window-handle", + "static_assertions", + "web-sys", +] + +[[package]] +name = "winapi-util" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" +dependencies = [ + "windows-sys 0.61.2", +] + +[[package]] +name = "windows" +version = "0.62.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "527fadee13e0c05939a6a05d5bd6eec6cd2e3dbd648b9f8e447c6518133d8580" +dependencies = [ + "windows-collections", + "windows-core", + "windows-future", + "windows-numerics", +] + +[[package]] +name = "windows-collections" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23b2d95af1a8a14a3c7367e1ed4fc9c20e0a26e79551b1454d72583c97cc6610" +dependencies = [ + "windows-core", +] + +[[package]] +name = "windows-core" +version = "0.62.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb" +dependencies = [ + "windows-implement", + "windows-interface", + "windows-link", + "windows-result", + "windows-strings", +] + +[[package]] +name = "windows-future" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1d6f90251fe18a279739e78025bd6ddc52a7e22f921070ccdc67dde84c605cb" +dependencies = [ + "windows-core", + "windows-link", + "windows-threading", +] + +[[package]] +name = "windows-implement" +version = "0.60.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "windows-interface" +version = "0.59.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + +[[package]] +name = "windows-numerics" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e2e40844ac143cdb44aead537bbf727de9b044e107a0f1220392177d15b0f26" +dependencies = [ + "windows-core", + "windows-link", +] + +[[package]] +name = "windows-result" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5" +dependencies = [ + "windows-link", +] + +[[package]] +name = "windows-strings" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7837d08f69c77cf6b07689544538e017c1bfcf57e34b4c0ff58e6c2cd3b37091" +dependencies = [ + "windows-link", +] + +[[package]] +name = "windows-sys" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-sys" +version = "0.59.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-sys" +version = "0.60.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb" +dependencies = [ + "windows-targets 0.53.5", +] + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link", +] + +[[package]] +name = "windows-targets" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" +dependencies = [ + "windows_aarch64_gnullvm 0.52.6", + "windows_aarch64_msvc 0.52.6", + "windows_i686_gnu 0.52.6", + "windows_i686_gnullvm 0.52.6", + "windows_i686_msvc 0.52.6", + "windows_x86_64_gnu 0.52.6", + "windows_x86_64_gnullvm 0.52.6", + "windows_x86_64_msvc 0.52.6", +] + +[[package]] +name = "windows-targets" +version = "0.53.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4945f9f551b88e0d65f3db0bc25c33b8acea4d9e41163edf90dcd0b19f9069f3" +dependencies = [ + "windows-link", + "windows_aarch64_gnullvm 0.53.1", + "windows_aarch64_msvc 0.53.1", + "windows_i686_gnu 0.53.1", + "windows_i686_gnullvm 0.53.1", + "windows_i686_msvc 0.53.1", + "windows_x86_64_gnu 0.53.1", + "windows_x86_64_gnullvm 0.53.1", + "windows_x86_64_msvc 0.53.1", +] + +[[package]] +name = "windows-threading" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3949bd5b99cafdf1c7ca86b43ca564028dfe27d66958f2470940f73d86d75b37" +dependencies = [ + "windows-link", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9d8416fa8b42f5c947f8482c43e7d89e73a173cead56d044f6a56104a6d1b53" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9d782e804c2f632e395708e99a94275910eb9100b2114651e04744e9b125006" + +[[package]] +name = "windows_i686_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" + +[[package]] +name = "windows_i686_gnu" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "960e6da069d81e09becb0ca57a65220ddff016ff2d6af6a223cf372a506593a3" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa7359d10048f68ab8b09fa71c3daccfb0e9b559aed648a8f95469c27057180c" + +[[package]] +name = "windows_i686_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" + +[[package]] +name = "windows_i686_msvc" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e7ac75179f18232fe9c285163565a57ef8d3c89254a30685b57d83a38d326c2" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c3842cdd74a865a8066ab39c8a7a473c0778a3f29370b5fd6b4b9aa7df4a499" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ffa179e2d07eee8ad8f57493436566c7cc30ac536a3379fdf008f47f6bb7ae1" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650" + +[[package]] +name = "winit" +version = "0.30.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a6755fa58a9f8350bd1e472d4c3fcc25f824ec358933bba33306d0b63df5978d" +dependencies = [ + "ahash", + "android-activity", + "atomic-waker", + "bitflags 2.13.2", + "block2 0.5.1", + "bytemuck", + "calloop 0.13.0", + "cfg_aliases", + "concurrent-queue", + "core-foundation", + "core-graphics", + "cursor-icon", + "dpi", + "js-sys", + "libc", + "memmap2", + "ndk", + "objc2 0.5.2", + "objc2-app-kit 0.2.2", + "objc2-foundation 0.2.2", + "objc2-ui-kit 0.2.2", + "orbclient", + "percent-encoding", + "pin-project", + "raw-window-handle", + "redox_syscall 0.4.1", + "rustix 0.38.44", + "smithay-client-toolkit 0.19.2", + "smol_str", + "tracing", + "unicode-segmentation", + "wasm-bindgen", + "wasm-bindgen-futures", + "wayland-backend", + "wayland-client", + "wayland-protocols", + "wayland-protocols-plasma", + "web-sys", + "web-time", + "windows-sys 0.52.0", + "x11-dl", + "x11rb", + "xkbcommon-dl", +] + +[[package]] +name = "winnow" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23b97319f7b8343df12cc98938e5c3eb436064524c8d2b4e30a1d3a36eecdf81" +dependencies = [ + "memchr", +] + +[[package]] +name = "wit-bindgen" +version = "0.57.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ebf944e87a7c253233ad6766e082e3cd714b5d03812acc24c318f549614536e" + +[[package]] +name = "x11-dl" +version = "2.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38735924fedd5314a6e548792904ed8c6de6636285cb9fec04d5b1db85c1516f" +dependencies = [ + "libc", + "once_cell", + "pkg-config", +] + +[[package]] +name = "x11rb" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9993aa5be5a26815fe2c3eacfc1fde061fc1a1f094bf1ad2a18bf9c495dd7414" +dependencies = [ + "as-raw-xcb-connection", + "gethostname", + "libc", + "libloading", + "once_cell", + "rustix 1.1.5", + "x11rb-protocol", +] + +[[package]] +name = "x11rb-protocol" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea6fc2961e4ef194dcbfe56bb845534d0dc8098940c7e5c012a258bfec6701bd" + +[[package]] +name = "xcursor" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "163b33ed8786455e2fa5d72f554057ce3f3182425434f756cd39c99839d88e23" + +[[package]] +name = "xkbcommon-dl" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d039de8032a9a8856a6be89cea3e5d12fdd82306ab7c94d74e6deab2460651c5" +dependencies = [ + "bitflags 2.13.2", + "dlib", + "log", + "once_cell", + "xkeysym", +] + +[[package]] +name = "xkeysym" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9cc00251562a284751c9973bace760d86c0276c471b4be569fe6b068ee97a56" + +[[package]] +name = "xml-rs" +version = "0.8.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e450f9b2ed1dff33c94c12589a87338689467b9c4f5d8a5710bd09a847d2c8a7" + +[[package]] +name = "xmlwriter" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec7a2a501ed189703dba8b08142f057e887dfc4b2cc4db2d343ac6376ba3e0b9" + +[[package]] +name = "xtask" +version = "0.1.0" +dependencies = [ + "anyhow", + "lopdf", + "png 0.18.1", +] + +[[package]] +name = "yoke" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "709fe23a0424b6a435d82152b1bd3fdfb0833487d5fa90d05d42762a9891fef5" +dependencies = [ + "stable_deref_trait", + "yoke-derive", + "zerofrom", +] + +[[package]] +name = "yoke-derive" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33811428bee40dbceb6d545e95754741d17a6aef9a4849f0fd62e2ba4f412a78" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", + "synstructure", +] + +[[package]] +name = "zbus" +version = "5.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5db4be7c075cb421e4b7ee645541604239bd243ba7c357511f4ff3a74b555907" +dependencies = [ + "async-broadcast", + "async-executor", + "async-io", + "async-lock", + "async-process", + "async-recursion", + "async-task", + "async-trait", + "blocking", + "enumflags2", + "event-listener", + "futures-core", + "futures-lite", + "hex", + "libc", + "ordered-stream", + "rustix 1.1.5", + "serde", + "serde_repr", + "tracing", + "uds_windows", + "uuid", + "windows-sys 0.61.2", + "winnow", + "zbus_macros", + "zbus_names", + "zvariant", +] + +[[package]] +name = "zbus-lockstep" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6998de05217a084b7578728a9443d04ea4cd80f2a0839b8d78770b76ccd45863" +dependencies = [ + "zbus_xml", + "zvariant", +] + +[[package]] +name = "zbus-lockstep-macros" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "10da05367f3a7b7553c8cdf8fa91aee6b64afebe32b51c95177957efc47ca3a0" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", + "zbus-lockstep", + "zbus_xml", + "zvariant", +] + +[[package]] +name = "zbus_macros" +version = "5.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2990635d09ade6df1868f72f8cac69a876a90981e8bd3c40b1be413f8dc88f40" +dependencies = [ + "proc-macro-crate", + "proc-macro2", + "quote", + "syn 3.0.6", + "zbus_names", + "zvariant", + "zvariant_utils", +] + +[[package]] +name = "zbus_names" +version = "4.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8bf88b4a3ff53e883001e0e0115b297a9d53c31b9c1edd2bfdd853e3428624e" +dependencies = [ + "serde", + "winnow", + "zvariant", +] + +[[package]] +name = "zbus_xml" +version = "5.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1586c021a01ca0a9216dcd874e546382e156a5cbab5fab6cb5f10087e22682a" +dependencies = [ + "serde", + "winnow", + "zbus_names", + "zvariant", +] + +[[package]] +name = "zcheapstr" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1afec51604565183aeb5c54c20aeab286120d4e4460f7f76e3e8bb8c0d99473" +dependencies = [ + "serde", +] + +[[package]] +name = "zerocopy" +version = "0.8.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6df92bf3d9227be3d53173901ddbffac2babc27ae50f397776ffd6dc33f800cb" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.8.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac4f328cf2f05d084e496c3e9c3f33ed0a183656a16e1fcec4d464d8373aec82" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "zerofrom" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ec05a11813ea801ff6d75110ad09cd0824ddba17dfe17128ea0d5f68e6c5272" +dependencies = [ + "zerofrom-derive", +] + +[[package]] +name = "zerofrom-derive" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f75b4683f6c7f45248d4d64056a24298c6281e0993356d7d1b4a1a962ef10d4a" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", + "synstructure", +] + +[[package]] +name = "zlib-rs" +version = "0.6.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b268e58e7c693d7c271f93ffc4ba3b380412554231c85bf61ca7af91042a4112" + +[[package]] +name = "zune-core" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d56377fd46368984a170bc5aac5567e52ca5da874caa60bea39fcbca78fb658b" + +[[package]] +name = "zune-jpeg" +version = "0.5.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "27bc9d5b815bc103f142aa054f561d9187d191692ec7c2d1e2b4737f8dbd7296" +dependencies = [ + "zune-core", +] + +[[package]] +name = "zvariant" +version = "5.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1d34c27cc6cdd1f458427519dd6b8612f7b7e3f7b9a0b2355d041dda9869147" +dependencies = [ + "endi", + "enumflags2", + "serde", + "winnow", + "zcheapstr", + "zvariant_derive", + "zvariant_utils", +] + +[[package]] +name = "zvariant_derive" +version = "5.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "864155e69b4352db0c7f374917bf45d1e0c8d17659c8b3dbf9795f3673f8c497" +dependencies = [ + "proc-macro-crate", + "proc-macro2", + "quote", + "syn 3.0.6", + "zvariant_utils", +] + +[[package]] +name = "zvariant_utils" +version = "4.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bad0294361a320b694a328460dc73add56c306150f5cb6bfafc44446120008a3" +dependencies = [ + "proc-macro2", + "quote", + "serde", + "syn 3.0.6", + "winnow", +] diff --git a/Cargo.toml b/Cargo.toml new file mode 100644 index 00000000..9d150313 --- /dev/null +++ b/Cargo.toml @@ -0,0 +1,54 @@ +[workspace] +resolver = "3" +members = ["crates/*", "apps/*", "xtask"] +default-members = ["crates/*", "apps/printcraft", "xtask"] + +[workspace.package] +version = "0.1.0" +edition = "2024" +license = "MIT OR Apache-2.0" +rust-version = "1.90" +repository = "https://github.com/storytold/printcraft" + +[workspace.dependencies] +# internal +printcraft-geom = { path = "crates/geom" } +printcraft-render = { path = "crates/render" } +printcraft-engine = { path = "crates/engine" } +printcraft-ui-egui = { path = "crates/ui-egui" } + +# pdf +hayro = "0.7.1" +hayro-syntax = "0.7.2" +lopdf = "0.45" + +# foundation +thiserror = "2" +serde = { version = "1", features = ["derive", "rc"] } +serde_json = "1" +log = "0.4" +kurbo = "0.12" + +# ui +egui = "0.36" +egui_extras = { version = "0.36", default-features = false, features = ["svg"] } +eframe = { version = "0.36", default-features = false } +egui_kittest = "0.36" +rfd = "0.17" + +[workspace.lints.rust] +unsafe_code = "deny" + +[workspace.lints.clippy] +dbg_macro = "warn" +todo = "warn" + +[profile.dev.package."*"] +opt-level = 2 + +[profile.dev] +opt-level = 1 + +[profile.release] +lto = "thin" +codegen-units = 1 diff --git a/NOTICE b/NOTICE new file mode 100644 index 00000000..1a98ff85 --- /dev/null +++ b/NOTICE @@ -0,0 +1,15 @@ +PrintCraft +Copyright the PrintCraft contributors. Licensed under MIT OR Apache-2.0. + +This product bundles or depends on third-party material under the following licences: + +- Lucide icons (assets/icons/*.svg) — ISC License. See assets/icons/LICENSE-lucide.txt. +- Inter typeface (assets/fonts/Inter-*.ttf) — SIL Open Font License 1.1. See assets/fonts/OFL-Inter.txt. +- JetBrains Mono typeface (assets/fonts/JetBrainsMono-*.ttf) — SIL Open Font License 1.1. See assets/fonts/OFL-JetBrainsMono.txt. +- hayro (rendering, via crates.io) — Apache-2.0 OR MIT. Its `embed-fonts` feature bundles the Foxit + standard-14 Type 1 fonts under BSD-3-Clause ("Copyright 2014 PDFium Authors"), and hayro-cmap bundles + Adobe CMap resources under BSD-3-Clause. +- lopdf (bootstrap document inspection, via crates.io) — MIT. + +Asset licences are not visible to cargo-deny; keep this file current whenever assets or asset-bundling +dependencies change (plan/adr/0002, 0006). diff --git a/README.md b/README.md new file mode 100644 index 00000000..b13535fc --- /dev/null +++ b/README.md @@ -0,0 +1,16 @@ +PrintCraft +========== + +From the artcraft team + +A clean-room, open-source PDF application written in Rust, aiming at Adobe Acrobat Pro parity. It runs natively on macOS, Windows and Linux, and in the browser via WebAssembly. It is a sibling project of PhotoCraft. + +**Status:** early. The viewer slice works; the core PDF object layer (M1) is next. The plan lives in `plan/` (local) and the rules for contributors and agents are in `CLAUDE.md`. + +```sh +cargo run -p printcraft -- some.pdf # desktop app +cargo xtask demo-pdf # build dist/demo/printcraft-showcase.pdf (needs Chrome) +cargo run -p printcraft -- dist/demo/printcraft-showcase.pdf --panel bookmarks +``` + +Licence: MIT OR Apache-2.0 (proposed). Third-party material is listed in `NOTICE`. diff --git a/apps/printcraft/Cargo.toml b/apps/printcraft/Cargo.toml new file mode 100644 index 00000000..c959ad46 --- /dev/null +++ b/apps/printcraft/Cargo.toml @@ -0,0 +1,14 @@ +[package] +name = "printcraft" +description = "PrintCraft desktop app" +version.workspace = true +edition.workspace = true +license.workspace = true + +[lints] +workspace = true + +[dependencies] +printcraft-ui-egui = { workspace = true } +eframe = { workspace = true, features = ["default_fonts", "wgpu", "accesskit", "wayland", "x11"] } +egui = { workspace = true } diff --git a/apps/printcraft/src/main.rs b/apps/printcraft/src/main.rs new file mode 100644 index 00000000..a868b9aa --- /dev/null +++ b/apps/printcraft/src/main.rs @@ -0,0 +1,56 @@ +//! PrintCraft desktop app. +//! +//! Usage: `printcraft [options] [files…]` +//! +//! View options (applied after the files open; also the seed of the UI control channel): +//! `--page N --zoom 150 --layout continuous|two-up|single --panel comments|bookmarks|pages|fields|layers|attachments|none +//! --theme light|dark --mode all|read|edit|convert|sign --tool --left open|closed +//! --organize on --fields on --dialog properties|shortcuts|about --palette --home on` + +use printcraft_ui_egui::PrintCraftApp; + +fn main() -> eframe::Result { + let mut files = Vec::new(); + let mut options: Vec<(String, String)> = Vec::new(); + let mut args = std::env::args().skip(1); + while let Some(a) = args.next() { + match a.as_str() { + "--version" => { + println!("printcraft {}", env!("CARGO_PKG_VERSION")); + return Ok(()); + } + flag if flag.starts_with("--") => { + let value = args.next().unwrap_or_default(); + options.push((flag.trim_start_matches("--").to_string(), value)); + } + _ => files.push(a), + } + } + let integrated = cfg!(target_os = "macos"); + let mut viewport = egui::ViewportBuilder::default() + .with_title("PrintCraft") + .with_inner_size([1440.0, 920.0]) + .with_min_inner_size([820.0, 520.0]) + .with_drag_and_drop(true); + if integrated { + viewport = viewport.with_fullsize_content_view(true).with_titlebar_shown(false).with_title_shown(false); + } + let native = eframe::NativeOptions { viewport, ..Default::default() }; + eframe::run_native( + "PrintCraft", + native, + Box::new(move |_cc| { + let mut app = PrintCraftApp::new(); + app.integrated_titlebar = integrated; + for f in files { + app.open_path(&f); + } + for (k, v) in options { + if let Err(e) = app.set_option(&k, &v) { + eprintln!("printcraft: --{k} {v}: {e}"); + } + } + Ok(Box::new(app)) + }), + ) +} diff --git a/assets/demo/showcase-data.csv b/assets/demo/showcase-data.csv new file mode 100644 index 00000000..2ae4f4ad --- /dev/null +++ b/assets/demo/showcase-data.csv @@ -0,0 +1,23 @@ +# Illustrative sample data behind the charts on page 7 of the PrintCraft showcase. +# These are made-up numbers for demonstration, not measurements. +chart,series,label,value +pages_per_second,throughput,Text,189 +pages_per_second,throughput,Forms,139 +pages_per_second,throughput,Vector,94 +pages_per_second,throughput,Scans,70 +pages_per_second,throughput,Maps,43 +conformance_percent,Text,0.1,74 +conformance_percent,Text,0.2,82 +conformance_percent,Text,0.3,89 +conformance_percent,Text,0.4,94 +conformance_percent,Text,0.5,97 +conformance_percent,Vector,0.1,66 +conformance_percent,Vector,0.2,73 +conformance_percent,Vector,0.3,80 +conformance_percent,Vector,0.4,87 +conformance_percent,Vector,0.5,92 +conformance_percent,Forms,0.1,62 +conformance_percent,Forms,0.2,65 +conformance_percent,Forms,0.3,71 +conformance_percent,Forms,0.4,79 +conformance_percent,Forms,0.5,85 diff --git a/assets/demo/showcase.html b/assets/demo/showcase.html new file mode 100644 index 00000000..e5b10786 --- /dev/null +++ b/assets/demo/showcase.html @@ -0,0 +1,779 @@ + + + + +PrintCraft Showcase + + + + + + +
+ +
+
Specimen · Volume One
+

PrintCraft
Showcase

+
A tour of the page, glyph by glyph.
+

Typography, world scripts, vector graphics, mathematics, forms and annotations — gathered in one document to put a PDF engine through its paces.

+
+
PrintCraft
Open-source PDF toolkit in Rust
+
Generated by cargo xtask demo-pdf
US Letter · 8.5 × 11 in
+
+
+
+ + +
+
PrintCraft ShowcaseContents
+
Inside this specimen
+

Contents

+
    +
  1. 1Setting TextColumns, justification, hyphenation, drop caps and notes1
  2. +
  3. 2OpenType FeaturesLigatures, small capitals, figures, fractions, swashes, weights2
  4. +
  5. 3Expressive TypeShadows, gradients, rotation, skew and text on a path3
  6. +
  7. 4Scripts of the WorldRight-to-left, complex shaping, vertical CJK and emoji4
  8. +
  9. 5MathematicsMathML Core set in STIX Two Math5
  10. +
  11. 6Vector GraphicsShadings, blend modes, clipping, masks and patterns6
  12. +
  13. 7Data & TablesCharts and a striped feature matrix7
  14. +
  15. 8Code & ImagesA syntax-coloured listing and a generated raster8
  16. +
  17. 9Review & MarkupEvery common annotation type, with appearance streams9
  18. +
  19. 10Interactive FormAcroForm fields written directly by the xtask10
  20. +
+
+

Colophon

Body text is set in Hoefler Text with Didot for display, Avenir Next and Inter for labels, and JetBrains Mono for code. Layout is authored in HTML and CSS, printed by headless Chrome, then post-processed with lopdf.
+

What to look for

Open the bookmarks, layers, attachments and comments panels. Page labels run Cover, i–ii, then 1–10. One layer adds a draft watermark; another holds print-only notes and starts hidden.
+
+
PrintCraft Showcasei
+
+ + +
+
PrintCraft ShowcaseForeword
+
Foreword
+

Why a specimen?

+

A PDF reader is judged in the first second. The page appears, and either the letters sit on it the way the author intended or they do not. Every kerning pair, every ligature and every soft gradient is a small promise the file makes and the renderer must keep.

+

This document collects those promises in one place. It was written for the people who build PrintCraft, as a single file to open after every change: if all of it still looks right, the change is probably safe. It is also, we hope, pleasant to read on its own.

+

Nothing here is exotic. Each feature is something ordinary documents use every day — an invoice with a form field, a thesis full of equations, a contract with comments in the margin, a brochure with a translucent photograph laid over a tinted panel. What is unusual is only that they are all together, and that each page says plainly what it is testing.

+

The layout is authored in HTML and printed by a browser; the interactive parts are then written into the file by hand, object by object. That split mirrors the real world, where most PDFs are produced by one program and amended by several others.

+
The PrintCraft contributors
+ +

Tracking, from tight to airy

+
+
Measure twice, set once −40
+
Measure twice, set once 0
+
Measure twice, set once +120
+
Measure twice +300
+
+
Forewordii
+
+ + +
+
PrintCraft Showcase1 · Setting Text
+
Chapter one
+

Setting Text

+

Two justified columns with automatic hyphenation, old-style figures, a drop cap and a pull quote — the everyday machinery of a well-made page.

+
+

Long before there were screens, a page of type was a negotiation between the width of a column and the length of the words that had to fill it. The compositor adjusted spaces, divided a word at a sensible syllable, and occasionally rewrote a line so the paragraph would lie flat. Justified text asks for exactly that care, and a renderer must honour the spacing it was given.1

+

A PDF does not reflow. Every glyph has already been placed by the program that wrote the file, and the reader’s job is to reproduce those positions faithfully at any zoom. That sounds simple until one remembers that a single line may mix three fonts, a ligature standing in for two letters, and a hyphen that exists only because the line happened to break there in 1994 or 2026.

+

Old-style figures, like the ones in this paragraph’s 1,280 characters and 36 lines, rise and fall with the lowercase so that numbers do not shout. Ligatures such as fi, fl and ffi in words like officially, affluent and afflicted join letters that would otherwise collide.2

+
“The best typography is the kind you only notice when it is missing.”A working maxim of the trade
+

Hyphenation is where browsers and word processors differ most. Chrome consults the system’s hyphenation dictionaries when a paragraph declares its language and asks for automatic hyphens, which is why the words in these columns occasionally divide across lines. The result is a more even texture, with fewer rivers of white running down the column.

+

Columns introduce their own questions: where to break, whether a heading may sit at the foot of one, and how a quotation spanning both should interrupt the flow. Here the pull quote spans the full measure and the text resumes beneath it, balanced between the two columns.

+

Small text matters too. Notes, captions and legal lines are often set at seven or eight points, where hinting, stem darkening and subpixel positioning decide whether a reader squints. The footnotes below are set at seven and a half points in the same face as the body.3

+

Finally, notice the drop cap that opens this chapter. It is an ordinary letter, floated and enlarged, with the first line set in small capitals. A renderer need do nothing special for it, which is precisely the point: most typographic richness in a PDF is just careful placement of ordinary glyphs.

+
+
+
+

1 Word spacing in PDF is usually baked into glyph positions rather than expressed with the word-spacing operator, so readers rarely need to stretch anything themselves.

+

2 In a PDF a ligature is a single glyph; text extraction relies on the font’s ToUnicode map to recover the letters it represents.

+

3 Try zooming to 400 percent here: well-rendered small text stays crisp and evenly weighted.

+
+
Setting Text1
+
+ + +
+
PrintCraft Showcase2 · OpenType Features
+
Chapter two
+

OpenType Features

+

Each row shows the same text with a feature off, then on. The glyphs differ; the underlying characters do not.

+ + + + + + + + + + + +
TagFeatureOffOn
ligaStandard ligaturesoffice fluffy fjordoffice fluffy fjord
dligDiscretionary ligaturesAsterisk & strictAsterisk & strict
smcpSmall capitalsPrinted in BostonPrinted in Boston
onumOld-style figuresSince 1885: 3,467,920Since 1885: 3,467,920
fracFractions1/2 cup, 3/4 inch, 7/81/2 cup, 3/4 inch, 7/8
swshSwash capitalsThe Quiet RiverThe Quiet River
ss01Stylistic set 1a 1 4 6 9 G ?a 1 4 6 9 G ?
kernKerningAVATAR Type WaveAVATAR Type Wave
tnumTabular figures1111 / 88881111 / 8888
+ +

One variable font, nine weights

+
+
Ag100
+
Ag200
+
Ag300
+
Ag400
+
Ag500
+
Ag600
+
Ag700
+
Ag800
+
Ag900
+
+

System UI · a single variable font file supplies every weight; the PDF embeds each instance as its own subset.

+ +

Script faces

+
Handsome letters, joined in flight
+
Quietly Ornamental — 1234567890
+
OpenType Features2
+
+ + +
+
PrintCraft Showcase3 · Expressive Type
+
Chapter three
+

Expressive Type

+

Effects that become transparency groups, soft masks, clipping paths and transformed text objects once they reach PDF.

+
+
Layered
text-shadow · two translucent offset copies composited under the glyphs
+
Spectrum
background-clip: text · a linear shading clipped to glyph outlines
+
Skewed
Rotated
transform · skewX(−18°) on a filled box and rotate(−12°) on a label
+
Outline
Tracked to 600
-webkit-text-stroke · glyphs stroked, not filled (render mode 1)
+
+ +

Text on a curve

+ + + + + + + + + + + Letters can follow any path the designer draws — up, over, and away + + +

SVG textPath · each glyph is positioned and rotated individually along a cubic Bézier, filled with a gradient.

+ +

Hierarchy through contrast

+
+
Contrast is the
engine of design.
+
Pair a hairline Didot italic with a heavy grotesque and the eye knows where to go. The PDF sees only two fonts and a handful of positioning operators; the hierarchy is entirely in the choices.
+
+
Expressive Type3
+
+ + +
+
PrintCraft Showcase4 · Scripts of the World
+
Chapter four
+

Scripts of the World

+

A short greeting — roughly, “every letter deserves a good home” — in writing systems that need bidirectional layout, contextual shaping, reordering and vertical setting.

+
+
+
Arabic RTL · joining
لكل حرف بيت جميل
Geeza Pro
+
Hebrew RTL
לכל אות יש בית טוב
SF Hebrew
+
Devanagari conjuncts
हर अक्षर का सुंदर घर
Kohinoor Devanagari
+
Thai no spaces
ทุกตัวอักษรมีบ้านที่ดี
Thonburi
+
Greek polytonic
Κάθε γράμμα ἔχει σπίτι
Hoefler Text
+
Cyrillic
У каждой буквы есть дом
Baskerville
+
Chinese simplified
每个字都有一个好家
PingFang SC
+
Korean Hangul
모든 글자에게 좋은 집을
Apple SD Gothic Neo
+
IPA phonetics
/ˈtaɪpˌsɛtɪŋ ɪz ˈkræft/
International Phonetic Alphabet
+
Armenian
Ամեն տառ ունի տուն
SF Armenian
+
Georgian
ყველა ასოს აქვს სახლი
SF Georgian
+
Tamil
ஒவ்வொரு எழுத்துக்கும் வீடு
Tamil Sangam MN
+
+
+
Japanese vertical
+ +
Hiragino Mincho ProN, writing-mode: vertical-rl
+
+
+
+ +

Mixed direction in one line

+

The word كتاب means “book”, and ספר does too — the bidi algorithm keeps each run in its own direction while the sentence stays left-to-right, even across numbers like ٣٤٥ and 345.

+ +

Colour emoji

+
📄🖋️🎨📐🔍🌍🧮✅🦀📎
+

Apple Color Emoji · bitmap (sbix) glyphs that Chrome places into the PDF as images.

+
Scripts of the World4
+
+ + +
+
PrintCraft Showcase5 · Mathematics
+
Chapter five
+

Mathematics

+

Equations written in MathML Core and laid out by the browser: stretchy delimiters, radicals, large operators, scripts and matrices.

+
+
+ x=−b±b2−4ac2a +
Quadratic formula · fraction, radical, superscript
+
+
+ ∫−∞∞e−x2dx=π +
Gaussian integral · large operator with limits
+
+
+ eiπ+1=0 +
Euler’s identity · five constants, one line
+
+
+ ∑n=1∞1n2=π26 +
Basel problem · summation with under- and over-scripts
+
+
+ R(θ)=[cosθ−sinθsinθcosθ] +
Rotation matrix · the transform behind every rotated page
+
+
+ B(t)=∑i=03(3i)(1−t)3−itiPi +
Cubic Bézier · the curve PDF paths are made of
+
+
+ +

Inline mathematics

+

A PDF page maps user space to device space with a matrix [abcdef], so a point (x,y) lands at (ax+cy+e,bx+dy+f). With one point equal to 172 inch, a Letter page measures 612×792 points, and a 300 dpi raster of it holds roughly 8.4×106 pixels.

+ +

Symbols and arrows

+
∀ ∃ ∅ ∇ ∂ ∈ ∉ ⊂ ⊆ ∪ ∩ ≤ ≥ ≠ ≈ ≡ ∞ ℵ ℝ ℂ ℤ ℕ → ⇒ ⇔ ↦ ⟨ ⟩ ⌈ ⌉
+
Mathematics5
+
+ + +
+
PrintCraft Showcase6 · Vector Graphics
+
Chapter six
+

Vector Graphics

+

Nine small plates, each exercising one piece of the PDF imaging model.

+
+
+ +
Axial shading · three-stop linear gradient
+
+
+ +
Radial shading · off-centre focal point
+
+
+
+
Multiply · subtractive overlaps, /BM /Multiply
+
+
+
+
Screen · additive light, /BM /Screen
+
+
+ Clip + +
Clipping path · glyph outlines as a clip
+
+
+ +
Soft mask · luminosity gradient fades artwork
+
+
+ +
Dash patterns · caps, joins and phase
+
+
+ +
Tiling patterns · checks and rotated hatch
+
+
+ + + +
Fill rules · even-odd pentagram, 45% opacity
+
+
+
+ + + + + + + + +

Layered waves · five-stop shading, 50% overlay in multiply mode, dashed stroke over the top.

+
Vector Graphics6
+
+ + +
+
PrintCraft Showcase7 · Data & Tables
+
Chapter seven
+

Data & Tables

+

Charts drawn as SVG and a striped table. All figures are illustrative sample data, not measurements.

+
+
+

Pages per second, by document type

+

Illustrative sample data · higher is better

+ + + + 050100150200 + + + + + + + + + + 189139947043 + + + TextFormsVectorScansMaps + + +
+
+

Renderer conformance over releases

+

Illustrative sample data · % of test pages matching reference

+ + + + 60708090100 + 0.10.20.30.40.5 + + + + + + + + + + + Text 97Vector 92Forms 85 + + +
+ Text + Vector + Forms +
+
+
+ +

Where each PDF feature lives in this file

+ + + + + + + + + + + + + + + +
FeaturePDF objectProduced byPageStatus
Embedded font subsets/FontFile2, /FontFile3ChromeallPresent
Tagged structure/StructTreeRootChromeallPresent
Axial & radial shadings/ShadingType 2, 3Chrome6Present
Blend modes/ExtGState /BMChrome6Present
Bookmarks/OutlinesChrome, xtask—Present
Page labels/PageLabelsxtask—Present
Optional content/OCPropertiesxtask9, 10Two layers
Annotations/Annots with /APxtask1, 9, 10Present
Form fields/AcroFormxtask10Present
File attachments/EmbeddedFilesxtask—Present
Digital signature/FT /Sigxtask10Unsigned
+
Data & Tables7
+
+ + +
+
PrintCraft Showcase8 · Code & Images
+
Chapter eight
+

Code & Images

+

A monospaced listing with syntax colouring, and the raster that it describes.

+
1// Escape-time rendering of the Mandelbrot set into an RGB buffer.
+2fn mandelbrot(width: u32, height: u32) -> Vec<u8> {
+3    let mut rgb = Vec::with_capacity((width * height * 3) as usize);
+4    for py in 0..height {
+5        for px in 0..width {
+6            let c = (-2.2 + 3.0 * px as f64 / width as f64,
+7                     -1.5 + 3.0 * py as f64 / height as f64);
+8            let (mut z, mut n) = ((0.0, 0.0), 0);
+9            while n < MAX_ITER && z.0 * z.0 + z.1 * z.1 <= 4.0 {
+10               z = (z.0 * z.0 - z.1 * z.1 + c.0, 2.0 * z.0 * z.1 + c.1);
+11               n += 1;
+12           }
+13           rgb.extend_from_slice(&palette(n)); // smooth colour ramp
+14       }
+15   }
+16   rgb
+17}
+
+
Procedurally generated Mandelbrot set
+
+

A generated raster

+

The image at left is computed by the xtask each time the showcase is built, encoded as PNG and handed to Chrome, which embeds it as an image XObject. Nothing is downloaded and no third-party artwork is involved, so the file stays reproducible and free to redistribute.

+

At 60 dpi the fractal edge looks smooth; zoom in and the individual pixels appear, a useful check that the viewer switches from filtered to nearest-neighbour sampling at the right moment.

+

Links

+ +
+
+
Code & Images8
+
+ + +
+
PrintCraft Showcase9 · Review & Markup
+
Chapter nine
+

Review & Markup

+

Every annotation on this page was added after printing, each with its own appearance stream, author, date and unique name.

+
+
+

Text markup

+

Reviewers rarely rewrite a document; they highlight the phrase that matters, underline a claim that needs a source, and strike out a redundant word before moving on.

+

A wavy line says check the spelling here, while a caret marks where text should  be inserted.

+

Comments

+

Sticky notes carry threaded replies, and a free-text box writes directly on the page. The paperclip holds an attached file that can be saved from the comment itself.

+

Legend

+
    +
  1. Highlight
  2. Underline
  3. StrikeOut
  4. Squiggly
  5. Caret
  6. Text + Popup
  7. FreeText
  8. Line (arrow)
  9. Square
  10. Circle
  11. Polygon
  12. PolyLine
  13. Ink
  14. Stamp
  15. FileAttachment
  16. Link
  17. +
+
+
+ Review canvas + . + . + . + . + . + . + . + . + . + . +
+
+
Review & Markup9
+
+ + + diff --git a/assets/fonts/Inter-Medium.ttf b/assets/fonts/Inter-Medium.ttf new file mode 100644 index 0000000000000000000000000000000000000000..458cd0601d28013d3817481aa2839c9bbb5ded70 GIT binary patch literal 417300 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�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 z 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 literal 0 HcmV?d00001 diff --git a/assets/fonts/Inter-SemiBold.ttf b/assets/fonts/Inter-SemiBold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..47f8ab1d68144fc004b310d65d95180d502b449b GIT binary patch literal 419744 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�# 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 literal 0 HcmV?d00001 diff --git a/assets/fonts/JetBrainsMono-Regular.ttf b/assets/fonts/JetBrainsMono-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..711830ede02a366f8b99f88e52f3148405e67eaf GIT binary patch literal 270224 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

{Qq;dYoLXG*oL7!{wrG%~aKb=FoR7{s=k| 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

, + pub palette_open: bool, + pub palette_query: String, + pub all_tools_expanded: bool, + pub recent: Vec, + pub toast: Option<(String, f64)>, + /// Whether the macOS title bar is drawn by us (traffic lights over our tab strip). + pub integrated_titlebar: bool, + pending_theme: Option, + styled: bool, + fonts_ready: bool, +} + +impl Default for PrintCraftApp { + fn default() -> Self { + Self::new() + } +} + +impl PrintCraftApp { + pub fn new() -> Self { + Self { + session: Session::new(), + views: Vec::new(), + active: None, + mode: Mode::AllTools, + left: LeftPanel::AllTools, + left_open: true, + right: None, + quick_tool: QuickTool::Select, + theme: ThemeKind::Light, + dialog: None, + palette_open: false, + palette_query: String::new(), + all_tools_expanded: false, + recent: Vec::new(), + toast: None, + integrated_titlebar: false, + pending_theme: None, + styled: false, + fonts_ready: false, + } + } + + /// Open a document and make it the active tab. + pub fn open_bytes(&mut self, name: &str, path: Option, bytes: Vec) -> Result<(), String> { + let size = bytes.len(); + let id = self.session.open(name, path.clone(), bytes).map_err(|e| e.to_string())?; + let doc = self.session.get(id).expect("just opened"); + let pages = doc.info.pages.len(); + // Acrobat opens straight to the Comments panel when a document has comments. + if self.right.is_none() { + self.right = if !doc.info.annotations.is_empty() { + Some(RightPanel::Comments) + } else if !doc.info.outline.is_empty() { + Some(RightPanel::Bookmarks) + } else { + None + }; + } + self.views.push(DocView::new(id, &doc.info)); + self.active = Some(self.views.len() - 1); + if let Some(p) = path { + self.recent.retain(|r| r.path != p); + self.recent.insert(0, RecentFile { name: name.to_string(), path: p, pages, size }); + self.recent.truncate(12); + } + Ok(()) + } + + #[cfg(not(target_arch = "wasm32"))] + pub fn open_path(&mut self, path: &str) { + let name = std::path::Path::new(path).file_name().map(|n| n.to_string_lossy().into_owned()).unwrap_or_else(|| path.to_string()); + match std::fs::read(path) { + Ok(bytes) => { + if let Err(e) = self.open_bytes(&name, Some(path.to_string()), bytes) { + self.notify(format!("Couldn't open {name}: {e}")); + } + } + Err(e) => self.notify(format!("Couldn't read {name}: {e}")), + } + } + + pub fn open_dialog(&mut self) { + #[cfg(not(target_arch = "wasm32"))] + if let Some(p) = rfd::FileDialog::new().add_filter("PDF", &["pdf"]).pick_file() { + self.open_path(&p.to_string_lossy()); + } + } + + pub fn close_tab(&mut self, index: usize) { + if index >= self.views.len() { + return; + } + let id = self.views.remove(index).id; + self.session.close(id); + self.active = match self.active { + _ if self.views.is_empty() => None, + Some(a) if a >= self.views.len() => Some(self.views.len() - 1), + other => other, + }; + } + + pub fn active_ids(&self) -> Option<(usize, DocId)> { + self.active.and_then(|i| self.views.get(i).map(|v| (i, v.id))) + } + + pub fn notify(&mut self, msg: impl Into) { + self.toast = Some((msg.into(), 0.0)); + } + + pub fn set_theme(&mut self, ctx: &egui::Context, kind: ThemeKind) { + self.theme = kind; + theme::apply(ctx, kind); + } + + /// Run a catalogue command. Commands that aren't implemented yet say which milestone ships them. + pub fn run_command(&mut self, command: &str) { + match command { + "page.organize" => { + if let Some(i) = self.active { + self.views[i].organize = !self.views[i].organize; + } else { + self.notify("Open a document first"); + } + } + "comment.list" => self.right = Some(RightPanel::Comments), + "form.fields" => self.right = Some(RightPanel::Fields), + "protect.properties" => self.dialog = Some(Dialog::Properties(PropsTab::Security)), + other => { + let when = printcraft_engine::catalog::TOOL_GROUPS + .iter() + .flat_map(|g| g.sections.iter().flat_map(|s| s.items.iter())) + .find(|i| i.command == other) + .map(|i| match i.availability { + printcraft_engine::catalog::Availability::Planned(m) => format!("ships in milestone {m}"), + printcraft_engine::catalog::Availability::Provider => "needs an AI provider (off by default)".to_string(), + printcraft_engine::catalog::Availability::Ready => "is available".to_string(), + }) + .unwrap_or_else(|| "is not available yet".into()); + self.notify(format!("`{other}` {when}")); + } + } + } + + /// Apply a named view option (`--page 3`, `--panel bookmarks`, `--theme dark`, …). + /// + /// This is the seed of the UI control channel (M3.9): the same verbs become `ui.set` calls. + pub fn set_option(&mut self, key: &str, value: &str) -> Result<(), String> { + let view = self.active.and_then(|i| self.views.get_mut(i)); + match (key, view) { + ("theme", _) => self.pending_theme = Some(if value == "dark" { ThemeKind::Dark } else { ThemeKind::Light }), + ("panel", _) => { + self.right = match value { + "comments" => Some(RightPanel::Comments), + "bookmarks" => Some(RightPanel::Bookmarks), + "pages" => Some(RightPanel::Pages), + "fields" => Some(RightPanel::Fields), + "layers" => Some(RightPanel::Layers), + "attachments" => Some(RightPanel::Attachments), + "none" => None, + other => return Err(format!("unknown panel {other}")), + } + } + ("mode", _) => { + self.mode = match value { + "read" => Mode::Read, + "edit" => Mode::Edit, + "convert" => Mode::Convert, + "sign" => Mode::Sign, + _ => Mode::AllTools, + } + } + ("tool", _) => { + let g = printcraft_engine::catalog::group(value).ok_or_else(|| format!("unknown tool {value}"))?; + self.left = LeftPanel::Tool(g.id); + self.left_open = true; + } + ("left", _) => self.left_open = value != "closed", + ("home", _) => self.active = None, + ("dialog", _) => { + self.dialog = match value { + "properties" => Some(Dialog::Properties(PropsTab::Description)), + "shortcuts" => Some(Dialog::Shortcuts), + _ => Some(Dialog::About), + } + } + ("palette", _) => { + self.palette_open = true; + self.palette_query = value.to_string(); + } + ("page", Some(v)) => v.go_to_page(value.parse::().map_err(|e| e.to_string())?.saturating_sub(1)), + ("zoom", Some(v)) => v.set_zoom(value.trim_end_matches('%').parse::().map_err(|e| e.to_string())? / 100.0), + ("layout", Some(v)) => { + v.layout = match value { + "two-up" => canvas::PageLayout::TwoUp, + "single" => canvas::PageLayout::Single, + _ => canvas::PageLayout::Continuous, + } + } + ("organize", Some(v)) => v.organize = value != "off", + ("fields", Some(v)) => v.highlight_fields = value != "off", + (k, None) if ["page", "zoom", "layout", "organize", "fields"].contains(&k) => return Err(format!("`{k}` needs an open document")), + (other, _) => return Err(format!("unknown option {other}")), + } + Ok(()) + } + + fn shortcuts(&mut self, ctx: &egui::Context) { + use egui::{Key, KeyboardShortcut, Modifiers}; + let cmd = |k| KeyboardShortcut::new(Modifiers::COMMAND, k); + let pressed = |s: KeyboardShortcut| ctx.input_mut(|i| i.consume_shortcut(&s)); + if pressed(cmd(Key::O)) { + self.open_dialog(); + } + if pressed(cmd(Key::K)) { + self.palette_open = !self.palette_open; + } + if pressed(cmd(Key::D)) && self.active.is_some() { + self.dialog = Some(Dialog::Properties(PropsTab::Description)); + } + if pressed(cmd(Key::W)) + && let Some(i) = self.active + { + self.close_tab(i); + } + if pressed(KeyboardShortcut::new(Modifiers::COMMAND | Modifiers::CTRL, Key::H)) { + self.mode = if self.mode == Mode::Read { Mode::AllTools } else { Mode::Read }; + } + if let Some(i) = self.active { + canvas::shortcuts(&mut self.views[i], ctx); + } + } +} + +impl eframe::App for PrintCraftApp { + fn logic(&mut self, ctx: &egui::Context, _frame: &mut eframe::Frame) { + if !self.styled { + egui_extras::install_image_loaders(ctx); + theme::install_fonts(ctx); + theme::apply(ctx, self.theme); + self.styled = true; + } else { + self.fonts_ready = true; + } + if let Some(k) = self.pending_theme.take() { + self.set_theme(ctx, k); + } + let dropped = ctx.input(|i| i.raw.dropped_files.clone()); + for f in dropped { + #[cfg(not(target_arch = "wasm32"))] + { + let p = f.path().to_string_lossy().into_owned(); + if !p.is_empty() { + self.open_path(&p); + continue; + } + } + let name = f.path().file_name().map(|n| n.to_string_lossy().into_owned()).unwrap_or_else(|| "dropped.pdf".into()); + match f.bytes() { + Ok(bytes) => { + if let Err(e) = self.open_bytes(&name, None, bytes) { + self.notify(format!("Couldn't open {name}: {e}")); + } + } + Err(e) => self.notify(format!("Couldn't read {name}: {e}")), + } + } + self.shortcuts(ctx); + // Pull finished renders into textures for every open document. + for view in &mut self.views { + if let Some(doc) = self.session.get(view.id) { + view.receive(ctx, &doc.renderer); + } + } + } + + fn ui(&mut self, ui: &mut egui::Ui, _frame: &mut eframe::Frame) { + let ctx = ui.ctx().clone(); + // Fonts registered via set_fonts only take effect next frame; named families would panic now. + if !self.fonts_ready { + ctx.request_repaint(); + return; + } + chrome::tab_strip(self, ui); + chrome::mode_bar(self, ui); + if self.active.is_some() { + chrome::right_rail(self, ui); + if self.right.is_some() && self.mode != Mode::Read { + panels::right_panel(self, ui); + } + } + if self.left_open && self.mode != Mode::Read { + panels::left_panel(self, ui); + } + let t = theme::Tokens::get(&ctx); + egui::CentralPanel::default().frame(egui::Frame::NONE.fill(t.pasteboard)).show(ui, |ui| match self.active { + None => home::show(self, ui), + Some(i) => canvas::document_area(self, i, ui), + }); + palette::show(self, &ctx); + dialogs::show(self, &ctx); + widgets::toast(self, &ctx); + } +} diff --git a/crates/ui-egui/src/palette.rs b/crates/ui-egui/src/palette.rs new file mode 100644 index 00000000..9b34cbd2 --- /dev/null +++ b/crates/ui-egui/src/palette.rs @@ -0,0 +1,132 @@ +//! ⌘K command palette over the tool catalogue (fuzzy-ish substring match on tool and item names). + +use egui::{Align2, CornerRadius, Rect, Sense, Stroke, vec2}; +use printcraft_engine::catalog::{Availability, TOOL_GROUPS}; + +use crate::theme::{self, Tokens}; +use crate::{LeftPanel, PrintCraftApp, icons}; + +struct Hit { + group: &'static str, + label: String, + detail: &'static str, + icon: &'static str, + command: Option<&'static str>, + ready: bool, +} + +fn score(hay: &str, needle: &str) -> Option { + if needle.is_empty() { + return Some(0); + } + let h = hay.to_lowercase(); + if let Some(p) = h.find(needle) { + return Some(p); + } + // Subsequence match as a fallback. + let mut it = h.chars(); + needle.chars().all(|c| it.any(|x| x == c)).then_some(100) +} + +pub fn show(app: &mut PrintCraftApp, ctx: &egui::Context) { + if !app.palette_open { + return; + } + let t = Tokens::get(ctx); + if ctx.input(|i| i.key_pressed(egui::Key::Escape)) { + app.palette_open = false; + return; + } + let q = app.palette_query.trim().to_lowercase(); + let mut hits: Vec<(usize, Hit)> = Vec::new(); + for g in TOOL_GROUPS { + if let Some(s) = score(g.label, &q) { + hits.push(( + s, + Hit { + group: g.id, + label: g.label.to_string(), + detail: "Tool", + icon: g.icon, + command: None, + ready: g.availability == Availability::Ready, + }, + )); + } + for sec in g.sections { + for i in sec.items { + if let Some(s) = score(i.label, &q).or_else(|| score(i.command, &q).map(|s| s + 50)) { + hits.push(( + s + 1, + Hit { + group: g.id, + label: i.label.to_string(), + detail: g.label, + icon: i.icon, + command: Some(i.command), + ready: i.availability == Availability::Ready, + }, + )); + } + } + } + } + hits.sort_by_key(|(s, h)| (*s, !h.ready)); + hits.truncate(12); + + let screen = ctx.content_rect(); + let mut chosen: Option<(Option<&'static str>, &'static str)> = None; + egui::Area::new(egui::Id::new("palette")) + .order(egui::Order::Foreground) + .pivot(Align2::CENTER_TOP) + .fixed_pos(egui::pos2(screen.center().x, screen.top() + 96.0)) + .show(ctx, |ui| { + egui::Frame::popup(ui.style()).corner_radius(CornerRadius::same(12)).inner_margin(egui::Margin::same(10)).show(ui, |ui| { + ui.set_width(560.0); + ui.horizontal(|ui| { + ui.add(icons::image("search", 18.0, t.text_muted)); + let r = ui.add( + egui::TextEdit::singleline(&mut app.palette_query) + .hint_text("Search tools and commands…") + .frame(egui::Frame::NONE) + .font(theme::regular(15.0)) + .desired_width(f32::INFINITY), + ); + r.request_focus(); + if r.lost_focus() + && ui.input(|i| i.key_pressed(egui::Key::Enter)) + && let Some((_, h)) = hits.first() + { + chosen = Some((h.command, h.group)); + } + }); + ui.separator(); + for (_, h) in &hits { + let (rect, resp) = ui.allocate_exact_size(vec2(ui.available_width(), 36.0), Sense::click()); + if resp.hovered() { + ui.painter().rect_filled(rect, CornerRadius::same(6), t.hover); + } + icons::paint(ui, Rect::from_min_size(rect.min + vec2(8.0, 9.0), vec2(18.0, 18.0)), h.icon, 17.0, t.icon); + ui.painter().text(rect.left_center() + vec2(36.0, 0.0), Align2::LEFT_CENTER, &h.label, theme::regular(13.5), t.text); + ui.painter().text(rect.right_center() - vec2(10.0, 0.0), Align2::RIGHT_CENTER, h.detail, theme::regular(12.0), t.text_faint); + if resp.clicked() { + chosen = Some((h.command, h.group)); + } + } + if hits.is_empty() { + ui.label(egui::RichText::new("No matching tools").color(t.text_muted)); + } + ui.add_space(2.0); + let _ = Stroke::NONE; + }); + }); + if let Some((command, group)) = chosen { + app.palette_open = false; + app.palette_query.clear(); + app.left_open = true; + app.left = LeftPanel::Tool(group); + if let Some(c) = command { + app.run_command(c); + } + } +} diff --git a/crates/ui-egui/src/panels.rs b/crates/ui-egui/src/panels.rs new file mode 100644 index 00000000..b302f849 --- /dev/null +++ b/crates/ui-egui/src/panels.rs @@ -0,0 +1,509 @@ +//! Left tool panel (All tools + tool sub-panels, generated from the engine catalogue) and the +//! right-hand panels (Comments, Bookmarks, Pages, Fields, Layers, Attachments). + +use egui::{Align, Align2, Color32, CornerRadius, Layout, Rect, Sense, Stroke, pos2, vec2}; +use printcraft_engine::catalog::{self, Availability, TOOL_GROUPS, ToolGroup}; +use printcraft_render::{Annotation, DocInfo, FieldKind, OutlineItem}; + +use crate::theme::{self, Tokens}; +use crate::{LeftPanel, PrintCraftApp, RightPanel, icons, widgets}; + +const COLLAPSED_TOOLS: usize = 14; + +fn hue(g: &ToolGroup) -> Color32 { + Color32::from_rgb(g.hue[0], g.hue[1], g.hue[2]) +} + +pub fn left_panel(app: &mut PrintCraftApp, ui: &mut egui::Ui) { + let t = Tokens::get(ui.ctx()); + egui::Panel::left("tool_panel") + .resizable(false) + .exact_size(272.0) + .frame( + egui::Frame::NONE + .fill(t.panel) + .inner_margin(egui::Margin { left: 14, right: 10, top: 12, bottom: 10 }) + .stroke(Stroke::new(1.0, t.divider)), + ) + .show(ui, |ui| match app.left { + LeftPanel::AllTools => all_tools(app, ui, &t), + LeftPanel::Tool(id) => match catalog::group(id) { + Some(g) => tool_detail(app, ui, &t, g), + None => app.left = LeftPanel::AllTools, + }, + }); +} + +fn panel_header(ui: &mut egui::Ui, t: &Tokens, title: &str, back: bool) -> (bool, bool) { + let mut go_back = false; + let mut close = false; + ui.horizontal(|ui| { + if back && icons::button(ui, "chevron-left", 26.0, false, "Back to all tools").clicked() { + go_back = true; + } + ui.label(egui::RichText::new(title).font(theme::semibold(15.5)).color(t.text)); + ui.with_layout(Layout::right_to_left(Align::Center), |ui| { + if icons::button(ui, "x", 26.0, false, "Close panel").clicked() { + close = true; + } + }); + }); + ui.add_space(6.0); + (go_back, close) +} + +fn all_tools(app: &mut PrintCraftApp, ui: &mut egui::Ui, t: &Tokens) { + let (_, close) = panel_header(ui, t, "All tools", false); + if close { + app.left_open = false; + } + egui::ScrollArea::vertical().auto_shrink([false, false]).show(ui, |ui| { + let shown = if app.all_tools_expanded { TOOL_GROUPS.len() } else { COLLAPSED_TOOLS.min(TOOL_GROUPS.len()) }; + for g in &TOOL_GROUPS[..shown] { + if tool_row(ui, t, g).clicked() { + app.left = LeftPanel::Tool(g.id); + } + } + ui.add_space(4.0); + let more = if app.all_tools_expanded { "View less" } else { "View more" }; + if ui.add(egui::Label::new(egui::RichText::new(more).color(t.accent_text).font(theme::medium(13.0))).sense(Sense::click())).clicked() { + app.all_tools_expanded = !app.all_tools_expanded; + } + }); +} + +fn tool_row(ui: &mut egui::Ui, t: &Tokens, g: &ToolGroup) -> egui::Response { + let (rect, resp) = ui.allocate_exact_size(vec2(ui.available_width(), 34.0), Sense::click()); + if resp.hovered() { + ui.painter().rect_filled(rect, CornerRadius::same(6), t.hover); + } + icons::paint(ui, Rect::from_min_size(rect.min + vec2(6.0, 7.0), vec2(20.0, 20.0)), g.icon, 19.0, hue(g)); + ui.painter().text(rect.left_center() + vec2(36.0, 0.0), Align2::LEFT_CENTER, g.label, theme::regular(13.5), t.text); + let (chip, fill) = match (g.badge, g.availability) { + (Some(b), _) => (Some(b.to_string()), t.badge_new), + (None, Availability::Planned(m)) => (Some(m.to_string()), t.pressed), + _ => (None, t.pressed), + }; + if let Some(c) = chip { + let font = theme::semibold(9.5); + let fg = if fill == t.badge_new { Color32::WHITE } else { t.text_muted }; + let w = ui.fonts_mut(|f| f.layout_no_wrap(c.clone(), font.clone(), fg).size().x); + let r = Rect::from_center_size(rect.right_center() - vec2(w / 2.0 + 10.0, 0.0), vec2(w + 10.0, 16.0)); + ui.painter().rect_filled(r, CornerRadius::same(4), fill); + ui.painter().text(r.center(), Align2::CENTER_CENTER, c, font, fg); + } + let tip = match g.availability { + Availability::Ready => "Available".to_string(), + Availability::Planned(m) => format!("Planned for milestone {m} — open to see what it will include"), + Availability::Provider => "Optional: needs an AI provider you configure".into(), + }; + resp.on_hover_text(tip) +} + +fn tool_detail(app: &mut PrintCraftApp, ui: &mut egui::Ui, t: &Tokens, g: &'static ToolGroup) { + let (back, close) = panel_header(ui, t, g.label, true); + if back { + app.left = LeftPanel::AllTools; + app.mode = crate::Mode::AllTools; + } + if close { + app.left_open = false; + } + if let Availability::Planned(m) = g.availability { + egui::Frame::NONE.fill(t.accent_soft).corner_radius(CornerRadius::same(8)).inner_margin(egui::Margin::same(10)).show(ui, |ui| { + ui.set_width(ui.available_width()); + ui.label( + egui::RichText::new(format!("Coming in milestone {m}. Items marked Ready work today.")).color(t.text).font(theme::regular(12.0)), + ); + }); + } + let mut run = None; + egui::ScrollArea::vertical().auto_shrink([false, false]).show(ui, |ui| { + for s in g.sections { + widgets::section_title(ui, s.title); + for item in s.items { + let (rect, resp) = ui.allocate_exact_size(vec2(ui.available_width(), 34.0), Sense::click()); + let ready = item.availability == Availability::Ready; + if resp.hovered() { + ui.painter().rect_filled(rect, CornerRadius::same(6), t.hover); + } + let fg = if ready { t.text } else { t.text_muted }; + icons::paint( + ui, + Rect::from_min_size(rect.min + vec2(6.0, 8.0), vec2(18.0, 18.0)), + item.icon, + 17.0, + if ready { hue(g) } else { t.text_faint }, + ); + ui.painter().text(rect.left_center() + vec2(34.0, 0.0), Align2::LEFT_CENTER, item.label, theme::regular(13.0), fg); + let (chip, fill, cfg) = match item.availability { + Availability::Ready => ("Ready", Color32::from_rgb(0xDD, 0xF3, 0xE4), Color32::from_rgb(0x1E, 0x7B, 0x43)), + Availability::Planned(m) => (m, t.pressed, t.text_muted), + Availability::Provider => ("AI", t.pressed, t.text_muted), + }; + let font = theme::semibold(9.5); + let w = ui.fonts_mut(|f| f.layout_no_wrap(chip.to_string(), font.clone(), cfg).size().x); + let r = Rect::from_center_size(rect.right_center() - vec2(w / 2.0 + 10.0, 0.0), vec2(w + 10.0, 16.0)); + ui.painter().rect_filled(r, CornerRadius::same(4), fill); + ui.painter().text(r.center(), Align2::CENTER_CENTER, chip, font, cfg); + if resp.on_hover_text(item.command).clicked() { + run = Some(item.command); + } + } + } + }); + if let Some(cmd) = run { + app.run_command(cmd); + } +} + +// ───────────────────────────────────────────────────────────────────────────── right panels + +enum Nav { + Page(usize), + Flash(usize, [f32; 4]), +} + +pub fn right_panel(app: &mut PrintCraftApp, ui: &mut egui::Ui) { + let t = Tokens::get(ui.ctx()); + let Some((index, id)) = app.active_ids() else { return }; + let Some(panel) = app.right else { return }; + let mut nav: Option

AzPi!HK1CYdMasJ%868x!dF;`ny|>LRT>eY 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 + + + + + + + diff --git a/assets/icons/align-left.svg b/assets/icons/align-left.svg new file mode 100644 index 00000000..b5b70eeb --- /dev/null +++ b/assets/icons/align-left.svg @@ -0,0 +1,17 @@ + + + + + + diff --git a/assets/icons/app-window.svg b/assets/icons/app-window.svg new file mode 100644 index 00000000..815548bc --- /dev/null +++ b/assets/icons/app-window.svg @@ -0,0 +1,16 @@ + + + + + + diff --git a/assets/icons/arrow-left-right.svg b/assets/icons/arrow-left-right.svg new file mode 100644 index 00000000..acf2cb39 --- /dev/null +++ b/assets/icons/arrow-left-right.svg @@ -0,0 +1,16 @@ + + + + + + diff --git a/assets/icons/arrow-up-down.svg b/assets/icons/arrow-up-down.svg new file mode 100644 index 00000000..f58abde3 --- /dev/null +++ b/assets/icons/arrow-up-down.svg @@ -0,0 +1,18 @@ + + + + + + + diff --git a/assets/icons/arrow-up-right.svg b/assets/icons/arrow-up-right.svg new file mode 100644 index 00000000..8a669e29 --- /dev/null +++ b/assets/icons/arrow-up-right.svg @@ -0,0 +1,16 @@ + + + + + diff --git a/assets/icons/badge-check.svg b/assets/icons/badge-check.svg new file mode 100644 index 00000000..24153bb4 --- /dev/null +++ b/assets/icons/badge-check.svg @@ -0,0 +1,16 @@ + + + + + diff --git a/assets/icons/bandage.svg b/assets/icons/bandage.svg new file mode 100644 index 00000000..8241041a --- /dev/null +++ b/assets/icons/bandage.svg @@ -0,0 +1,19 @@ + + + + + + + + + diff --git a/assets/icons/bell.svg b/assets/icons/bell.svg new file mode 100644 index 00000000..17d78790 --- /dev/null +++ b/assets/icons/bell.svg @@ -0,0 +1,16 @@ + + + + + diff --git a/assets/icons/blend.svg b/assets/icons/blend.svg new file mode 100644 index 00000000..3ee5832c --- /dev/null +++ b/assets/icons/blend.svg @@ -0,0 +1,14 @@ + + + + diff --git a/assets/icons/bold.svg b/assets/icons/bold.svg new file mode 100644 index 00000000..8bc826be --- /dev/null +++ b/assets/icons/bold.svg @@ -0,0 +1,15 @@ + + + + diff --git a/assets/icons/book-open.svg b/assets/icons/book-open.svg new file mode 100644 index 00000000..36b690da --- /dev/null +++ b/assets/icons/book-open.svg @@ -0,0 +1,16 @@ + + + + + diff --git a/assets/icons/bookmark.svg b/assets/icons/bookmark.svg new file mode 100644 index 00000000..81d52c2e --- /dev/null +++ b/assets/icons/bookmark.svg @@ -0,0 +1,15 @@ + + + + diff --git a/assets/icons/braces.svg b/assets/icons/braces.svg new file mode 100644 index 00000000..f195bd8a --- /dev/null +++ b/assets/icons/braces.svg @@ -0,0 +1,16 @@ + + + + + diff --git a/assets/icons/brush-cleaning.svg b/assets/icons/brush-cleaning.svg new file mode 100644 index 00000000..68885262 --- /dev/null +++ b/assets/icons/brush-cleaning.svg @@ -0,0 +1,16 @@ + + + + + + diff --git a/assets/icons/brush.svg b/assets/icons/brush.svg new file mode 100644 index 00000000..772cc289 --- /dev/null +++ b/assets/icons/brush.svg @@ -0,0 +1,15 @@ + + + + + diff --git a/assets/icons/camera.svg b/assets/icons/camera.svg new file mode 100644 index 00000000..442ce616 --- /dev/null +++ b/assets/icons/camera.svg @@ -0,0 +1,16 @@ + + + + + diff --git a/assets/icons/check-circle-2.svg b/assets/icons/check-circle-2.svg new file mode 100644 index 00000000..c5e433ef --- /dev/null +++ b/assets/icons/check-circle-2.svg @@ -0,0 +1,16 @@ + + + + + diff --git a/assets/icons/check.svg b/assets/icons/check.svg new file mode 100644 index 00000000..5abe1527 --- /dev/null +++ b/assets/icons/check.svg @@ -0,0 +1,13 @@ + + + diff --git a/assets/icons/chevron-down.svg b/assets/icons/chevron-down.svg new file mode 100644 index 00000000..e70d30b8 --- /dev/null +++ b/assets/icons/chevron-down.svg @@ -0,0 +1,13 @@ + + + diff --git a/assets/icons/chevron-left.svg b/assets/icons/chevron-left.svg new file mode 100644 index 00000000..161890f2 --- /dev/null +++ b/assets/icons/chevron-left.svg @@ -0,0 +1,15 @@ + + + + diff --git a/assets/icons/chevron-right.svg b/assets/icons/chevron-right.svg new file mode 100644 index 00000000..db62a0c2 --- /dev/null +++ b/assets/icons/chevron-right.svg @@ -0,0 +1,13 @@ + + + diff --git a/assets/icons/chevron-up.svg b/assets/icons/chevron-up.svg new file mode 100644 index 00000000..33f722d3 --- /dev/null +++ b/assets/icons/chevron-up.svg @@ -0,0 +1,15 @@ + + + + diff --git a/assets/icons/chevrons-left.svg b/assets/icons/chevrons-left.svg new file mode 100644 index 00000000..94b37487 --- /dev/null +++ b/assets/icons/chevrons-left.svg @@ -0,0 +1,14 @@ + + + + diff --git a/assets/icons/chevrons-right.svg b/assets/icons/chevrons-right.svg new file mode 100644 index 00000000..0d2d8ec9 --- /dev/null +++ b/assets/icons/chevrons-right.svg @@ -0,0 +1,14 @@ + + + + diff --git a/assets/icons/circle-check.svg b/assets/icons/circle-check.svg new file mode 100644 index 00000000..f4e16b0a --- /dev/null +++ b/assets/icons/circle-check.svg @@ -0,0 +1,16 @@ + + + + + diff --git a/assets/icons/circle-dashed.svg b/assets/icons/circle-dashed.svg new file mode 100644 index 00000000..4ae53eed --- /dev/null +++ b/assets/icons/circle-dashed.svg @@ -0,0 +1,20 @@ + + + + + + + + + + diff --git a/assets/icons/circle-dot.svg b/assets/icons/circle-dot.svg new file mode 100644 index 00000000..880029db --- /dev/null +++ b/assets/icons/circle-dot.svg @@ -0,0 +1,14 @@ + + + + diff --git a/assets/icons/circle-help.svg b/assets/icons/circle-help.svg new file mode 100644 index 00000000..308057b4 --- /dev/null +++ b/assets/icons/circle-help.svg @@ -0,0 +1,17 @@ + + + + + + diff --git a/assets/icons/circle.svg b/assets/icons/circle.svg new file mode 100644 index 00000000..4e464d6f --- /dev/null +++ b/assets/icons/circle.svg @@ -0,0 +1,15 @@ + + + + diff --git a/assets/icons/clock-3.svg b/assets/icons/clock-3.svg new file mode 100644 index 00000000..66e227fe --- /dev/null +++ b/assets/icons/clock-3.svg @@ -0,0 +1,16 @@ + + + + + diff --git a/assets/icons/clock.svg b/assets/icons/clock.svg new file mode 100644 index 00000000..b6ae2834 --- /dev/null +++ b/assets/icons/clock.svg @@ -0,0 +1,14 @@ + + + + diff --git a/assets/icons/cloud-upload.svg b/assets/icons/cloud-upload.svg new file mode 100644 index 00000000..0bc36875 --- /dev/null +++ b/assets/icons/cloud-upload.svg @@ -0,0 +1,17 @@ + + + + + + diff --git a/assets/icons/cloud.svg b/assets/icons/cloud.svg new file mode 100644 index 00000000..14b4e191 --- /dev/null +++ b/assets/icons/cloud.svg @@ -0,0 +1,15 @@ + + + + diff --git a/assets/icons/columns-2.svg b/assets/icons/columns-2.svg new file mode 100644 index 00000000..4f0a43f6 --- /dev/null +++ b/assets/icons/columns-2.svg @@ -0,0 +1,16 @@ + + + + + diff --git a/assets/icons/compass.svg b/assets/icons/compass.svg new file mode 100644 index 00000000..1a4e8c7d --- /dev/null +++ b/assets/icons/compass.svg @@ -0,0 +1,14 @@ + + + + diff --git a/assets/icons/contrast.svg b/assets/icons/contrast.svg new file mode 100644 index 00000000..334f5281 --- /dev/null +++ b/assets/icons/contrast.svg @@ -0,0 +1,14 @@ + + + + diff --git a/assets/icons/copy-plus.svg b/assets/icons/copy-plus.svg new file mode 100644 index 00000000..ae5aafb5 --- /dev/null +++ b/assets/icons/copy-plus.svg @@ -0,0 +1,18 @@ + + + + + + + diff --git a/assets/icons/copy.svg b/assets/icons/copy.svg new file mode 100644 index 00000000..f62ce99c --- /dev/null +++ b/assets/icons/copy.svg @@ -0,0 +1,14 @@ + + + + diff --git a/assets/icons/crop.svg b/assets/icons/crop.svg new file mode 100644 index 00000000..4ca1e6fa --- /dev/null +++ b/assets/icons/crop.svg @@ -0,0 +1,14 @@ + + + + diff --git a/assets/icons/droplet.svg b/assets/icons/droplet.svg new file mode 100644 index 00000000..36aa334f --- /dev/null +++ b/assets/icons/droplet.svg @@ -0,0 +1,13 @@ + + + diff --git a/assets/icons/ellipsis-vertical.svg b/assets/icons/ellipsis-vertical.svg new file mode 100644 index 00000000..785b6c63 --- /dev/null +++ b/assets/icons/ellipsis-vertical.svg @@ -0,0 +1,17 @@ + + + + + + diff --git a/assets/icons/ellipsis.svg b/assets/icons/ellipsis.svg new file mode 100644 index 00000000..68456c39 --- /dev/null +++ b/assets/icons/ellipsis.svg @@ -0,0 +1,15 @@ + + + + + diff --git a/assets/icons/eraser.svg b/assets/icons/eraser.svg new file mode 100644 index 00000000..6abb6fdd --- /dev/null +++ b/assets/icons/eraser.svg @@ -0,0 +1,14 @@ + + + + diff --git a/assets/icons/eye-off.svg b/assets/icons/eye-off.svg new file mode 100644 index 00000000..0083aaa8 --- /dev/null +++ b/assets/icons/eye-off.svg @@ -0,0 +1,16 @@ + + + + + + diff --git a/assets/icons/eye.svg b/assets/icons/eye.svg new file mode 100644 index 00000000..e5e78706 --- /dev/null +++ b/assets/icons/eye.svg @@ -0,0 +1,14 @@ + + + + diff --git a/assets/icons/file-check.svg b/assets/icons/file-check.svg new file mode 100644 index 00000000..d597cf9e --- /dev/null +++ b/assets/icons/file-check.svg @@ -0,0 +1,17 @@ + + + + + + diff --git a/assets/icons/file-down.svg b/assets/icons/file-down.svg new file mode 100644 index 00000000..21f36af8 --- /dev/null +++ b/assets/icons/file-down.svg @@ -0,0 +1,18 @@ + + + + + + + diff --git a/assets/icons/file-input.svg b/assets/icons/file-input.svg new file mode 100644 index 00000000..b644fd3e --- /dev/null +++ b/assets/icons/file-input.svg @@ -0,0 +1,18 @@ + + + + + + + diff --git a/assets/icons/file-lock-2.svg b/assets/icons/file-lock-2.svg new file mode 100644 index 00000000..8b093550 --- /dev/null +++ b/assets/icons/file-lock-2.svg @@ -0,0 +1,18 @@ + + + + + + + diff --git a/assets/icons/file-minus.svg b/assets/icons/file-minus.svg new file mode 100644 index 00000000..b2b554c0 --- /dev/null +++ b/assets/icons/file-minus.svg @@ -0,0 +1,17 @@ + + + + + + diff --git a/assets/icons/file-output.svg b/assets/icons/file-output.svg new file mode 100644 index 00000000..4232cd41 --- /dev/null +++ b/assets/icons/file-output.svg @@ -0,0 +1,18 @@ + + + + + + + diff --git a/assets/icons/file-pen-line.svg b/assets/icons/file-pen-line.svg new file mode 100644 index 00000000..f8c789d5 --- /dev/null +++ b/assets/icons/file-pen-line.svg @@ -0,0 +1,18 @@ + + + + + + + diff --git a/assets/icons/file-plus-2.svg b/assets/icons/file-plus-2.svg new file mode 100644 index 00000000..14ed0fea --- /dev/null +++ b/assets/icons/file-plus-2.svg @@ -0,0 +1,18 @@ + + + + + + + diff --git a/assets/icons/file-plus.svg b/assets/icons/file-plus.svg new file mode 100644 index 00000000..fe4715be --- /dev/null +++ b/assets/icons/file-plus.svg @@ -0,0 +1,16 @@ + + + + + + diff --git a/assets/icons/file-scan.svg b/assets/icons/file-scan.svg new file mode 100644 index 00000000..aedddafd --- /dev/null +++ b/assets/icons/file-scan.svg @@ -0,0 +1,20 @@ + + + + + + + + + diff --git a/assets/icons/file-search.svg b/assets/icons/file-search.svg new file mode 100644 index 00000000..e03262e3 --- /dev/null +++ b/assets/icons/file-search.svg @@ -0,0 +1,18 @@ + + + + + + + diff --git a/assets/icons/file-symlink.svg b/assets/icons/file-symlink.svg new file mode 100644 index 00000000..fe49d39a --- /dev/null +++ b/assets/icons/file-symlink.svg @@ -0,0 +1,17 @@ + + + + + + diff --git a/assets/icons/file-text.svg b/assets/icons/file-text.svg new file mode 100644 index 00000000..d9abeb7b --- /dev/null +++ b/assets/icons/file-text.svg @@ -0,0 +1,19 @@ + + + + + + + + diff --git a/assets/icons/file-x.svg b/assets/icons/file-x.svg new file mode 100644 index 00000000..9dcd134e --- /dev/null +++ b/assets/icons/file-x.svg @@ -0,0 +1,18 @@ + + + + + + + diff --git a/assets/icons/files.svg b/assets/icons/files.svg new file mode 100644 index 00000000..d211e156 --- /dev/null +++ b/assets/icons/files.svg @@ -0,0 +1,17 @@ + + + + + + diff --git a/assets/icons/film.svg b/assets/icons/film.svg new file mode 100644 index 00000000..b54b6f70 --- /dev/null +++ b/assets/icons/film.svg @@ -0,0 +1,22 @@ + + + + + + + + + + + diff --git a/assets/icons/filter.svg b/assets/icons/filter.svg new file mode 100644 index 00000000..a8decfc1 --- /dev/null +++ b/assets/icons/filter.svg @@ -0,0 +1,15 @@ + + + + diff --git a/assets/icons/folder-open.svg b/assets/icons/folder-open.svg new file mode 100644 index 00000000..b01f60fc --- /dev/null +++ b/assets/icons/folder-open.svg @@ -0,0 +1,13 @@ + + + diff --git a/assets/icons/folder-plus.svg b/assets/icons/folder-plus.svg new file mode 100644 index 00000000..661ebf4d --- /dev/null +++ b/assets/icons/folder-plus.svg @@ -0,0 +1,15 @@ + + + + + diff --git a/assets/icons/folder.svg b/assets/icons/folder.svg new file mode 100644 index 00000000..ef69b345 --- /dev/null +++ b/assets/icons/folder.svg @@ -0,0 +1,13 @@ + + + diff --git a/assets/icons/gauge.svg b/assets/icons/gauge.svg new file mode 100644 index 00000000..340b9327 --- /dev/null +++ b/assets/icons/gauge.svg @@ -0,0 +1,14 @@ + + + + diff --git a/assets/icons/git-compare.svg b/assets/icons/git-compare.svg new file mode 100644 index 00000000..136a1e11 --- /dev/null +++ b/assets/icons/git-compare.svg @@ -0,0 +1,18 @@ + + + + + + + diff --git a/assets/icons/grid-3x3.svg b/assets/icons/grid-3x3.svg new file mode 100644 index 00000000..6c714352 --- /dev/null +++ b/assets/icons/grid-3x3.svg @@ -0,0 +1,17 @@ + + + + + + + diff --git a/assets/icons/hand.svg b/assets/icons/hand.svg new file mode 100644 index 00000000..30af9046 --- /dev/null +++ b/assets/icons/hand.svg @@ -0,0 +1,16 @@ + + + + + + diff --git a/assets/icons/hash.svg b/assets/icons/hash.svg new file mode 100644 index 00000000..6a859ad2 --- /dev/null +++ b/assets/icons/hash.svg @@ -0,0 +1,18 @@ + + + + + + + diff --git a/assets/icons/heading.svg b/assets/icons/heading.svg new file mode 100644 index 00000000..7f17662c --- /dev/null +++ b/assets/icons/heading.svg @@ -0,0 +1,17 @@ + + + + + + diff --git a/assets/icons/highlighter.svg b/assets/icons/highlighter.svg new file mode 100644 index 00000000..a9976190 --- /dev/null +++ b/assets/icons/highlighter.svg @@ -0,0 +1,16 @@ + + + + + diff --git a/assets/icons/house.svg b/assets/icons/house.svg new file mode 100644 index 00000000..bbe4a2c4 --- /dev/null +++ b/assets/icons/house.svg @@ -0,0 +1,16 @@ + + + + + diff --git a/assets/icons/image-plus.svg b/assets/icons/image-plus.svg new file mode 100644 index 00000000..67cf6ee7 --- /dev/null +++ b/assets/icons/image-plus.svg @@ -0,0 +1,19 @@ + + + + + + + + diff --git a/assets/icons/image.svg b/assets/icons/image.svg new file mode 100644 index 00000000..3241134c --- /dev/null +++ b/assets/icons/image.svg @@ -0,0 +1,15 @@ + + + + + diff --git a/assets/icons/info.svg b/assets/icons/info.svg new file mode 100644 index 00000000..2a46eac2 --- /dev/null +++ b/assets/icons/info.svg @@ -0,0 +1,15 @@ + + + + + diff --git a/assets/icons/italic.svg b/assets/icons/italic.svg new file mode 100644 index 00000000..023e1656 --- /dev/null +++ b/assets/icons/italic.svg @@ -0,0 +1,17 @@ + + + + + + diff --git a/assets/icons/languages.svg b/assets/icons/languages.svg new file mode 100644 index 00000000..33c4953d --- /dev/null +++ b/assets/icons/languages.svg @@ -0,0 +1,20 @@ + + + + + + + + + diff --git a/assets/icons/lasso.svg b/assets/icons/lasso.svg new file mode 100644 index 00000000..f2c6d7f8 --- /dev/null +++ b/assets/icons/lasso.svg @@ -0,0 +1,15 @@ + + + + + diff --git a/assets/icons/layers.svg b/assets/icons/layers.svg new file mode 100644 index 00000000..a3b69ae3 --- /dev/null +++ b/assets/icons/layers.svg @@ -0,0 +1,15 @@ + + + + + diff --git a/assets/icons/layout-grid.svg b/assets/icons/layout-grid.svg new file mode 100644 index 00000000..950226b6 --- /dev/null +++ b/assets/icons/layout-grid.svg @@ -0,0 +1,18 @@ + + + + + + + diff --git a/assets/icons/link-2.svg b/assets/icons/link-2.svg new file mode 100644 index 00000000..a8833113 --- /dev/null +++ b/assets/icons/link-2.svg @@ -0,0 +1,17 @@ + + + + + + diff --git a/assets/icons/link.svg b/assets/icons/link.svg new file mode 100644 index 00000000..645e746a --- /dev/null +++ b/assets/icons/link.svg @@ -0,0 +1,14 @@ + + + + diff --git a/assets/icons/list-checks.svg b/assets/icons/list-checks.svg new file mode 100644 index 00000000..fb7de274 --- /dev/null +++ b/assets/icons/list-checks.svg @@ -0,0 +1,19 @@ + + + + + + + + diff --git a/assets/icons/list-ordered.svg b/assets/icons/list-ordered.svg new file mode 100644 index 00000000..a25d5c33 --- /dev/null +++ b/assets/icons/list-ordered.svg @@ -0,0 +1,20 @@ + + + + + + + + + diff --git a/assets/icons/list.svg b/assets/icons/list.svg new file mode 100644 index 00000000..a9885faf --- /dev/null +++ b/assets/icons/list.svg @@ -0,0 +1,20 @@ + + + + + + + + + diff --git a/assets/icons/lock-open.svg b/assets/icons/lock-open.svg new file mode 100644 index 00000000..b2367128 --- /dev/null +++ b/assets/icons/lock-open.svg @@ -0,0 +1,14 @@ + + + + diff --git a/assets/icons/lock.svg b/assets/icons/lock.svg new file mode 100644 index 00000000..b2b32d12 --- /dev/null +++ b/assets/icons/lock.svg @@ -0,0 +1,14 @@ + + + + diff --git a/assets/icons/maximize-2.svg b/assets/icons/maximize-2.svg new file mode 100644 index 00000000..790d2538 --- /dev/null +++ b/assets/icons/maximize-2.svg @@ -0,0 +1,16 @@ + + + + + + diff --git a/assets/icons/maximize.svg b/assets/icons/maximize.svg new file mode 100644 index 00000000..eb5beff0 --- /dev/null +++ b/assets/icons/maximize.svg @@ -0,0 +1,18 @@ + + + + + + + diff --git a/assets/icons/message-circle-reply.svg b/assets/icons/message-circle-reply.svg new file mode 100644 index 00000000..f5aa0f43 --- /dev/null +++ b/assets/icons/message-circle-reply.svg @@ -0,0 +1,17 @@ + + + + + + diff --git a/assets/icons/message-square-text.svg b/assets/icons/message-square-text.svg new file mode 100644 index 00000000..02676efa --- /dev/null +++ b/assets/icons/message-square-text.svg @@ -0,0 +1,18 @@ + + + + + + + diff --git a/assets/icons/message-square.svg b/assets/icons/message-square.svg new file mode 100644 index 00000000..5044bc7e --- /dev/null +++ b/assets/icons/message-square.svg @@ -0,0 +1,13 @@ + + + diff --git a/assets/icons/mic.svg b/assets/icons/mic.svg new file mode 100644 index 00000000..6b85c529 --- /dev/null +++ b/assets/icons/mic.svg @@ -0,0 +1,17 @@ + + + + + + diff --git a/assets/icons/minimize.svg b/assets/icons/minimize.svg new file mode 100644 index 00000000..4e32ebfe --- /dev/null +++ b/assets/icons/minimize.svg @@ -0,0 +1,18 @@ + + + + + + + diff --git a/assets/icons/minus.svg b/assets/icons/minus.svg new file mode 100644 index 00000000..75093e27 --- /dev/null +++ b/assets/icons/minus.svg @@ -0,0 +1,13 @@ + + + diff --git a/assets/icons/moon.svg b/assets/icons/moon.svg new file mode 100644 index 00000000..3c4bc311 --- /dev/null +++ b/assets/icons/moon.svg @@ -0,0 +1,13 @@ + + + diff --git a/assets/icons/mouse-pointer-2.svg b/assets/icons/mouse-pointer-2.svg new file mode 100644 index 00000000..b881f795 --- /dev/null +++ b/assets/icons/mouse-pointer-2.svg @@ -0,0 +1,13 @@ + + + diff --git a/assets/icons/move.svg b/assets/icons/move.svg new file mode 100644 index 00000000..d78876f7 --- /dev/null +++ b/assets/icons/move.svg @@ -0,0 +1,18 @@ + + + + + + + + diff --git a/assets/icons/navigation.svg b/assets/icons/navigation.svg new file mode 100644 index 00000000..b2be022d --- /dev/null +++ b/assets/icons/navigation.svg @@ -0,0 +1,13 @@ + + + diff --git a/assets/icons/paint-bucket.svg b/assets/icons/paint-bucket.svg new file mode 100644 index 00000000..f7997334 --- /dev/null +++ b/assets/icons/paint-bucket.svg @@ -0,0 +1,16 @@ + + + + + + diff --git a/assets/icons/palette.svg b/assets/icons/palette.svg new file mode 100644 index 00000000..25fb773a --- /dev/null +++ b/assets/icons/palette.svg @@ -0,0 +1,17 @@ + + + + + + + diff --git a/assets/icons/panel-left.svg b/assets/icons/panel-left.svg new file mode 100644 index 00000000..5c4fc652 --- /dev/null +++ b/assets/icons/panel-left.svg @@ -0,0 +1,16 @@ + + + + + diff --git a/assets/icons/panel-right.svg b/assets/icons/panel-right.svg new file mode 100644 index 00000000..53ba1e61 --- /dev/null +++ b/assets/icons/panel-right.svg @@ -0,0 +1,14 @@ + + + + diff --git a/assets/icons/panels-top-left.svg b/assets/icons/panels-top-left.svg new file mode 100644 index 00000000..574e4dea --- /dev/null +++ b/assets/icons/panels-top-left.svg @@ -0,0 +1,15 @@ + + + + + diff --git a/assets/icons/paperclip.svg b/assets/icons/paperclip.svg new file mode 100644 index 00000000..aeb2bc1b --- /dev/null +++ b/assets/icons/paperclip.svg @@ -0,0 +1,15 @@ + + + + diff --git a/assets/icons/pen-line.svg b/assets/icons/pen-line.svg new file mode 100644 index 00000000..4d635533 --- /dev/null +++ b/assets/icons/pen-line.svg @@ -0,0 +1,16 @@ + + + + + diff --git a/assets/icons/pen-tool.svg b/assets/icons/pen-tool.svg new file mode 100644 index 00000000..738c6fec --- /dev/null +++ b/assets/icons/pen-tool.svg @@ -0,0 +1,16 @@ + + + + + + diff --git a/assets/icons/pencil.svg b/assets/icons/pencil.svg new file mode 100644 index 00000000..10445cac --- /dev/null +++ b/assets/icons/pencil.svg @@ -0,0 +1,16 @@ + + + + + diff --git a/assets/icons/pipette.svg b/assets/icons/pipette.svg new file mode 100644 index 00000000..2a5e1363 --- /dev/null +++ b/assets/icons/pipette.svg @@ -0,0 +1,15 @@ + + + + + diff --git a/assets/icons/plus.svg b/assets/icons/plus.svg new file mode 100644 index 00000000..41f92bb9 --- /dev/null +++ b/assets/icons/plus.svg @@ -0,0 +1,14 @@ + + + + diff --git a/assets/icons/presentation.svg b/assets/icons/presentation.svg new file mode 100644 index 00000000..d00bbe36 --- /dev/null +++ b/assets/icons/presentation.svg @@ -0,0 +1,17 @@ + + + + + + diff --git a/assets/icons/printer.svg b/assets/icons/printer.svg new file mode 100644 index 00000000..25a37798 --- /dev/null +++ b/assets/icons/printer.svg @@ -0,0 +1,17 @@ + + + + + + diff --git a/assets/icons/rectangle-horizontal.svg b/assets/icons/rectangle-horizontal.svg new file mode 100644 index 00000000..dbc0f87a --- /dev/null +++ b/assets/icons/rectangle-horizontal.svg @@ -0,0 +1,15 @@ + + + + diff --git a/assets/icons/redo-2.svg b/assets/icons/redo-2.svg new file mode 100644 index 00000000..72371c8d --- /dev/null +++ b/assets/icons/redo-2.svg @@ -0,0 +1,14 @@ + + + + diff --git a/assets/icons/replace.svg b/assets/icons/replace.svg new file mode 100644 index 00000000..e9e8447b --- /dev/null +++ b/assets/icons/replace.svg @@ -0,0 +1,21 @@ + + + + + + + + + + diff --git a/assets/icons/rotate-ccw.svg b/assets/icons/rotate-ccw.svg new file mode 100644 index 00000000..99a2e273 --- /dev/null +++ b/assets/icons/rotate-ccw.svg @@ -0,0 +1,16 @@ + + + + + diff --git a/assets/icons/rotate-cw.svg b/assets/icons/rotate-cw.svg new file mode 100644 index 00000000..f5f750d4 --- /dev/null +++ b/assets/icons/rotate-cw.svg @@ -0,0 +1,16 @@ + + + + + diff --git a/assets/icons/ruler.svg b/assets/icons/ruler.svg new file mode 100644 index 00000000..573ee24f --- /dev/null +++ b/assets/icons/ruler.svg @@ -0,0 +1,19 @@ + + + + + + + + diff --git a/assets/icons/save.svg b/assets/icons/save.svg new file mode 100644 index 00000000..15bdf54c --- /dev/null +++ b/assets/icons/save.svg @@ -0,0 +1,17 @@ + + + + + + diff --git a/assets/icons/scan-text.svg b/assets/icons/scan-text.svg new file mode 100644 index 00000000..7db9543e --- /dev/null +++ b/assets/icons/scan-text.svg @@ -0,0 +1,21 @@ + + + + + + + + + + diff --git a/assets/icons/scan.svg b/assets/icons/scan.svg new file mode 100644 index 00000000..33d067b2 --- /dev/null +++ b/assets/icons/scan.svg @@ -0,0 +1,16 @@ + + + + + + diff --git a/assets/icons/scissors.svg b/assets/icons/scissors.svg new file mode 100644 index 00000000..f87bf20b --- /dev/null +++ b/assets/icons/scissors.svg @@ -0,0 +1,17 @@ + + + + + + + diff --git a/assets/icons/search.svg b/assets/icons/search.svg new file mode 100644 index 00000000..03e442a5 --- /dev/null +++ b/assets/icons/search.svg @@ -0,0 +1,14 @@ + + + + diff --git a/assets/icons/send.svg b/assets/icons/send.svg new file mode 100644 index 00000000..65451e5c --- /dev/null +++ b/assets/icons/send.svg @@ -0,0 +1,16 @@ + + + + + diff --git a/assets/icons/settings-2.svg b/assets/icons/settings-2.svg new file mode 100644 index 00000000..513d5da1 --- /dev/null +++ b/assets/icons/settings-2.svg @@ -0,0 +1,18 @@ + + + + + + + diff --git a/assets/icons/settings.svg b/assets/icons/settings.svg new file mode 100644 index 00000000..4c6263af --- /dev/null +++ b/assets/icons/settings.svg @@ -0,0 +1,14 @@ + + + + diff --git a/assets/icons/share-2.svg b/assets/icons/share-2.svg new file mode 100644 index 00000000..c57325fa --- /dev/null +++ b/assets/icons/share-2.svg @@ -0,0 +1,19 @@ + + + + + + + + diff --git a/assets/icons/shield-check.svg b/assets/icons/shield-check.svg new file mode 100644 index 00000000..01623f00 --- /dev/null +++ b/assets/icons/shield-check.svg @@ -0,0 +1,16 @@ + + + + + diff --git a/assets/icons/signature.svg b/assets/icons/signature.svg new file mode 100644 index 00000000..8f4b3b23 --- /dev/null +++ b/assets/icons/signature.svg @@ -0,0 +1,16 @@ + + + + + diff --git a/assets/icons/sliders-horizontal.svg b/assets/icons/sliders-horizontal.svg new file mode 100644 index 00000000..819f80c1 --- /dev/null +++ b/assets/icons/sliders-horizontal.svg @@ -0,0 +1,21 @@ + + + + + + + + + + + diff --git a/assets/icons/sparkles.svg b/assets/icons/sparkles.svg new file mode 100644 index 00000000..2d749398 --- /dev/null +++ b/assets/icons/sparkles.svg @@ -0,0 +1,16 @@ + + + + + + diff --git a/assets/icons/spline.svg b/assets/icons/spline.svg new file mode 100644 index 00000000..ca24df5e --- /dev/null +++ b/assets/icons/spline.svg @@ -0,0 +1,17 @@ + + + + + + diff --git a/assets/icons/square-dashed-mouse-pointer.svg b/assets/icons/square-dashed-mouse-pointer.svg new file mode 100644 index 00000000..10c1dc2f --- /dev/null +++ b/assets/icons/square-dashed-mouse-pointer.svg @@ -0,0 +1,24 @@ + + + + + + + + + + + + + diff --git a/assets/icons/square-dashed.svg b/assets/icons/square-dashed.svg new file mode 100644 index 00000000..f0822a34 --- /dev/null +++ b/assets/icons/square-dashed.svg @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + diff --git a/assets/icons/square.svg b/assets/icons/square.svg new file mode 100644 index 00000000..78627335 --- /dev/null +++ b/assets/icons/square.svg @@ -0,0 +1,13 @@ + + + diff --git a/assets/icons/squares-subtract.svg b/assets/icons/squares-subtract.svg new file mode 100644 index 00000000..8dbd9db1 --- /dev/null +++ b/assets/icons/squares-subtract.svg @@ -0,0 +1,18 @@ + + + + + + + + diff --git a/assets/icons/stamp.svg b/assets/icons/stamp.svg new file mode 100644 index 00000000..5eb5c081 --- /dev/null +++ b/assets/icons/stamp.svg @@ -0,0 +1,15 @@ + + + + + diff --git a/assets/icons/star.svg b/assets/icons/star.svg new file mode 100644 index 00000000..3502ccca --- /dev/null +++ b/assets/icons/star.svg @@ -0,0 +1,15 @@ + + + + diff --git a/assets/icons/sticky-note.svg b/assets/icons/sticky-note.svg new file mode 100644 index 00000000..0fb87bdc --- /dev/null +++ b/assets/icons/sticky-note.svg @@ -0,0 +1,16 @@ + + + + + diff --git a/assets/icons/strikethrough.svg b/assets/icons/strikethrough.svg new file mode 100644 index 00000000..ece40840 --- /dev/null +++ b/assets/icons/strikethrough.svg @@ -0,0 +1,17 @@ + + + + + + diff --git a/assets/icons/sun.svg b/assets/icons/sun.svg new file mode 100644 index 00000000..3ecadd68 --- /dev/null +++ b/assets/icons/sun.svg @@ -0,0 +1,21 @@ + + + + + + + + + + + diff --git a/assets/icons/swatch-book.svg b/assets/icons/swatch-book.svg new file mode 100644 index 00000000..5daba1ed --- /dev/null +++ b/assets/icons/swatch-book.svg @@ -0,0 +1,16 @@ + + + + + + diff --git a/assets/icons/tag.svg b/assets/icons/tag.svg new file mode 100644 index 00000000..97494d7e --- /dev/null +++ b/assets/icons/tag.svg @@ -0,0 +1,16 @@ + + + + + diff --git a/assets/icons/text-cursor-input.svg b/assets/icons/text-cursor-input.svg new file mode 100644 index 00000000..9e77e6d5 --- /dev/null +++ b/assets/icons/text-cursor-input.svg @@ -0,0 +1,19 @@ + + + + + + + + diff --git a/assets/icons/text-select.svg b/assets/icons/text-select.svg new file mode 100644 index 00000000..2c869ef3 --- /dev/null +++ b/assets/icons/text-select.svg @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + diff --git a/assets/icons/trash-2.svg b/assets/icons/trash-2.svg new file mode 100644 index 00000000..9685b29e --- /dev/null +++ b/assets/icons/trash-2.svg @@ -0,0 +1,19 @@ + + + + + + + + diff --git a/assets/icons/trash.svg b/assets/icons/trash.svg new file mode 100644 index 00000000..e8cb0edf --- /dev/null +++ b/assets/icons/trash.svg @@ -0,0 +1,17 @@ + + + + + + + diff --git a/assets/icons/triangle-alert.svg b/assets/icons/triangle-alert.svg new file mode 100644 index 00000000..dd1636ce --- /dev/null +++ b/assets/icons/triangle-alert.svg @@ -0,0 +1,17 @@ + + + + + + diff --git a/assets/icons/type.svg b/assets/icons/type.svg new file mode 100644 index 00000000..8f269e72 --- /dev/null +++ b/assets/icons/type.svg @@ -0,0 +1,15 @@ + + + + + diff --git a/assets/icons/underline.svg b/assets/icons/underline.svg new file mode 100644 index 00000000..56511f08 --- /dev/null +++ b/assets/icons/underline.svg @@ -0,0 +1,16 @@ + + + + + diff --git a/assets/icons/undo-2.svg b/assets/icons/undo-2.svg new file mode 100644 index 00000000..3e93594c --- /dev/null +++ b/assets/icons/undo-2.svg @@ -0,0 +1,14 @@ + + + + diff --git a/assets/icons/user-round.svg b/assets/icons/user-round.svg new file mode 100644 index 00000000..bfa190f1 --- /dev/null +++ b/assets/icons/user-round.svg @@ -0,0 +1,16 @@ + + + + + diff --git a/assets/icons/wand-sparkles.svg b/assets/icons/wand-sparkles.svg new file mode 100644 index 00000000..fd60bf0e --- /dev/null +++ b/assets/icons/wand-sparkles.svg @@ -0,0 +1,20 @@ + + + + + + + + + + diff --git a/assets/icons/wrench.svg b/assets/icons/wrench.svg new file mode 100644 index 00000000..43fb0bfd --- /dev/null +++ b/assets/icons/wrench.svg @@ -0,0 +1,15 @@ + + + + diff --git a/assets/icons/x.svg b/assets/icons/x.svg new file mode 100644 index 00000000..e3179434 --- /dev/null +++ b/assets/icons/x.svg @@ -0,0 +1,14 @@ + + + + diff --git a/assets/icons/zoom-in.svg b/assets/icons/zoom-in.svg new file mode 100644 index 00000000..11173c0e --- /dev/null +++ b/assets/icons/zoom-in.svg @@ -0,0 +1,16 @@ + + + + + + diff --git a/assets/icons/zoom-out.svg b/assets/icons/zoom-out.svg new file mode 100644 index 00000000..c9b8a58d --- /dev/null +++ b/assets/icons/zoom-out.svg @@ -0,0 +1,17 @@ + + + + + + diff --git a/crates/engine/Cargo.toml b/crates/engine/Cargo.toml new file mode 100644 index 00000000..ebeff37d --- /dev/null +++ b/crates/engine/Cargo.toml @@ -0,0 +1,12 @@ +[package] +name = "printcraft-engine" +description = "PrintCraft engine façade: session, documents, command/tool catalogue" +version.workspace = true +edition.workspace = true +license.workspace = true + +[lints] +workspace = true + +[dependencies] +printcraft-render = { workspace = true } diff --git a/crates/engine/src/catalog.rs b/crates/engine/src/catalog.rs new file mode 100644 index 00000000..da58ad2a --- /dev/null +++ b/crates/engine/src/catalog.rs @@ -0,0 +1,512 @@ +//! The tool catalogue: Acrobat's "All tools" information architecture, as data. +//! +//! Every UI (the egui shell today, anything tomorrow) builds its tool panel, palette and menus +//! from this table; nothing is hard-coded in the toolkit. Each item names the command it will +//! dispatch and the milestone (plan/execution-plan.md) in which it ships, so the UI can be honest +//! about what works today. +//! +//! Source of the inventory: plan/acrobat/02-ui-ux.md §2 (observed in Acrobat Pro 26.002). + +/// Where a tool or item stands. +#[derive(Clone, Copy, Debug, PartialEq, Eq)] +pub enum Availability { + /// Works in this build. + Ready, + /// Planned; ships in the named milestone. + Planned(&'static str), + /// Cloud-only in Acrobat; PrintCraft offers an optional pluggable provider instead. + Provider, +} + +#[derive(Clone, Copy, Debug)] +pub struct ToolItem { + pub label: &'static str, + pub icon: &'static str, + pub command: &'static str, + pub availability: Availability, +} + +#[derive(Clone, Copy, Debug)] +pub struct ToolSection { + pub title: &'static str, + pub items: &'static [ToolItem], +} + +#[derive(Clone, Copy, Debug)] +pub struct ToolGroup { + pub id: &'static str, + pub label: &'static str, + pub icon: &'static str, + /// Icon tint, as Acrobat colour-codes its tool families. + pub hue: [u8; 3], + pub badge: Option<&'static str>, + pub availability: Availability, + pub sections: &'static [ToolSection], +} + +const fn item(label: &'static str, icon: &'static str, command: &'static str, availability: Availability) -> ToolItem { + ToolItem { label, icon, command, availability } +} + +use Availability::{Planned, Provider, Ready}; + +const RED: [u8; 3] = [0xE0, 0x3E, 0x3E]; +const PURPLE: [u8; 3] = [0x8E, 0x4E, 0xE6]; +const BLUE: [u8; 3] = [0x3A, 0x6F, 0xE8]; +const GREEN: [u8; 3] = [0x2D, 0x9D, 0x5B]; +const ORANGE: [u8; 3] = [0xE8, 0x8A, 0x1A]; +const TEAL: [u8; 3] = [0x14, 0x9C, 0xA8]; +const PINK: [u8; 3] = [0xD6, 0x3B, 0x8F]; + +pub static TOOL_GROUPS: &[ToolGroup] = &[ + ToolGroup { + id: "export", + label: "Export a PDF", + icon: "file-output", + hue: BLUE, + badge: None, + availability: Planned("M10"), + sections: &[ToolSection { + title: "Export to", + items: &[ + item("Microsoft Word (.docx)", "file-text", "export.docx", Planned("M10")), + item("Spreadsheet (.xlsx)", "grid-3x3", "export.xlsx", Planned("M10")), + item("Presentation (.pptx)", "presentation", "export.pptx", Planned("M10")), + item("Image (PNG, JPEG, TIFF)", "image", "export.image", Planned("M10")), + item("HTML web page", "file-symlink", "export.html", Planned("M10")), + item("Text (plain / accessible)", "type", "export.text", Planned("M10")), + item("PostScript / EPS", "file-down", "export.ps", Planned("M10")), + ], + }], + }, + ToolGroup { + id: "fill_sign", + label: "Fill & Sign", + icon: "pen-line", + hue: PURPLE, + badge: None, + availability: Planned("M5"), + sections: &[ToolSection { + title: "Fill", + items: &[ + item("Add text", "type", "sign.fill.text", Planned("M5")), + item("Checkmark", "check", "sign.fill.check", Planned("M5")), + item("Cross", "x", "sign.fill.cross", Planned("M5")), + item("Date", "clock-3", "sign.fill.date", Planned("M5")), + item("Signature", "signature", "sign.fill.signature", Planned("M5")), + ], + }], + }, + ToolGroup { + id: "edit", + label: "Edit a PDF", + icon: "file-pen-line", + hue: PINK, + badge: None, + availability: Planned("M7"), + sections: &[ + ToolSection { + title: "Modify page", + items: &[ + item("Rotate pages", "rotate-cw", "page.rotate", Planned("M4")), + item("Insert pages", "file-plus-2", "page.insert", Planned("M4")), + item("Delete pages", "trash-2", "page.delete", Planned("M4")), + item("Extract pages", "file-output", "page.extract", Planned("M4")), + item("Organize pages", "layout-grid", "page.organize", Ready), + ], + }, + ToolSection { + title: "Add content", + items: &[ + item("Text", "type", "edit.text", Planned("M7")), + item("Image", "image-plus", "edit.image", Planned("M7")), + item("Header and footer", "heading", "edit.header_footer", Planned("M7")), + item("Watermark", "stamp", "edit.watermark", Planned("M7")), + item("Link", "link-2", "edit.link", Planned("M7")), + item("Bates numbering", "hash", "edit.bates", Planned("M7")), + item("Background", "palette", "edit.background", Planned("M7")), + item("Attach file", "paperclip", "edit.attach", Planned("M12")), + ], + }, + ], + }, + ToolGroup { + id: "create", + label: "Create a PDF", + icon: "file-plus-2", + hue: RED, + badge: None, + availability: Planned("M10"), + sections: &[ToolSection { + title: "Create from", + items: &[ + item("Single file", "file-input", "create.file", Planned("M10")), + item("Multiple files", "files", "create.multiple", Planned("M10")), + item("Images", "image", "create.images", Planned("M10")), + item("Clipboard", "copy-plus", "create.clipboard", Planned("M10")), + item("Blank page", "file-plus-2", "create.blank", Planned("M10")), + ], + }], + }, + ToolGroup { + id: "combine", + label: "Combine files", + icon: "files", + hue: BLUE, + badge: None, + availability: Planned("M4"), + sections: &[ToolSection { title: "Combine", items: &[item("Add files to combine", "files", "page.combine", Planned("M4"))] }], + }, + ToolGroup { + id: "organize", + label: "Organize pages", + icon: "layout-grid", + hue: GREEN, + badge: None, + availability: Ready, + sections: &[ + ToolSection { + title: "Page options", + items: &[ + item("Page grid", "layout-grid", "page.organize", Ready), + item("Rotate", "rotate-cw", "page.rotate", Planned("M4")), + item("Delete", "trash-2", "page.delete", Planned("M4")), + item("Extract", "file-output", "page.extract", Planned("M4")), + item("Insert", "file-plus-2", "page.insert", Planned("M4")), + item("Replace", "replace", "page.replace", Planned("M4")), + item("Split", "scissors", "page.split", Planned("M4")), + ], + }, + ToolSection { + title: "More", + items: &[ + item("Set page boxes", "square-dashed-mouse-pointer", "page.boxes", Planned("M4")), + item("Page labels", "tag", "page.labels", Planned("M4")), + item("Page transitions", "presentation", "page.transitions", Planned("M4")), + ], + }, + ], + }, + ToolGroup { + id: "comment", + label: "Add comments", + icon: "message-square-text", + hue: ORANGE, + badge: None, + availability: Planned("M5"), + sections: &[ + ToolSection { + title: "Markup", + items: &[ + item("Sticky note", "sticky-note", "comment.note", Planned("M5")), + item("Highlight text", "highlighter", "comment.highlight", Planned("M5")), + item("Underline", "underline", "comment.underline", Planned("M5")), + item("Strikethrough", "strikethrough", "comment.strikeout", Planned("M5")), + item("Text box", "type", "comment.freetext", Planned("M5")), + ], + }, + ToolSection { + title: "Drawing", + items: &[ + item("Draw freehand", "pencil", "comment.ink", Planned("M5")), + item("Rectangle", "square", "comment.square", Planned("M5")), + item("Oval", "circle", "comment.circle", Planned("M5")), + item("Line / arrow", "arrow-up-right", "comment.line", Planned("M5")), + item("Cloud", "cloud", "comment.cloud", Planned("M5")), + item("Stamp", "stamp", "comment.stamp", Planned("M5")), + ], + }, + ToolSection { title: "Review", items: &[item("Comment list", "message-square-text", "comment.list", Ready)] }, + ], + }, + ToolGroup { + id: "scan", + label: "Scan & OCR", + icon: "scan-text", + hue: GREEN, + badge: None, + availability: Planned("M10"), + sections: &[ToolSection { + title: "Recognize text", + items: &[ + item("In this file", "scan-text", "ocr.recognize", Planned("M10")), + item("In multiple files", "files", "ocr.recognize_batch", Planned("M10")), + item("Enhance scanned file", "sparkles", "ocr.enhance", Planned("M10")), + item("Correct recognized text", "text-select", "ocr.correct", Planned("M10")), + ], + }], + }, + ToolGroup { + id: "protect", + label: "Protect a PDF", + icon: "shield-check", + hue: BLUE, + badge: None, + availability: Planned("M8"), + sections: &[ + ToolSection { + title: "Protect", + items: &[ + item("Protect with password", "lock", "protect.password", Planned("M8")), + item("Remove hidden information", "eye-off", "protect.sanitize", Planned("M8")), + ], + }, + ToolSection { + title: "Advanced options", + items: &[ + item("Encrypt with certificate", "file-lock-2", "protect.certificate", Planned("M8")), + item("Security properties", "shield-check", "protect.properties", Ready), + item("Remove security", "lock", "protect.remove", Planned("M8")), + ], + }, + ], + }, + ToolGroup { + id: "redact", + label: "Redact a PDF", + icon: "rectangle-horizontal", + hue: RED, + badge: None, + availability: Planned("M8"), + sections: &[ToolSection { + title: "Redact", + items: &[ + item("Redact text and images", "rectangle-horizontal", "redact.mark", Planned("M8")), + item("Redact pages", "file-x", "redact.pages", Planned("M8")), + item("Find text and redact", "file-search", "redact.search", Planned("M8")), + item("Sanitize document", "sparkles", "redact.sanitize", Planned("M8")), + ], + }], + }, + ToolGroup { + id: "compress", + label: "Compress a PDF", + icon: "file-down", + hue: RED, + badge: None, + availability: Planned("M11"), + sections: &[ToolSection { + title: "Optimize", + items: &[ + item("Reduce file size", "file-down", "optimize.reduce", Planned("M11")), + item("Advanced optimization", "settings-2", "optimize.advanced", Planned("M11")), + item("Audit space usage", "gauge", "optimize.audit", Planned("M11")), + ], + }], + }, + ToolGroup { + id: "form", + label: "Prepare a form", + icon: "text-cursor-input", + hue: PURPLE, + badge: None, + availability: Planned("M6"), + sections: &[ + ToolSection { title: "Fields", items: &[item("Field list", "list", "form.fields", Ready)] }, + ToolSection { + title: "Add form components", + items: &[ + item("Text field", "text-cursor-input", "form.add.text", Planned("M6")), + item("Checkbox", "check-circle-2", "form.add.checkbox", Planned("M6")), + item("Radio button", "circle", "form.add.radio", Planned("M6")), + item("Drop-down list", "chevron-down", "form.add.combo", Planned("M6")), + item("List box", "list", "form.add.list", Planned("M6")), + item("Button", "square", "form.add.button", Planned("M6")), + item("Date field", "clock-3", "form.add.date", Planned("M6")), + item("Digital signature", "signature", "form.add.signature", Planned("M6")), + ], + }, + ], + }, + ToolGroup { + id: "stamp", + label: "Add a stamp", + icon: "stamp", + hue: PURPLE, + badge: None, + availability: Planned("M5"), + sections: &[ToolSection { title: "Stamps", items: &[item("Stamp palette", "stamp", "comment.stamp", Planned("M5"))] }], + }, + ToolGroup { + id: "certificate", + label: "Use a certificate", + icon: "badge-check", + hue: TEAL, + badge: None, + availability: Planned("M9"), + sections: &[ToolSection { + title: "Certificates", + items: &[ + item("Digitally sign", "signature", "sign.digital", Planned("M9")), + item("Timestamp", "clock-3", "sign.timestamp", Planned("M9")), + item("Validate all signatures", "badge-check", "sign.validate", Planned("M9")), + item("Certify (visible signature)", "badge-check", "sign.certify", Planned("M9")), + ], + }], + }, + ToolGroup { + id: "print_production", + label: "Use print production", + icon: "printer", + hue: PURPLE, + badge: None, + availability: Planned("M11"), + sections: &[ToolSection { + title: "Print production", + items: &[ + item("Output preview", "layers", "prepress.output_preview", Planned("M11")), + item("Preflight", "file-check", "preflight.run", Planned("M11")), + item("Convert colors", "palette", "prepress.convert_colors", Planned("M11")), + item("Set page boxes", "square-dashed-mouse-pointer", "page.boxes", Planned("M11")), + item("Add printer marks", "ruler", "prepress.marks", Planned("M11")), + item("Fix hairlines", "minus", "prepress.hairlines", Planned("M11")), + ], + }], + }, + ToolGroup { + id: "measure", + label: "Measure objects", + icon: "ruler", + hue: PINK, + badge: None, + availability: Planned("M12"), + sections: &[ToolSection { + title: "Measure", + items: &[ + item("Measuring tool", "ruler", "measure.distance", Planned("M12")), + item("Geospatial location", "compass", "measure.geo", Planned("M12")), + ], + }], + }, + ToolGroup { + id: "compare", + label: "Compare files", + icon: "git-compare", + hue: PINK, + badge: None, + availability: Planned("M12"), + sections: &[ToolSection { title: "Compare", items: &[item("Select files to compare", "git-compare", "compare.files", Planned("M12"))] }], + }, + ToolGroup { + id: "actions", + label: "Use guided actions", + icon: "list-checks", + hue: PURPLE, + badge: None, + availability: Planned("M13"), + sections: &[ToolSection { + title: "Actions list", + items: &[ + item("Make accessible", "accessibility", "actions.make_accessible", Planned("M13")), + item("Prepare for distribution", "send", "actions.distribution", Planned("M13")), + item("Optimize scanned documents", "scan-text", "actions.optimize_scans", Planned("M13")), + item("Archive documents", "file-check", "actions.archive", Planned("M13")), + ], + }], + }, + ToolGroup { + id: "accessibility", + label: "Prepare for accessibility", + icon: "accessibility", + hue: PURPLE, + badge: None, + availability: Planned("M12"), + sections: &[ToolSection { + title: "Accessibility", + items: &[ + item("Automatically tag PDF", "tag", "a11y.autotag", Planned("M12")), + item("Check for accessibility", "accessibility", "a11y.check", Planned("M12")), + item("Fix reading order", "list-ordered", "a11y.reading_order", Planned("M12")), + item("Add alternate text", "image", "a11y.alt_text", Planned("M12")), + ], + }], + }, + ToolGroup { + id: "standards", + label: "Apply PDF standards", + icon: "file-check", + hue: RED, + badge: None, + availability: Planned("M11"), + sections: &[ToolSection { + title: "Standards", + items: &[ + item("Save as PDF/A", "file-check", "standards.pdfa", Planned("M11")), + item("Save as PDF/X", "file-check", "standards.pdfx", Planned("M11")), + item("Save as PDF/UA", "accessibility", "standards.pdfua", Planned("M11")), + item("Preflight", "file-check", "preflight.run", Planned("M11")), + ], + }], + }, + ToolGroup { + id: "search_index", + label: "Add search index", + icon: "file-search", + hue: GREEN, + badge: None, + availability: Planned("M12"), + sections: &[ToolSection { title: "Index", items: &[item("Manage embedded index", "file-search", "search.index", Planned("M12"))] }], + }, + ToolGroup { + id: "javascript", + label: "Use JavaScript", + icon: "braces", + hue: BLUE, + badge: None, + availability: Planned("M6"), + sections: &[ToolSection { + title: "JavaScript", + items: &[ + item("Console", "braces", "js.console", Planned("M6")), + item("Document JavaScripts", "file-text", "js.document", Planned("M6")), + item("Document actions", "list-checks", "js.actions", Planned("M6")), + ], + }], + }, + ToolGroup { + id: "ai", + label: "AI assistant", + icon: "sparkles", + hue: PINK, + badge: Some("Optional"), + availability: Provider, + sections: &[ToolSection { + title: "Bring your own model (off by default)", + items: &[ + item("Summarize", "sparkles", "ai.summary", Provider), + item("Ask about this document", "message-circle-reply", "ai.ask", Provider), + item("Translate", "languages", "ai.translate", Provider), + ], + }], + }, +]; + +pub fn group(id: &str) -> Option<&'static ToolGroup> { + TOOL_GROUPS.iter().find(|g| g.id == id) +} + +#[cfg(test)] +mod tests { + use super::*; + use std::collections::HashSet; + + #[test] + fn ids_are_unique_and_every_group_has_items() { + let mut seen = HashSet::new(); + for g in TOOL_GROUPS { + assert!(seen.insert(g.id), "duplicate group id {}", g.id); + assert!(g.sections.iter().any(|s| !s.items.is_empty()), "{} has no items", g.id); + } + } + + #[test] + fn commands_are_namespaced() { + for g in TOOL_GROUPS { + for s in g.sections { + for i in s.items { + assert!(i.command.contains('.'), "{} lacks a namespace", i.command); + } + } + } + } +} diff --git a/crates/engine/src/lib.rs b/crates/engine/src/lib.rs new file mode 100644 index 00000000..2db3584f --- /dev/null +++ b/crates/engine/src/lib.rs @@ -0,0 +1,60 @@ +//! printcraft-engine — the façade every frontend talks to (architecture §4). +//! +//! This first slice holds open documents and the tool catalogue. The command registry, history +//! and jobs arrive in M4; the types here are shaped so that the UI never touches rendering or +//! parsing crates directly. + +pub mod catalog; + +use std::sync::Arc; + +use printcraft_render::{DocInfo, OpenError, RenderPool, inspect}; + +/// Stable identifier of an open document within a session. +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)] +pub struct DocId(pub u64); + +pub struct Document { + pub id: DocId, + pub name: String, + pub path: Option, + pub bytes: Arc>, + pub info: DocInfo, + pub renderer: RenderPool, +} + +#[derive(Default)] +pub struct Session { + docs: Vec, + next_id: u64, +} + +impl Session { + pub fn new() -> Self { + Self::default() + } + + /// Open a document from bytes. Rendering starts lazily when pages are requested. + pub fn open(&mut self, name: impl Into, path: Option, bytes: Vec) -> Result { + let bytes = Arc::new(bytes); + let info = inspect(bytes.clone())?; + let threads = std::thread::available_parallelism().map(|n| n.get()).unwrap_or(4).clamp(2, 8) - 1; + let renderer = RenderPool::new(bytes.clone(), threads); + self.next_id += 1; + let id = DocId(self.next_id); + self.docs.push(Document { id, name: name.into(), path, bytes, info, renderer }); + Ok(id) + } + + pub fn close(&mut self, id: DocId) { + self.docs.retain(|d| d.id != id); + } + + pub fn get(&self, id: DocId) -> Option<&Document> { + self.docs.iter().find(|d| d.id == id) + } + + pub fn docs(&self) -> &[Document] { + &self.docs + } +} diff --git a/crates/geom/Cargo.toml b/crates/geom/Cargo.toml new file mode 100644 index 00000000..25ca71dd --- /dev/null +++ b/crates/geom/Cargo.toml @@ -0,0 +1,11 @@ +[package] +name = "printcraft-geom" +description = "Geometry primitives for PrintCraft (points, rects, page transforms)" +version.workspace = true +edition.workspace = true +license.workspace = true + +[lints] +workspace = true + +[dependencies] diff --git a/crates/geom/src/lib.rs b/crates/geom/src/lib.rs new file mode 100644 index 00000000..75ff3a42 --- /dev/null +++ b/crates/geom/src/lib.rs @@ -0,0 +1,67 @@ +//! printcraft-geom — L0 geometry primitives shared by every PrintCraft crate. +//! +//! PDF user space is y-up with the origin at the bottom-left of the page; view space is y-down. +//! `PageRect` is always in PDF user space (points, 1/72 inch). + +/// An axis-aligned rectangle in PDF user space (points). +#[derive(Clone, Copy, Debug, PartialEq, Default)] +pub struct PageRect { + pub x0: f32, + pub y0: f32, + pub x1: f32, + pub y1: f32, +} + +impl PageRect { + pub fn new(x0: f32, y0: f32, x1: f32, y1: f32) -> Self { + Self { x0: x0.min(x1), y0: y0.min(y1), x1: x0.max(x1), y1: y0.max(y1) } + } + pub fn width(&self) -> f32 { + self.x1 - self.x0 + } + pub fn height(&self) -> f32 { + self.y1 - self.y0 + } +} + +/// Page rotation in quarter turns, as in the PDF `/Rotate` key (normalised to 0/90/180/270). +#[derive(Clone, Copy, Debug, PartialEq, Eq, Default)] +pub enum Rotation { + #[default] + R0, + R90, + R180, + R270, +} + +impl Rotation { + pub fn from_degrees(deg: i64) -> Self { + match deg.rem_euclid(360) { + 90 => Self::R90, + 180 => Self::R180, + 270 => Self::R270, + _ => Self::R0, + } + } + pub fn swaps_axes(self) -> bool { + matches!(self, Self::R90 | Self::R270) + } +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn rect_normalises() { + let r = PageRect::new(10.0, 20.0, 0.0, 5.0); + assert_eq!((r.x0, r.y0, r.width(), r.height()), (0.0, 5.0, 10.0, 15.0)); + } + + #[test] + fn rotation_normalises_negative_and_large_values() { + assert_eq!(Rotation::from_degrees(-90), Rotation::R270); + assert_eq!(Rotation::from_degrees(450), Rotation::R90); + assert!(Rotation::R90.swaps_axes()); + } +} diff --git a/crates/render/Cargo.toml b/crates/render/Cargo.toml new file mode 100644 index 00000000..afadd24a --- /dev/null +++ b/crates/render/Cargo.toml @@ -0,0 +1,16 @@ +[package] +name = "printcraft-render" +description = "Page rendering (bootstrap: hayro) and document inspection for PrintCraft" +version.workspace = true +edition.workspace = true +license.workspace = true + +[lints] +workspace = true + +[dependencies] +hayro = { workspace = true } +hayro-syntax = { workspace = true } +lopdf = { workspace = true } +thiserror = { workspace = true } +log = { workspace = true } diff --git a/crates/render/src/inspect.rs b/crates/render/src/inspect.rs new file mode 100644 index 00000000..9a6eb01c --- /dev/null +++ b/crates/render/src/inspect.rs @@ -0,0 +1,641 @@ +//! Document inspection: everything panels need that is not pixels. +//! +//! Page geometry comes from hayro (which resolves inheritance and rotation); the rest comes from +//! lopdf (bootstrap, replaced by `printcraft-model` in M2). Inspection is *tolerant*: when lopdf +//! cannot load a file that hayro can render, panels are simply empty and `warnings` says why. + +use std::collections::{BTreeMap, HashMap, HashSet}; +use std::sync::Arc; + +use hayro::hayro_syntax::Pdf; +use lopdf::{Dictionary, Document, Object, ObjectId}; + +use crate::OpenError; + +#[derive(Clone, Debug, Default)] +pub struct DocInfo { + pub title: Option, + pub author: Option, + pub subject: Option, + pub keywords: Option, + pub creator: Option, + pub producer: Option, + pub pdf_version: String, + pub file_size: usize, + pub encrypted: bool, + pub tagged: bool, + pub has_javascript: bool, + pub pages: Vec, + pub outline: Vec, + pub annotations: Vec, + pub fields: Vec, + pub links: Vec, + pub layers: Vec, + pub attachments: Vec, + pub warnings: Vec, +} + +#[derive(Clone, Debug)] +pub struct PageInfo { + /// Displayed size in points, after `/Rotate` and `/UserUnit`. + pub width: f32, + pub height: f32, + /// Page label (`/PageLabels`), falling back to the 1-based page number. + pub label: String, + /// Effective crop box in user space [x0, y0, x1, y1] (the visible region). + pub crop: [f32; 4], + /// Clockwise page rotation in degrees (0, 90, 180, 270). + pub rotation: u16, +} + +/// A clickable link annotation. +#[derive(Clone, Debug)] +pub struct Link { + pub page: usize, + pub rect: [f32; 4], + pub target: LinkTarget, +} + +#[derive(Clone, Debug, PartialEq)] +pub enum LinkTarget { + Page(usize), + Uri(String), + Other(String), +} + +#[derive(Clone, Debug)] +pub struct OutlineItem { + pub title: String, + pub page: Option, + pub children: Vec, + pub open: bool, +} + +#[derive(Clone, Debug)] +pub struct Annotation { + pub page: usize, + pub subtype: String, + pub author: Option, + pub contents: Option, + pub modified: Option, + /// `/NM` of this annotation, and of the one it replies to (`/IRT`), for threading. + pub name: Option, + pub in_reply_to: Option, + /// Rect in PDF user space: [x0, y0, x1, y1]. + pub rect: [f32; 4], + pub color: Option<[f32; 3]>, +} + +#[derive(Clone, Copy, Debug, PartialEq, Eq)] +pub enum FieldKind { + Text, + CheckBox, + Radio, + PushButton, + Combo, + List, + Signature, + Unknown, +} + +#[derive(Clone, Debug)] +pub struct Field { + pub name: String, + pub kind: FieldKind, + pub value: Option, + pub page: Option, + pub tooltip: Option, + pub has_actions: bool, + /// Rect of the first widget, in user space. + pub rect: Option<[f32; 4]>, +} + +#[derive(Clone, Debug)] +pub struct Layer { + pub name: String, + pub visible: bool, +} + +#[derive(Clone, Debug)] +pub struct Attachment { + pub name: String, + pub description: Option, + pub size: Option, +} + +/// Inspect a document. Fails only if the renderer itself cannot open the file. +pub fn inspect(bytes: Arc>) -> Result { + let pdf = Pdf::new(bytes.clone()).map_err(|e| match format!("{e:?}") { + s if s.to_lowercase().contains("encrypt") || s.to_lowercase().contains("password") => OpenError::NeedsPassword, + s => OpenError::Invalid(s), + })?; + let mut info = DocInfo { file_size: bytes.len(), pdf_version: format!("{:?}", pdf.version()), ..Default::default() }; + for (i, page) in pdf.pages().iter().enumerate() { + let (w, h) = page.render_dimensions(); + let c = page.intersected_crop_box(); + let rotation = match page.rotation() { + hayro::hayro_syntax::page::Rotation::None => 0, + hayro::hayro_syntax::page::Rotation::Horizontal => 90, + hayro::hayro_syntax::page::Rotation::Flipped => 180, + hayro::hayro_syntax::page::Rotation::FlippedHorizontal => 270, + }; + let crop = [c.x0 as f32, c.y0 as f32, c.x1 as f32, c.y1 as f32]; + info.pages.push(PageInfo { width: w, height: h, label: (i + 1).to_string(), crop, rotation }); + } + match Document::load_mem(&bytes) { + Ok(doc) => Inspector::new(&doc).fill(&mut info), + Err(e) => info.warnings.push(format!("structure inspection unavailable: {e}")), + } + Ok(info) +} + +struct Inspector<'a> { + doc: &'a Document, + page_index: HashMap, +} + +impl<'a> Inspector<'a> { + fn new(doc: &'a Document) -> Self { + let page_index = doc.get_pages().into_iter().map(|(n, id)| (id, n as usize - 1)).collect(); + Self { doc, page_index } + } + + fn fill(&self, info: &mut DocInfo) { + info.encrypted = self.doc.is_encrypted() || self.doc.trailer.get(b"Encrypt").is_ok(); + if let Some(d) = self.doc.trailer.get(b"Info").ok().and_then(|o| self.dict(o)) { + info.title = self.text(d, b"Title"); + info.author = self.text(d, b"Author"); + info.subject = self.text(d, b"Subject"); + info.keywords = self.text(d, b"Keywords"); + info.creator = self.text(d, b"Creator"); + info.producer = self.text(d, b"Producer"); + } + let Ok(catalog) = self.doc.catalog() else { return }; + info.tagged = catalog + .get(b"MarkInfo") + .ok() + .and_then(|o| self.dict(o)) + .and_then(|m| m.get(b"Marked").ok()) + .and_then(|o| o.as_bool().ok()) + .unwrap_or(false); + self.page_labels(catalog, &mut info.pages); + if let Some(first) = catalog.get(b"Outlines").ok().and_then(|o| self.dict(o)).and_then(|d| d.get(b"First").ok()) { + let mut seen = HashSet::new(); + info.outline = self.outline_siblings(first, &mut seen, 0); + } + self.annotations(info); + if let Some(form) = catalog.get(b"AcroForm").ok().and_then(|o| self.dict(o)) + && let Ok(fields) = form.get(b"Fields").and_then(|o| self.resolve(o).as_array()) + { + let mut seen = HashSet::new(); + for f in fields { + self.field(f, None, &mut info.fields, &mut seen, 0); + } + } + info.has_javascript |= info.fields.iter().any(|f| f.has_actions); + self.layers(catalog, &mut info.layers); + if let Some(names) = catalog.get(b"Names").ok().and_then(|o| self.dict(o)) { + if let Some(ef) = names.get(b"EmbeddedFiles").ok().and_then(|o| self.dict(o)) { + let mut seen = HashSet::new(); + for (name, spec) in self.name_tree(ef, &mut seen, 0) { + info.attachments.push(self.attachment(name, spec)); + } + } + info.has_javascript |= names.get(b"JavaScript").is_ok(); + } + } + + // ── object helpers ────────────────────────────────────────────────────────────────────── + + fn resolve(&self, o: &'a Object) -> &'a Object { + self.doc.dereference(o).map(|(_, o)| o).unwrap_or(o) + } + + fn dict(&self, o: &'a Object) -> Option<&'a Dictionary> { + match self.resolve(o) { + Object::Dictionary(d) => Some(d), + Object::Stream(s) => Some(&s.dict), + _ => None, + } + } + + fn text(&self, d: &Dictionary, key: &[u8]) -> Option { + let o = self.resolve(d.get(key).ok()?); + let s = match o { + Object::String(..) => lopdf::decode_text_string(o).ok()?, + Object::Name(n) => String::from_utf8_lossy(n).into_owned(), + _ => return None, + }; + let s = s.trim_matches('\0').trim().to_string(); + (!s.is_empty()).then_some(s) + } + + fn name(&self, d: &Dictionary, key: &[u8]) -> Option { + self.resolve(d.get(key).ok()?).as_name().ok().map(|n| String::from_utf8_lossy(n).into_owned()) + } + + fn page_of(&self, o: &Object) -> Option { + match o { + Object::Reference(id) => self.page_index.get(id).copied(), + // Some producers write page *numbers* in remote-style destinations. + Object::Integer(n) => usize::try_from(*n).ok(), + _ => None, + } + } + + // ── destinations ──────────────────────────────────────────────────────────────────────── + + fn dest_page(&self, dest: &Object, depth: u32) -> Option { + if depth > 8 { + return None; + } + match self.resolve(dest) { + Object::Array(a) => a.first().and_then(|p| self.page_of(p)), + Object::Dictionary(d) => d.get(b"D").ok().and_then(|d| self.dest_page(d, depth + 1)), + named @ (Object::String(..) | Object::Name(_)) => { + let key = match named { + Object::String(s, _) => s.clone(), + Object::Name(n) => n.clone(), + _ => unreachable!(), + }; + self.named_dest(&key).and_then(|d| self.dest_page(d, depth + 1)) + } + _ => None, + } + } + + fn named_dest(&self, key: &[u8]) -> Option<&'a Object> { + let catalog = self.doc.catalog().ok()?; + if let Some(tree) = catalog.get(b"Names").ok().and_then(|o| self.dict(o)).and_then(|n| n.get(b"Dests").ok()).and_then(|o| self.dict(o)) { + let mut seen = HashSet::new(); + if let Some((_, v)) = self.name_tree(tree, &mut seen, 0).into_iter().find(|(k, _)| k.as_bytes() == key) { + return Some(v); + } + } + // PDF 1.1 style /Dests dictionary. + catalog.get(b"Dests").ok().and_then(|o| self.dict(o)).and_then(|d| d.get(key).ok()) + } + + fn name_tree(&self, node: &'a Dictionary, seen: &mut HashSet<*const Dictionary>, depth: u32) -> Vec<(String, &'a Object)> { + let mut out = Vec::new(); + if depth > 32 || !seen.insert(node as *const _) { + return out; + } + if let Ok(Object::Array(pairs)) = node.get(b"Names").map(|o| self.resolve(o)) { + for pair in pairs.chunks(2) { + if let [k, v] = pair { + let key = lopdf::decode_text_string(self.resolve(k)).unwrap_or_default(); + out.push((key, v)); + } + } + } + if let Ok(Object::Array(kids)) = node.get(b"Kids").map(|o| self.resolve(o)) { + for k in kids { + if let Some(d) = self.dict(k) { + out.extend(self.name_tree(d, seen, depth + 1)); + } + } + } + out + } + + // ── outline ───────────────────────────────────────────────────────────────────────────── + + fn outline_siblings(&self, first: &'a Object, seen: &mut HashSet, depth: u32) -> Vec { + let mut items = Vec::new(); + let mut cur = Some(first); + while let Some(o) = cur { + if let Object::Reference(id) = o + && !seen.insert(*id) + { + break; // cycle + } + let Some(d) = self.dict(o) else { break }; + let page = d + .get(b"Dest") + .ok() + .and_then(|dest| self.dest_page(dest, 0)) + .or_else(|| d.get(b"A").ok().and_then(|a| self.dict(a)).and_then(|a| a.get(b"D").ok()).and_then(|dest| self.dest_page(dest, 0))); + let children = match (d.get(b"First").ok(), depth < 32) { + (Some(f), true) => self.outline_siblings(f, seen, depth + 1), + _ => Vec::new(), + }; + let open = d.get(b"Count").ok().and_then(|c| c.as_i64().ok()).is_some_and(|c| c > 0); + items.push(OutlineItem { title: self.text(d, b"Title").unwrap_or_default(), page, children, open }); + cur = d.get(b"Next").ok(); + if items.len() > 100_000 { + break; + } + } + items + } + + // ── page labels (ISO 32000-2 §12.4.2) ─────────────────────────────────────────────────── + + fn page_labels(&self, catalog: &Dictionary, pages: &mut [PageInfo]) { + let Some(tree) = catalog.get(b"PageLabels").ok().and_then(|o| self.dict(o)) else { return }; + let mut ranges: BTreeMap = BTreeMap::new(); + let mut stack = vec![(tree, 0u32)]; + while let Some((node, depth)) = stack.pop() { + if let Ok(Object::Array(nums)) = node.get(b"Nums").map(|o| self.resolve(o)) { + for pair in nums.chunks(2) { + if let [k, v] = pair + && let (Ok(start), Some(d)) = (self.resolve(k).as_i64(), self.dict(v)) + && start >= 0 + { + ranges.insert(start as usize, d); + } + } + } + if depth < 32 + && let Ok(Object::Array(kids)) = node.get(b"Kids").map(|o| self.resolve(o)) + { + stack.extend(kids.iter().filter_map(|k| self.dict(k)).map(|d| (d, depth + 1))); + } + } + for (i, page) in pages.iter_mut().enumerate() { + let Some((&start, d)) = ranges.range(..=i).next_back() else { continue }; + let first = d.get(b"St").ok().and_then(|o| o.as_i64().ok()).unwrap_or(1).max(1) as usize; + let n = first + (i - start); + let prefix = self.text(d, b"P").unwrap_or_default(); + let number = match self.name(d, b"S").as_deref() { + Some("D") => n.to_string(), + Some("R") => roman(n).to_uppercase(), + Some("r") => roman(n), + Some("A") => alpha(n).to_uppercase(), + Some("a") => alpha(n), + _ => String::new(), + }; + page.label = format!("{prefix}{number}"); + if page.label.is_empty() { + page.label = (i + 1).to_string(); + } + } + } + + // ── annotations ───────────────────────────────────────────────────────────────────────── + + fn annotations(&self, info: &mut DocInfo) { + for (&id, &page) in &self.page_index { + let Ok(page_dict) = self.doc.get_dictionary(id) else { continue }; + let Ok(Object::Array(annots)) = page_dict.get(b"Annots").map(|o| self.resolve(o)) else { continue }; + for a in annots { + let Some(d) = self.dict(a) else { continue }; + let Some(subtype) = self.name(d, b"Subtype") else { continue }; + if subtype == "Link" { + if let Some(link) = self.link(page, d) { + if matches!(&link.target, LinkTarget::Other(s) if s == "JavaScript") { + info.has_javascript = true; + } + info.links.push(link); + } + continue; + } + if matches!(subtype.as_str(), "Widget" | "Popup") { + continue; + } + let rect = rect4(self.resolve(d.get(b"Rect").unwrap_or(&Object::Null))); + let color = match d.get(b"C").map(|o| self.resolve(o)) { + Ok(Object::Array(c)) if c.len() == 3 => { + let f = |i: usize| c[i].as_float().unwrap_or(0.0); + Some([f(0), f(1), f(2)]) + } + _ => None, + }; + let in_reply_to = d.get(b"IRT").ok().and_then(|o| self.dict(o)).and_then(|p| self.text(p, b"NM")); + info.annotations.push(Annotation { + page, + subtype, + author: self.text(d, b"T"), + contents: self.text(d, b"Contents"), + modified: self.text(d, b"M").map(|m| pretty_date(&m)), + name: self.text(d, b"NM"), + in_reply_to, + rect, + color, + }); + } + } + info.annotations.sort_by(|a, b| a.page.cmp(&b.page).then(b.rect[3].total_cmp(&a.rect[3]))); + } + + fn link(&self, page: usize, d: &Dictionary) -> Option { + let rect = rect4(self.resolve(d.get(b"Rect").ok()?)); + let target = if let Ok(dest) = d.get(b"Dest") { + LinkTarget::Page(self.dest_page(dest, 0)?) + } else { + let a = d.get(b"A").ok().and_then(|a| self.dict(a))?; + match self.name(a, b"S").as_deref() { + Some("GoTo") => LinkTarget::Page(self.dest_page(a.get(b"D").ok()?, 0)?), + Some("URI") => { + LinkTarget::Uri(a.get(b"URI").ok().and_then(|u| self.resolve(u).as_str().ok()).map(|b| String::from_utf8_lossy(b).into_owned())?) + } + Some(other) => LinkTarget::Other(other.to_string()), + None => return None, + } + }; + Some(Link { page, rect, target }) + } + + // ── form fields ───────────────────────────────────────────────────────────────────────── + + fn field( + &self, + o: &'a Object, + parent: Option<(&str, Option, Option)>, + out: &mut Vec, + seen: &mut HashSet, + depth: u32, + ) { + if depth > 32 { + return; + } + if let Object::Reference(id) = o + && !seen.insert(*id) + { + return; + } + let Some(d) = self.dict(o) else { return }; + let (parent_name, parent_ft, parent_ff) = parent.unwrap_or(("", None, None)); + let partial = self.text(d, b"T"); + let full = match (&partial, parent_name.is_empty()) { + (Some(t), true) => t.clone(), + (Some(t), false) => format!("{parent_name}.{t}"), + (None, _) => parent_name.to_string(), + }; + let ft = self.name(d, b"FT").or(parent_ft); + let ff = d.get(b"Ff").ok().and_then(|x| x.as_i64().ok()).or(parent_ff); + // Non-terminal: has kids that are fields (they carry /T). Widgets-only kids are terminal. + let kids = match d.get(b"Kids").map(|k| self.resolve(k)) { + Ok(Object::Array(k)) => k.as_slice(), + _ => &[], + }; + let field_kids: Vec<_> = kids.iter().filter(|k| self.dict(k).is_some_and(|kd| kd.get(b"T").is_ok())).collect(); + if !field_kids.is_empty() { + for k in field_kids { + self.field(k, Some((&full, ft.clone(), ff)), out, seen, depth + 1); + } + return; + } + let flags = ff.unwrap_or(0); + let kind = match ft.as_deref() { + Some("Tx") => FieldKind::Text, + Some("Btn") if flags & (1 << 16) != 0 => FieldKind::PushButton, + Some("Btn") if flags & (1 << 15) != 0 => FieldKind::Radio, + Some("Btn") => FieldKind::CheckBox, + Some("Ch") if flags & (1 << 17) != 0 => FieldKind::Combo, + Some("Ch") => FieldKind::List, + Some("Sig") => FieldKind::Signature, + _ => FieldKind::Unknown, + }; + let value = match d.get(b"V").map(|v| self.resolve(v)) { + Ok(Object::Name(n)) => Some(String::from_utf8_lossy(n).into_owned()), + Ok(v @ Object::String(..)) => lopdf::decode_text_string(v).ok(), + Ok(Object::Array(a)) => Some(a.iter().filter_map(|x| lopdf::decode_text_string(self.resolve(x)).ok()).collect::>().join(", ")), + Ok(Object::Dictionary(_)) if kind == FieldKind::Signature => Some("signed".into()), + _ => None, + }; + // The widget is either this dict (merged field/widget) or its first kid. + let widget = if d.get(b"Rect").is_ok() { Some(d) } else { kids.first().and_then(|k| self.dict(k)) }; + let page = widget.and_then(|w| w.get(b"P").ok()).and_then(|p| self.page_of(p)).or_else(|| self.find_widget_page(o, kids)); + let has_actions = d.get(b"AA").is_ok() || widget.is_some_and(|w| w.get(b"AA").is_ok() || w.get(b"A").is_ok()); + let rect = widget.and_then(|w| w.get(b"Rect").ok()).map(|r| rect4(self.resolve(r))); + out.push(Field { name: full, kind, value, page, tooltip: self.text(d, b"TU"), has_actions, rect }); + } + + fn find_widget_page(&self, field: &Object, kids: &[Object]) -> Option { + let targets: HashSet = + std::iter::once(field).chain(kids.iter()).filter_map(|o| if let Object::Reference(id) = o { Some(*id) } else { None }).collect(); + if targets.is_empty() { + return None; + } + self.page_index.iter().find_map(|(&pid, &idx)| { + let annots = self.doc.get_dictionary(pid).ok()?.get(b"Annots").ok()?; + let arr = self.resolve(annots).as_array().ok()?; + arr.iter().any(|a| matches!(a, Object::Reference(id) if targets.contains(id))).then_some(idx) + }) + } + + // ── optional content ──────────────────────────────────────────────────────────────────── + + fn layers(&self, catalog: &Dictionary, out: &mut Vec) { + let Some(props) = catalog.get(b"OCProperties").ok().and_then(|o| self.dict(o)) else { return }; + let config = props.get(b"D").ok().and_then(|o| self.dict(o)); + let off: HashSet = config + .and_then(|c| c.get(b"OFF").ok()) + .and_then(|o| self.resolve(o).as_array().ok()) + .map(|a| a.iter().filter_map(|x| x.as_reference().ok()).collect()) + .unwrap_or_default(); + let base_off = config.and_then(|c| self.name(c, b"BaseState")).as_deref() == Some("OFF"); + let on: HashSet = config + .and_then(|c| c.get(b"ON").ok()) + .and_then(|o| self.resolve(o).as_array().ok()) + .map(|a| a.iter().filter_map(|x| x.as_reference().ok()).collect()) + .unwrap_or_default(); + let Ok(Object::Array(ocgs)) = props.get(b"OCGs").map(|o| self.resolve(o)) else { return }; + for g in ocgs { + let Some(d) = self.dict(g) else { continue }; + let id = g.as_reference().ok(); + let visible = match id { + Some(id) if off.contains(&id) => false, + Some(id) if on.contains(&id) => true, + _ => !base_off, + }; + out.push(Layer { name: self.text(d, b"Name").unwrap_or_else(|| "Layer".into()), visible }); + } + } + + fn attachment(&self, name: String, spec: &Object) -> Attachment { + let d = self.dict(spec); + let size = + d.and_then(|d| d.get(b"EF").ok()).and_then(|o| self.dict(o)).and_then(|ef| ef.get(b"F").ok().or_else(|| ef.get(b"UF").ok())).and_then( + |f| match self.resolve(f) { + Object::Stream(s) => s + .dict + .get(b"Params") + .ok() + .and_then(|p| self.dict(p)) + .and_then(|p| p.get(b"Size").ok()) + .and_then(|s| s.as_i64().ok()) + .map(|s| s as usize) + .or(Some(s.content.len())), + _ => None, + }, + ); + let display = d.and_then(|d| self.text(d, b"UF").or_else(|| self.text(d, b"F"))).unwrap_or(name); + Attachment { name: display, description: d.and_then(|d| self.text(d, b"Desc")), size } + } +} + +fn rect4(o: &Object) -> [f32; 4] { + match o { + Object::Array(a) if a.len() == 4 => { + let v: Vec = a.iter().map(|x| x.as_float().unwrap_or(0.0)).collect(); + [v[0].min(v[2]), v[1].min(v[3]), v[0].max(v[2]), v[1].max(v[3])] + } + _ => [0.0; 4], + } +} + +fn roman(mut n: usize) -> String { + const T: [(usize, &str); 13] = [ + (1000, "m"), + (900, "cm"), + (500, "d"), + (400, "cd"), + (100, "c"), + (90, "xc"), + (50, "l"), + (40, "xl"), + (10, "x"), + (9, "ix"), + (5, "v"), + (4, "iv"), + (1, "i"), + ]; + let mut s = String::new(); + for (v, r) in T { + while n >= v { + s.push_str(r); + n -= v; + } + } + s +} + +/// a..z, aa..zz, aaa.. (ISO 32000-2: "a to z for the first 26 pages, aa to zz for the next 26"). +fn alpha(n: usize) -> String { + let n = n.max(1) - 1; + let letter = (b'a' + (n % 26) as u8) as char; + std::iter::repeat_n(letter, n / 26 + 1).collect() +} + +/// `D:20260930104512-04'00'` → `2026-09-30 10:45`. +fn pretty_date(s: &str) -> String { + let d = s.trim_start_matches("D:"); + if d.len() >= 12 && d[..12].bytes().all(|b| b.is_ascii_digit()) { + format!("{}-{}-{} {}:{}", &d[0..4], &d[4..6], &d[6..8], &d[8..10], &d[10..12]) + } else { + s.to_string() + } +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn roman_and_alpha_labels() { + assert_eq!(roman(4), "iv"); + assert_eq!(roman(1994), "mcmxciv"); + assert_eq!(alpha(1), "a"); + assert_eq!(alpha(27), "aa"); + assert_eq!(alpha(53), "aaa"); + } + + #[test] + fn dates_are_prettified() { + assert_eq!(pretty_date("D:20260930104512-04'00'"), "2026-09-30 10:45"); + assert_eq!(pretty_date("yesterday"), "yesterday"); + } +} diff --git a/crates/render/src/lib.rs b/crates/render/src/lib.rs new file mode 100644 index 00000000..283d41ba --- /dev/null +++ b/crates/render/src/lib.rs @@ -0,0 +1,22 @@ +//! printcraft-render — page rasterization and document inspection. +//! +//! **Bootstrap status (see ADR-0004):** rasterization goes straight through the `hayro` crate +//! (hayro-interpret + vello_cpu), and inspection (outline, annotations, fields, layers, +//! attachments, metadata) uses `lopdf`. Both are replaced by our own `cos`/`model` crates and the +//! DisplayList device design in M1–M2. The public API here is what the engine and UI rely on, so +//! the swap stays internal to this crate. + +mod inspect; +mod raster; + +pub use inspect::{Annotation, Attachment, DocInfo, Field, FieldKind, Layer, Link, LinkTarget, OutlineItem, PageInfo, inspect}; +pub use raster::{RenderPool, RenderRequest, RenderedPage}; + +/// Errors surfaced to the user when a document cannot be opened. +#[derive(Debug, thiserror::Error)] +pub enum OpenError { + #[error("the file is not a readable PDF: {0}")] + Invalid(String), + #[error("the document is encrypted and needs a password")] + NeedsPassword, +} diff --git a/crates/render/src/raster.rs b/crates/render/src/raster.rs new file mode 100644 index 00000000..2672e591 --- /dev/null +++ b/crates/render/src/raster.rs @@ -0,0 +1,138 @@ +//! Background page rasterization. +//! +//! A `RenderPool` owns N worker threads. Each worker parses the shared bytes once (hayro's parser +//! is lazy, so this is cheap) and keeps its own render cache. Requests carry a generation number; +//! the UI drops results for stale generations (e.g. after a zoom change). + +use std::sync::mpsc::{Receiver, Sender, channel}; +use std::sync::{Arc, Mutex}; +use std::thread::JoinHandle; + +use hayro::hayro_interpret::InterpreterSettings; +use hayro::hayro_syntax::Pdf; +use hayro::vello_cpu::color::palette::css::WHITE; +use hayro::{RenderCache, RenderSettings, render}; + +/// Hard cap on a rendered side, to bound memory at extreme zoom levels (tiling arrives in M3.3). +const MAX_SIDE: f32 = 8192.0; + +#[derive(Clone, Copy, Debug, PartialEq)] +pub struct RenderRequest { + pub page: usize, + /// Device pixels per PDF point. + pub scale: f32, + /// Caller-defined tag, echoed back (used for zoom generations / thumbnail vs page). + pub tag: u64, +} + +pub struct RenderedPage { + pub request: RenderRequest, + pub width: u32, + pub height: u32, + /// Premultiplied RGBA8, row-major. + pub rgba: Vec, +} + +type Queue = Arc>>; + +pub struct RenderPool { + queue: Queue, + wake: Vec>, + results: Receiver, + _workers: Vec>, +} + +impl RenderPool { + pub fn new(bytes: Arc>, threads: usize) -> Self { + let queue: Queue = Arc::new(Mutex::new(Vec::new())); + let (res_tx, results) = channel(); + let mut wake = Vec::new(); + let mut workers = Vec::new(); + for i in 0..threads.max(1) { + let (wtx, wrx) = channel::<()>(); + wake.push(wtx); + let queue = queue.clone(); + let res_tx = res_tx.clone(); + let bytes = bytes.clone(); + let handle = std::thread::Builder::new() + .name(format!("printcraft-render-{i}")) + .spawn(move || worker(bytes, queue, wrx, res_tx)) + .expect("spawn render worker"); + workers.push(handle); + } + Self { queue, wake, results, _workers: workers } + } + + /// Replace the pending queue (most urgent first). In-flight renders are not interrupted. + pub fn set_queue(&self, mut requests: Vec) { + requests.reverse(); // workers pop from the end + if let Ok(mut q) = self.queue.lock() { + *q = requests; + } + for w in &self.wake { + let _ = w.send(()); + } + } + + pub fn try_recv(&self) -> Option { + self.results.try_recv().ok() + } +} + +fn worker(bytes: Arc>, queue: Queue, wake: Receiver<()>, out: Sender) { + let Ok(pdf) = Pdf::new(bytes) else { return }; + let settings = InterpreterSettings::default(); + let cache = RenderCache::new(); + let pages = pdf.pages(); + loop { + let next = queue.lock().ok().and_then(|mut q| q.pop()); + let Some(req) = next else { + if wake.recv().is_err() { + return; // pool dropped + } + continue; + }; + let Some(page) = pages.get(req.page) else { continue }; + let (w, h) = page.render_dimensions(); + let scale = req.scale.min(MAX_SIDE / w.max(h).max(1.0)); + let rs = RenderSettings { x_scale: scale, y_scale: scale, bg_color: WHITE, ..Default::default() }; + let pixmap = render(page, &cache, &settings, &rs); + let (width, height) = (pixmap.width() as u32, pixmap.height() as u32); + let rgba = pixmap.data_as_u8_slice().to_vec(); + if out.send(RenderedPage { request: req, width, height, rgba }).is_err() { + return; + } + } +} + +#[cfg(test)] +mod tests { + use super::*; + + const ONE_PAGE: &[u8] = b"%PDF-1.4 +1 0 obj << /Type /Catalog /Pages 2 0 R >> endobj +2 0 obj << /Type /Pages /Kids [3 0 R] /Count 1 >> endobj +3 0 obj << /Type /Page /Parent 2 0 R /MediaBox [0 0 100 50] /Contents 4 0 R >> endobj +4 0 obj << /Length 35 >> stream +0 0 1 rg 10 10 30 20 re f +endstream endobj +trailer << /Root 1 0 R >> +%%EOF"; + + #[test] + fn renders_a_blue_rectangle() { + let pool = RenderPool::new(Arc::new(ONE_PAGE.to_vec()), 1); + pool.set_queue(vec![RenderRequest { page: 0, scale: 1.0, tag: 7 }]); + let page = loop { + if let Some(p) = pool.try_recv() { + break p; + } + std::thread::sleep(std::time::Duration::from_millis(5)); + }; + assert_eq!((page.width, page.height, page.request.tag), (100, 50, 7)); + // Pixel (20, 30) in y-down device space is inside the rect drawn at y 10..30 (y-up). + let px = |x: u32, y: u32| &page.rgba[((y * page.width + x) * 4) as usize..][..4]; + assert_eq!(px(20, 30), &[0, 0, 255, 255]); + assert_eq!(px(80, 5), &[255, 255, 255, 255]); + } +} diff --git a/crates/ui-egui/Cargo.toml b/crates/ui-egui/Cargo.toml new file mode 100644 index 00000000..4d29ff6e --- /dev/null +++ b/crates/ui-egui/Cargo.toml @@ -0,0 +1,20 @@ +[package] +name = "printcraft-ui-egui" +description = "The egui shell of PrintCraft" +version.workspace = true +edition.workspace = true +license.workspace = true + +[lints] +workspace = true + +[dependencies] +printcraft-engine = { workspace = true } +printcraft-render = { workspace = true } +egui = { workspace = true } +egui_extras = { workspace = true } +eframe = { workspace = true, features = ["default_fonts", "wgpu", "accesskit"] } +serde = { workspace = true } + +[target.'cfg(not(target_arch = "wasm32"))'.dependencies] +rfd = { workspace = true } diff --git a/crates/ui-egui/src/canvas.rs b/crates/ui-egui/src/canvas.rs new file mode 100644 index 00000000..71b951d5 --- /dev/null +++ b/crates/ui-egui/src/canvas.rs @@ -0,0 +1,573 @@ +//! The document area: page layout, zoom, render scheduling, overlays (links, annotation hovers, +//! form-field highlights), and the organize-pages grid. +//! +//! Page images come from the engine's render pool as whole-page rasters at the current zoom; +//! stale rasters are shown stretched until the sharp one arrives (tiling comes in M3.3). + +use std::collections::HashMap; + +use egui::{Align2, Color32, CornerRadius, Pos2, Rect, Sense, Stroke, TextureHandle, TextureOptions, Vec2, pos2, vec2}; +use printcraft_engine::DocId; +use printcraft_render::{DocInfo, LinkTarget, RenderPool, RenderRequest}; + +use crate::theme::{self, Tokens}; +use crate::{PrintCraftApp, QuickTool, RightPanel, icons}; + +/// Logical pixels per PDF point at 100% (96 dpi, like browsers). +pub const PT: f32 = 96.0 / 72.0; +const GAP: f32 = 14.0; +const MARGIN: f32 = 28.0; +/// Horizontal gutter that keeps pages clear of the floating quick-action bar. +const SIDE: f32 = 70.0; +const THUMB_TAG: u64 = 1 << 63; +const THUMB_W: f32 = 132.0; + +#[derive(Clone, Copy, Debug, PartialEq, Eq)] +pub enum Fit { + Width, + Page, + None, +} + +#[derive(Clone, Copy, Debug, PartialEq, Eq)] +pub enum PageLayout { + Continuous, + TwoUp, + Single, +} + +struct PageTex { + tag: u64, + tex: TextureHandle, +} + +pub struct DocView { + pub id: DocId, + pub zoom: f32, + pub fit: Fit, + pub layout: PageLayout, + pub current: usize, + pub organize: bool, + pub highlight_fields: bool, + pub page_input: String, + pub notice_dismissed: bool, + /// Pending navigation: page and fraction down the page to align with the viewport top. + pub goto: Option<(usize, f32)>, + /// Briefly outline an annotation after navigating to it from a panel. + pub flash: Option<(usize, [f32; 4], f64)>, + pages: HashMap, + thumbs: HashMap, + last_queue: Vec, + viewport_w: f32, + viewport_h: f32, + page_count: usize, +} + +impl DocView { + pub fn new(id: DocId, info: &DocInfo) -> Self { + Self { + id, + zoom: 1.0, + fit: Fit::Width, + layout: PageLayout::Continuous, + current: 0, + organize: false, + highlight_fields: false, + page_input: "1".into(), + notice_dismissed: false, + goto: None, + flash: None, + pages: HashMap::new(), + thumbs: HashMap::new(), + last_queue: Vec::new(), + viewport_w: 800.0, + viewport_h: 600.0, + page_count: info.pages.len(), + } + } + + pub fn thumb(&self, page: usize) -> Option<&TextureHandle> { + self.thumbs.get(&page) + } + + pub fn go_to_page(&mut self, page: usize) { + let page = page.min(self.page_count.saturating_sub(1)); + self.goto = Some((page, 0.0)); + self.current = page; + self.page_input = (page + 1).to_string(); + } + + pub fn set_zoom(&mut self, zoom: f32) { + let frac = 0.0; + self.zoom = zoom.clamp(0.08, 64.0); + self.fit = Fit::None; + self.goto = Some((self.current, frac)); + } + + /// Standard zoom steps (as in Acrobat's zoom menu). + pub fn zoom_step(&mut self, up: bool) { + const STEPS: [f32; 17] = [0.1, 0.25, 0.33, 0.5, 0.66, 0.75, 1.0, 1.25, 1.5, 2.0, 3.0, 4.0, 6.0, 8.0, 12.0, 16.0, 32.0]; + let z = self.zoom; + let next = if up { STEPS.iter().copied().find(|s| *s > z * 1.01) } else { STEPS.iter().rev().copied().find(|s| *s < z * 0.99) }; + if let Some(n) = next { + self.set_zoom(n); + } + } + + /// Pull finished renders into textures. + pub fn receive(&mut self, ctx: &egui::Context, pool: &RenderPool) { + let mut got = false; + while let Some(r) = pool.try_recv() { + got = true; + let img = egui::ColorImage::from_rgba_premultiplied([r.width as usize, r.height as usize], &r.rgba); + let page = r.request.page; + if r.request.tag & THUMB_TAG != 0 { + let tex = ctx.load_texture(format!("thumb-{:?}-{page}", self.id), img, TextureOptions::LINEAR); + self.thumbs.insert(page, tex); + } else { + let tex = ctx.load_texture(format!("page-{:?}-{page}", self.id), img, TextureOptions::LINEAR); + self.pages.insert(page, PageTex { tag: r.request.tag, tex }); + } + } + if got { + ctx.request_repaint(); + } + } + + fn fit_zoom(&mut self, info: &DocInfo) { + let max_w = info.pages.iter().map(|p| p.width).fold(1.0, f32::max); + let avail_w = (self.viewport_w - 2.0 * SIDE).max(100.0); + let per_row = if self.layout == PageLayout::TwoUp { 2.0 } else { 1.0 }; + match self.fit { + Fit::Width => self.zoom = (avail_w - GAP * (per_row - 1.0)) / (max_w * PT * per_row), + Fit::Page => { + let p = &info.pages[self.current.min(info.pages.len() - 1)]; + let zw = (avail_w - GAP * (per_row - 1.0)) / (p.width * PT * per_row); + let zh = (self.viewport_h - 2.0 * MARGIN) / (p.height * PT); + self.zoom = zw.min(zh); + } + Fit::None => {} + } + self.zoom = self.zoom.clamp(0.08, 64.0); + } + + /// Page rects in content coordinates (origin at the scroll content's top-left). + fn layout(&self, info: &DocInfo, content_w: f32) -> Vec { + let s = self.zoom * PT; + let mut rects = Vec::with_capacity(info.pages.len()); + let mut y = MARGIN; + match self.layout { + PageLayout::Continuous | PageLayout::Single => { + for p in &info.pages { + let size = vec2(p.width * s, p.height * s); + rects.push(Rect::from_min_size(pos2(((content_w - size.x) / 2.0).max(SIDE), y), size)); + y += size.y + GAP; + } + } + PageLayout::TwoUp => { + for pair in info.pages.chunks(2) { + let sizes: Vec = pair.iter().map(|p| vec2(p.width * s, p.height * s)).collect(); + let row_w: f32 = sizes.iter().map(|v| v.x).sum::() + GAP * (sizes.len() as f32 - 1.0); + let row_h = sizes.iter().map(|v| v.y).fold(0.0, f32::max); + let mut x = ((content_w - row_w) / 2.0).max(SIDE); + for size in sizes { + rects.push(Rect::from_min_size(pos2(x, y + (row_h - size.y) / 2.0), size)); + x += size.x + GAP; + } + y += row_h + GAP; + } + } + } + rects + } + + fn render_scale(&self, ppp: f32) -> f32 { + // Quantize so tiny fit-width changes don't trigger re-renders. + ((self.zoom * PT * ppp) * 64.0).round() / 64.0 + } +} + +/// Map a user-space rect on a page to screen space, honouring crop box and rotation. +pub fn page_to_screen(info: &DocInfo, page: usize, page_rect: Rect, r: [f32; 4]) -> Rect { + let p = &info.pages[page]; + let [cx0, cy0, cx1, cy1] = p.crop; + let (cw, ch) = ((cx1 - cx0).max(1.0), (cy1 - cy0).max(1.0)); + let map = |x: f32, y: f32| -> Pos2 { + // Normalised coordinates in the unrotated crop box, y down. + let (u, v) = ((x - cx0) / cw, (cy1 - y) / ch); + let (u, v) = match p.rotation { + 90 => (1.0 - v, u), + 180 => (1.0 - u, 1.0 - v), + 270 => (v, 1.0 - u), + _ => (u, v), + }; + pos2(page_rect.left() + u * page_rect.width(), page_rect.top() + v * page_rect.height()) + }; + Rect::from_two_pos(map(r[0], r[1]), map(r[2], r[3])) +} + +pub fn shortcuts(view: &mut DocView, ctx: &egui::Context) { + use egui::{Key, KeyboardShortcut, Modifiers}; + if ctx.egui_wants_keyboard_input() { + return; + } + let cmd = |k| KeyboardShortcut::new(Modifiers::COMMAND, k); + let pressed = |s: KeyboardShortcut| ctx.input_mut(|i| i.consume_shortcut(&s)); + if pressed(cmd(Key::Plus)) || pressed(cmd(Key::Equals)) { + view.zoom_step(true); + } + if pressed(cmd(Key::Minus)) { + view.zoom_step(false); + } + if pressed(cmd(Key::Num0)) { + view.fit = Fit::Page; + view.goto = Some((view.current, 0.0)); + } + if pressed(cmd(Key::Num1)) { + view.set_zoom(1.0); + } + if pressed(cmd(Key::Num2)) { + view.fit = Fit::Width; + view.goto = Some((view.current, 0.0)); + } + let key = |k| ctx.input(|i| i.key_pressed(k)); + if key(Key::Home) { + view.go_to_page(0); + } + if key(Key::End) { + view.go_to_page(usize::MAX); + } + if view.layout == PageLayout::Single || ctx.input(|i| i.modifiers.command) { + if key(Key::ArrowRight) || key(Key::PageDown) { + view.go_to_page(view.current + 1); + } + if key(Key::ArrowLeft) || key(Key::PageUp) { + view.go_to_page(view.current.saturating_sub(1)); + } + } +} + +pub fn document_area(app: &mut PrintCraftApp, index: usize, ui: &mut egui::Ui) { + let t = Tokens::get(ui.ctx()); + let Some(doc) = app.session.get(app.views[index].id) else { return }; + let info = &doc.info; + if info.pages.is_empty() { + ui.centered_and_justified(|ui| ui.label("This document has no pages.")); + return; + } + let want_thumbs = app.right == Some(RightPanel::Pages) || app.views[index].organize; + let view = &mut app.views[index]; + notices(view, info, ui, &t); + if view.organize { + organize_grid(view, info, &doc.renderer, ui, &t); + return; + } + + let avail = ui.available_rect_before_wrap(); + view.viewport_w = avail.width(); + view.viewport_h = avail.height(); + view.fit_zoom(info); + + // Pinch / ctrl+scroll zoom, anchored on the current page. + let zoom_delta = ui.input(|i| i.zoom_delta()); + if (zoom_delta - 1.0).abs() > 0.001 && ui.rect_contains_pointer(avail) { + let z = view.zoom * zoom_delta; + view.set_zoom(z); + } + + let max_w = info.pages.iter().map(|p| p.width).fold(0.0, f32::max) * view.zoom * PT * if view.layout == PageLayout::TwoUp { 2.0 } else { 1.0 }; + let content_w = (max_w + 2.0 * SIDE).max(avail.width()); + let rects = view.layout(info, content_w); + let visible_pages: Vec = match view.layout { + PageLayout::Single => vec![view.current.min(rects.len() - 1)], + _ => (0..rects.len()).collect(), + }; + let (y_shift, content_h) = match view.layout { + PageLayout::Single => { + let r = rects[visible_pages[0]]; + (r.top() - MARGIN, r.height() + 2.0 * MARGIN) + } + _ => (0.0, rects.last().map(|r| r.bottom() + MARGIN).unwrap_or(0.0)), + }; + + let mut scroll = egui::ScrollArea::both().auto_shrink([false, false]).scroll_source(egui::scroll_area::ScrollSource { + drag: if app.quick_tool == QuickTool::Hand { egui::scroll_area::DragScroll::Always } else { egui::scroll_area::DragScroll::OnTouch }, + ..Default::default() + }); + if let Some((page, frac)) = view.goto.take() { + let page = page.min(rects.len() - 1); + let r = rects[page]; + scroll = scroll.vertical_scroll_offset((r.top() - y_shift - GAP + frac * r.height()).max(0.0)); + } + let ppp = ui.ctx().pixels_per_point(); + let scale = view.render_scale(ppp); + let tag = (scale * 1000.0) as u64; + let hand = app.quick_tool == QuickTool::Hand; + let mut hover_text: Option<(Pos2, String)> = None; + let mut clicked_link: Option = None; + + let out = scroll.show_viewport(ui, |ui, viewport| { + let (resp_rect, resp) = ui.allocate_exact_size(vec2(content_w, content_h), Sense::click()); + let origin = resp_rect.min - vec2(0.0, y_shift); + let painter = ui.painter(); + let visible = viewport.translate(resp_rect.min.to_vec2()); + let mut wanted = Vec::new(); + let mut current = view.current; + let mut best_overlap = -1.0f32; + let pointer = ui.input(|i| i.pointer.hover_pos()); + for &i in &visible_pages { + let r = rects[i].translate(origin.to_vec2()); + if !r.intersects(visible.expand(400.0)) { + continue; + } + let overlap = r.intersect(visible).height(); + if overlap > best_overlap { + best_overlap = overlap; + current = i; + } + // Shadow + paper. + painter.rect_filled(r.translate(vec2(0.0, 2.0)).expand(1.5), CornerRadius::same(2), t.page_shadow); + painter.rect_filled(r, CornerRadius::ZERO, Color32::WHITE); + match view.pages.get(&i) { + Some(p) => { + painter.image(p.tex.id(), r, Rect::from_min_max(pos2(0.0, 0.0), pos2(1.0, 1.0)), Color32::WHITE); + if p.tag != tag { + wanted.push(i); + } + } + None => { + wanted.push(i); + painter.text(r.center(), Align2::CENTER_CENTER, "Rendering…", theme::regular(12.0), t.text_faint); + } + } + painter.rect_stroke(r, CornerRadius::ZERO, Stroke::new(1.0, t.border), egui::StrokeKind::Outside); + + // Form-field highlight (Acrobat's "Highlight existing fields"). + if view.highlight_fields { + for f in info.fields.iter().filter(|f| f.page == Some(i)) { + if let Some(fr) = f.rect { + let sr = page_to_screen(info, i, r, fr); + painter.rect_filled(sr, CornerRadius::same(1), Color32::from_rgba_unmultiplied(0x6E, 0x8E, 0xF5, 48)); + painter.rect_stroke( + sr, + CornerRadius::same(1), + Stroke::new(1.0, Color32::from_rgb(0x6E, 0x8E, 0xF5)), + egui::StrokeKind::Inside, + ); + } + } + } + // Link hover + click. + if let Some(p) = pointer { + for l in info.links.iter().filter(|l| l.page == i) { + let sr = page_to_screen(info, i, r, l.rect); + if sr.contains(p) { + ui.ctx().set_cursor_icon(egui::CursorIcon::PointingHand); + let label = match &l.target { + LinkTarget::Page(n) => format!("Go to page {}", info.pages.get(*n).map(|p| p.label.as_str()).unwrap_or("?")), + LinkTarget::Uri(u) => u.clone(), + LinkTarget::Other(s) => format!("{s} action"), + }; + hover_text = Some((p, label)); + if resp.clicked() && !hand { + clicked_link = Some(l.target.clone()); + } + } + } + // Annotation hover shows the comment, as Acrobat's popups do. + for a in info.annotations.iter().filter(|a| a.page == i) { + let sr = page_to_screen(info, i, r, a.rect); + if sr.contains(p) && hover_text.is_none() { + let who = a.author.clone().unwrap_or_else(|| a.subtype.clone()); + let body = a.contents.clone().unwrap_or_default(); + hover_text = Some((p, if body.is_empty() { who } else { format!("{who}\n{body}") })); + } + } + } + if let Some((fp, fr, t0)) = view.flash + && fp == i + { + let now = ui.input(|inp| inp.time); + let t0 = if t0 == 0.0 { now } else { t0 }; + view.flash = Some((fp, fr, t0)); + let age = (now - t0) as f32; + if age < 1.6 { + let a = ((1.6 - age) / 1.6 * 255.0) as u8; + let sr = page_to_screen(info, i, r, fr).expand(4.0); + painter.rect_stroke( + sr, + CornerRadius::same(3), + Stroke::new(2.5, Color32::from_rgba_unmultiplied(0x1B, 0x63, 0xE0, a)), + egui::StrokeKind::Outside, + ); + ui.ctx().request_repaint(); + } else { + view.flash = None; + } + } + } + if view.layout != PageLayout::Single { + view.current = current; + if !ui.memory(|m| m.has_focus(egui::Id::new("page-input"))) { + view.page_input = (current + 1).to_string(); + } + } + wanted + }); + + // Schedule renders: visible pages first (nearest the current page), then thumbnails. + let mut wanted = out.inner; + let cur = view.current; + wanted.sort_by_key(|&p| (p as isize - cur as isize).unsigned_abs()); + let mut queue: Vec = wanted.into_iter().map(|page| RenderRequest { page, scale, tag }).collect(); + if want_thumbs { + let s = THUMB_W * ppp / info.pages.iter().map(|p| p.width).fold(1.0, f32::max); + for page in 0..info.pages.len() { + if !view.thumbs.contains_key(&page) { + queue.push(RenderRequest { page, scale: s, tag: THUMB_TAG }); + } + } + } + if queue != view.last_queue { + doc.renderer.set_queue(queue.clone()); + view.last_queue = queue; + } + if !view.last_queue.is_empty() { + ui.ctx().request_repaint_after(std::time::Duration::from_millis(30)); + } + + if let Some((pos, text)) = hover_text { + egui::Area::new(egui::Id::new("canvas-hover")).order(egui::Order::Tooltip).fixed_pos(pos + vec2(14.0, 16.0)).show(ui.ctx(), |ui| { + egui::Frame::popup(ui.style()).show(ui, |ui| { + ui.set_max_width(320.0); + ui.label(text); + }); + }); + } + match clicked_link { + Some(LinkTarget::Page(p)) => view.go_to_page(p), + Some(LinkTarget::Uri(u)) => ui.ctx().open_url(egui::OpenUrl::new_tab(u)), + Some(LinkTarget::Other(s)) => app.notify(format!("{s} actions run in the JavaScript engine (M6)")), + None => {} + } + quick_bar(app, avail, ui); +} + +fn notices(view: &mut DocView, info: &DocInfo, ui: &mut egui::Ui, t: &Tokens) { + if view.notice_dismissed { + return; + } + let msg = if !info.fields.is_empty() { + Some(("text-cursor-input", format!("This document contains {} interactive form fields.", info.fields.len()), true)) + } else if !info.warnings.is_empty() { + Some(("triangle-alert", info.warnings[0].clone(), false)) + } else { + None + }; + let Some((icon, text, fields)) = msg else { return }; + egui::Frame::NONE.fill(t.accent_soft).inner_margin(egui::Margin::symmetric(14, 7)).show(ui, |ui| { + ui.horizontal(|ui| { + ui.add(icons::image(icon, 16.0, t.accent_text)); + ui.label(egui::RichText::new(text).color(t.text)); + ui.with_layout(egui::Layout::right_to_left(egui::Align::Center), |ui| { + if icons::button(ui, "x", 22.0, false, "Dismiss").clicked() { + view.notice_dismissed = true; + } + if fields { + let label = if view.highlight_fields { "Hide field highlights" } else { "Highlight fields" }; + if crate::widgets::pill_button(ui, label, view.highlight_fields).clicked() { + view.highlight_fields = !view.highlight_fields; + } + } + }); + }); + }); +} + +/// The floating quick-action bar at the left edge of the document area. +fn quick_bar(app: &mut PrintCraftApp, area: Rect, ui: &mut egui::Ui) { + let t = Tokens::get(ui.ctx()); + let pos = area.left_top() + vec2(14.0, 14.0); + egui::Area::new(egui::Id::new("quick-bar")).order(egui::Order::Middle).fixed_pos(pos).show(ui.ctx(), |ui| { + egui::Frame::NONE + .fill(t.card) + .stroke(Stroke::new(1.0, t.border)) + .corner_radius(CornerRadius::same(10)) + .shadow(egui::Shadow { offset: [0, 2], blur: 10, spread: 0, color: Color32::from_black_alpha(if t.dark() { 80 } else { 22 }) }) + .inner_margin(egui::Margin::same(4)) + .show(ui, |ui| { + ui.spacing_mut().item_spacing.y = 2.0; + ui.vertical(|ui| { + if icons::button(ui, "mouse-pointer-2", 32.0, app.quick_tool == QuickTool::Select, "Select (V)").clicked() { + app.quick_tool = QuickTool::Select; + } + if icons::button(ui, "hand", 32.0, app.quick_tool == QuickTool::Hand, "Hand (H)").clicked() { + app.quick_tool = QuickTool::Hand; + } + for (icon, tip, cmd) in [ + ("message-square-text", "Add a comment (M5)", "comment.note"), + ("highlighter", "Highlight text (M5)", "comment.highlight"), + ("pencil", "Draw freehand (M5)", "comment.ink"), + ("pen-line", "Fill & Sign (M5)", "sign.fill.text"), + ] { + if icons::button(ui, icon, 32.0, false, tip).clicked() { + app.run_command(cmd); + } + } + }); + }); + }); +} + +/// Organize pages: a thumbnail grid (Acrobat's Organize Pages view). +fn organize_grid(view: &mut DocView, info: &DocInfo, pool: &RenderPool, ui: &mut egui::Ui, t: &Tokens) { + let ppp = ui.ctx().pixels_per_point(); + let cell = vec2(190.0, 250.0); + let mut open_page = None; + egui::ScrollArea::vertical().auto_shrink([false, false]).show(ui, |ui| { + ui.add_space(20.0); + let cols = ((ui.available_width() - 40.0) / cell.x).floor().max(1.0) as usize; + let rows = info.pages.len().div_ceil(cols); + let left = (ui.available_width() - cols as f32 * cell.x) / 2.0; + for row in 0..rows { + let (row_rect, _) = ui.allocate_exact_size(vec2(ui.available_width(), cell.y), Sense::hover()); + for col in 0..cols { + let i = row * cols + col; + let Some(p) = info.pages.get(i) else { break }; + let c = Rect::from_min_size(pos2(row_rect.left() + left + col as f32 * cell.x, row_rect.top()), cell); + let resp = ui.interact(c, ui.id().with(("org", i)), Sense::click()); + let s = (cell.x - 44.0) / p.width.max(1.0); + let size = vec2(p.width * s, p.height * s).min(vec2(cell.x - 44.0, cell.y - 56.0)); + let pr = Rect::from_center_size(pos2(c.center().x, c.top() + 16.0 + size.y / 2.0), size); + let selected = i == view.current; + if selected || resp.hovered() { + ui.painter().rect_filled(c.shrink(6.0), CornerRadius::same(8), if selected { t.accent_soft } else { t.hover }); + } + ui.painter().rect_filled(pr.translate(vec2(0.0, 1.5)), CornerRadius::same(1), t.page_shadow); + ui.painter().rect_filled(pr, CornerRadius::ZERO, Color32::WHITE); + if let Some(tex) = view.thumbs.get(&i) { + ui.painter().image(tex.id(), pr, Rect::from_min_max(pos2(0.0, 0.0), pos2(1.0, 1.0)), Color32::WHITE); + } + ui.painter().rect_stroke(pr, CornerRadius::ZERO, Stroke::new(1.0, t.border), egui::StrokeKind::Outside); + ui.painter().text(pos2(c.center().x, pr.bottom() + 16.0), Align2::CENTER_CENTER, &p.label, theme::medium(12.0), t.text_muted); + if resp.clicked() { + view.current = i; + } + if resp.double_clicked() { + open_page = Some(i); + } + } + } + }); + let s = THUMB_W * ppp / info.pages.iter().map(|p| p.width).fold(1.0, f32::max); + let queue: Vec = + (0..info.pages.len()).filter(|p| !view.thumbs.contains_key(p)).map(|page| RenderRequest { page, scale: s, tag: THUMB_TAG }).collect(); + if queue != view.last_queue { + pool.set_queue(queue.clone()); + view.last_queue = queue; + } + if let Some(p) = open_page { + view.organize = false; + view.go_to_page(p); + } +} diff --git a/crates/ui-egui/src/chrome.rs b/crates/ui-egui/src/chrome.rs new file mode 100644 index 00000000..c58aab9f --- /dev/null +++ b/crates/ui-egui/src/chrome.rs @@ -0,0 +1,316 @@ +//! Window chrome: tab strip (with the integrated macOS title bar), mode bar, right rail. + +use egui::{Align, Align2, Color32, CornerRadius, Layout, Rect, Sense, Stroke, vec2}; + +use crate::canvas::{Fit, PageLayout}; +use crate::theme::{self, ThemeKind, Tokens}; +use crate::{Dialog, Mode, PrintCraftApp, PropsTab, RightPanel, icons, widgets}; + +pub fn tab_strip(app: &mut PrintCraftApp, ui: &mut egui::Ui) { + let t = Tokens::get(ui.ctx()); + let left = if cfg!(target_os = "macos") && app.integrated_titlebar { 80 } else { 8 }; + egui::Panel::top("tab_strip") + .exact_size(38.0) + .frame(egui::Frame::NONE.fill(t.titlebar).inner_margin(egui::Margin { left, right: 10, top: 0, bottom: 0 })) + .show(ui, |ui| { + let full = ui.max_rect(); + let drag = ui.interact(full, ui.id().with("titledrag"), Sense::click_and_drag()); + if drag.drag_started() { + ui.ctx().send_viewport_cmd(egui::ViewportCommand::StartDrag); + } + if drag.double_clicked() { + let max = ui.ctx().input(|i| i.viewport().maximized.unwrap_or(false)); + ui.ctx().send_viewport_cmd(egui::ViewportCommand::Maximized(!max)); + } + ui.horizontal_centered(|ui| { + ui.spacing_mut().item_spacing.x = 4.0; + if icons::button(ui, "house", 28.0, app.active.is_none(), "Home").clicked() { + app.active = None; + } + let mut close = None; + for i in 0..app.views.len() { + let Some(doc) = app.session.get(app.views[i].id) else { continue }; + let name = doc.name.clone(); + if tab(ui, &t, &name, app.active == Some(i), &mut close, i).clicked() { + app.active = Some(i); + } + } + if let Some(i) = close { + app.close_tab(i); + } + ui.add_space(4.0); + if widgets::ghost_button(ui, "plus", "Open").on_hover_text("Open a PDF (⌘O)").clicked() { + app.open_dialog(); + } + ui.with_layout(Layout::right_to_left(Align::Center), |ui| { + let (icon, next, tip) = match app.theme { + ThemeKind::Light => ("moon", ThemeKind::Dark, "Dark gray theme"), + ThemeKind::Dark => ("sun", ThemeKind::Light, "Light theme"), + }; + if icons::button(ui, icon, 28.0, false, tip).clicked() { + let ctx = ui.ctx().clone(); + app.set_theme(&ctx, next); + } + if icons::button(ui, "circle-help", 28.0, false, "Keyboard shortcuts").clicked() { + app.dialog = Some(Dialog::Shortcuts); + } + }); + }); + }); +} + +fn tab(ui: &mut egui::Ui, t: &Tokens, name: &str, active: bool, close: &mut Option, index: usize) -> egui::Response { + let font = theme::regular(13.0); + let label: String = if name.chars().count() > 28 { format!("{}…", name.chars().take(27).collect::()) } else { name.to_string() }; + let text_w = ui.fonts_mut(|f| f.layout_no_wrap(label.clone(), font.clone(), t.text).size().x); + let (rect, resp) = ui.allocate_exact_size(vec2(text_w + 64.0, 30.0), Sense::click()); + let bg = if active { + t.chrome + } else if resp.hovered() { + t.hover + } else { + Color32::TRANSPARENT + }; + ui.painter().rect_filled(rect, CornerRadius { nw: 7, ne: 7, sw: 0, se: 0 }, bg); + icons::paint( + ui, + Rect::from_min_size(rect.min + vec2(6.0, 7.0), vec2(16.0, 16.0)), + "file-text", + 15.0, + if active { t.accent } else { t.text_muted }, + ); + ui.painter().text(rect.min + vec2(28.0, rect.height() / 2.0), Align2::LEFT_CENTER, label, font, if active { t.text } else { t.text_muted }); + let x_rect = Rect::from_center_size(rect.right_center() - vec2(16.0, 0.0), vec2(20.0, 20.0)); + let x = ui.interact(x_rect, ui.id().with(("tabclose", index)), Sense::click()); + if x.hovered() { + ui.painter().rect_filled(x_rect, CornerRadius::same(4), t.pressed); + } + if active || resp.hovered() || x.hovered() { + icons::paint(ui, x_rect, "x", 13.0, t.text_muted); + } + if x.clicked() { + *close = Some(index); + } + resp.on_hover_text(name) +} + +pub fn mode_bar(app: &mut PrintCraftApp, ui: &mut egui::Ui) { + let t = Tokens::get(ui.ctx()); + egui::Panel::top("mode_bar") + .exact_size(48.0) + .frame(egui::Frame::NONE.fill(t.chrome).inner_margin(egui::Margin::symmetric(10, 0)).stroke(Stroke::new(1.0, t.divider))) + .show(ui, |ui| { + ui.horizontal_centered(|ui| { + ui.spacing_mut().item_spacing.x = 2.0; + main_menu(app, ui); + ui.add_space(6.0); + ui.painter().vline(ui.cursor().left(), ui.max_rect().y_range().shrink(12.0), Stroke::new(1.0, t.divider)); + ui.add_space(10.0); + for (mode, label) in + [(Mode::AllTools, "All tools"), (Mode::Read, "Read"), (Mode::Edit, "Edit"), (Mode::Convert, "Convert"), (Mode::Sign, "E-Sign")] + { + if widgets::mode_tab(ui, label, app.mode == mode).clicked() { + app.mode = mode; + app.left_open = true; + app.left = match mode { + Mode::Edit => crate::LeftPanel::Tool("edit"), + Mode::Convert => crate::LeftPanel::Tool("export"), + Mode::Sign => crate::LeftPanel::Tool("fill_sign"), + _ => crate::LeftPanel::AllTools, + }; + } + } + ui.with_layout(Layout::right_to_left(Align::Center), |ui| { + ui.spacing_mut().item_spacing.x = 4.0; + let has_doc = app.active.is_some(); + ui.add_enabled_ui(has_doc, |ui| { + if icons::button(ui, "printer", 32.0, false, "Print (M10)").clicked() { + app.run_command("print.dialog"); + } + if icons::button(ui, "save", 32.0, false, "Save (M4)").clicked() { + app.run_command("file.save"); + } + if icons::button(ui, "info", 32.0, false, "Document properties (⌘D)").clicked() { + app.dialog = Some(Dialog::Properties(PropsTab::Description)); + } + }); + ui.add_space(8.0); + if widgets::search_box(ui, "Find tools and commands", 260.0).clicked() { + app.palette_open = true; + } + }); + }); + }); +} + +fn main_menu(app: &mut PrintCraftApp, ui: &mut egui::Ui) { + let t = Tokens::get(ui.ctx()); + let resp = widgets::ghost_button(ui, "panel-left", "Menu"); + egui::Popup::menu(&resp).show(|ui| { + ui.set_min_width(230.0); + ui.menu_button("File", |ui| { + if widgets::menu_item(ui, "Open…", "⌘O").clicked() { + app.open_dialog(); + } + let has = app.active.is_some(); + if ui.add_enabled(has, egui::Button::new("Close file").shortcut_text("⌘W")).clicked() + && let Some(i) = app.active + { + app.close_tab(i); + } + ui.separator(); + if ui.add_enabled(has, egui::Button::new("Document properties…").shortcut_text("⌘D")).clicked() { + app.dialog = Some(Dialog::Properties(PropsTab::Description)); + } + }); + ui.menu_button("View", |ui| { + if let Some(i) = app.active { + let v = &mut app.views[i]; + ui.label(egui::RichText::new("Zoom").color(t.text_faint).small()); + if widgets::menu_item(ui, "Actual size", "⌘1").clicked() { + v.set_zoom(1.0); + } + if widgets::menu_item(ui, "Zoom to page level", "⌘0").clicked() { + v.fit = Fit::Page; + } + if widgets::menu_item(ui, "Fit to width", "⌘2").clicked() { + v.fit = Fit::Width; + } + if widgets::menu_item(ui, "Zoom in", "⌘+").clicked() { + v.zoom_step(true); + } + if widgets::menu_item(ui, "Zoom out", "⌘−").clicked() { + v.zoom_step(false); + } + ui.separator(); + ui.label(egui::RichText::new("Page display").color(t.text_faint).small()); + for (l, label) in + [(PageLayout::Continuous, "Continuous scrolling"), (PageLayout::TwoUp, "Two-page view"), (PageLayout::Single, "Single page")] + { + if ui.radio(v.layout == l, label).clicked() { + v.layout = l; + v.goto = Some((v.current, 0.0)); + } + } + ui.separator(); + } + if widgets::menu_item(ui, "Read mode", "⌃⌘H").clicked() { + app.mode = if app.mode == Mode::Read { Mode::AllTools } else { Mode::Read }; + } + ui.menu_button("Display theme", |ui| { + let ctx = ui.ctx().clone(); + if ui.radio(app.theme == ThemeKind::Light, "Light gray").clicked() { + app.set_theme(&ctx, ThemeKind::Light); + } + if ui.radio(app.theme == ThemeKind::Dark, "Dark gray").clicked() { + app.set_theme(&ctx, ThemeKind::Dark); + } + }); + ui.menu_button("Side panels", |ui| { + for (p, label) in [ + (RightPanel::Comments, "Comments"), + (RightPanel::Bookmarks, "Bookmarks"), + (RightPanel::Pages, "Pages"), + (RightPanel::Fields, "Fields"), + (RightPanel::Layers, "Layers"), + (RightPanel::Attachments, "Attachments"), + ] { + if ui.radio(app.right == Some(p), label).clicked() { + app.right = Some(p); + } + } + }); + }); + ui.menu_button("Help", |ui| { + if ui.button("Keyboard shortcuts").clicked() { + app.dialog = Some(Dialog::Shortcuts); + } + if ui.button("About PrintCraft").clicked() { + app.dialog = Some(Dialog::About); + } + }); + }); +} + +pub fn right_rail(app: &mut PrintCraftApp, ui: &mut egui::Ui) { + let t = Tokens::get(ui.ctx()); + let Some((index, id)) = app.active_ids() else { return }; + let Some(doc) = app.session.get(id) else { return }; + let (has_comments, has_outline, has_fields, has_layers, has_files) = ( + !doc.info.annotations.is_empty(), + !doc.info.outline.is_empty(), + !doc.info.fields.is_empty(), + !doc.info.layers.is_empty(), + !doc.info.attachments.is_empty(), + ); + let page_count = doc.info.pages.len(); + egui::Panel::right("rail") + .resizable(false) + .exact_size(48.0) + .frame(egui::Frame::NONE.fill(t.chrome).inner_margin(egui::Margin::symmetric(6, 8)).stroke(Stroke::new(1.0, t.divider))) + .show(ui, |ui| { + ui.spacing_mut().item_spacing.y = 4.0; + let mut rail_button = |ui: &mut egui::Ui, panel: RightPanel, icon: &str, tip: &str, has: bool| { + let selected = app.right == Some(panel); + let r = icons::button(ui, icon, 34.0, selected, tip); + if has && !selected { + let c = r.rect.right_top() + vec2(-8.0, 8.0); + ui.painter().circle_filled(c, 3.0, t.accent); + } + if r.clicked() { + app.right = if selected { None } else { Some(panel) }; + } + }; + rail_button(ui, RightPanel::Comments, "message-square-text", "Comments", has_comments); + rail_button(ui, RightPanel::Bookmarks, "bookmark", "Bookmarks", has_outline); + rail_button(ui, RightPanel::Pages, "files", "Page thumbnails", false); + rail_button(ui, RightPanel::Fields, "text-cursor-input", "Form fields", has_fields); + rail_button(ui, RightPanel::Layers, "layers", "Layers", has_layers); + rail_button(ui, RightPanel::Attachments, "paperclip", "Attachments", has_files); + + // Page navigation cluster at the bottom (as in Acrobat's rail). + let view = &mut app.views[index]; + ui.with_layout(Layout::bottom_up(Align::Center), |ui| { + ui.spacing_mut().item_spacing.y = 2.0; + if icons::button(ui, "zoom-out", 32.0, false, "Zoom out (⌘−)").clicked() { + view.zoom_step(false); + } + if icons::button(ui, "zoom-in", 32.0, false, "Zoom in (⌘+)").clicked() { + view.zoom_step(true); + } + let fit_icon = if view.fit == Fit::Width { "maximize" } else { "columns-2" }; + if icons::button(ui, fit_icon, 32.0, false, "Toggle fit page / fit width").clicked() { + view.fit = if view.fit == Fit::Width { Fit::Page } else { Fit::Width }; + view.goto = Some((view.current, 0.0)); + } + ui.label(egui::RichText::new(format!("{:.0}%", view.zoom * 100.0)).font(theme::regular(10.5)).color(t.text_faint)); + ui.add_space(6.0); + if icons::button(ui, "chevron-down", 30.0, false, "Next page").clicked() { + view.go_to_page(view.current + 1); + } + if icons::button(ui, "chevron-up", 30.0, false, "Previous page").clicked() { + view.go_to_page(view.current.saturating_sub(1)); + } + ui.label(egui::RichText::new(page_count.to_string()).font(theme::regular(11.0)).color(t.text_muted)); + let edit = egui::TextEdit::singleline(&mut view.page_input) + .id(egui::Id::new("page-input")) + .desired_width(34.0) + .horizontal_align(Align::Center) + .font(theme::medium(12.0)) + .margin(vec2(2.0, 4.0)); + let r = egui::Frame::NONE + .fill(t.field) + .stroke(Stroke::new(1.0, t.border)) + .corner_radius(CornerRadius::same(5)) + .show(ui, |ui| ui.add(edit)) + .inner + .on_hover_text("Current page — type a number and press Enter"); + if r.lost_focus() + && ui.input(|i| i.key_pressed(egui::Key::Enter)) + && let Ok(n) = view.page_input.trim().parse::() + { + view.go_to_page(n.saturating_sub(1)); + } + }); + }); +} diff --git a/crates/ui-egui/src/dialogs.rs b/crates/ui-egui/src/dialogs.rs new file mode 100644 index 00000000..90c3c7ba --- /dev/null +++ b/crates/ui-egui/src/dialogs.rs @@ -0,0 +1,127 @@ +//! Modal dialogs: Document Properties, Keyboard Shortcuts, About. + +use egui::{Align, Layout, vec2}; + +use crate::theme::{self, Tokens}; +use crate::{Dialog, PrintCraftApp, PropsTab, panels::human_size, widgets}; + +pub fn show(app: &mut PrintCraftApp, ctx: &egui::Context) { + let Some(dialog) = app.dialog else { return }; + let t = Tokens::get(ctx); + let mut close = false; + let mut next = dialog; + let modal = egui::Modal::new(egui::Id::new("dialog")).show(ctx, |ui| { + ui.set_width(560.0); + match dialog { + Dialog::Properties(tab) => { + ui.label(egui::RichText::new("Document Properties").font(theme::semibold(18.0))); + ui.add_space(8.0); + ui.horizontal(|ui| { + for (tb, label) in [(PropsTab::Description, "Description"), (PropsTab::Security, "Security"), (PropsTab::Advanced, "Advanced")] { + if widgets::mode_tab(ui, label, tab == tb).clicked() { + next = Dialog::Properties(tb); + } + } + }); + ui.separator(); + let Some((_, id)) = app.active_ids() else { return }; + let Some(doc) = app.session.get(id) else { return }; + let i = &doc.info; + let row = |ui: &mut egui::Ui, k: &str, v: String| { + ui.label(egui::RichText::new(k).color(t.text_muted)); + ui.label(if v.is_empty() { egui::RichText::new("—").color(t.text_faint) } else { egui::RichText::new(v) }); + ui.end_row(); + }; + egui::Grid::new("props").num_columns(2).spacing([18.0, 8.0]).min_col_width(140.0).show(ui, |ui| match tab { + PropsTab::Description => { + row(ui, "File", doc.name.clone()); + row(ui, "Title", i.title.clone().unwrap_or_default()); + row(ui, "Author", i.author.clone().unwrap_or_default()); + row(ui, "Subject", i.subject.clone().unwrap_or_default()); + row(ui, "Keywords", i.keywords.clone().unwrap_or_default()); + row(ui, "Application", i.creator.clone().unwrap_or_default()); + row(ui, "PDF producer", i.producer.clone().unwrap_or_default()); + } + PropsTab::Security => { + row(ui, "Security method", if i.encrypted { "Password security".into() } else { "No security".into() }); + for k in [ + "Printing", + "Changing the document", + "Document assembly", + "Content copying", + "Commenting", + "Filling of form fields", + "Signing", + ] { + row(ui, k, if i.encrypted { "See permissions (M8)".into() } else { "Allowed".into() }); + } + } + PropsTab::Advanced => { + row(ui, "PDF version", i.pdf_version.replace("Pdf", "").replace('_', ".")); + row(ui, "Location", doc.path.clone().unwrap_or_default()); + row(ui, "File size", format!("{} ({} bytes)", human_size(i.file_size), i.file_size)); + let p = &i.pages[0]; + row(ui, "Page size", format!("{:.2} × {:.2} in", p.width / 72.0, p.height / 72.0)); + row(ui, "Number of pages", i.pages.len().to_string()); + row(ui, "Tagged PDF", yes(i.tagged)); + row(ui, "Form fields", i.fields.len().to_string()); + row(ui, "Comments", i.annotations.len().to_string()); + row(ui, "Layers", i.layers.len().to_string()); + row(ui, "Attachments", i.attachments.len().to_string()); + row(ui, "JavaScript", yes(i.has_javascript)); + } + }); + } + Dialog::Shortcuts => { + ui.label(egui::RichText::new("Keyboard shortcuts").font(theme::semibold(18.0))); + ui.add_space(8.0); + egui::Grid::new("keys").num_columns(2).spacing([24.0, 6.0]).show(ui, |ui| { + for (k, v) in [ + ("⌘O", "Open"), + ("⌘W", "Close file"), + ("⌘D", "Document properties"), + ("⌘K", "Find tools and commands"), + ("⌘1", "Actual size"), + ("⌘0", "Zoom to page level"), + ("⌘2", "Fit to width"), + ("⌘+ / ⌘−", "Zoom in / out (also pinch or ⌘-scroll)"), + ("Home / End", "First / last page"), + ("⌘← / ⌘→", "Previous / next page"), + ("⌃⌘H", "Read mode"), + ] { + ui.label(egui::RichText::new(k).font(egui::FontId::monospace(12.5))); + ui.label(v); + ui.end_row(); + } + }); + } + Dialog::About => { + ui.label(egui::RichText::new("PrintCraft").font(theme::semibold(20.0))); + ui.label(format!("Version {}", env!("CARGO_PKG_VERSION"))); + ui.add_space(6.0); + ui.label("A clean-room, open-source PDF application written in Rust. MIT OR Apache-2.0."); + ui.label( + egui::RichText::new("Rendering: hayro (bootstrap) · UI: egui · Icons: Lucide (ISC) · Fonts: Inter, JetBrains Mono (OFL)") + .color(t.text_muted) + .small(), + ); + } + } + ui.add_space(12.0); + ui.with_layout(Layout::right_to_left(Align::Center), |ui| { + if widgets::pill_button(ui, "Close", true).clicked() { + close = true; + } + }); + let _ = vec2(0.0, 0.0); + }); + if modal.should_close() || close { + app.dialog = None; + } else { + app.dialog = Some(next); + } +} + +fn yes(b: bool) -> String { + if b { "Yes".into() } else { "No".into() } +} diff --git a/crates/ui-egui/src/home.rs b/crates/ui-egui/src/home.rs new file mode 100644 index 00000000..7a5582a6 --- /dev/null +++ b/crates/ui-egui/src/home.rs @@ -0,0 +1,123 @@ +//! Home tab: recommended tools, open card, recent files (local only, never another app's list). + +use egui::{Align2, CornerRadius, Rect, Sense, Stroke, vec2}; +use printcraft_engine::catalog; + +use crate::theme::{self, Tokens}; +use crate::{LeftPanel, PrintCraftApp, icons, panels::human_size, widgets}; + +const RECOMMENDED: [&str; 5] = ["organize", "comment", "form", "edit", "protect"]; + +pub fn show(app: &mut PrintCraftApp, ui: &mut egui::Ui) { + let t = Tokens::get(ui.ctx()); + egui::ScrollArea::vertical().auto_shrink([false, false]).show(ui, |ui| { + egui::Frame::NONE.inner_margin(egui::Margin { left: 36, right: 36, top: 28, bottom: 28 }).show(ui, |ui| { + ui.label(egui::RichText::new("Welcome to PrintCraft").font(theme::semibold(24.0))); + ui.label( + egui::RichText::new("An open-source PDF workbench — local, private, and scriptable.").color(t.text_muted).font(theme::regular(14.0)), + ); + ui.add_space(22.0); + + egui::Frame::NONE + .fill(t.card) + .stroke(Stroke::new(1.0, t.border)) + .corner_radius(CornerRadius::same(12)) + .inner_margin(egui::Margin::same(18)) + .show(ui, |ui| { + ui.set_width(ui.available_width()); + ui.label(egui::RichText::new("Recommended tools").font(theme::semibold(15.0))); + ui.add_space(10.0); + ui.horizontal_wrapped(|ui| { + ui.spacing_mut().item_spacing = vec2(14.0, 14.0); + for id in RECOMMENDED { + let Some(g) = catalog::group(id) else { continue }; + let (rect, resp) = ui.allocate_exact_size(vec2(190.0, 104.0), Sense::click()); + let fill = if resp.hovered() { t.hover } else { t.card }; + ui.painter().rect(rect, CornerRadius::same(10), fill, Stroke::new(1.0, t.divider), egui::StrokeKind::Inside); + let color = egui::Color32::from_rgb(g.hue[0], g.hue[1], g.hue[2]); + icons::paint(ui, Rect::from_min_size(rect.min + vec2(14.0, 14.0), vec2(22.0, 22.0)), g.icon, 21.0, color); + ui.painter().text(rect.min + vec2(44.0, 25.0), Align2::LEFT_CENTER, g.label, theme::semibold(13.5), t.text); + let blurb = g + .sections + .first() + .map(|s| s.items.iter().take(3).map(|i| i.label).collect::>().join(" · ")) + .unwrap_or_default(); + let galley = ui.fonts_mut(|f| f.layout(blurb, theme::regular(11.5), t.text_muted, rect.width() - 28.0)); + ui.painter().galley(rect.min + vec2(14.0, 46.0), galley, t.text_muted); + ui.painter().text( + rect.left_bottom() + vec2(14.0, -14.0), + Align2::LEFT_CENTER, + "Use now", + theme::medium(12.0), + t.accent_text, + ); + if resp.clicked() { + app.left = LeftPanel::Tool(g.id); + app.left_open = true; + } + } + let (rect, resp) = ui.allocate_exact_size(vec2(170.0, 104.0), Sense::click()); + ui.painter().rect( + rect, + CornerRadius::same(10), + if resp.hovered() { t.hover } else { t.pasteboard }, + Stroke::new(1.0, t.divider), + egui::StrokeKind::Inside, + ); + icons::paint(ui, Rect::from_center_size(rect.center() - vec2(0.0, 16.0), vec2(28.0, 28.0)), "folder-open", 26.0, t.icon); + ui.painter().text(rect.center() + vec2(0.0, 22.0), Align2::CENTER_CENTER, "Open file", theme::semibold(13.0), t.text); + if resp.clicked() { + app.open_dialog(); + } + }); + }); + + ui.add_space(26.0); + ui.label(egui::RichText::new("Recent").font(theme::semibold(17.0))); + ui.add_space(8.0); + if app.recent.is_empty() { + ui.label(egui::RichText::new("Files you open in PrintCraft appear here. Drop a PDF anywhere to open it.").color(t.text_muted)); + } + let mut open = None; + for r in &app.recent { + let (rect, resp) = ui.allocate_exact_size(vec2(ui.available_width(), 46.0), Sense::click()); + if resp.hovered() { + ui.painter().rect_filled(rect, CornerRadius::same(8), t.hover); + } + icons::paint( + ui, + Rect::from_min_size(rect.min + vec2(10.0, 11.0), vec2(24.0, 24.0)), + "file-text", + 22.0, + egui::Color32::from_rgb(0xE0, 0x3E, 0x3E), + ); + ui.painter().text(rect.min + vec2(46.0, 15.0), Align2::LEFT_CENTER, &r.name, theme::medium(13.5), t.text); + ui.painter().text(rect.min + vec2(46.0, 32.0), Align2::LEFT_CENTER, &r.path, theme::regular(11.0), t.text_faint); + ui.painter().text( + rect.right_center() - vec2(12.0, 0.0), + Align2::RIGHT_CENTER, + format!("{} pages · {}", r.pages, human_size(r.size)), + theme::regular(12.0), + t.text_muted, + ); + if resp.clicked() { + open = Some(r.path.clone()); + } + } + if let Some(p) = open { + if let Some(i) = app.views.iter().position(|v| app.session.get(v.id).and_then(|d| d.path.as_deref()) == Some(p.as_str())) { + app.active = Some(i); + } else { + #[cfg(not(target_arch = "wasm32"))] + app.open_path(&p); + } + } + ui.add_space(20.0); + widgets::section_title(ui, "Privacy"); + ui.label( + egui::RichText::new("PrintCraft works offline. No telemetry, no account, and no cloud processing unless you add a provider.") + .color(t.text_muted), + ); + }); + }); +} diff --git a/crates/ui-egui/src/icon_data.rs b/crates/ui-egui/src/icon_data.rs new file mode 100644 index 00000000..0cb3a23d --- /dev/null +++ b/crates/ui-egui/src/icon_data.rs @@ -0,0 +1,164 @@ +//! Lucide icons (ISC licence, see assets/icons/LICENSE-lucide.txt), embedded and tinted at runtime. +//! Generated from the contents of assets/icons/. + +pub static ICONS: &[(&str, &[u8])] = &[ + ("accessibility", include_bytes!("../../../assets/icons/accessibility.svg")), + ("align-left", include_bytes!("../../../assets/icons/align-left.svg")), + ("app-window", include_bytes!("../../../assets/icons/app-window.svg")), + ("arrow-left-right", include_bytes!("../../../assets/icons/arrow-left-right.svg")), + ("arrow-up-down", include_bytes!("../../../assets/icons/arrow-up-down.svg")), + ("arrow-up-right", include_bytes!("../../../assets/icons/arrow-up-right.svg")), + ("badge-check", include_bytes!("../../../assets/icons/badge-check.svg")), + ("bandage", include_bytes!("../../../assets/icons/bandage.svg")), + ("bell", include_bytes!("../../../assets/icons/bell.svg")), + ("blend", include_bytes!("../../../assets/icons/blend.svg")), + ("bold", include_bytes!("../../../assets/icons/bold.svg")), + ("book-open", include_bytes!("../../../assets/icons/book-open.svg")), + ("bookmark", include_bytes!("../../../assets/icons/bookmark.svg")), + ("braces", include_bytes!("../../../assets/icons/braces.svg")), + ("brush-cleaning", include_bytes!("../../../assets/icons/brush-cleaning.svg")), + ("brush", include_bytes!("../../../assets/icons/brush.svg")), + ("camera", include_bytes!("../../../assets/icons/camera.svg")), + ("check-circle-2", include_bytes!("../../../assets/icons/check-circle-2.svg")), + ("check", include_bytes!("../../../assets/icons/check.svg")), + ("chevron-down", include_bytes!("../../../assets/icons/chevron-down.svg")), + ("chevron-left", include_bytes!("../../../assets/icons/chevron-left.svg")), + ("chevron-right", include_bytes!("../../../assets/icons/chevron-right.svg")), + ("chevron-up", include_bytes!("../../../assets/icons/chevron-up.svg")), + ("chevrons-left", include_bytes!("../../../assets/icons/chevrons-left.svg")), + ("chevrons-right", include_bytes!("../../../assets/icons/chevrons-right.svg")), + ("circle-check", include_bytes!("../../../assets/icons/circle-check.svg")), + ("circle-dashed", include_bytes!("../../../assets/icons/circle-dashed.svg")), + ("circle-dot", include_bytes!("../../../assets/icons/circle-dot.svg")), + ("circle-help", include_bytes!("../../../assets/icons/circle-help.svg")), + ("circle", include_bytes!("../../../assets/icons/circle.svg")), + ("clock-3", include_bytes!("../../../assets/icons/clock-3.svg")), + ("clock", include_bytes!("../../../assets/icons/clock.svg")), + ("cloud-upload", include_bytes!("../../../assets/icons/cloud-upload.svg")), + ("cloud", include_bytes!("../../../assets/icons/cloud.svg")), + ("columns-2", include_bytes!("../../../assets/icons/columns-2.svg")), + ("compass", include_bytes!("../../../assets/icons/compass.svg")), + ("contrast", include_bytes!("../../../assets/icons/contrast.svg")), + ("copy-plus", include_bytes!("../../../assets/icons/copy-plus.svg")), + ("copy", include_bytes!("../../../assets/icons/copy.svg")), + ("crop", include_bytes!("../../../assets/icons/crop.svg")), + ("droplet", include_bytes!("../../../assets/icons/droplet.svg")), + ("ellipsis-vertical", include_bytes!("../../../assets/icons/ellipsis-vertical.svg")), + ("ellipsis", include_bytes!("../../../assets/icons/ellipsis.svg")), + ("eraser", include_bytes!("../../../assets/icons/eraser.svg")), + ("eye-off", include_bytes!("../../../assets/icons/eye-off.svg")), + ("eye", include_bytes!("../../../assets/icons/eye.svg")), + ("file-check", include_bytes!("../../../assets/icons/file-check.svg")), + ("file-down", include_bytes!("../../../assets/icons/file-down.svg")), + ("file-input", include_bytes!("../../../assets/icons/file-input.svg")), + ("file-lock-2", include_bytes!("../../../assets/icons/file-lock-2.svg")), + ("file-minus", include_bytes!("../../../assets/icons/file-minus.svg")), + ("file-output", include_bytes!("../../../assets/icons/file-output.svg")), + ("file-pen-line", include_bytes!("../../../assets/icons/file-pen-line.svg")), + ("file-plus-2", include_bytes!("../../../assets/icons/file-plus-2.svg")), + ("file-plus", include_bytes!("../../../assets/icons/file-plus.svg")), + ("file-scan", include_bytes!("../../../assets/icons/file-scan.svg")), + ("file-search", include_bytes!("../../../assets/icons/file-search.svg")), + ("file-symlink", include_bytes!("../../../assets/icons/file-symlink.svg")), + ("file-text", include_bytes!("../../../assets/icons/file-text.svg")), + ("file-x", include_bytes!("../../../assets/icons/file-x.svg")), + ("files", include_bytes!("../../../assets/icons/files.svg")), + ("film", include_bytes!("../../../assets/icons/film.svg")), + ("filter", include_bytes!("../../../assets/icons/filter.svg")), + ("folder-open", include_bytes!("../../../assets/icons/folder-open.svg")), + ("folder-plus", include_bytes!("../../../assets/icons/folder-plus.svg")), + ("folder", include_bytes!("../../../assets/icons/folder.svg")), + ("gauge", include_bytes!("../../../assets/icons/gauge.svg")), + ("git-compare", include_bytes!("../../../assets/icons/git-compare.svg")), + ("grid-3x3", include_bytes!("../../../assets/icons/grid-3x3.svg")), + ("hand", include_bytes!("../../../assets/icons/hand.svg")), + ("hash", include_bytes!("../../../assets/icons/hash.svg")), + ("heading", include_bytes!("../../../assets/icons/heading.svg")), + ("highlighter", include_bytes!("../../../assets/icons/highlighter.svg")), + ("house", include_bytes!("../../../assets/icons/house.svg")), + ("image-plus", include_bytes!("../../../assets/icons/image-plus.svg")), + ("image", include_bytes!("../../../assets/icons/image.svg")), + ("info", include_bytes!("../../../assets/icons/info.svg")), + ("italic", include_bytes!("../../../assets/icons/italic.svg")), + ("languages", include_bytes!("../../../assets/icons/languages.svg")), + ("lasso", include_bytes!("../../../assets/icons/lasso.svg")), + ("layers", include_bytes!("../../../assets/icons/layers.svg")), + ("layout-grid", include_bytes!("../../../assets/icons/layout-grid.svg")), + ("link-2", include_bytes!("../../../assets/icons/link-2.svg")), + ("link", include_bytes!("../../../assets/icons/link.svg")), + ("list-checks", include_bytes!("../../../assets/icons/list-checks.svg")), + ("list-ordered", include_bytes!("../../../assets/icons/list-ordered.svg")), + ("list", include_bytes!("../../../assets/icons/list.svg")), + ("lock-open", include_bytes!("../../../assets/icons/lock-open.svg")), + ("lock", include_bytes!("../../../assets/icons/lock.svg")), + ("maximize-2", include_bytes!("../../../assets/icons/maximize-2.svg")), + ("maximize", include_bytes!("../../../assets/icons/maximize.svg")), + ("message-circle-reply", include_bytes!("../../../assets/icons/message-circle-reply.svg")), + ("message-square-text", include_bytes!("../../../assets/icons/message-square-text.svg")), + ("message-square", include_bytes!("../../../assets/icons/message-square.svg")), + ("mic", include_bytes!("../../../assets/icons/mic.svg")), + ("minimize", include_bytes!("../../../assets/icons/minimize.svg")), + ("minus", include_bytes!("../../../assets/icons/minus.svg")), + ("moon", include_bytes!("../../../assets/icons/moon.svg")), + ("mouse-pointer-2", include_bytes!("../../../assets/icons/mouse-pointer-2.svg")), + ("move", include_bytes!("../../../assets/icons/move.svg")), + ("navigation", include_bytes!("../../../assets/icons/navigation.svg")), + ("paint-bucket", include_bytes!("../../../assets/icons/paint-bucket.svg")), + ("palette", include_bytes!("../../../assets/icons/palette.svg")), + ("panel-left", include_bytes!("../../../assets/icons/panel-left.svg")), + ("panel-right", include_bytes!("../../../assets/icons/panel-right.svg")), + ("panels-top-left", include_bytes!("../../../assets/icons/panels-top-left.svg")), + ("paperclip", include_bytes!("../../../assets/icons/paperclip.svg")), + ("pen-line", include_bytes!("../../../assets/icons/pen-line.svg")), + ("pen-tool", include_bytes!("../../../assets/icons/pen-tool.svg")), + ("pencil", include_bytes!("../../../assets/icons/pencil.svg")), + ("pipette", include_bytes!("../../../assets/icons/pipette.svg")), + ("plus", include_bytes!("../../../assets/icons/plus.svg")), + ("presentation", include_bytes!("../../../assets/icons/presentation.svg")), + ("printer", include_bytes!("../../../assets/icons/printer.svg")), + ("rectangle-horizontal", include_bytes!("../../../assets/icons/rectangle-horizontal.svg")), + ("redo-2", include_bytes!("../../../assets/icons/redo-2.svg")), + ("replace", include_bytes!("../../../assets/icons/replace.svg")), + ("rotate-ccw", include_bytes!("../../../assets/icons/rotate-ccw.svg")), + ("rotate-cw", include_bytes!("../../../assets/icons/rotate-cw.svg")), + ("ruler", include_bytes!("../../../assets/icons/ruler.svg")), + ("save", include_bytes!("../../../assets/icons/save.svg")), + ("scan-text", include_bytes!("../../../assets/icons/scan-text.svg")), + ("scan", include_bytes!("../../../assets/icons/scan.svg")), + ("scissors", include_bytes!("../../../assets/icons/scissors.svg")), + ("search", include_bytes!("../../../assets/icons/search.svg")), + ("send", include_bytes!("../../../assets/icons/send.svg")), + ("settings-2", include_bytes!("../../../assets/icons/settings-2.svg")), + ("settings", include_bytes!("../../../assets/icons/settings.svg")), + ("share-2", include_bytes!("../../../assets/icons/share-2.svg")), + ("shield-check", include_bytes!("../../../assets/icons/shield-check.svg")), + ("signature", include_bytes!("../../../assets/icons/signature.svg")), + ("sliders-horizontal", include_bytes!("../../../assets/icons/sliders-horizontal.svg")), + ("sparkles", include_bytes!("../../../assets/icons/sparkles.svg")), + ("spline", include_bytes!("../../../assets/icons/spline.svg")), + ("square-dashed-mouse-pointer", include_bytes!("../../../assets/icons/square-dashed-mouse-pointer.svg")), + ("square-dashed", include_bytes!("../../../assets/icons/square-dashed.svg")), + ("square", include_bytes!("../../../assets/icons/square.svg")), + ("squares-subtract", include_bytes!("../../../assets/icons/squares-subtract.svg")), + ("stamp", include_bytes!("../../../assets/icons/stamp.svg")), + ("star", include_bytes!("../../../assets/icons/star.svg")), + ("sticky-note", include_bytes!("../../../assets/icons/sticky-note.svg")), + ("strikethrough", include_bytes!("../../../assets/icons/strikethrough.svg")), + ("sun", include_bytes!("../../../assets/icons/sun.svg")), + ("swatch-book", include_bytes!("../../../assets/icons/swatch-book.svg")), + ("tag", include_bytes!("../../../assets/icons/tag.svg")), + ("text-cursor-input", include_bytes!("../../../assets/icons/text-cursor-input.svg")), + ("text-select", include_bytes!("../../../assets/icons/text-select.svg")), + ("trash-2", include_bytes!("../../../assets/icons/trash-2.svg")), + ("trash", include_bytes!("../../../assets/icons/trash.svg")), + ("triangle-alert", include_bytes!("../../../assets/icons/triangle-alert.svg")), + ("type", include_bytes!("../../../assets/icons/type.svg")), + ("underline", include_bytes!("../../../assets/icons/underline.svg")), + ("undo-2", include_bytes!("../../../assets/icons/undo-2.svg")), + ("user-round", include_bytes!("../../../assets/icons/user-round.svg")), + ("wand-sparkles", include_bytes!("../../../assets/icons/wand-sparkles.svg")), + ("wrench", include_bytes!("../../../assets/icons/wrench.svg")), + ("x", include_bytes!("../../../assets/icons/x.svg")), + ("zoom-in", include_bytes!("../../../assets/icons/zoom-in.svg")), + ("zoom-out", include_bytes!("../../../assets/icons/zoom-out.svg")), +]; diff --git a/crates/ui-egui/src/icons.rs b/crates/ui-egui/src/icons.rs new file mode 100644 index 00000000..949a4111 --- /dev/null +++ b/crates/ui-egui/src/icons.rs @@ -0,0 +1,71 @@ +//! Vector icons: embedded Lucide SVGs, recoloured to white, rasterized by egui_extras at the exact +//! on-screen pixel size, and tinted per use (PhotoCraft lesson: never use Unicode glyphs as icons). + +use std::collections::HashMap; +use std::sync::{Arc, OnceLock}; + +use egui::{Color32, Rect, Response, Sense, Vec2}; + +use crate::icon_data::ICONS; +use crate::theme::Tokens; + +fn white_icons() -> &'static HashMap<&'static str, Arc<[u8]>> { + static MAP: OnceLock>> = OnceLock::new(); + MAP.get_or_init(|| { + ICONS + .iter() + .map(|(name, bytes)| { + let svg = String::from_utf8_lossy(bytes).replace("currentColor", "#ffffff").replace("stroke-width=\"2\"", "stroke-width=\"1.75\""); + (*name, Arc::from(svg.into_bytes().into_boxed_slice())) + }) + .collect() + }) +} + +pub fn exists(name: &str) -> bool { + white_icons().contains_key(name) +} + +pub fn image(name: &str, size: f32, tint: Color32) -> egui::Image<'static> { + let (key, bytes) = match white_icons().get(name) { + Some(b) => (name, b.clone()), + None => ("square", white_icons()["square"].clone()), + }; + egui::Image::from_bytes(format!("bytes://icons/{key}.svg"), egui::load::Bytes::Shared(bytes)).fit_to_exact_size(Vec2::splat(size)).tint(tint) +} + +pub fn paint(ui: &egui::Ui, rect: Rect, name: &str, size: f32, tint: Color32) { + image(name, size, tint).paint_at(ui, Rect::from_center_size(rect.center(), Vec2::splat(size))); +} + +/// Square icon button: transparent until hovered; `selected` gets the accent treatment. +pub fn button(ui: &mut egui::Ui, name: &str, box_size: f32, selected: bool, tooltip: &str) -> Response { + let t = Tokens::get(ui.ctx()); + let (rect, resp) = ui.allocate_exact_size(Vec2::splat(box_size), Sense::click()); + let hovered = resp.hovered(); + if selected { + ui.painter().rect_filled(rect, t.radius, t.accent_soft); + } else if resp.is_pointer_button_down_on() { + ui.painter().rect_filled(rect, t.radius, t.pressed); + } else if hovered { + ui.painter().rect_filled(rect, t.radius, t.hover); + } + let tint = if selected { t.accent_text } else { t.icon }; + paint(ui, rect, name, (box_size * 0.5).round(), tint); + if tooltip.is_empty() { resp } else { resp.on_hover_text(tooltip) } +} + +#[cfg(test)] +mod tests { + #[test] + fn every_catalog_icon_exists() { + for g in printcraft_engine::catalog::TOOL_GROUPS { + assert!(super::exists(g.icon), "missing icon {}", g.icon); + for s in g.sections { + for i in s.items { + assert!(super::exists(i.icon), "missing icon {}", i.icon); + } + } + } + } +} diff --git a/crates/ui-egui/src/lib.rs b/crates/ui-egui/src/lib.rs new file mode 100644 index 00000000..b5c1f33a --- /dev/null +++ b/crates/ui-egui/src/lib.rs @@ -0,0 +1,395 @@ +//! printcraft-ui-egui — the first PrintCraft shell (L7). +//! +//! Layout grammar follows plan/acrobat/02-ui-ux.md §1: tab strip, mode bar, left tool panel, +//! floating quick-action bar, document area, right panel + right rail with page navigation. +//! Everything here is presentation: documents, rendering and the tool catalogue live in +//! `printcraft-engine`. + +mod canvas; +mod chrome; +mod dialogs; +mod home; +mod icon_data; +pub mod icons; +mod palette; +mod panels; +pub mod theme; +mod widgets; + +use printcraft_engine::{DocId, Session}; + +pub use canvas::DocView; +use theme::ThemeKind; + +/// Top-level workspace modes (Acrobat's mode bar). +#[derive(Clone, Copy, Debug, PartialEq, Eq)] +pub enum Mode { + AllTools, + Read, + Edit, + Convert, + Sign, +} + +/// What the left panel shows. +#[derive(Clone, Copy, Debug, PartialEq, Eq)] +pub enum LeftPanel { + AllTools, + Tool(&'static str), +} + +/// Right-hand panels, opened from the rail. +#[derive(Clone, Copy, Debug, PartialEq, Eq)] +pub enum RightPanel { + Comments, + Bookmarks, + Pages, + Fields, + Layers, + Attachments, +} + +/// Quick-action bar tools (the vertical floating strip). +#[derive(Clone, Copy, Debug, PartialEq, Eq)] +pub enum QuickTool { + Select, + Hand, +} + +#[derive(Clone, Copy, Debug, PartialEq, Eq)] +pub enum Dialog { + Properties(PropsTab), + About, + Shortcuts, +} + +#[derive(Clone, Copy, Debug, PartialEq, Eq)] +pub enum PropsTab { + Description, + Security, + Advanced, +} + +pub struct RecentFile { + pub name: String, + pub path: String, + pub pages: usize, + pub size: usize, +} + +pub struct PrintCraftApp { + pub session: Session, + pub views: Vec, + /// `None` shows the Home tab. + pub active: Option, + pub mode: Mode, + pub left: LeftPanel, + pub left_open: bool, + pub right: Option, + pub quick_tool: QuickTool, + pub theme: ThemeKind, + pub dialog: Option