TSC Meeting Notes 2021-07-15

Attendance:

Cary Phillips
Christina Tempelaar-Leitz
John Mertic
Joseph Goldstone
Kimball Thurston
Larry Gritz
Nick Porcino
Peter Hillman
Rod Bogart
Scott Wilson
Anders Langlands

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”.