Minutes from 104th OpenVDB TSC meeting, September 7th, 2021, (EDT)

Attendees: *Jeff* L., *Andre* P, *Nick* A., *Dan* B,

Additional Attendees: JT Nelson (Blender), Bruce Cherniak (Intel),
Richard Jones (DNeg), Edward Lam (SideFX)

Regrets: *Ken* M

Agenda:

1) Confirm Quorum
2) Secretary
3) Forum/Issues
4) Outstanding PRs
5) Explicit Template Instantiation
6) Next meeting


1) Confirm Quorum

Quorum is present.

2) Secretary

Secretary is Nick Avramoussis

3) Forum/Issues

Nothing of note.

4) Outstanding PRs

#1106 Extrapolation direction
Jeff, would be good to get this in for a 8.2 release. When is this happening?
#1164 VDB namespace
Jeff, don't mind about how the namespace is customized. Nick, will change to a
suffix.
#1110 String Grids
Nick, it's impossible to deprecate the NodeUnion specialization for StringGrids
whilst string grids are instantiated by the library as it dumps a tonne of
deprecation warnings. We could potentially just remove StringGrids support
in one go - this would manifest in users having to define the alias themselves
if they were using them and potentially breaking serialization (although we
believe serialization is already broken). Nick, there's nothing being blocked
by the code persisting so perhaps no rush. To discuss next TSC with Ken.
#1008 Point Stats
Type promotion for result is in but signatures fail to compile unless users
deduce this themselves. Jeff, result should just be returned at the precision
of the attribute type. Nick to change. Jeff, we should undefine the behaviour
for P as it's weird. Nick to change or add an exception.
#1109 AX Colour Functions
Merged

5) Explicit Template Instantiation

Dan, presented findings which have been added to the google doc and summarized
on the ASWF message board. Discovered that inlining essentially disables
explicit template instantiation and, as we inline everything, it turns out it's
not a huge benefit for the VDB classes. The biggest benefit is in the tools, as
templated freestanding member functions are generated at instantiation so ODR
doesn't apply. Dan, it might not be worth inlining IO methods due to their
overhead. Discussion about how different compilers treat templates specific to
inline on different Platforms. Edward, need to be careful with MSVC, it might
not be possible to remove inline. Dan, main thing to get consensus on is CMake
configuration. Nick, can these files not be generated and committed along with
the repo? Dan, see no reason to not always build them during CMake configure.
Discussion around symbol visibility. Dan, the EXR project have moved to a
hidden-by-default behaviour in EXR 3 and we need to be careful that extern
templates do not change default visibility. As an aside, it would be good to
have tests/CI for VDB building with hidden visibility and look into this more.

6) Next meeting

Next meeting is September 14th, 2021. 12pm-1pm EST (GMT-5).
