mirror of
https://github.com/storytold/deckcraft.git
synced 2026-10-26 03:27:03 -06:00
* egui037-20261022: migrate DeckCraft to egui 0.37 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. * E21: restore Latin coverage and enforce required font inputs * Fix migration review findings in font validation and UI controls * M-egui037: document UI lifecycle and regression contracts
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.11.1"
|
|
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 = "6d518fc799681571963842f95b55a6b68431b15a" }
|
|
emath = { git = "https://github.com/storytold/egui.git", rev = "6d518fc799681571963842f95b55a6b68431b15a" }
|
|
epaint = { git = "https://github.com/storytold/egui.git", rev = "6d518fc799681571963842f95b55a6b68431b15a" }
|
|
epaint_default_fonts = { git = "https://github.com/storytold/egui.git", rev = "6d518fc799681571963842f95b55a6b68431b15a" }
|
|
egui = { git = "https://github.com/storytold/egui.git", rev = "6d518fc799681571963842f95b55a6b68431b15a" }
|
|
egui-winit = { git = "https://github.com/storytold/egui.git", rev = "6d518fc799681571963842f95b55a6b68431b15a" }
|
|
egui-wgpu = { git = "https://github.com/storytold/egui.git", rev = "6d518fc799681571963842f95b55a6b68431b15a" }
|
|
egui_glow = { git = "https://github.com/storytold/egui.git", rev = "6d518fc799681571963842f95b55a6b68431b15a" }
|
|
egui_extras = { git = "https://github.com/storytold/egui.git", rev = "6d518fc799681571963842f95b55a6b68431b15a" }
|
|
egui_kittest = { git = "https://github.com/storytold/egui.git", rev = "6d518fc799681571963842f95b55a6b68431b15a" }
|
|
egui_system_font_provider = { git = "https://github.com/storytold/egui.git", rev = "6d518fc799681571963842f95b55a6b68431b15a" }
|
|
eframe = { git = "https://github.com/storytold/egui.git", rev = "6d518fc799681571963842f95b55a6b68431b15a" }
|
|
egui_demo_lib = { git = "https://github.com/storytold/egui.git", rev = "6d518fc799681571963842f95b55a6b68431b15a" }
|
|
egui_inspection = { git = "https://github.com/storytold/egui.git", rev = "6d518fc799681571963842f95b55a6b68431b15a" }
|
|
winit = { git = "https://github.com/storytold/winit.git", rev = "a517b3846ee8457d84ee4975110bfda6797c44dc" }
|