Minutes from OpenVDB TSC meeting, October 29th, 2024

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

Additional Attendees: Dhruv Govil (Apple), Mathew Cong (NVIDIA),
Jonathan Swartz (NVIDIA)

Regrets: *Richard* J.

Agenda:

1) Confirm quorum
2) Secretary
3) Meeting Times
4) OpenVDB 12 PRs
5) 12 Release
6) Next Meeting

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

1) Confirm quorum

Quorum is present.

2) Secretary

Secretary is Jeff Lait.

3) Meeting Times

Do we alternate meeting times to get better universal times?

We've lacked agenda so it is unclear if you need to show up or not.  

We need to be better at uploading meeting notes.

In the winter, 8am works in NZ.  We should figure out a better schedule for the summer.  Either a new day or alternate days.

We are able to sync and update the calendar now!

We should start the call for agenda items again.

Next weeks meeting we should each know what days don't work for this
time slot, so we can see if a non-Tuesday will work.

4) OpenVDB 12 PRs


a) PR1936, 1938, 1939

Feedback addressed, ready to go.

b) 1951

Awaiting on NVidia CLA.

c) 1941

Awaiting on NVidia CLA.

SKBuild is a bit of a mess.  This is from the featurevdb vs nanovdb branches.  Ideally only on SKBuild test?

d) 1952

Need to sudo make install.  Cleaned up old code.  Now falls back
rather than uses complicated logic.

Approved and ready.

e) 1954

Newest container complains about undefined behaviour, we should fix
eventually, but turn off so it passes.  We used to use a macro for
this, but it is believed __attribute__ is now supported by GCC.

Nick will investigate, might be failing on Windows.

f) 1794

Prevent integer overflow.

This is an ABI change.  Virtual functions now return different things.
Return type doesn't necessarily affect the mangle, but might affect the layout.

We add a nodeCount(std::vector<Index64>) rather than replace, and
deprecate the Index32 in new ABI.

The version that returns std::vector<Index32> needs both versions
switched according to the ABI type.

We should also switch nonLeafCount at the same time rather than
waiting for next 2^32 overflow.

g) 1935

Tube complex PR.  

Needs more unit tests.  ConvexVoxelizer uses GridT, but things are
cast to float internally? Is this a float only setup?  Should there be
static_asserts to early exit?  This was originally float only and
tried to make generic.  Passes shared pointer to grid, but holds
reference to a tree - should keep shared pointer to grid keep
lifetime guarantees.

Should this all be put into one header?  But these are separate functions.

Should ConvexVoxelizer be a private namespace?  Similar to Points api?
Ideally the user's entry ponit is a nicely documented header file.
Convex Voxelizer is meant to be a starting point for new types.  An
example for a level set sphere test is provided.

This should have its own unit test rather than adding to test tools.

This can wait for VDB 12.1.

h) Half grid feature branch

Vec3h - Vec3h doesn't work....  Still failing unit tests.

Not including means that .vdb files can't use this natively, as VDB12
compliant DCC will not necessarily have this type registered.

Requires too much for VDB12 release.

We need a placeholder PR so we remember to finish this.

i) 1821

PDAL support.  Missing unit tests.  Handles LIDAR style point formats.
Will be delayed until unit tests, can go in VDB12.1.

5) Release

Dan will do the release.  PRs need to be merged by the 30th.

6) Next Meeting

Agenda:  Dilation.  New TSC meeting day

Next Meeting 11-05-2024 at the same time.
