This PR refactors the functionality for 3D scatter export to match what was done for 2D scatter, histogram, and profile export. This doesn't yet add the 3D scatter viewer to the web exporter - that can wait for a future PR. The motivation for this, and other refactors, is to make it easily to expose this functionality to other export contexts in the future (e.g. glupyter).
Additionally, this PR allows the 2D scatter hovertext array to be smaller by taking the size of the sanitizing mask into account.
This PR refactors the functionality for 3D scatter export to match what was done for 2D scatter, histogram, and profile export. This doesn't yet add the 3D scatter viewer to the web exporter - that can wait for a future PR. The motivation for this, and other refactors, is to make it easily to expose this functionality to other export contexts in the future (e.g. glupyter).
Additionally, this PR allows the 2D scatter hovertext array to be smaller by taking the size of the sanitizing mask into account.