hyprforge-image 0.1.0

Bounded, orientation-correct picture decoding: measure without decoding, decide how much may safely be decoded, decode that much, and apply EXIF orientation; no GUI toolkit
Documentation
[package]
name = "hyprforge-image"
version.workspace = true
edition.workspace = true
license.workspace = true
repository.workspace = true
rust-version.workspace = true
readme = "README.md"
description = "Bounded, orientation-correct picture decoding: measure without decoding, decide how much may safely be decoded, decode that much, and apply EXIF orientation; no GUI toolkit"

# What a picture is before anything draws it: how big, which way up, and
# what it is safe to decode.
#
# A leaf, and deliberately not part of the viewer, because the viewer
# was never going to be its only consumer: the file manager's grid
# thumbnails and preview pane decode through it too, and the vision doc
# names a shared spacebar preview as cross-cutting between the two apps.
#
# No iced. The viewer hands the renderer decoded pixels, and a crate that
# needed a GUI toolkit to answer "how big is this file" could not be used
# by a thumbnailer, a preview pane, or a test without a window.
[dependencies]
# Format features are pinned at the workspace root, not here — cargo
# unifies them, and that table is what decides which decoders exist for
# every crate in the tree including iced's own. `format.rs` reads the
# answer back out of `image` rather than keeping a second list.
image.workspace = true
# Body, lens, exposure and GPS for the viewer's inspector — `camera.rs`.
# Already in the tree through iced_graphics, so this is a line, not a
# download.
exif.workspace = true
thiserror.workspace = true
tracing.workspace = true

[dev-dependencies]
tempfile = "3"