mirror of
https://github.com/storytold/vectorcraft.git
synced 2026-10-24 09:46:59 -06:00
document.export {format: "psd"} writes layered bitmaps (8 bits per channel),
written from the format's public specification: RGB, CMYK (ink amounts) or
grayscale, the resolution and an embedded profile, PackBits channels, and the
merged image (the flat render). layers (default true) draws each top-level
layer alone as a pixel layer, cropped to what it paints, with its name,
opacity and blend mode; a background colour becomes a Background layer.
maxEditability turns layers and sublayers into groups and every object into a
layer named as the Layers panel names it (text by its text); clipping, masked,
knockout or appearance-carrying layers stay one layer. hiddenLayers writes
hidden layers hidden instead of leaving them out; layers: false writes a flat
image on white. At most 30000 pixels a side.
Export As offers PSD with the psdOptions dialog (the PNG Options rows, then
Color Model, Flat Image / Write Layers with Maximum Editability and Include
Hidden Layers, Embed ICC Profile). Tests read the files back with the psd
crate (MIT OR Apache-2.0, a dev-dependency).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
41 lines
1.3 KiB
TOML
41 lines
1.3 KiB
TOML
[package]
|
|
name = "vectorcraft-render"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
description = "VectorCraft renderer: document to pixels (vello_cpu backend)"
|
|
|
|
[lints]
|
|
workspace = true
|
|
|
|
[dependencies]
|
|
vectorcraft-geom = { workspace = true }
|
|
vectorcraft-color = { workspace = true }
|
|
vectorcraft-doc = { workspace = true }
|
|
vectorcraft-text = { workspace = true }
|
|
vectorcraft-effects = { workspace = true }
|
|
vectorcraft-brush = { workspace = true }
|
|
vello_cpu = { workspace = true }
|
|
# Filter types (Gaussian blur, drop shadow) are not re-exported by vello_cpu 0.2.
|
|
vello_common = { version = "0.2", default-features = false }
|
|
image = { workspace = true }
|
|
flate2 = { workspace = true }
|
|
jpeg-encoder = { workspace = true }
|
|
gif = { workspace = true }
|
|
# TIFF LZW compression (MIT OR Apache-2.0; already used by the image crate's TIFF reader).
|
|
weezl = "0.1"
|
|
log = { workspace = true }
|
|
|
|
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
|
|
vello_cpu = { workspace = true, features = ["multithreading"] }
|
|
|
|
[dev-dependencies]
|
|
vectorcraft-testkit = { workspace = true }
|
|
# Decoders the export tests read their files back with.
|
|
image = { workspace = true, features = ["tga"] }
|
|
tiff = "0.11"
|
|
# Reads the PSD exports back (MIT OR Apache-2.0).
|
|
psd = "0.3"
|
|
proptest = { workspace = true }
|
|
serde_json = { workspace = true }
|