lightcraft/docs
BuonBreda fa1565d855
LR-PROF-CAMERACOLOR: camera local tone mapping (ProfileGainTableMap) as a per-photo opt-in
Renders a raw's DNG ProfileGainTableMap (Apple ProRAW's local tone mapping)
when the photo's Profile option "Camera local tone mapping" is on
(`profile.camera_local_tone`, off by default: Lightroom Classic renders
ProRAW without it). Built on #427's parser; supersedes the decode-time
applier of the first version of #273.

- raw/gaintable: GainTableMap::gain / evaluator (GainEval) per DNG 1.7.1:
  bilinear between tables with edges replicated, input clamp(weights .
  (R,G,B,min,max))^gamma in linear ProPhoto after the baseline exposure,
  index input x MapPointsN clamped to the last point. Saturating cell
  math; maps whose sizes don't match their gains aren't evaluated.
  SourcePlacement: where a developed source sits in the active area.
- pipeline/local_tone: the gain per output pixel in the scene-linear
  stage, before the white balance, mapped back through the frame (crop,
  user orientation, warp) and the EXIF orientation. lin_needs_cpu routes
  the stage to the CPU when it's on (CPU and GPU match); lin_key includes
  it. SourceInfo::local_tone carries the map from the decoder.
- develop: Profile::camera_local_tone (omitted from JSON when off, so
  existing settings and their hashes are unchanged); Profile row checkbox
  when the source has a map; translations.
- RENDER_CACHE_VERSION 17. Docs: parity row and What's New as an opt-in.

Off renders pixel-identical to main on two iPhone 15 Pro ProRAWs (12 and
48 MP). On adds ~60-75 ms to the scene-linear stage at 1536x2048 on a
2-core VM, the same for both files (cost follows output pixels).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VFqow2P1EtDxt6nRjjQoTA
2026-10-09 11:11:52 +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 Merge remote-tracking branch 'origin/main' into fix-359 2026-10-08 23:57:36 -04:00
camera-preview-colour.md Fix #310: CR2 and PEF raws get the starting look fitted to their camera JPEG 2026-10-08 23:13:16 +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 LR-BEHAV-HEADLESS: keep CPU snapshots isolated from saved preferences 2026-10-09 13:19:47 +10:00
cr3.md LR-IMP-FORMATS: CR3 C-RAW samples that overshoot the bit depth are clamped 2026-10-08 18:04:01 -04:00
denoise.md LR-EDIT-DETAIL-DENOISE: address installation and model-policy review 2026-10-08 22:07:23 -04:00
faces.md LR-PREF-PEOPLE: update pure-Rust recognition and preserve valid model replacements 2026-10-08 22:29:31 -04:00
gpu-pipeline.md Merge PR #351 2026-10-09 00:14:03 +00:00
library-shortcuts.md Library: the Photo Grid label footer is translucent; pt-br for "Color label cleared" (#308) 2026-10-08 17:39:23 +00:00
lightroom-catalog-import.md PR218: document optional-data and recovery warnings 2026-10-09 00:17:24 +05:30
localization-de.md M16: add German localization using the existing catalogs 2026-10-08 07:27:32 +02:00
localization-es.md Fix #371: Spanish interface 2026-10-08 20:20:17 +00: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-ru.md i18n: German and Russian follow-ups (#265, #264) 2026-10-08 18:26:56 +00: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 Fix #371: Spanish interface 2026-10-08 20:20:17 +00:00
mcp.md Issue #182: library.select and id queries reject a photo id that is not in the library 2026-10-08 07:45:41 +00: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 LR-PROF-CAMERACOLOR: camera local tone mapping (ProfileGainTableMap) as a per-photo opt-in 2026-10-09 11:11:52 +02:00
raf-compression.md M11.4: harden RAF validation and camera profile fallback 2026-10-08 11:23:55 +02:00
raf-corpus.sha256 M11.4: harden RAF validation and camera profile fallback 2026-10-08 11:23:55 +02:00
releasing.md Fix #319: release builds pin craft-fonts with Noto Sans CJK SC 2026-10-08 17:32:09 +00:00
tint-direction.md Issue #188: Tint sign documented as landed (DNG / Lightroom sign) 2026-10-08 17:29:47 +00:00
vertical-watermarks.md M16: keep grapheme clusters intact in vertical watermarks 2026-10-09 09:02:24 +09: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 LR-PROF-CAMERACOLOR: camera local tone mapping (ProfileGainTableMap) as a per-photo opt-in 2026-10-09 11:11:52 +02:00
xmp-interop.md LR-IMP-PROFILES: red / green / blue curves only with the master curve; neutral test values 2026-10-08 16:25:25 -07:00