# Conflicts:
#	crates/catalog/src/model.rs
#	crates/engine/src/media.rs
#	docs/parity.md
This commit is contained in:
Brandon Thomas
2026-10-09 20:51:49 -04:00
8 changed files with 30 additions and 11 deletions
+3 -1
View File
@@ -1,5 +1,5 @@
//! Estimate the starting look of a raw without a camera colour matrix (Sony ARW, Nikon NEF, Panasonic
//! RW2, Fujifilm RAF, Canon CR3) from its own JPEG. Colour and luminance are fitted separately; the JPEG supplies correspondences only,
//! RW2, Fujifilm RAF, Canon CR2/CR3, Pentax PEF, Samsung SRW, Olympus ORF) from its own JPEG. Colour and luminance are fitted separately; the JPEG supplies correspondences only,
//! never output pixels or a replacement for RAW editing.
//! A global matrix can't follow the camera's hue-dependent rendering (the best matrix rendered a
//! lime shirt olive that the camera kept lime): a hue/saturation table fitted to the residuals
@@ -42,6 +42,7 @@ pub(crate) fn file_local_look(format: RawFormat) -> bool {
| RawFormat::Cr2
| RawFormat::Pef
| RawFormat::Srw
| RawFormat::Orf
)
}
@@ -1401,6 +1402,7 @@ mod tests {
RawFormat::Cr2,
RawFormat::Pef,
RawFormat::Srw,
RawFormat::Orf,
];
assert!(local.into_iter().all(file_local_look));
// DNG carries its own colour model
+1 -1
View File
@@ -62,7 +62,7 @@ impl SettingsHashes {
}
/// Bump when the pipeline's output changes, to invalidate cached thumbnails.
pub const RENDER_CACHE_VERSION: u64 = 29;
pub const RENDER_CACHE_VERSION: u64 = 30;
/// Thumbnails render at one of these long edges (so window/cell size changes reuse the cache).
pub const THUMB_SIZES: [usize; 4] = [128, 256, 384, 512];
+1 -1
View File
@@ -14,7 +14,7 @@ fn active_dev(s: &Session) -> lightcraft_develop::DevelopSettings {
fn changing_one_wb_control_resolves_as_shot_without_stale_tint() {
use lightcraft_catalog::{Photo, PhotoId, Source};
use lightcraft_develop::{DevelopSettings, WbMode};
for format in ["ARW", "NEF", "NRW", "RAF", "CR2", "PEF"] {
for format in ["ARW", "NEF", "NRW", "RAF", "CR2", "PEF", "ORF"] {
let mut s = demo();
let id = PhotoId(100);
let name = format!("synthetic.{format}");