TSC Meeting Notes 2021-07-15
Attendance:
Agenda:
3.1 release
Monday?
documentation
comments style
Theory of Deep
Standard Optional Attributes
Open Source Days
soversion
fuzz testing new core
Rust
Key Dates for Review:
3.1 release early next week.
Discussion:
3.1 release. Any outstanding issues?
Kimball: only if there are other architectures we don’t know about, I’ve only tested on x86.
Larry: Seems fine, OIIO is working, tests don’t fail.
Larry: does the new core support all compression types? Kimball: DWAA, DWAB not there. Technically, the reading works, it’s the decoding that hasn’t been implemented. Can copy files, but can’t get to pixels. Needs a serious refactor. Not clear yet if that can be a patch into 3.1 or wait for 3.2.
Haven’t done all the packing side of deep.
Kimball: test harness does a cross-matrix, where the C++ writes files to test reading by the C and vice versa.
Kimball: 3.1 is a “tech preview,” lets people start to hook in.
Kimball: Later, we will have to discuss how to take on the underlayment of the C++ API. Might deserve a 4.0 release.
Fuzz testing:
Just need to hook the new core into the OSS fuzz configuration.
Peter: We have all the existing test cases, confirm it runs with those first.
Documentation:
Peter will look into converting “Theory of Deep Pixels” from tex to rst.
Open Source Days:
Cary will start a slide deck.
Kimball will discuss the new core.
Alban volunteered to repeat his presentation about spectral data, slides included.
Kimball: Hoping I can convince Jean-Marie, but the time is like 6am New Zealand time.
Rust:
Current proposal: hand rust bindings over to openexr project. Find a balance between making sure you have the support you need, while getting access to resources.
What license? OpenEXR’s license is BSD3. Rust is Apache2. But you know all the authors, you can track them down, relicense under BSD3.
How big is it? 31K lines.
Versioning and releases? Rev the rust bindings along with releases?
Rust: Have to figure out things like lifetime of objects, etc.
Anders: Personal preference: bake both the openexr version and rust crate version into one number. Will downstream rust users be confused by that?
Simplest thing: we just stick on 0.X, then we’re free to change whatever necessary. When we’re confident, just push to lock step version.
Peter: patches could be different. Patch number is C++ but rust has its own version.
Crates at https://crates.io. Some crates we own, some were donated by the rust community. Scott: I’m not on the crate as an owner.
Anders: A rust crate is a rust library.
Should nominate one of us for the TSC.
Also, need to authorize Scott and Anders as owners of the OpenEXR Rust crate. Will follow up with LF to give permission.
No rust bindings for Imath. There are also already a number of CG linear algebra crates. We didn’t feel like adding another contender. Depend on “Imath-traits”.