mirror of
https://github.com/storytold/lightcraft.git
synced 2026-10-25 02:30:15 -06:00
- lightcraft-raw: RawImage::develop_binned(k) — k×k superpixel binning of the CFA (Bayer k even, X-Trans k multiple of 3), black/white normalised row by row, default crop only, clipping preserved for highlight reconstruction. 2560 px previews of a 24 MP raw bin 2×, thumbnails 4–8×; exports / 1:1 still demosaic (AHD) at full size. - highlight::reconstruct and its pyramid fill are rayon-parallel (bit-exact). - X-Trans directional demosaic: precomputed per-phase neighbour offsets and no reflection in the interior, no per-pixel allocation (bit-exact, tested against the reference formulation): 2.9 s → 0.75 s CPU at 24 MP. - files::load_bytes runs on a rayon worker so its short parallel loops don't each wait for the pool to wake (dominant cost on a loaded machine); LIGHTCRAFT_PROFILE prints per-stage source timings; files::bin_factor picks the block size. - render_bench ONLY=source: per-file decode / normalise / demosaic / binning / load. - Fix: u64 overflow on hostile IFD sizes in DNG/ARW/NEF raw-IFD selection (proptest). load_bytes(2560) CPU time, ARW a7 III 24 MP: 2347 → 240 ms; X-T20: 3120 → 1220 ms. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>