effectcraft/crates
bflatastic 492fa6de0a Effects: OCIO custom configs read Blender's v2 transforms and warn (#410)
Cause: the config reader didn't know ColorSpaceTransform or
ExponentWithLinearTransform and passed colours through them silently.
Blender's Linear Rec.709 -> sRGB therefore stayed in its E-white XYZ
reference space (the blue cast) without the sRGB curve. Display
colorspaces, view transforms, v2 views, looks, AllocationTransform,
BuiltinTransform and .spi1d / .spimtx files were missing too, and
nothing told the user.

Fix (from the OCIO v2 documentation and the CLF "moncurve", not OCIO's
source): ExponentWithLinear, ColorSpace, Look, DisplayView, Allocation
and Builtin transforms (identity, ACES AP0/AP1 matrices, ACEScct /
ACEScc, the sRGB / P3 / Rec.1886 / gamma / PQ displays). RangeTransform
now clamps and takes one-sided ranges. Display colorspaces meet the
scene reference through the default view transform. Added v2 views,
view looks, the looks section and .spi1d / .spi3d / .spimtx files. A
conversion is built once as a flat list of steps (Config::path /
display_path) for both the CPU effect and the GPU colour program (new
moncurve and clamp ops and the ACEScc curve; a program over the
kernel's 255 ops renders on the CPU). Named-transform resolution is
limited to 16 levels and 4096 steps, and YAML nesting to 64 levels, so
hostile or looping configs stop. Transforms that are still unsupported
(Grading Primary / Tone, ACES output, HLG…), unreadable configs and
unknown spaces are now reported: a warning under the effect in Effect
Controls, and the new effect.warning query.

Tests: ocio_config::blender_like_config_converts_linear_rec709_to_srgb
(CST, display colorspaces, v1 / v2 views, allocation, looks, builtin,
range, loops), moncurve_matches_srgb_and_inverts, builtin_styles,
yaml_nesting_is_bounded, ocio::spi_files_parse,
tests_effects::ocio_effect_warns_about_unsupported_config_transforms,
gpu tests_fx_lut::ocio_custom_config_v2 (GPU = CPU).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 23:57:12 +07:00
..
automation Text: text layers are always rasterised at their on-screen scale (#390) 2026-10-09 23:17:32 +07:00
av1enc G2: improve editing reliability and Windows rendering fidelity 2026-10-06 00:00:31 -05:00
color G2: improve editing reliability and Windows rendering fidelity 2026-10-06 00:00:31 -05:00
effects Effects: OCIO custom configs read Blender's v2 transforms and warn (#410) 2026-10-09 23:57:12 +07:00
engine Effects: OCIO custom configs read Blender's v2 transforms and warn (#410) 2026-10-09 23:57:12 +07:00
export Export: a Render Queue job renders every frame on the project's renderer (#414) 2026-10-09 22:26:17 +07:00
expr Merge pull request #6 from storybored379/pr/expr-runtime-stack-leak 2026-10-05 12:10:53 +07:00
geom Never crash: deny panic lints in the already-clean crates and apps 2026-10-04 14:52:39 -04:00
gpu Effects: OCIO custom configs read Blender's v2 transforms and warn (#410) 2026-10-09 23:57:12 +07:00
hevcenc Untrack crates/hevcenc/target (36 MB of build output) and ignore nested target/ 2026-10-06 15:02:20 -04:00
host Effects: EXtractoR picks layers and channels of multi-layer EXRs (#295) 2026-10-09 17:32:09 +07:00
interchange Never crash: reject timeline documents nested too deeply 2026-10-04 14:05:57 -04:00
keyframe Plug-ins: Ease Presets moves out of core into a bundled ScriptUI panel 2026-10-09 21:03:12 +07:00
lottie G2: improve editing reliability and Windows rendering fidelity 2026-10-06 00:00:31 -05:00
media Import: Interpret Footage ▸ Preserve RGB keeps the file's values (#411) 2026-10-09 23:57:12 +07:00
model G2: improve editing reliability and Windows rendering fidelity 2026-10-06 00:00:31 -05:00
opusenc G2: improve editing reliability and Windows rendering fidelity 2026-10-06 00:00:31 -05:00
path G2: improve editing reliability and Windows rendering fidelity 2026-10-06 00:00:31 -05:00
pdf G2: improve editing reliability and Windows rendering fidelity 2026-10-06 00:00:31 -05:00
plugin G2: improve editing reliability and Windows rendering fidelity 2026-10-06 00:00:31 -05:00
project Import: Interpret Footage ▸ Preserve RGB keeps the file's values (#411) 2026-10-09 23:57:12 +07:00
psd G2: improve editing reliability and Windows rendering fidelity 2026-10-06 00:00:31 -05:00
raster Effects: EXtractoR picks layers and channels of multi-layer EXRs (#295) 2026-10-09 17:32:09 +07:00
render Import: Interpret Footage ▸ Preserve RGB keeps the file's values (#411) 2026-10-09 23:57:12 +07:00
script Plug-ins: Ease Presets moves out of core into a bundled ScriptUI panel 2026-10-09 21:03:12 +07:00
segment Merge pull request #374 from storytold/fix/368-tflite-budgets 2026-10-09 09:25:24 -04:00
svg G2: improve editing reliability and Windows rendering fidelity 2026-10-06 00:00:31 -05:00
text Merge pull request #401 from dmatviichuk/i18n/ukrainian 2026-10-09 10:22:14 -04:00
time Never crash: Tick and timecode arithmetic can't overflow or divide by zero 2026-10-04 14:20:33 -04:00
track G2: improve editing reliability and Windows rendering fidelity 2026-10-06 00:00:31 -05:00
ui-egui Effects: OCIO custom configs read Blender's v2 transforms and warn (#410) 2026-10-09 23:57:12 +07:00
vp9enc VP9: frames never end in a byte that reads as a superframe marker (#161) 2026-10-07 14:15:33 +07:00