Minutes from 134-th OpenVDB TSC meeting, May 24th, 2022.

Attendees: *Jeff* L., *Nick* A, *Dan* B., *Ken* M., *Andre* P., *Rich* J.

Additional Attendees: Bruce Chernia (Intel), J. T. Nelson (Blender),
Karl Marrett (UCLA)

Regrets: None

Agenda:

1) Confirm quorum
2) Secretary
3) Forum
4) Wolfram Meeting
5) VFX Reference Platform
6) 9.1 Release
7) Shared_ptr API
8) RootNodeMask
9) CSG Feature Flag
10) Point Replicate
11) Next Meeting


--------------------

1) Confirm quorum

Quorum is present.

2) Secretary

Secretary is Dan Bailey.

3) Forum

a) MIME

Follow up on MIME qs. Nick suggested we contact the organization directly. Ken
to look into this.

b) File/Stream API

File and stream APIs do not match grid orders. In the case of the file API, the
order is name instead of stream position. This should be addressed, but cannot
change behavior in file API to do so. Dan proposes a new getAllGrids() method
that we can add to both file and stream API and then mark the incorrect file
API method as deprecated. Andre to look into this.

c) No triangles on VolumeToMesh API

VolumeToMesh API only outputs triangles when adaptivity is enabled, however the
API does not make this clear and this has resulted in some confusion as both
quad and triangle arrays are required as an input by this method. Suggestion is
to simply extend the documentation to make this behavior clear.

4) Wolfram Meeting

Greg, Nick and Ken met with Wolfram and ASWF. Greg gave a brief demo and
explained the intent of the contribution. Primary discussion was around
licensing - Wolfram have granted permission to use Mathematica in CI, ASWF
legal to review and get back to us on this (expectation is before VDB 10.x in
Sep/Oct).

5) VFX Reference Platform

Draft proposal for 2023 has been released. Small quibble around the language.
Currently OpenVDB is slated as 9.x (unless 10.x is released before end of
October). TSC would prefer that the default is 10.x (9.x if not released before
end of October). Jeff to reach out to VFX Reference Committee.

6) 9.1 Release

31st May deadline, Rich to do the release. Confirm during next TSC meeting.

PDB issue and frustum rasterization outstanding.

7) Shared_ptr API

Proposal from Nick about migrating away from an API based heavily on shared
pointers in favour of unique pointers. Unique pointers can be trivially
converted into shared pointers, but the reverse is not true.

No firm decision, but general agreement on this being worth pursuing. Other APIs
introduce the concept of a UPtr to mean unique pointer that would differentiate
from our use of Ptr to typically mean shared pointer. Hardest part of this is
what to do with the create methods that return a shared pointer by default as
this will break the API. Could treat 10.0 as a good point to make this change
or to add additional unique pointer methods and deprecate the old ones.

8) RootNodeMask

Dan raised that there were a number of areas of the code that were not in active
use but primarily kept for backwards-compatibility. In particular, the
RootNodeMask offers a runtime defined size. To the best of our knowledge this
was only ever a feature in use at Dreamworks and has never actually ended up in
use in an official VDB release. Jeff to look at H12.0 and see if it was in use
there.

9) CSG Feature Flag

Jeff outlined his proposal and the recent changes. No objections to this feature
going in.

10) Point Replicate

Nick has introduced a new MR for a point replicate feature. It creates new
duplicate points over the top of existing points with intention being to be
moved into new positions by secondary functionality. Houdini uses VEX under the
hood to achieve their equivalent point replication. Jeff highlighted a few
features of the Houdini implementation that are worth considering, namely the
ability to vary the number of target points generated per source point and the
ability to add attributes denoting the source point of each target point and
the relative target point for each source point.

11) Next Meeting

Next meeting is on May 31st, 2022. 1pm-2pm EDT (GMT-4).
