Fixed
voxels(..., xmin=…, xmax=…)was ignored unlessboundswas passed too (#541).- Integer arrays overflowing an unsigned trait wrapped silently — 256 became an empty voxel, 300 a different colour. They now raise (#545).
- A vector field reported a unit cube as its bounds, so
plot.get_auto_camera()could not frame long arrows (#549). - The bundle carried two copies of three.js, so an
instanceofacross the raster/cinematic boundary could test against the wrong class. Now one, and 264 KB smaller. widget.mjspointed devtools at a source map no artifact shipped — a guaranteed 404 on every plot.
Thanks to @Arthur031221 for the first three.
Faster
import k3d1002 → 725 ms: VTK is imported whenvtk_poly_datais called, not before.- ~310 ms off every screenshot; ambient occlusion is skipped where it provably cannot change the image.
- npm package 13.9 → 3.8 MB unpacked.
Dependencies
three.js 0.185 → 0.186, three-mesh-bvh 0.9.15, katex 0.18.9, webpack 5.111.
three.js #33985 makes diffuse lighting conserve energy — light the specular lobe reflects is no longer also scattered diffusely — so lit surfaces render slightly darker. Measured across the 77 reference images it moved: −3.9 levels on average, and not one brighter.