Minutes from 42nd OpenVDB TSC meeting, Match 5th, 2020, (GMT)

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

Additional Attendees: Bruce Chernia (Intel), Johannes Meng (Intel), JT Nelson (Blender)

Regrets: *Peter* C.

Agenda:

1) Confirm quorum
2) Secretary
3) Release notes build section
4) Update on Windows changes
5) Houdini -> VDB voxel size conversion
6) CI and Github Actions
7) LevelSet Tracking
8) Active value deep copy
9) Volume Advection grain size and topology options
10) Next meeting

1) Quorum was confirmed.

2) Secretary was Nick Avramoussis

3) Release notes build section

Proposal to separate out the build related release notes from the other
release note sub-headings. It was noted that these notes have changed
already in the past to adapt to new formatting being needed. Unanimous
consensus, with the addition to additionally include any large changes
in the highlights section. Nick to reformat the current release notes.

4) Update on Windows changes

Nick has been looking through the Windows build and attempting to
resolve various issues that have been raised. The following issues in
particular are currently being addressed:
  #627, #624, #620, #611, #603
Main issues with the windows build continues to be the ability to
support the both the Release and Debug builds in a single configuration
as well as the both static and shared builds. vdb_view continues to be
unsupported, but the work required to fix it is minimal. Ken to connect
Nick to community who have reached out expressing desire to help improve
the windows builds.

5) Houdini -> VDB voxel size conversion

Nick has reported an issue to SideFX regarding conversion of Houdini DOP
volumes to SOPs and subsequently to VDB volumes. The issue that
manifests is that a volume which is intrinsically uniform in terms of
its voxel size components can end up being represented as a non uniform
scale map when converted to VDB. This can stop various optimizations
from being performed further down the line and can additionally cause
unnecessary re-sampling operations to occur. Jeff explained that Houdini
volumes to not have an explicit representation of their voxel size.
Instead, The voxel size of a Houdini volume is inferred from its
transform projected onto a canonical unit cube. This can cause floating
point differences to manifest when this value is calculated per
component and presented to the user, as well during conversion to VDB.
Nick mentioned that an ideal solution would be to be able to query some
intrinsic details from the Houdini Volume's configuration and use this
information to determine whether checks should be made on the final
voxel size computations to ensure they are all equal. Jeff mentioned
that Houdini Volumes currently contain no such information and instead
proposed that a clamp can instead be used to ensure components match to
a given tolerance. Note that whilst this problem originally focused on
improving the conversion from Houdini->VDB, this issue could also be
addressed by improving the comparisons between various VDB Map types.
Nick to verify that the example provided to SideFX exhibits the above
behaviour.

6) CI and GitHub Actions

Dan has put a request in to the LF to disable appveyor and instead
switch to github actions for our CI. Additional discussion around the
new develop branch system. Jeff and Dan have both been caught out by
having to switch the target branch to Master for TSC PRs. Nick suggested
that we all should instead be merging into develop. Dan proposed an ad
hoc target branch to instead be created for PRs which require additional
changes from the TSC (coined "develop on demand"). Jeff, Ken and Dan
voted in favour of this system vs maintaining a develop and master
branch, with the condition a test is first demonstrated on an existing
PR.

7) LevelSet Tracking
8) Active value deep copy
9) Volume Advection grain size and topology options

Time

10) Additional Discussion

Proposal to make IlmBase/OpenEXR optional currently in review but needs
more changes. Questions were raised on why this would be useful, however
various users of VDB seem to not require the writing and reading of half
grids. Ultimately this further progresses the ability to build VDB with
less enforced dependencies and makes it easier to build for users who do
not need Half support.

11) Next meeting

March 12th 2020. 2pm-3pm EDT (GMT-4).

