|
| 1 | +<!-- SPDX-License-Identifier: CC-BY-4.0 --> |
| 2 | +<!-- Copyright Contributors to the OpenColorIO Project. --> |
| 3 | + |
| 4 | +December 15, 2020 |
| 5 | + |
| 6 | +Host: Michael Dolan |
| 7 | + |
| 8 | +Attendees: |
| 9 | + * [X] Mark Boorer (_TSC_) - Industrial Light & Magic |
| 10 | + * [X] Michael Dolan (_TSC Chair_) - Epic Games |
| 11 | + * [X] Carol Payne (_TSC_) - Netflix |
| 12 | + * [X] Doug Walker (_TSC Chief Architect_) - Autodesk |
| 13 | + * [X] Matthias Scharfenberg - Industrial Light & Magic |
| 14 | + * [X] Dennis Adams - Sony |
| 15 | + * [X] Thomas Mansencal - Weta Digital |
| 16 | + * [X] Christophe Brejon |
| 17 | + * [X] Zach Lewis - Method |
| 18 | + * [X] J Schulte - Industrial Light & Magic |
| 19 | + * [X] Scott Dyer - A.M.P.A.S. |
| 20 | + |
| 21 | +# **OCIO Configs Working Group Meeting Notes** |
| 22 | + |
| 23 | +* Continue spreadsheet discussion. Update from ACES: |
| 24 | + - Michael: Would like to shift this meeting one week forward in the new |
| 25 | + year as it currently conflicts with a SMPTE meeting Scott attends. |
| 26 | + Any objections? |
| 27 | + - No objections. |
| 28 | + - Michael: Scott shared his opinion via email that he thinks we could omit |
| 29 | + ACESproxy and DCDM ODTs from the reference config. Can discuss with him |
| 30 | + further in new year to make a formal decision. |
| 31 | + - Carol: No problem with that. |
| 32 | + - Doug: No objection. Think it's better to track what Academy is doing and |
| 33 | + remove if it matches what they are doing. Some we may need to preempt for |
| 34 | + practical reasons. |
| 35 | + - Zach: Is there a way to deprecate? |
| 36 | + - Michael: Deprecation is supported with inactive color spaces and the |
| 37 | + upcoming alias feature (for deprecated names). |
| 38 | + - Mark: Since they are not currently there, would be better to not |
| 39 | + implement. |
| 40 | + - Doug: Agree. |
| 41 | + - Mark: Depends what mean by deprecating. Doesn't work any more? Think we |
| 42 | + would follow typical OCIO patch notes saying this doesn't exist anymore |
| 43 | + and add ociocheck warnings. |
| 44 | + - Thomas: Deprecate is not removal. Warn in prior release. We're talking |
| 45 | + about removal without warning. |
| 46 | + - Mark: If we were to deprecate a BuiltinTransform, would likely be over |
| 47 | + multiple versions. |
| 48 | + |
| 49 | +* Conclude discussion about whether to generate config from graph code |
| 50 | + currently in repo, or to have a separate library which explicitly builds |
| 51 | + config, using the graph lib to validate: |
| 52 | + - Michael: Discussing whether we should stay on course with current config |
| 53 | + generation code, or use that for validation and have separate more |
| 54 | + concise script just for config generation. |
| 55 | + - Mark: Nothing wrong with usefulness of this code, but as someone involved |
| 56 | + with setting up configs, found it hard to approach current setup and to |
| 57 | + make changes. It does so many other things than generate the config. Can |
| 58 | + get stats, build graph, etc. I previously showed simpler version I |
| 59 | + created that just builds config. Discussed mapping needed between CTL and |
| 60 | + what we wanted color spaces to be called, and the intermediate color space |
| 61 | + that doesn't exist. Sounds like there are more exceptions to the rule |
| 62 | + than just following CTL. Think we would be better hand rolling config |
| 63 | + code. |
| 64 | + - Carol: With the display spaces, we're getting to place with mapping where |
| 65 | + we have to do it ourselves anyway. Once fixed on ACES side, would manual |
| 66 | + intervention lessen? |
| 67 | + - Mark: Two PRs for URNs that mismatch. Each of our code has chunk to |
| 68 | + handle the misnaming. Don't think those are dominant parts of the problem. |
| 69 | + Different problem with needing to tease apart ODTs. |
| 70 | + - Zach: Not going to avoid mapping one way or other. |
| 71 | + - Mark: Nice aspects to tracking CTL. Comment strings make good docstrings, |
| 72 | + but one of the big UX decisions is in regard to how those are formatted |
| 73 | + since some are long and can't be displayed easily in apps. Should we lead |
| 74 | + the way and lessen those? Feel our intent would be clearer expressed, |
| 75 | + even with risk of drifting. Should present ACES workflow in OCIO way. |
| 76 | + - Michael: Think we could use the current lib to support generating |
| 77 | + config in smaller script. Find a middle ground between both approaches. |
| 78 | + - Thomas: That's what it currently is essentially. CTL discovery code |
| 79 | + builds list of transforms, can be used directly, which is similar to what |
| 80 | + Mark did. Graph built on top of that, used to fit config generation code. |
| 81 | + Config code is agnostic. Just gets input from graph. Nothing says graph |
| 82 | + needs to be used. I think there is value in getting that info from CTL. |
| 83 | + Can highlight issues which wouldn't be discovered otherwise. What is |
| 84 | + being used to maintain current config. As current maintainer, it |
| 85 | + is useful. When switched from 1.0 to 1.1, was easy to see what was |
| 86 | + missing. Is complex, but can also look at complexity and reduce where |
| 87 | + needed and make it easier. Don't have strong opinion. Can go in another |
| 88 | + way. Just need to know to not waste time maintaining code that won't be |
| 89 | + used. |
| 90 | + - Carol: Think there's an overarching thing with OCIO way of doing stuff. |
| 91 | + A partnership aspect of this between OCIO and ACES that should be |
| 92 | + improved. Mark's points are valid. Hard to translate between projects. |
| 93 | + Think if this is going to be ACES reference config, have responsibility |
| 94 | + to link to CTL, to keep us accountable. |
| 95 | + - Thomas: Agree. When started to work on automated generation, idea was to |
| 96 | + have something Scott and Alex could run automatically. Could be useful |
| 97 | + for them to check stuff on their end. |
| 98 | + - Carol: Thinking too with comments, this is ACES reference config so can |
| 99 | + be more verbose. Can make descriptions for a more well rounded studio |
| 100 | + config. |
| 101 | + - Thomas: To that, could be something in CTL itself, front facing (one |
| 102 | + liner) user comments. Maybe some roads to be made here, and CTL can help |
| 103 | + us do that work. |
| 104 | + - Mark: I'll push my simplified version in a PR so you can see what I was |
| 105 | + looking for. At this point it's doing same thing. Just less code. There's |
| 106 | + a disconnect between CTL and OCIO. We aren't using the CTL in OCIO, but |
| 107 | + re-implementing transforms ourselves. Get the desire to strengthen link |
| 108 | + between projects, but feel the relationship goes opposite direction too, |
| 109 | + with many using ACES through OCIO. |
| 110 | + - Doug: Because of Thomas experience maintaining existing configs, has |
| 111 | + learned how challenging it is to maintain. At each update may not be |
| 112 | + obvious what has changed. What has been produced is complex, but it does |
| 113 | + try to solve this problem with how to keep in sync with something with |
| 114 | + many moving parts. Certainly not a unique problem for OCIO. All ACES |
| 115 | + product partners face same problem. Every time there's a new ACES release |
| 116 | + takes days to go through and make sure the transforms are implemented |
| 117 | + correctly. Everyone is re-implementing it vs. using CTL directly. It |
| 118 | + would be nice to give feedback to Academy to make it easier to do what |
| 119 | + we're trying to do since we're not the only ones. |
| 120 | + - Michael: Since we will also need to use this to generate the studio |
| 121 | + config, which will include much more than just ACES, more argument to |
| 122 | + leverage this code as library supporting config generation. Then both |
| 123 | + scripts can use it as needed and for validation. |
| 124 | + - Thomas: Agree to find middle ground. We can raise exception when we don't |
| 125 | + have things mapped. Want library because I'm planning to use it, and hope |
| 126 | + others too. Can become tools to not only generate ACES config, but other |
| 127 | + configs too. |
| 128 | + - Mark: For ACES config, all the guts are builtin transforms being chained |
| 129 | + together. Just need to write YAML file in correct order. |
| 130 | + - Carol: If we are thinking future extensible, good to start out well. |
| 131 | + - Thomas: Needs to be something we can test. Advantage on a show is if |
| 132 | + something is broken you change it, but here we're talking about |
| 133 | + something being shipped in software. It needs to work. When I did |
| 134 | + transition between 1.0 and 1.1, took ages because a mistake will effect |
| 135 | + everybody. When Nuke ships with this, it's a big difference. Internal and |
| 136 | + public software different jobs. |
| 137 | + - Mark: Discussions around entry points for building ACES config vs config |
| 138 | + library different. Would have had other discussions around creating the |
| 139 | + lib. That's my concern. Not putting down current work. There is massive |
| 140 | + ramifications for doing it wrong, so that's important and I appreciate |
| 141 | + what's there. |
| 142 | + - Thomas: Understand. Maybe I can do a write up on current state and idea. |
| 143 | + - Zach: Raise interesting question. Do we want to have mechanism for |
| 144 | + testing against ctlrender, etc? |
| 145 | + - Thomas: Yes, planning to do that. |
| 146 | + - Michael: Thomas set up GHA CI so we can test against images, etc. |
| 147 | + - Thomas: Not implemented yet, but where I want to go. Don't think we can |
| 148 | + do less than current config. Need to confirm implementation is matching. |
| 149 | + - Doug: Think this will be very helpful to ACES project. Already flagged |
| 150 | + issues with Transform IDs. As we get it, we'll likely find differences |
| 151 | + with CTL and reference images. |
| 152 | + |
| 153 | +* Talk about dev workflow, it is a bit painful atm: |
| 154 | + - https://github.com/AcademySoftwareFoundation/OpenColorIO-Config-ACES/pull/9#issuecomment-735352837 |
| 155 | + - Thomas: Annoyance currently is we're not using gitflow. Currently one |
| 156 | + main branch. When merging and squashing, get diverging history |
| 157 | + because of other in-progress work. If you have two feature branches, if |
| 158 | + you squash one, need to rebase. |
| 159 | + - Michael: Same setup we have for core OCIO. Messy if people have many |
| 160 | + commits, which is why we enforce squashing. |
| 161 | + - Thomas: Can ask people to be cleaner. We tend to rebase on develop before |
| 162 | + merging. Can ask people to squash on their own. Makes it easier to revert |
| 163 | + changes. |
| 164 | + - Mark: Think we expect most dev work to happen on forks, and for changes |
| 165 | + to come in as PRs, vs. feature branches pushed to repo. |
| 166 | + - Thomas: Yeah, that's what is happening. Look at PR #9. Can talk on Slack. |
| 167 | + - Michael: Gitflow can get complex. OpenEXR is doing something in the |
| 168 | + middle, with a develop and main branch. We could do something like that. |
| 169 | + - Thomas: Mostly talking about main/develop. Not full gitflow. Two branches. |
| 170 | + Suggested same to Academy. |
| 171 | + |
| 172 | +* Talk about what we can do with the incorrectly named ACEStransformID as I |
| 173 | + have the feeling we won’t get a resolution from the AMPAS soon: |
| 174 | + - Scott: Working to get issues resolved with our repo. Fixes in dev branch |
| 175 | + not integrated yet. |
| 176 | + |
| 177 | +* Fully fledged display spaces, it was agreed here on Slack, but maybe we can |
| 178 | + make it official: |
| 179 | + - Thomas: Doug agreed in slides that the way the transforms were broken up |
| 180 | + could be simplified to have single transform instead of group transform. |
| 181 | + - Doug: Agree. Adding BuiltinTransforms in current PR. |
| 182 | + |
| 183 | +* Items for next TSC meeting agenda: |
| 184 | + - Further discuss spreadsheet questions with Scott. |
0 commit comments