+
Skip to content

Add JSON to organize data about the transforms in each version tag #2

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 8 commits into from
Jul 17, 2025

Conversation

scottdyer
Copy link
Contributor

This adds a JSON manifest organized by version tag.

At creation, the tags included are ["v2.0.0+2025.04.04", "v1.3.1", "v1.3", "v1.2", "v1.1", "v1.0.3", "v1.0.2", "v1.0.1", "v.1.0"]

Prior to v2, all the permanent file urls are linked to aces-core (previously aces-dev). After 2.0, the transforms were broken into sub-repositories and the parent repo points to a specific commit in each of the sub-repositories. The script used to parse the v2 transforms pulls the SHA ID for each of

The general structure is:

{
  "v2.0.0+2025.04.04": {
    "systemVersion": {
      "majorVersion": 2,
      "minorVersion": 0,
      "patchVersion": 0,
      "packageDate": "2025.04.04"
    },
    "creationDateTime": "2025-06-09T01:22:18.062882Z",
    "transforms": [
      {
        "transformId": "urn:ampas:aces:transformId:v2.0:CSC.Academy.ACES_to_ACEScc.a2.v1",
        "userName": "ACES2065-1 to ACEScc",
        "transformType": "CSC",
        "equivalentTransformIds": [
          "urn:ampas:aces:transformId:v1.5:ACEScsc.Academy.ACES_to_ACEScc.a1.0.3",
          "ACEScsc.ACES_to_ACEScc.a1.0.3",
          "ACEScsc.ACEScc_to_ACES.a1.0.1",
          "ACEScsc.ACEScc_to_ACES.a1.0.0"
        ],
        "inverseTransformId": "urn:ampas:aces:transformId:v2.0:CSC.Academy.ACEScc_to_ACES.a2.v1",
        "file": "https://raw.githubusercontent.com/ampas/aces-input-and-colorspaces/cc60becf11534f2a40df00a281f47e95412d0599/ACEScc/CSC.Academy.ACES_to_ACEScc.ctl"
      }, ... 
    ]
  },
  "v1.3.1": { ...
  },
  "v1.3": { ...
  }, ...
}

@KelSolaar
Copy link

Good stuff and great to this see coming!

I would also like to see a schemaVersion attribute so that we can version this up for future updates. This would force having everything nested under a new field, for example:

{
    "schemaVersion": "1.0.0",
    "transformsData" : {
        "v2.0.0+2025.04.04" : { ...
        },
        "v1.3.1": { ...
        },
        "v1.3": { ...
        }, ...
    }
}

Not attached to transformsData, only given as an example!

Another minor annoyance I have is with the file field that is actually a url. Could it be something along the lines of transformUrl rather? At least people know that it should always be of url type.

@KelSolaar
Copy link

LGTM!

@reinecke
Copy link

reinecke commented Jun 13, 2025

Thinking about the equivalentTransformIds field - I think semantically we're thinking of it as a field for a transform saying "This transformId is equivalent to and supersedes any usage of the transforms in equivalentTransformIds".

So I think making this field only include transform IDs from releases previous (and maybe even some IDs we've spotted "in the wild" where an official ID should be used) lines up with that. One thing is that since all these things exist in a file that contains all the releases and the precedence of bidirectional linking inverseTransformId establishes, it could be quite confusing - especially for new people coming in when the URNs settle down a bit and this problem of multiple IDs for the same thing becomes less of an issue.

It might make sense to use a name that makes the semantic meaning a bit more explicit - something like supersededEquivalentTransformIds or deprecatedEquivalentTransformIds. Those convey a bit more that for that particular ACES version any of those transform IDs should be upgraded to transformID and can be done so without risk of impacting the color pipeline's integrity.

@scottdyer scottdyer merged commit 101f126 into ampas:main Jul 17, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants
点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载