photocraft/docs
Vikram Bhaskaran 5dafbeeafc
Codecs: open Cineon (.cin) film frames read-only (#4691)
* Raw: measure the Nikon D90 image area (4288x2848 at (10, 10))

Aligning the decoded D90 sensor plane with the camera's own JPEG puts the
image at (10, 10) in the 4352x2868 sensor plane, giving the camera's
4288x2848 frame (10-pixel margins; the right border reads the camera's flat
255 from column 4310). Add the measured ImageArea so a D90 NEF opens on the
camera's frame instead of the uncropped plane, and make a measured profile
leave a file that carries its own colour calibration (a DNG) untouched.

* Codecs: open Cineon (.cin) film frames read-only

Cineon is the 10-bit logarithmic film-scan format DPX grew from. Read it from
the same Kodak header family: the generic header (big-endian, orientation at
192, channel count at 193, the channel-1 bits/dimensions), one or three
channels, three 10-bit samples packed into each 32-bit word on a word
boundary. The 10-bit code values open as U16 (round(c x 65535 / 1023)); the
file's log black/white points are a display choice and are not applied. A
depth other than 10 bits or a channel count other than 1/3 is Unsupported;
truncation errors rather than panicking. Read-only (no Cineon writer), so
.cin joins the open filters and Cineon read closes part of #1049's G10 gap.

* cargo fmt the extension lists

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Brandon Thomas <echelon@gmail.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 00:23:03 -04:00
..
brand Licensing: MIT OR Apache-2.0 files, NOTICE, ArtCraft brand terms, attribution 2026-10-04 10:06:17 -04:00
images PSD text fill: keep the fix and its tests, drop the proof-only screenshots and example 2026-10-09 01:57:17 +07:00
architecture.md Docs: oracle floor, open issues, workspace size and layer filters match main (#5376) (#5382) 2026-10-14 01:58:22 -04:00
batch-naming.md Add filename templates to Batch export (#4466) 2026-10-13 13:03:02 -04:00
brush-parity.md fix(ui): show brush tip thumbnails while dragging presets (#5203) 2026-10-14 13:08:05 -04:00
camera-raw-histogram.md Camera Raw: read and write settings as a live PSD Smart Filter (part of #215) (#459) 2026-10-07 17:59:16 -04:00
camera-raw-zoom.md Rework Camera Raw filter preview and navigation (#781) 2026-10-07 18:40:24 -04:00
color-picker.md Type Color Picker opens the full Color Picker; screen eyedropper with a pixel loupe (#1232) 2026-10-09 00:30:50 -04:00
context-menu-inventory.md Zoom and Hand tools: right-click the canvas for the view menu (#3242) (#3255) 2026-10-11 12:50:01 -04:00
context-menu-parity.md Layers: right-clicking a layer-mask thumbnail opens the mask menu (fixes #4575) (#4605) 2026-10-13 01:15:13 -04:00
contributing.md Progress docs: target-app parity, gaps, alpha gate, readiness by audience (#2696) 2026-10-10 15:09:04 -04:00
contributors.md About: contributor and model credits compiled in (grab bag + table, self-submitted names) (#898) 2026-10-07 21:22:11 -04:00
control-protocol.md Arrow-key nudges: a run of nudges is one History state, with Tools preferences (#2259) (#2764) 2026-10-14 15:32:39 -04:00
decisions.md Keep duplicated Smart Objects linked to shared contents (#2222) 2026-10-10 05:05:56 -04:00
development.md Expose shared Smart Object instances in inspection and replacement results (#4832) 2026-10-14 12:46:04 -04:00
file-format-parity.md Codecs: open Cineon (.cin) film frames read-only (#4691) 2026-10-15 00:23:03 -04:00
five-algorithm-performance.json Five exact-output speedups: dense Extrude 160s to 0.39s (#2685) 2026-10-11 10:50:45 -04:00
five-algorithm-performance.md Five exact-output speedups: dense Extrude 160s to 0.39s (#2685) 2026-10-11 10:50:45 -04:00
font-resolution.md fix(type): missing-font checks follow layout's PostScript resolution; split hyphenless style suffixes (#608) 2026-10-13 12:48:09 -04:00
gaps.md Codecs: open Cineon (.cin) film frames read-only (#4691) 2026-10-15 00:23:03 -04:00
gpu-composite-reuse.md feat(gpu): composite Blend If on the GPU (#4395) (#4541) 2026-10-13 02:11:23 -04:00
hardware-parity.md Progress docs: target-app parity, gaps, alpha gate, readiness by audience (#2696) 2026-10-10 15:09:04 -04:00
iris-blur-performance.md Speed up Iris Blur without changing output (#2578) 2026-10-10 14:00:53 -04:00
kra.md Add Krita (.kra) import (#4388) 2026-10-12 22:41:38 -04:00
localization-es.md i18n(es): complete dynamic UI translations (#4306) 2026-10-14 15:36:32 -04:00
localization-it.md Italian: native-speaker review of the UI catalog (#4290) 2026-10-12 19:38:55 -04:00
localization-ko.md Improve Korean terminology and dynamic UI translation coverage (#604) 2026-10-07 16:32:47 -04:00
localization-parity.md i18n(es): complete dynamic UI translations (#4306) 2026-10-14 15:36:32 -04:00
localization-zh-hans.md i18n: complete Simplified Chinese catalog and localize brush sections (#359) 2026-10-07 07:46:52 -04:00
localization.md i18n(sr): add a Serbian (Latin, Ekavian) UI catalog (#4436) 2026-10-12 22:50:20 -04:00
mcp.md Docs: document the engine.commands reply shape (#3684) (#3750) 2026-10-13 12:47:32 -04:00
nikon-nef-development.md Keep fitted Camera Raw colour during tuning and crop Nikon D5100 borders (#3201) 2026-10-11 19:12:19 -04:00
octagonal-mask-performance.md Compute exact octagonal mask shifts with bounded workspace (#2154) 2026-10-10 06:46:06 -04:00
ora.md OpenRaster: never overwrite an .ora with less than the document has (#3806) (#3881) 2026-10-13 02:04:02 -04:00
parity-checklist.md Type menu: Anti-Alias › None first and checked; checks follow the edited layer (#2983) (#2984) 2026-10-11 11:35:38 -04:00
pdn.md Add native layered Paint.NET (.pdn) import (#1998) 2026-10-09 21:05:00 -04:00
pixelate-performance.json Pixelate: CMYK Facet 13.7x faster, Lab halftone 5.0x faster (#2588) 2026-10-10 14:03:03 -04:00
pixelate-performance.md Pixelate: CMYK Facet 13.7x faster, Lab halftone 5.0x faster (#2588) 2026-10-10 14:03:03 -04:00
plugins.md Plug-ins: keep the originating error across parallel bands (#1654) 2026-10-09 09:11:00 -04:00
proximity-match-performance.md Proximity Match: 1.5-3.8x faster stroke searches, smaller mask tables (#2101) 2026-10-09 19:34:26 -04:00
quick-selection-performance.md Quick Selection: 3.5x faster CPU strokes with hybrid graph cuts (#2436) 2026-10-10 14:17:48 -04:00
radial-blur-performance.md Optimize Radial Blur sampling without changing output (#1499) 2026-10-09 14:41:52 -04:00
release-playbook.md docs: stop linking readers to the private craftrules repo (#493) (#779) 2026-10-08 15:04:21 -04:00
releasing.md Security: verify AppImage build inputs (#2270) 2026-10-11 22:33:26 -06:00
roadmap.md Speed up large-radius Unsharp Mask with guarded FFT convolution (#2987) 2026-10-13 13:23:55 -04:00
scorecard.md Arrow-key nudges: a run of nudges is one History state, with Tools preferences (#2259) (#2764) 2026-10-14 15:32:39 -04:00
selection-distance-performance.md Selection distance transforms: 7.6-10.6x faster and correct past 4K (#2093) 2026-10-09 19:28:33 -04:00
shape-strokes.md Fix Shape Stroke controls, popup interactions and paint colours (#3019) 2026-10-11 09:46:44 -04:00
target-app-parity.md Shapes: on-canvas corner radius widgets for live rectangles (TOOL-214-12) (#5276) 2026-10-14 15:14:49 -04:00
tilt-shift-performance.md Speed up Tilt-Shift with existing per-level halo trimming (#2880) 2026-10-11 11:58:04 -04:00
ui-design.md Channels: load the targeted layer mask as selection (#5562) 2026-10-14 23:49:15 -04:00
ui-dialogs.md Shortcuts: ⌥⇧⌘N makes a new layer without the dialog (#4794) (#4807) 2026-10-13 12:11:37 -04:00
ui-parity.md Move: Show Transform Controls frames every selected layer (#5917) 2026-10-14 23:49:52 -04:00
unsharp-mask-performance.md Speed up large-radius Unsharp Mask with guarded FFT convolution (#2987) 2026-10-13 13:23:55 -04:00