Minutes from 55th OpenVDB TSC meeting, July 7th, 2020, (GMT)

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

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

Regrets: *Peter* C.

Agenda:

1) Quorum was confirmed.

2) Secretary was Jeff Lait

3) Forum

Discussions about debug builds.  There is advice on how to improve it, the
changes are agreed upon, the question is who will do it.  This is to fix
multi-target cmake generators on Windows.  The default version looks for debug
variants, the downstream is supposed select.  This is showing up because we
finally have a working Windows build.  We want to ensure we can still build
debug symbols on Linux with an optimized build.

4) CI Review

Now builds Houdini from actions cache.  Seems to be mostly fine.  One PR failed
to download so populated an empty cache.  Added a check to avoid this.  When
the download stops failing occasionally we can move from the Azure pipeline.

5) Sharpen PR

Lots of stuff has changed.  Dan tried to rebuild back at the point it was
submitted, which also failed.  So tried moving the branch, which was protected.
So tried to close and repoen.  But this re-did the CLA test so failed.  So
created a fresh clean PR for this.  A few small changes but mostly getting it
compiling.

This re-introduced a boost dependency for a multi-array reference on a flat
array.  We will have to remove this later.

There is now PR to work from.  Ken to look at, skim the API, and add some unit
tests.

6) Fast Sweeping

Ken will go over the review comments today.  Dan proposes that you can bucket
the slices without sorting.  A particular leaf node, for example, has 21 slices
on the diagonal.  So you don't need a list of indices to each slice.  The
current system has a hash to slices.  Ken is unsure if the details will hold
up.  We should investigate this sooner after the PR is in.

Andrew Pearce is still proofing the PR from DW.  Hopefully done by this week.
What is the best way to create a mask grid from a Houdini grid?  There is a
boolean grid.  If we use an SDF as a mask it would be confusing that the center
isn't filled.  We should copy the VDB tools::clip that uses topology.

Andre is an author on a paper with another approach than fast sweeping, Ken and
him will investigate its applicability.

7) 7.1

For 7.1, we will aim to have Fast Sweeping complete.  Or, put another way, when
fast sweeping is in we can release 7.1.  We will not stress over vector
support, and not add to the SOP.  Instead it will be up to the tool to support
it if it can.

8) PR 747.

We seem to be using the wrong attribute name here.  This is a bad merge from
the Houdini side.

9) Merging Trees together

Originally did level-by-level merge.  Now is an operator you pass into a node
manager.  However, the node manager has a pre-cache so it can't modify during
building, but has to keep rebuilding.  Proposal to add a for-each top-down
dynamic method that builds the cache at each level as you progress down.  This
means the node manager now has two modes - flat and static, or dynamic.  OTOH,
it always had a clear method.  This is mostly a way to have a non pre-built
constructor. Is a node manager a reference to a tree?  Or is it just a set of
leaf nodes?  Maybe a dynamic node manager subclassing that does the auto
rebuilding?  We note a lot of operations already have to be careful of node
managers, suggesting it is already a state machine.  

Dan will create a PR and we will look at it.

10) Next meeting

Tuesday July 14th 2020, 1pm EDT (GMT-4)
