Minutes from OpenVDB TSC meeting, February 06, 2024

Attendees: *Jeff* L., *Andre* P, *Ken* M., *Greg* H., *Dan* B., *Rich* J.

Additional Attendees: 

Regrets:

Agenda:

1) Confirm quorum
2) Secretary
3) PRs
4) Major refactoring in Nano

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


1) Confirm quorum

Quorum is present.


2) Secretary

Secretary is Greg Hurst.


3) PRs

1762: Vector fog volumes throw a printf to the console whenever one is created

Remove #if 1 fprintf(stderr,"Warning: ....

1760: Adaptive grid placeholder.
Simple grid: A background value only grid -- extendable to dense grids, etc.

adaptive name space and in directory openvdb/adaptive
Rename GridTypes to SparseGridTypes and adds AdaptiveGridTypes too. 
Instead should we do AllGridTypes and keep GridTypes unchanged OR do we deprecate the GridTypes alias?
The name 'GridType' is confusing... it really is a value type for a grid

Introduces TreeTraits -- determine if a grid is sparse, adaptive, etc.
e.g.

if constexpr (TreeTraits<TreeT>::IsSparse) {
    // sparse implementation
} else if constexpr (TreeTraits<TreeT>::IsAdaptive) {
    // adaptive implementation
}
OPENVDB_THROW(NotImplementedError, "");

Do we have an entry method and then a header file for each grid type? 
e.g. openvdb/tools/Count.h has an entry method that calls openvdb/tools/sparse/Count.h, etc

How many tools will/should support multiple grid types? Andre has a list of the ~200 tools to sift through
certainly samplers
Let's add in support as needed
API and user include paths need to remain the same then implementation details aren't as important

Proposed types:
Sparse (OG grids)
Adaptive
Dense
Procedural/Implicit

Invite back to VTT team and walk them through these ideas and attempt
(Change example from memUsage to sampler on a flat list of points)

4) Major refactoring in Nano
 
Use of namespaces that emulate OpenVDB and accompanying subdirectories.
Affects client code, but there's a script that can help alleviate.
