lightcraft/docs
issuenate 88c1e768f1 TIFF: decode 1-, 2- and 4-bit samples
Bilevel scans, CCITT fax images and 2- or 4-bit gray TIFFs were rejected with
"sample buffer too short". The `tiff` crate returns such samples packed, most
significant bits first, eight, four or two to a byte with each row padded to a
whole byte; the converter expects one byte per sample. They are now spread out
one per byte and scaled to 0–255 (255, 85 and 17 times the sample: exact) before
conversion. 3-, 5-, 6- and 7-bit samples, and planar images with more than one
sample narrower than a byte, are refused with an "unsupported" error.

The new test builds 1-bit (both photometric conventions, a width that leaves row
padding, set padding bits), 2-bit and 4-bit strips in code, plus a truncated
strip that must fail cleanly; it fails without the fix with the old error. A
600×400 bilevel image, uncompressed and CCITT G4, now decodes to the same pixels
PIL reads from it.

The module documentation no longer claims palette support: the `tiff` crate
refuses RGBPalette images on every read path, so the palette branch here has
never been reached. The parity row lists palette TIFF as missing.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 14:47:51 +02:00
..
brand Licensing: MIT OR Apache-2.0 files, NOTICE, ArtCraft brand terms 2026-10-04 10:05:02 -04:00
images docs: README (MCP, CLI, export, status, contributing), AGENTS.md (asset enforcement, crash recovery, testing/perf), screenshots re-captured with Inter 2026-09-30 23:52:34 -04:00
showcase M1.4: crash-safe catalog persistence (op log + snapshot) 2026-09-30 23:40:40 -04:00
ai-masks.md Fetch: the model downloader is its own crate, lightcraft-fetch 2026-10-07 12:07:24 -04:00
camera-preview-colour.md LR-PROF-CAMERACOLOR: Panasonic RW2 file-local camera look 2026-10-07 16:36:06 +00:00
contributors.md About: contributor and model credits compiled in (grab bag + table, self-submitted names) (#252) 2026-10-07 21:22:08 -04:00
control-protocol.md Issue #104: keep file-system calls off the UI thread 2026-10-05 18:58:04 -04:00
gpu-pipeline.md GPU: build the warp coverage mask per block with interval bounds 2026-10-07 19:29:29 -04:00
localization-ja.md LR-BEHAV-LOCALIZE: compile-checked tr_format! for every language catalog 2026-10-07 06:13:44 -04:00
localization-pt-br.md i18n: add Brazilian Portuguese (pt-br) UI translation 2026-10-07 17:03:20 -03:00
localization-zh-hans.md LR-BEHAV-LOCALIZE: fill the zh-hans catalog to match zh-hant 2026-10-08 03:08:33 +08:00
localization-zh-hant.md LR-BEHAV-LOCALIZE: Traditional Chinese (Taiwan) UI, stock preset and date localisation 2026-10-07 06:54:26 -04:00
localization.md i18n: add Brazilian Portuguese (pt-br) UI translation 2026-10-07 17:03:20 -03:00
mcp.md Docs: fix release and command references 2026-10-07 15:18:44 -07:00
merge.md Merge main (Photo Merge); M1.14b: stack merge results with their sources 2026-10-01 11:00:51 -04:00
parity.md TIFF: decode 1-, 2- and 4-bit samples 2026-10-08 14:47:51 +02:00
releasing.md Docs: fix release and command references 2026-10-07 15:18:44 -07:00
web.md Fonts: use craft-fonts as an optional build input; move the Japanese fonts out 2026-10-06 11:35:02 -04:00
whats-new.md Merge main into #213 (keep main's Windows test fixes from #207; parity row combines RW2 and the downsized ARW) 2026-10-07 20:53:25 -04:00
xmp-interop.md LR-LIB-PEOPLE: document MWG face regions in xmp-interop and the parity row 2026-10-07 06:21:27 -04:00