mirror of
https://github.com/storytold/lightcraft.git
synced 2026-10-26 11:09:23 -06:00
Phase One / Leaf IIQ, Canon EOS-1D / 1Ds and Kodak DCS TIFFs keep their raw data in a private block. IFD0 is only a 160-640 px RGB copy and no IFD is marked as raw, so they opened as an ordinary TIFF of that size (a 150 MP file rendered 296x220) with no preview-only label. probe() now recognises such a file from its structure (OtherTiff): a picture at least 4x larger than IFD0 in both directions is declared by a SubIFDs child, or by Exif PixelXDimension/PixelYDimension together with enough bytes outside every IFD's strips and tiles to hold it at one bit per pixel. decode() reports the sizes as the reason. A raw we cannot decode now falls back to its embedded JPEG, else to the TIFF reader's view of its first image, so it imports preview-only with that reason. RENDER_CACHE_VERSION 12: these files render differently.
44 lines
1.4 KiB
TOML
44 lines
1.4 KiB
TOML
[package]
|
||
name = "lightcraft-engine"
|
||
version.workspace = true
|
||
edition.workspace = true
|
||
license.workspace = true
|
||
description = "LightCraft engine: session, command registry, history, render jobs, view-models (L4)"
|
||
|
||
[lints]
|
||
workspace = true
|
||
|
||
[dependencies]
|
||
lightcraft-geom = { workspace = true }
|
||
lightcraft-color = { workspace = true }
|
||
lightcraft-raster = { workspace = true }
|
||
lightcraft-develop = { workspace = true }
|
||
lightcraft-scenes = { workspace = true }
|
||
lightcraft-pipeline = { workspace = true }
|
||
lightcraft-gpu = { workspace = true }
|
||
lightcraft-catalog = { workspace = true }
|
||
web-time = { workspace = true }
|
||
lightcraft-preview = { workspace = true }
|
||
lightcraft-codecs = { workspace = true }
|
||
lightcraft-raw = { workspace = true }
|
||
lightcraft-meta = { workspace = true }
|
||
miniz_oxide = { workspace = true }
|
||
lightcraft-merge = { workspace = true }
|
||
rayon = { workspace = true }
|
||
serde = { workspace = true }
|
||
serde_json = { workspace = true }
|
||
thiserror = { workspace = true }
|
||
log = { workspace = true }
|
||
ab_glyph = { workspace = true }
|
||
# Apply the font’s vertical substitutions and origins to Japanese watermarks.
|
||
harfrust = { version = "0.12", default-features = false, features = ["std"] }
|
||
lightcraft-segment = { workspace = true, optional = true }
|
||
|
||
[features]
|
||
# AI masks with SAM 3 (Object / Describe). Off for the web and CLI builds.
|
||
sam = ["dep:lightcraft-segment"]
|
||
|
||
[dev-dependencies]
|
||
libc = { workspace = true }
|
||
lightcraft-tiff = { workspace = true }
|