mirror of
https://github.com/storytold/filmcraft.git
synced 2026-10-14 11:17:01 -04:00
148 lines
4.2 KiB
TOML
148 lines
4.2 KiB
TOML
[workspace]
|
|
resolver = "3"
|
|
members = ["crates/*", "apps/*", "xtask"]
|
|
default-members = ["crates/*", "apps/*", "xtask"]
|
|
|
|
[workspace.package]
|
|
version = "0.8.0"
|
|
edition = "2024"
|
|
license = "MIT OR Apache-2.0"
|
|
rust-version = "1.95"
|
|
repository = "https://github.com/storytold/filmcraft"
|
|
|
|
[workspace.dependencies]
|
|
# internal
|
|
filmcraft-time = { path = "crates/time" }
|
|
filmcraft-geom = { path = "crates/geom" }
|
|
filmcraft-color = { path = "crates/color" }
|
|
filmcraft-bitstream = { path = "crates/bitstream" }
|
|
filmcraft-isobmff = { path = "crates/isobmff" }
|
|
filmcraft-avi = { path = "crates/avi" }
|
|
filmcraft-matroska = { path = "crates/matroska" }
|
|
filmcraft-mxf = { path = "crates/mxf" }
|
|
filmcraft-cfb = { path = "crates/cfb" }
|
|
filmcraft-mpegts = { path = "crates/mpegts" }
|
|
filmcraft-mpeg2v = { path = "crates/mpeg2v" }
|
|
filmcraft-ac3 = { path = "crates/ac3" }
|
|
filmcraft-mpa = { path = "crates/mpa" }
|
|
filmcraft-ogg = { path = "crates/ogg" }
|
|
filmcraft-h264 = { path = "crates/h264" }
|
|
filmcraft-hevc = { path = "crates/hevc" }
|
|
filmcraft-vp8 = { path = "crates/vp8" }
|
|
filmcraft-vp9 = { path = "crates/vp9" }
|
|
filmcraft-prores = { path = "crates/prores" }
|
|
filmcraft-dnx = { path = "crates/dnx" }
|
|
filmcraft-apv = { path = "crates/apv" }
|
|
filmcraft-dng = { path = "crates/dng" }
|
|
filmcraft-av1 = { path = "crates/av1" }
|
|
filmcraft-aac = { path = "crates/aac" }
|
|
filmcraft-flac = { path = "crates/flac" }
|
|
filmcraft-opus = { path = "crates/opus" }
|
|
filmcraft-h264enc = { path = "crates/h264enc" }
|
|
filmcraft-audio-dsp = { path = "crates/audio-dsp" }
|
|
filmcraft-frame = { path = "crates/frame" }
|
|
filmcraft-media = { path = "crates/media" }
|
|
filmcraft-codecs = { path = "crates/codecs" }
|
|
filmcraft-project = { path = "crates/project" }
|
|
filmcraft-edit = { path = "crates/edit" }
|
|
filmcraft-interchange = { path = "crates/interchange" }
|
|
filmcraft-text = { path = "crates/text" }
|
|
filmcraft-captions = { path = "crates/captions" }
|
|
filmcraft-speech = { path = "crates/speech" }
|
|
filmcraft-tts = { path = "crates/tts" }
|
|
filmcraft-tts-text = { path = "crates/tts-text" }
|
|
filmcraft-render = { path = "crates/render" }
|
|
filmcraft-gpu = { path = "crates/gpu" }
|
|
filmcraft-scopes = { path = "crates/scopes" }
|
|
filmcraft-export = { path = "crates/export" }
|
|
filmcraft-format = { path = "crates/format" }
|
|
filmcraft-engine = { path = "crates/engine" }
|
|
filmcraft-ui-egui = { path = "crates/ui-egui" }
|
|
filmcraft-automation = { path = "crates/automation" }
|
|
filmcraft-platform = { path = "crates/platform" }
|
|
filmcraft-testkit = { path = "crates/testkit" }
|
|
|
|
# foundation
|
|
thiserror = "2"
|
|
serde = { version = "1", features = ["derive", "rc"] }
|
|
serde_json = "1"
|
|
log = "0.4"
|
|
rayon = "1"
|
|
proptest = "1"
|
|
roxmltree = "0.21"
|
|
|
|
# ui
|
|
# Shared frontend components; keep this dependency above the engine boundary.
|
|
craft-ui = { version = "0.1.0", git = "https://github.com/storytold/craft-libs", rev = "5c874d51eeb3de70e735c8ce87a59a7dedd47675", features = ["serde"] }
|
|
egui = "0.36"
|
|
eframe = { version = "0.36", default-features = false }
|
|
egui_kittest = "0.36"
|
|
rfd = "0.17"
|
|
|
|
[workspace.lints.rust]
|
|
unsafe_code = "forbid"
|
|
|
|
[workspace.lints.clippy]
|
|
dbg_macro = "warn"
|
|
todo = "warn"
|
|
too_many_arguments = "allow"
|
|
needless_range_loop = "allow"
|
|
type_complexity = "allow"
|
|
|
|
[profile.dev.package."*"]
|
|
opt-level = 2
|
|
|
|
[profile.dev]
|
|
opt-level = 1
|
|
|
|
# Codec hot loops: debug-build tests (RFC/oracle vectors) are minutes slower below opt-level 3.
|
|
[profile.dev.package.filmcraft-h264]
|
|
opt-level = 3
|
|
|
|
[profile.dev.package.filmcraft-h264enc]
|
|
opt-level = 3
|
|
|
|
[profile.dev.package.filmcraft-hevc]
|
|
opt-level = 3
|
|
|
|
[profile.dev.package.filmcraft-prores]
|
|
opt-level = 3
|
|
|
|
[profile.dev.package.filmcraft-dnx]
|
|
opt-level = 3
|
|
|
|
[profile.dev.package.filmcraft-apv]
|
|
opt-level = 3
|
|
|
|
[profile.dev.package.filmcraft-dng]
|
|
opt-level = 3
|
|
|
|
[profile.dev.package.filmcraft-av1]
|
|
opt-level = 3
|
|
|
|
[profile.dev.package.filmcraft-aac]
|
|
opt-level = 3
|
|
|
|
[profile.dev.package.filmcraft-flac]
|
|
opt-level = 3
|
|
|
|
# Audio effects: realtime-factor tests and long convolution / spectral runs.
|
|
[profile.dev.package.filmcraft-audio-dsp]
|
|
opt-level = 3
|
|
|
|
[profile.dev.package.filmcraft-mxf]
|
|
opt-level = 3
|
|
|
|
[profile.dev.package.filmcraft-opus]
|
|
opt-level = 3
|
|
|
|
[profile.dev.package.filmcraft-vp8]
|
|
opt-level = 3
|
|
|
|
[profile.dev.package.filmcraft-vp9]
|
|
opt-level = 3
|
|
|
|
[profile.release]
|
|
lto = "thin"
|
|
codegen-units = 1
|