Skip to content

Questions about ACES transformIds, versioning, and release strategy #10

@c-clark

Description

@c-clark

ACES transformIds and versioning:

Context
In the last months new CSC transforms have been published on https://github.com/aces-aswf/ , for example, Leica L-Log (Nov 2025) and Apple Log 2 (Feb 2026).
Customers and partners are approaching Pomfort with the question if we can support these transforms.

Situation
The ACES main git repo at https://github.com/aces-aswf/aces has a transforms.json file, that is said to be "the truth".
The submodule "aces-input-and-colorspace" has commits with the new transforms, but these are mixed with changes in transformIds of existing CSC transforms:

  • a2bc3b (Nov 2026): Update transform IDs for CSCs that were not updated to the 'a2' token [transformId change]
  • 0d162e (Nov 2026): Add CSCs for Leica L-Log [new transform]
  • d2e909 (Feb 2026): Reorganize Sony transforms [rename of CTL files]
  • 2331f7 (Feb 2026): Add CSCs for Apple Log 2 [BOTH new transform AND transformId change of existing Apple Log transform]

All these commits are on the main branch of the "aces-input-and-colorspace" repo.
None of these commits are referenced by the mainbranch of the "aces" repo, and not included in the transforms.json

Questions

  1. How shall we provide customers with latest additions to the "aces-input-and-colorspace" repo?

Breaking changes like renamed transformIds are mixed with new transforms in the same main branch, sometimes in the same commit (e.g. 2331f7). Currently the only way is manually judging which of the added transforms are "ready" and manually porting the CTLs and transformIds to our implementation.
As the AMF implementation guide states ...

When creating or parsing an AMF, software should validate transformId's against this registry. If a transformId is not found in the registry, it should be treated as a custom or unknown transform....

which would require such "new" (added in the last 4 months) transforms to be only recognized as "custom" transforms - without any strategy for interoperability.

  1. How is the general release strategy?

Breaking changes like renamed transformIds require dedicated release events. With the introduction of the transforms.json even adding transforms now requires a release.
The AMF implementation guide doesn't mention how the previousEquivalentTransformIds tag in transform.json should be treated – presumably to mitigate the issues created with renamed transformIds. Do we need to implement that as a vendor reading AMF? Does this mean users can load AMFs with transforms mixed from different ACES versions if they appear in the previousEquivalentTransformIds? Can we trust that entries in previousEquivalentTransformIds are mathematically equal transforms?

Metadata

Metadata

Assignees

No one assigned

    Labels

    questionFurther information is requested
    No fields configured for Feature.

    Projects

    Status
    Now
    Status
    Todo

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions