mirror of
https://github.com/storytold/designcraft.git
synced 2026-11-14 22:35:26 +00:00
AssetData::linked carries a LinkedSource (absolute and relative path, document,
size, fingerprint, content hash). Linked bytes load through a process-wide
single-flight LRU store (512 MiB, 1 GiB per file) and the Loader the engine
installs in Session:🆕 absolute path first, then relative; a changed
fingerprint is checked against the hash, and other bytes are Modified.
Proxy.data is an AssetData so its decodes have a key of their own.
65 lines
2.1 KiB
TOML
65 lines
2.1 KiB
TOML
[package]
|
|
name = "designcraft-engine"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
description = "DesignCraft engine: session, documents, history, selection, command registry, tool hosting"
|
|
|
|
[lints]
|
|
workspace = true
|
|
|
|
[features]
|
|
# Recovery-writer handshakes for other crates' tests (`designcraft_engine::recovery::testing`).
|
|
testing = []
|
|
|
|
[dependencies]
|
|
craft-print = { workspace = true }
|
|
craft-docpath = { workspace = true }
|
|
designcraft-images = { workspace = true }
|
|
designcraft-geom = { workspace = true }
|
|
designcraft-color = { workspace = true }
|
|
designcraft-doc = { workspace = true }
|
|
designcraft-fonts = { workspace = true }
|
|
designcraft-compose = { workspace = true }
|
|
designcraft-render = { workspace = true }
|
|
designcraft-format = { workspace = true }
|
|
designcraft-epub = { workspace = true }
|
|
designcraft-pptx = { workspace = true }
|
|
designcraft-textimport = { workspace = true }
|
|
designcraft-pdf = { workspace = true }
|
|
craft-prepress = { workspace = true }
|
|
designcraft-tools = { workspace = true }
|
|
designcraft-idml = { workspace = true }
|
|
craft-file-formats = { workspace = true }
|
|
craft-csv = { workspace = true }
|
|
craft-indd = { workspace = true }
|
|
serde = { workspace = true }
|
|
serde_json = { workspace = true }
|
|
thiserror = { workspace = true }
|
|
log = { workspace = true }
|
|
craft-xml = { workspace = true }
|
|
craft-xml-dtd = { workspace = true }
|
|
craft-svg = { workspace = true }
|
|
caseless = { workspace = true }
|
|
unicode-segmentation = { workspace = true }
|
|
# Content hashes of linked files (`asset_io::content_hash`).
|
|
sha2 = "0.10"
|
|
|
|
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
|
|
craft-atomic = { workspace = true }
|
|
tempfile = { workspace = true }
|
|
|
|
[target.'cfg(windows)'.dependencies]
|
|
same-file = { workspace = true }
|
|
|
|
[dev-dependencies]
|
|
designcraft-fonts = { workspace = true, features = ["testing"] }
|
|
zip = { workspace = true }
|
|
hayro-syntax = "0.7.2"
|
|
hayro-interpret = { version = "0.7.0", default-features = false, features = ["embed-fonts"] }
|
|
hayro-cmap = "0.1"
|
|
kurbo = { workspace = true }
|
|
|
|
[target.'cfg(target_arch = "wasm32")'.dev-dependencies]
|
|
wasm-bindgen-test = "0.3"
|