id: camera_profile order: 25 # A `rust:` node publishes its own descriptor; its attributes are on the type # in `../src/ops/camera_profile.rs`. rust: CameraProfile why_rust: | It reads the source's profile tables from a storage buffer no declaration can name, and it is composed at its defaults — a raw whose profile is on is rendered through it without the photographer having touched anything — which a declared node cannot say (D20). placement: | After exposure, before contrast (D20, camera-profiles.md §3). Hue and saturation do not change under the uniform gains before it, so a 2.5-D HueSatMap gives the same answer here as straight after the matrix; and the LookTable sees the exposure the photographer chose, as the DNG SDK's does. Contrast, tone and the colour controls then act on the profiled colour, as they do in Camera Raw.