mirror of
https://github.com/storytold/deckcraft.git
synced 2026-10-26 03:27:03 -06:00
Preserve current-main document and PDF behavior alongside the reviewed input, capture, font, ribbon and notice-packaging migration. Validation: cargo xtask ci passed all eight stages, with 1,877 workspace tests and three doctests passed, six tests ignored, strict native lint and 23 WASM crates checked. Native GUI, platform and performance qualification remains separate.
123 lines
5.4 KiB
TOML
123 lines
5.4 KiB
TOML
[workspace]
|
|
resolver = "3"
|
|
members = ["crates/*", "apps/*", "xtask"]
|
|
default-members = ["crates/*", "apps/deckcraft", "apps/deckcraft-cli"]
|
|
|
|
[workspace.package]
|
|
version = "0.10.0"
|
|
edition = "2024"
|
|
license = "MIT OR Apache-2.0"
|
|
rust-version = "1.95"
|
|
repository = "https://github.com/storytold/deckcraft"
|
|
|
|
[workspace.dependencies]
|
|
# internal
|
|
deckcraft-geom = { path = "crates/geom" }
|
|
deckcraft-color = { path = "crates/color" }
|
|
deckcraft-metafile = { path = "crates/metafile" }
|
|
deckcraft-model = { path = "crates/model" }
|
|
deckcraft-fonts = { path = "crates/fonts" }
|
|
deckcraft-text = { path = "crates/text" }
|
|
deckcraft-render = { path = "crates/render" }
|
|
deckcraft-pdf = { path = "crates/pdf" }
|
|
deckcraft-pptx = { path = "crates/pptx" }
|
|
deckcraft-format = { path = "crates/format" }
|
|
deckcraft-anim = { path = "crates/anim" }
|
|
deckcraft-engine = { path = "crates/engine" }
|
|
deckcraft-mcp = { path = "crates/mcp" }
|
|
deckcraft-ui-egui = { path = "crates/ui-egui" }
|
|
deckcraft-media = { path = "crates/media" }
|
|
# codecs (ported from FilmCraft, same owner and licence)
|
|
deckcraft-bitstream = { path = "crates/bitstream" }
|
|
deckcraft-h264 = { path = "crates/h264" }
|
|
deckcraft-hevc = { path = "crates/hevc" }
|
|
deckcraft-vp9 = { path = "crates/vp9" }
|
|
deckcraft-av1 = { path = "crates/av1" }
|
|
deckcraft-isobmff = { path = "crates/isobmff" }
|
|
deckcraft-matroska = { path = "crates/matroska" }
|
|
deckcraft-ogg = { path = "crates/ogg" }
|
|
deckcraft-opus = { path = "crates/opus" }
|
|
|
|
# foundation
|
|
kurbo = { version = "0.13", features = ["serde"] }
|
|
thiserror = "2"
|
|
serde = { version = "1", features = ["derive", "rc"] }
|
|
serde_json = { version = "1", features = ["float_roundtrip"] }
|
|
log = "0.4"
|
|
proptest = "1"
|
|
rayon = "1"
|
|
unicode-bidi = "0.3"
|
|
unicode-segmentation = "1"
|
|
unicode-linebreak = "0.1"
|
|
# Base features are wasm-safe (`std` only). The non-wasm `clock` feature is requested
|
|
# per-crate for targets that read the local clock (see crates/text).
|
|
chrono = { version = "0.4", default-features = false, features = ["std"] }
|
|
|
|
# text / rendering / formats
|
|
skrifa = "0.47"
|
|
harfrust = "0.13"
|
|
vello_cpu = "0.2"
|
|
vello_common = { version = "0.2", default-features = false }
|
|
image = { version = "0.25", default-features = false, features = ["png", "jpeg", "webp", "gif", "tiff", "bmp"] }
|
|
craft-media = { git = "https://github.com/storytold/craft-libs", rev = "f0ad6c1e1d297908915f4be315b0fcfc9be7b5d4", version = "=0.1.0", default-features = false }
|
|
craft-pdf = { git = "https://github.com/storytold/craft-libs", rev = "9f75d3dc19b4b514c4f3d4847ed1ec1b0e86b4ef", version = "=0.1.0", default-features = false, features = ["write", "write-simple-text"] }
|
|
i_overlay = "9"
|
|
quick-xml = "0.41"
|
|
zip = { version = "3", default-features = false, features = ["deflate"] }
|
|
|
|
# ui
|
|
egui = { version = "0.37", default-features = false }
|
|
egui_extras = { version = "0.37", default-features = false }
|
|
eframe = { version = "0.37", default-features = false }
|
|
egui_kittest = "0.37"
|
|
web-time = "1.1"
|
|
rfd = "0.17"
|
|
arboard = { version = "3.6", default-features = false }
|
|
|
|
[workspace.lints.rust]
|
|
unsafe_code = "forbid"
|
|
|
|
[workspace.lints.clippy]
|
|
dbg_macro = "warn"
|
|
todo = "warn"
|
|
too_many_arguments = "allow"
|
|
type_complexity = "allow"
|
|
self_named_constructors = "allow"
|
|
large_enum_variant = "allow"
|
|
result_large_err = "allow"
|
|
|
|
# Line tables keep file and line in panics and backtraces; full debug info
|
|
# for every test binary and dependency would multiply the target dir size.
|
|
# The test profile inherits both settings.
|
|
[profile.dev.package."*"]
|
|
opt-level = 2
|
|
debug = false
|
|
|
|
[profile.dev]
|
|
opt-level = 1
|
|
debug = "line-tables-only"
|
|
|
|
[profile.release]
|
|
opt-level = 3
|
|
lto = "thin"
|
|
codegen-units = 16
|
|
debug = 0
|
|
|
|
[patch.crates-io]
|
|
krilla = { git = "https://github.com/storytold/craft-libs", rev = "9f75d3dc19b4b514c4f3d4847ed1ec1b0e86b4ef", version = "=0.8.2" }
|
|
ecolor = { git = "https://github.com/storytold/egui.git", rev = "173cc7375d35dc5fbc5b5d0994fdf787f547c5d1" }
|
|
emath = { git = "https://github.com/storytold/egui.git", rev = "173cc7375d35dc5fbc5b5d0994fdf787f547c5d1" }
|
|
epaint = { git = "https://github.com/storytold/egui.git", rev = "173cc7375d35dc5fbc5b5d0994fdf787f547c5d1" }
|
|
epaint_default_fonts = { git = "https://github.com/storytold/egui.git", rev = "173cc7375d35dc5fbc5b5d0994fdf787f547c5d1" }
|
|
egui = { git = "https://github.com/storytold/egui.git", rev = "173cc7375d35dc5fbc5b5d0994fdf787f547c5d1" }
|
|
egui-winit = { git = "https://github.com/storytold/egui.git", rev = "173cc7375d35dc5fbc5b5d0994fdf787f547c5d1" }
|
|
egui-wgpu = { git = "https://github.com/storytold/egui.git", rev = "173cc7375d35dc5fbc5b5d0994fdf787f547c5d1" }
|
|
egui_glow = { git = "https://github.com/storytold/egui.git", rev = "173cc7375d35dc5fbc5b5d0994fdf787f547c5d1" }
|
|
egui_extras = { git = "https://github.com/storytold/egui.git", rev = "173cc7375d35dc5fbc5b5d0994fdf787f547c5d1" }
|
|
egui_kittest = { git = "https://github.com/storytold/egui.git", rev = "173cc7375d35dc5fbc5b5d0994fdf787f547c5d1" }
|
|
egui_system_font_provider = { git = "https://github.com/storytold/egui.git", rev = "173cc7375d35dc5fbc5b5d0994fdf787f547c5d1" }
|
|
eframe = { git = "https://github.com/storytold/egui.git", rev = "173cc7375d35dc5fbc5b5d0994fdf787f547c5d1" }
|
|
egui_demo_lib = { git = "https://github.com/storytold/egui.git", rev = "173cc7375d35dc5fbc5b5d0994fdf787f547c5d1" }
|
|
egui_inspection = { git = "https://github.com/storytold/egui.git", rev = "173cc7375d35dc5fbc5b5d0994fdf787f547c5d1" }
|
|
winit = { git = "https://github.com/storytold/winit.git", rev = "ae48c756a3b81125eb796c0cc6dccf60990d1181" }
|