D19 retired the per-body base curve, moved the matrix ahead of the edits and the film into the view transform's place, but a dozen doc comments still listed the curve among what a pixel passes through, or said the film skipped it. The detail stage's module doc still drew the matrix after the edits and the last detail pass encoding, which the view pass took over. The film crate's README gave the base curves as its reason for being data, and the ops README's list of hand-written nodes had neither the view transform nor three of the five kernels. FR-MRG-2 gave the base curve as why the merge cuts below the profile; the view transform is why now. The decision table still said colour defaults were a per-body curve, and FR-DEV-3j said only the default view transform skips a JPEG, where the node skips one whatever its sliders say. frame-budget.md records the view pass as unmeasured.
28 lines
1.4 KiB
YAML
28 lines
1.4 KiB
YAML
id: film_sim
|
|
order: 190
|
|
# What this node is *about* is not written here, and cannot be: a `rust:` node
|
|
# publishes its own descriptor, so `attributes:` in this file would be read,
|
|
# validated and then ignored. See `Attribute::Effect` on `FilmSim`'s descriptor
|
|
# in `../src/ops/film_sim.rs`.
|
|
rust: FilmSim
|
|
|
|
why_rust: |
|
|
It carries a stock's measured tables — an exposure matrix, three
|
|
characteristic curves and a density lookup — which are not parameters and
|
|
which no `uniforms:` expression could produce. Its neutral is "no stock
|
|
loaded" rather than a set of values, and it is the one node that declares
|
|
`Operation::renders`, so while a stock is loaded the composer emits it in
|
|
the view transform's place instead of the default sigmoid.
|
|
|
|
placement: |
|
|
Last, in the view transform's place (D19, FR-DEV-3j), after every other
|
|
operation and after the detail stage.
|
|
|
|
Before D19 it sat at order 25, after white balance and exposure, and every
|
|
decision below it acted on the film's output, as though the frame had been
|
|
scanned and then worked on. That put a display-referred rendering in the
|
|
middle of the chain, which is what D19 removes: every operation is now handed
|
|
the scene, and the film is the last thing that happens to the picture — an
|
|
edit is a decision about the exposure the negative receives. `Stage::View`
|
|
is what puts it there; this number only places it in the panel's order.
|