mirror of
https://github.com/storytold/vectorcraft.git
synced 2026-10-24 09:46:59 -06:00
CodeRabbit findings #7, #72, #92, #94, #95, #99, #100, #140, #158, #174: - Link search hashes at most the size it looked at (a growing file no longer matches). - Resolving links reads, decodes and previews each linked file once, shared by every key. - Placed documents read inside one another resolve links at most 8 deep, never one already being read. - A data set's image path and the placed-document rereader follow stored paths through `document_path` (no other computer's share). - The Links panel looks at a linked file within the roots of the automation caller that opened the document. - A fonts folder set by a confined caller is scanned without following links out of it. - Recovery refuses an area folder that is a link or another account's. - Atomic saves keep the replaced file's group and Linux access ACL, or make the replacement owner-only. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
28 lines
846 B
TOML
28 lines
846 B
TOML
[package]
|
|
name = "vectorcraft-format"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
description = "VectorCraft native .vectorcraft format (versioned JSON, embedded images)"
|
|
|
|
[lints]
|
|
workspace = true
|
|
|
|
[dependencies]
|
|
vectorcraft-doc = { workspace = true }
|
|
serde = { workspace = true }
|
|
serde_json = { workspace = true }
|
|
thiserror = { workspace = true }
|
|
flate2 = { workspace = true }
|
|
|
|
# A plain fsync where a volume refuses the full flush (`sync_file`, atomic.rs), and the replaced
|
|
# file's access ACL on Linux (`keep_permissions`). Already in Cargo.lock (tempfile), so this adds
|
|
# no new crate.
|
|
[target.'cfg(unix)'.dependencies]
|
|
rustix = { workspace = true, features = ["std", "fs"] }
|
|
|
|
[dev-dependencies]
|
|
vectorcraft-testkit = { workspace = true }
|
|
proptest = { workspace = true }
|
|
vectorcraft-geom = { workspace = true }
|