Minutes from 16th OpenVDB TSC meeting, May 9, 2019

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

Additional Attendees: Bruce Chernia (Intel), John Mertic (LF)

Agenda:

1) Confirmation of quorum
2) Selection of secretary
3) 6.1 release
4) Plans for next release
5) Siggraph Course
6) CI Update
7) SOP OpHiding - OVDB-64 / PR404
8) Schedule next meeting

1) A quorum was confirmed

2) Secretary - Dan Bailey

3) 6.1 Release

Peter has completed the 6.1.0 release, Ken to announce the release on the Google
Forum.

4) Plans for next release

Next minor release scheduled for around Siggraph, ideally before but preferably
no later than August to allow SideFX time to integrate it into the next release
of Houdini. Intention for this next release to include a number of big changes -
AX from Nick, tools previously shared via Google Doc from Ken, delayed-loading
and improved VDB points advection from Dan, generic convolution and sharpening
tools from Peter. We are hoping for progress towards receiving a contribution
from Autodesk too. The following release will be a major ABI one in Q3/Q4.

There was discussion around using feature branches that live in the main
repository to allow large new contributions such as AX and Multi-Res to mature.
Proposal is to use PRs in the normal way and to continue using one approval on
every PR for the time being. No opposition to this.

5) Siggraph Course

There appears to have been a change in how Course Notes are shared at Siggraph
requiring them to have been prepared by 14th May this year, which is
significantly sooner than previous years. Jeff suggested Ken reach out to
Michael Reed as the Courses Chair for clarification. Nick and Dan to share slide
decks with Ken from previous years to help with preparing material.

6) CI Update

With integration of CMake, migration to Circle CI from Travis CI has been
completed. Two outstanding issues, a segmentation fault that appears to happen
sporadically, most commonly on the ABI=4 branch. Dan has recently merged a PR to
migrate the ABI=4 branch from TBB 4.4.0 to 4.4.6 which seems to have improved
stability. Need to wait a little longer to fully assess the impact. A build
failed in the ABI=5 build today so question about whether this may have been
related to TBB. Nick suggested perhaps it was related to memory allocators. Ken
suggested we enable asserts in release mode. The second issue is that the Circle
CI configuration is not setup correctly which manifests in an issue where the
builds are kicked off from a PR but not linked back to it rendering the PR
un-mergeable. Dan has emailed Andrew Grimberg at the Linux Foundation about
resolving the issue and is waiting to hear back. Circle checks have been
downgraded to not required for the time being.

7) SOP OpHiding - OVDB-64 / PR404

Artists are regularly confused about having duplicate VDB/OpenVDB SOPs show up
in the tab menu in Houdini when installing the open-source SOPs. Peter says at
Dreamworks, many shows use opcustomize scripts to alleviate this issue, Nick
reports that DNeg is also using opcustomize scripts.

The committee was largely split on how best to solve this problem. Dan and Jeff
have discussed one proposal and Dan has submitted as PR OVDB-64 which Jeff has
approved. Peter has concerns with this approach in that there would be two
contradictory mechanisms for hiding nodes, one using the SideFX ophide script
mechanism and one using a compiled ophide policy mechanism and would prefer to
see them unified. Jeff highlighted an example scenario where a facility may wish
to hide all of the open-source SOPs except for one which they had modified and
extended. The solution to this scenario under this proposal would require
modification of the SOP definition itself by either manipulating the existing
policy flags or adding a new flag which would need support added to all existing
SOPs. Otherwise, the facility would fall back on using an opcustomize script.

The simple alternative to this proposal is a single script that has all the
ophide commands in it to allow users to customize as they chose and then install
it. However, there are a number of key problems with this approach. It requires
users to deploy a new configuration file which adds an extra source of
unreliability in deployment. It doesn't support users installing only a subset
of the nodes without running the risk of neither SOP being visible. It requires
contributors to the project to maintain a side-car file in addition to the
existing SOPs. Nick and Peter briefly discussed auto-generating an opcustomize
file using CMake but not yet clear how that might work.

The meeting wrapped up without a clear consensus on the way forward on this
issue. Dan mentioned that Siggraph would be a nice opportunity to share a
solution with the community if possible and invited others to contribute an
alternative implementation for discussion in a future meeting. The Committee is
also looking to gather more feedback from production to better inform this
decision.

8) Next Meeting

May 23rd 2019.  3pm-4pm EDT (GMT-4).
