Minutes from OpenVDB TSC meeting, October 22nd, 2024

Attendees: *Jeff* L., *Ken* M., *Andre* P., *Dan* B., *Nick* A., *Greg* H.

Regrets: *Rich* J.

Additional Attendees:
John Mertic (Linux Foundation), J. T. Nelson (Blender), Dhruv Govil (Apple),
Jonathan Swartz (NVIDIA), Matthew Cong (NVIDIA), Francis Williams (NVIDIA)

Agenda:

1) Confirm quorum
2) Secretary
3) Re-licensing to Apache and CLA/CCLA
4) CI
5) Drop ABI-9 support
6) PR-1916
7) PR-1931
8) PR-1936
9) PR-1938
10) PR-1939
11) Half Grid Support PR
12) PR-1793 - Fillet in LevelSetFilter
13) PR-1794
14) Pip Install OpenVDB
15) PR-1935 - Create Tubes and Thickened Mesh
16) Next Meeting

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

1) Confirm quorum

Quorum is present.

2) Secretary

Secretary is Andre Pradhana.

3) Re-licensing to Apache and CLA/CCLA

The relicensing PR is merged. New contributions need to be licensed under
Apache, not SPDX.

Today the following companies have signed for the new CLA: United Therapeutics,
Lucas Film, SideFX, and NVIDIA. Weta is in the process. Apple does individual
CLA.

The process is that the old CLA will be taken out, documented for historic
purposes, and insert the new CLAs. New contributors need to sign the new CLA.
John Mertic needed approval from TSC members.

We had concern regarding TSC members who cannot contribute code because they are
blocked by CLA approval. We voted if we needed to delay CLA update. Five people
agree to go through with updating the CLA and relicensing for VDB 12. John got
the approval.

4) CI

Dan fixed Windows CI.

Weekly extra build has been upgraded to 2024 images now which uses LLVM 17. AX
was removed from this CI because of incompatibility.

NanoVDB CI is updated to use 2024 OS Image. Andre looked at it and approved.

5) Drop ABI-9 support

We are dropping ABI-9 support for VDB-12. This means we are now dropping C++11
and Python 3.7.

Most notably, this also changes the old deprecation policy so that we do not
need to maintain an older version of the ABI for an extra minor release.

6) [PR-1916](https://github.com/AcademySoftwareFoundation/openvdb/pull/1916)

Nanobind support for OpenVDB and NanoVDB has the correct approvals. Dan merged
it.

7) [PR-1931](https://github.com/AcademySoftwareFoundation/openvdb/pull/1931)

A few methods were made to be public (e.g. haskey()). It’s suggested to make
some of the APIs to be aligned with what’s in the Tree API.

Gave a motivation on the reason to add an API called deleteChildOrChild, which
gives one the ability to delete a child or coordinate that has a given
coordinate. A potential problem with the implementation detail of deleting an
element of a map is a case where one iterates through a map and deletes an entry
of the map, which invalidates the iterator itself. Needs good documentation,
e.g. calling this can invalidate child iterators.

There is a bug in RooNode setOrigin.

Ken will take a look.

8) [PR-1936](https://github.com/AcademySoftwareFoundation/openvdb/pull/1936)

Added const version of probeNode (for internal and root nodes) that didn’t exist
before. The API allows one to give the node type you want to probe and probe the
level below.

The internal node can probe based on a child, but also overloads to probe with a
child, a value, and an activate state.

The APIs have assert.

Ken will take a look.

9) [PR-1938](https://github.com/AcademySoftwareFoundation/openvdb/pull/1938)

Discussion about adding unsafe methods, e.g. getValueUnsafe, getChildUnsafe.

There was a concern: if a user deletes the word unsafe from the API call, will
the code still work? The answer is it depends on the implementation.

Assert are added into these methods, so debug build should help with debugging
with a debug build.

10) [PR-1939](https://github.com/AcademySoftwareFoundation/openvdb/pull/1939)

Added a more efficient implementation in RootNode constructor by calling emplace
method in the table.

Ken will take a look.

11) Half Grid Support PR

Andre and Greg will meet. We will create a feature/half_grid_branch and work
from there.

12) [PR-1793](https://github.com/AcademySoftwareFoundation/openvdb/pull/1793) - Fillet in LevelSetFilter

This PR is for VDB-12.

13) [PR-1794](https://github.com/AcademySoftwareFoundation/openvdb/pull/1794)

This PR is for VDB-12.

14) Pip Install OpenVDB

Matthew will try to get pip install for Python for VDB-12.

15) [PR-1935](https://github.com/AcademySoftwareFoundation/openvdb/pull/1935) - Create Tubes and Thickened Mesh

Discussed replacing the word thickened to dilate. Another suggestion along the
line of the term “alpha shape”.

16) Next Meeting

Next meeting is on October 29th, 2024. 2pm-3pm EDT (GMT-4).

