|
| 1 | +Minutes from 94rd OpenVDB TSC meeting, June 8th, 2021, (EDT) |
| 2 | + |
| 3 | +Attendees: *Ken* M. *Nick* A., *Jeff* L., *Dan* B., *Andre* P. |
| 4 | + |
| 5 | +Additional Attendees: JT Nelson (Blender), Richard Jones (DNeg), |
| 6 | +Johannes Meng (Intel), Sergio Rojas, Jeff Budsberg (DW) |
| 7 | + |
| 8 | +Regrets: None |
| 9 | + |
| 10 | +Agenda: |
| 11 | + |
| 12 | +1) Confirm Quorum |
| 13 | +2) Secretary |
| 14 | +3) OpenEXR 3.0 |
| 15 | +4) 8.1 release |
| 16 | +5) Sharpening PR: PR756 |
| 17 | +6) Boost Python |
| 18 | +7) Next meeting |
| 19 | + |
| 20 | +1) Confirm Quorum |
| 21 | + |
| 22 | +Quorum is present. |
| 23 | + |
| 24 | +2) Secretary |
| 25 | + |
| 26 | +Secretary is Jeff Lait. |
| 27 | + |
| 28 | +3) OpenEXR 3.0 |
| 29 | + |
| 30 | +Complaints about not supporting 3.0. Fedora has moved to OpenEXR 3.0 but |
| 31 | +OpenVDB doesn't support it. There is no backwards compatibility for 2.0 in |
| 32 | +3.0. Everything has changed, we can't just select a new version via CMake. |
| 33 | +There is the impression the ASWF has coordinated releases when it doesn't. |
| 34 | +Should Fedora not continue to ship OpenEXR 2 for things that haven't upgraded? |
| 35 | +Would we need #ifdef to support both 3.0 and 2.X? |
| 36 | + |
| 37 | +Why not just turn off OpenEXR? Currently building the renderer requires |
| 38 | +OpenEXR. But we can change it so that the render is opt-in for OpenEXR. |
| 39 | + |
| 40 | +8.1 has no dependendency on half, but 8.0 still does. So if we release 8.1 it |
| 41 | +will support turning off the renderer and building without OpenEXR. We should |
| 42 | +release 8.1 as is, and consider a 8.1.1 that lets you disable OpenEXR in the |
| 43 | +command line renderer. Hopefully after 8.1 is released it will solve the |
| 44 | +Fedora issue as they might not be building the renderer anyways. |
| 45 | + |
| 46 | +This is a sign we should do more releases. We had the changes ready earlier |
| 47 | +but were waiting for more stuff. It should be easy and straightforward, almost |
| 48 | +a release per bug fix. |
| 49 | + |
| 50 | +4) 8.1 release |
| 51 | + |
| 52 | +Good to go, is ready as its own branch v8.1.0. Release process is updated with |
| 53 | +current process. Ken will go through the mechanics of release. |
| 54 | + |
| 55 | +5) Sharpening PR: PR756 |
| 56 | + |
| 57 | +This used boost multi array. We can merge it as it is, or see if someone can |
| 58 | +rip out the boost. |
| 59 | + |
| 60 | +The std::vector<bool> problem could be fixed by templating into a |
| 61 | +std::vector<int> or similar. |
| 62 | + |
| 63 | +The multi array is for convolution kernels. |
| 64 | + |
| 65 | +We would introduce net-new boost library dependencies. These generate ragged |
| 66 | +arrays, but that seems unnecessary. |
| 67 | + |
| 68 | +We should commit it into a feature branch. Then we can make PRs onto the |
| 69 | +feature branch to fix the boost dependency. |
| 70 | + |
| 71 | +We might want to include an unsharp mask to the the SOP version. |
| 72 | + |
| 73 | +6) Boost Python |
| 74 | + |
| 75 | +Request for more tools in python. Someone commented that it is a pain to add |
| 76 | +python support. We've considered swapping boost::python for a lighter wrapper. |
| 77 | +A request, Issue 1047, is for examples of how to wrap code to add more |
| 78 | +features. But then we should decide the future first. We should find out |
| 79 | +about studio python setups. Boost python is very hard to build. People find |
| 80 | +it difficult to implement python bindings. We know of PyBind11 as a potential. |
| 81 | + |
| 82 | +Regardless of our binding, who supports it? We've heard a lot of |
| 83 | +interest/support for PyBind11. We don't need to advocate to transition. But |
| 84 | +do we open the door for it? Do we want to get rid of boost::python? We can't |
| 85 | +remove it as people might be using it? But if we could remove it, the cost of |
| 86 | +transition is less than maintaining boost::python. |
| 87 | + |
| 88 | +We could state that we intend to migrate away from boost:python, but intend to |
| 89 | +move to PyBind11. But we need someone to pick it up? We need a generic |
| 90 | +agreement that we want PyBind11. "Our preferred technology is PyBind11". |
| 91 | + |
| 92 | +This is not like Houdini vs Maya because both boost::python and PyBind11 will |
| 93 | +target integrating with the same thing. boost::python has been a long running |
| 94 | +source of problems that we want to stop supporting. People are looking for us |
| 95 | +for consensus. |
| 96 | + |
| 97 | +The hope is a new PyBind11 could be Python-compatible so the same python code |
| 98 | +could run with boost::python or PyBind11. |
| 99 | + |
| 100 | +We are seeing a lot of python bindings not being made because boost::python is |
| 101 | +hard and seen as EOL. The curent boost::python is incredibly hard to build, we |
| 102 | +have a lot of CMake magic to get it to work. |
| 103 | + |
| 104 | +We should hear from any projects using PyBind11. |
| 105 | + |
| 106 | +Motion: We intend to accept a PyBind11 implementation that is API compatible with boost::python with the goal of replacing boost::python. Passed in unanamious vote. |
| 107 | + |
| 108 | +7) Next meeting |
| 109 | + |
| 110 | +Next meeting is June 15th, 2021. 12pm-1pm EST (GMT-5). |
0 commit comments