2. Color interop IDs in 60 seconds

A color interop ID is a short, standardized string — lin_ap1_scene, srgb_rec709_display — published by the ASWF Color Interop Forum, that names a color space by what it is, not by what some config happens to call it. Files carry it (OpenEXR has the colorInteropID attribute); configs answer to it (as an alias, or on OpenColorIO 2.5+ as a declared interop_id). Two rules make it robust: IDs may be namespaced (vendor: prefixes, with a defined fallback that strips the leftmost namespace), and an ID that can’t be honored resolves to nothing rather than to a guess.

How config authors command behavior: one line — the aces_interchange role — anchors every space in a config for exact conversion and identification. Aliases matching the published IDs opt spaces into name-tier resolution on every OpenColorIO version. On 2.5+, a declared interop_id: wins outright.

ELI5 — what do we get out of this?

Every picture gets a name tag for its colors that every program reads the same way. Today, programs guess — and when they guess wrong, pictures come out washed out, too dark, or double-corrected, and nobody knows which program broke them. After this: read the tag if it’s there, figure it out from evidence if it isn’t (colors can be recognized by how they behave, so even ten-year-old projects get correct tags), never invent an answer that can’t be backed up, and write the tag so the next program doesn’t have to guess either. Old files work. Old configs work. New pipelines stop breaking at tool boundaries.