Minutes from 56th OpenVDB TSC meeting, July 14th, 2020, (GMT)

Attendees: *Nick* A., *Jeff* L., *Ken* M., *Dan* B.

Additional Attendees: Johannes Meng (Intel), JT Nelson (Blender),
Peter Cheng (DW), Andre Pradhana (DW)

Regrets: *Peter* C.

Agenda:

1) Confirm quorum
2) Secretary
3) Forum Issues
4) Siggraph
5) Fast Sweeping
6) Morphology Improvements
7) Next meeting


1) Quorum was confirmed.

2) Secretary was Dan Bailey

3) Forum Issues

User running into issues with Centos8 compilation, should have been fixed in
later release of OpenVDB. Nick to suggest using CMake >= 3.12 to resolve
subsequent Python3 issue.

There is an unrelated issue that Ken and Nick have run into attempting to use
Mac OSX Catalina and a later Clang compiler(?) which manifests as a deprecation
warning about a random number generator. Currently, our CI only tests one
configuration on Mac which doesn't expose this error. More investigation needed.

4) Siggraph

Have to decide between a 25 minute and 55 minute session. Our preference is for
the free user event instead of the official Siggraph birds of a feather event
which requires a paid registration.

Discussion about what the target audience is for such an event. Decision to opt
for 55 minute session split into two - the first half an introductory overview
of the library for new users and how to start contributing, the second half a
more advanced session. Ken feels the most useful for us is the discussion with
the community so would rather dedicate the advanced session entirely to this.
Jeff mentioned that we should at least present a quick overview of new and
upcoming features first. Dan likely not able to present due to being on an
unreliable internet connection for this session.

Question about how well the ASWF format will lend itself to a group discussion
rather than being geared towards presentations from the TSC. Ken to reach out to
ASWF to ask about what we can do here to improve our ability to hear from the
community. Dan mentioned that David Morin frequently uses a poll to allow the
audience to pose questions and upvote on other questions asked by the audience,
this could be a good way to direct the discussion towards the areas of most
interest.

Need to put together title slides.

5) Fast Sweeping

What to do when the algorithm fails. Jeff highlighted a number of cases where
not having a zero crossing for a level set should be acceptable. One such
example is disconnected level set regions arising from a fluid simulation. The
algorithm shouldn't generate an exception in this case because it's not an
exceptional case. Ken to revisit this.

Andre still awaiting DWA approval for the Extrapolate SOP, hoping to push up a
PR soon.

Dan and Ken to discuss voxel slicing optimization offline.

6) Morphology Improvements

Currently, a topology union gives different results dependent on whether the
serial or parallel algorithm is used. Nick submitted PR751 to add a
preserveActiveTiles flag to Tree::topologyUnion() to avoid always densifying
active tiles. No objections to doing this. It is acceptable to treat this as a
bug and to change the existing behavior, especially as the documentation does
not mention tile behavior.

Nick also has improvements to dilation and erosion in PR754. Aim is to deprecate
the existing dilateVoxels and erodeVoxel methods with new functions that provide
a more uniform interface and support matching functionality. Adds support for
edge/vertex erosion based on inverse dilation. Significant performance
improvements to large dilations. Note that the result of the threaded dilation
differs due to the behaviour of topologyUnion (as discussed above). This PR also
fixes a bug where tools::erodeVoxels() always calls pruneLevelSet() regardless
of whether the input is a level set.

7) Next meeting

July 21st, 2020. 1pm-2pm EDT (GMT-4).
