Skip to content

Commit 0aaec5e

Browse files
michdolanhodoulp
andauthored
Add Config working group notes for 12-15-2020 (#1238)
Signed-off-by: Michael Dolan <michdolan@gmail.com> Co-authored-by: Patrick Hodoul <patrick.hodoul@autodesk.com>
1 parent ebebc25 commit 0aaec5e

File tree

1 file changed

+184
-0
lines changed

1 file changed

+184
-0
lines changed
Lines changed: 184 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,184 @@
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

Comments
 (0)