mirror of
https://github.com/storytold/filmcraft.git
synced 2026-10-31 21:47:02 -06:00
- model: SequenceSettings::color (ColorPipeline: working space, wide gamut, Auto Tone Map Media; serde default Rec. 709) and Interpretation::color_space (override; None = metadata) - render::colorman: source colour space from the override or VUI/colr/MKV metadata, decode tables (camera log with super-whites, PQ, HLG + OOTF), gamut matrix, tone mapping into SDR working spaces, gamut mapping; working → SDR monitor transform at the top level (RenderOptions::working_output keeps working values for HDR export and scopes). Plain Rec. 709 media in a Rec. 709 sequence keeps the old fast path and stays on the GPU; managed layers and HDR/wide-gamut sequences composite on the CPU - export: H.264 and ProRes of a PQ/HLG sequence encode BT.2020 PQ/HLG and signal it: VUI / ProRes header, colr (nclx/nclc), and for PQ mdcv + clli boxes and H.264 SEI (payloadTypes 137/144); `sdr: true` (and render previews) export tone-mapped SDR. isobmff reads/writes mdcv and clli - commands: sequence.colorSettings (Sequence ▸ Color Management…), clip.interpretFootage (Clip ▸ Modify ▸ Interpret Footage…, Project panel context menu), color.spaces, media.colorInfo; dialogs with automation ids colorDialog.* - scopes: HDR sequences show a cd/m² waveform on a PQ scale (203 marked) and a BT.2020 vectorscope from the working-space render (scopes.hdrWaveform) - display-referred wide-gamut input is desaturated into gamut keeping in-gamut colours exactly; the soft compression is reserved for camera gamuts - tests: colorman unit tests, engine (interpret/undo, PQ working space values and display), goldens log_to_rec709 and hdr_tone_map (own renders + sidecars), export PQ/HLG × ProRes/H.264 read back by our demuxer and ffprobe (color_transfer/primaries/space, mastering display and content light side data), headless UI (dialogs, HDR scopes) - docs: architecture §5.2 (pipeline, HDR export, display colour management: no macOS EDR yet) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>