lightcraft/crates
goujicheng bc2cbf41db LR-IMP-PREVIEW-READ: an unedited raw's grid thumbnail is its embedded JPEG
The grid already showed the camera's embedded preview first, then queued a render of the whole raw
to replace it. For a 512 px thumbnail that render decodes 50 of a 56 MB Fuji RAF's bytes for a
picture the 4 416 × 2 944 embedded JPEG already covers — 45 s a photo on the 1.2 MB/s share this was
measured on, 8.3 GB of traffic for a 149-photo folder, and a queue that delayed the render the user
was actually waiting for (measured: the first loupe render of a cold photo finished 174 s after the
click, most of it spent behind thumbnails). Idle for a minute afterwards, the same folder read 12
previews (26.9 MB) and decoded zero raws for thumbnails, against 638 MB of whole-file reads before.

- `Session::embedded_thumb_is_final` answers whether a photo is an unedited raw whose camera JPEG the
  viewer is showing — the same `has_import_look` gate the preview path uses.
- `grid::skips_the_real_render` is the decision (unit-tested): a cached render as stand-in, an edited
  photo and a raw without an embedded JPEG all still render, because their thumbnail must show the
  pipeline's output rather than the camera's.
- `Renderer::remember_embedded_thumb` records the quick render's key and the bucket, and
  `thumb_quick_is_final` / `thumb_quick_pending` let the per-frame grid request stop at the embedded
  preview instead of rebuilding the render job (and its cache key) every frame.
- The thumbnail key still follows the settings hash, so editing a photo re-renders its thumbnail
  through the ordinary background path.

`docs/raw-preview-reads.md` and the `LR-IMP-PREVIEW-READ` parity row record the behaviour and the
numbers.

Co-Authored-By: DeepSeek V3.2 <noreply@deepseek.com>
2026-10-11 09:39:32 +08:00
..
catalog Merge PR #597 2026-10-09 20:56:33 -04:00
codecs Merge PR #646 (HDR peak threaded through #533's base_tone; V1 at peak 1 unchanged) 2026-10-10 01:26:27 -04:00
color Issue #188: D65 reads as a small positive tint (test from #336) 2026-10-08 17:26:01 +00:00
denoise LR-EDIT-DETAIL-DENOISE: address installation and model-policy review 2026-10-08 22:07:23 -04:00
denoise-core LR-EDIT-DETAIL-DENOISE: address installation and model-policy review 2026-10-08 22:07:23 -04:00
develop Merge PR #646 (HDR peak threaded through #533's base_tone; V1 at peak 1 unchanged) 2026-10-10 01:26:27 -04:00
engine LR-IMP-PREVIEW-READ: an unedited raw's grid thumbnail is its embedded JPEG 2026-10-11 09:39:32 +08:00
faces LR-PREF-PEOPLE: update pure-Rust recognition and preserve valid model replacements 2026-10-08 22:29:31 -04:00
fetch Fetch: say where the bearer token goes (#259) 2026-10-08 17:55:31 +00:00
geom Crop: drag_crop domain operation for handle drags (#295) 2026-10-08 10:35:46 -04:00
gpu Merge PR #656 2026-10-10 02:02:20 -04:00
heif LR-IMP-FORMATS: HEIC decodes like libheif; release builds include it 2026-10-09 14:38:00 -07:00
mcp Merge PR #646 (HDR peak threaded through #533's base_tone; V1 at peak 1 unchanged) 2026-10-10 01:26:27 -04:00
merge LR-IMP-FORMATS: read DNG BaselineSharpness and keep it in DNG exports 2026-10-08 18:18:54 -07:00
meta M11.1: add CR3 decoding 2026-10-08 22:22:13 +03:00
pipeline Merge PR #646 (HDR peak threaded through #533's base_tone; V1 at peak 1 unchanged) 2026-10-10 01:26:27 -04:00
preview LR-BEHAV-GPU: no render is inside the GPU driver when the app quits (issue #620) 2026-10-10 00:46:24 -05:00
raster Merge pull request #56 from storytold/pr/never-crash-core 2026-10-04 14:23:22 -04:00
raw LR-IMP-PREVIEW-READ: a preview reads the raw's header, not the raw 2026-10-10 22:16:04 +08:00
scenes LR-BEHAV-BG-TASKS: demo scenes: a rayon worker renders a scene alone, never in parallel (deadlock) 2026-10-09 18:52:10 +02:00
segment LR-EDIT-DETAIL-DENOISE: list settings tabs from TABS; fix the SAM 3 worker's wasm check 2026-10-09 01:07:43 -04:00
sysmem Never crash: move the one unsafe FFI call into crates/sysmem 2026-10-05 02:06:08 -04:00
tiff Merge PR #513 2026-10-09 20:34:54 -04:00
ui-egui LR-IMP-PREVIEW-READ: an unedited raw's grid thumbnail is its embedded JPEG 2026-10-11 09:39:32 +08:00