Changes in version 0.9.0¶
New Features¶
- Camera views (
View2DConfig,ViewPlaneConfig) — rich camera specification replacing the oldspace_extent-based 2D toggle: View2DConfigdefines an orthographic view from a rectangle (extent_x×extent_y) centred atcenter.ViewPlaneConfigdefines a perspective view via a virtual plane (point, normal, extents, optionalspan_u, FOV). The camera optical axis is the plane normal; horizontal/vertical directions are computed fromspan_u(or auto-derived).-
CameraConfigsupportsview_2d/view_planealongside the existing manualposition/targetfields. -
Runtime camera updates —
set_camera()onVisualizerandVizSceneHandleupdates a scene's camera without restarting. -
Axes and grids as scene objects —
Axis,Grid,Axes2D, andAxes3Dreplace the hard-coded frontendGridHelper/AxesHelper: Axisrenders a line with major/minor ticks and optional CSS2D value labels plus an axis-name label.Gridrenders coordinate lines in a UV plane.Axes2D/Axes3Dexpand into two/three individualAxisobjects.-
Both work in the live viewer, HTML export, and glTF export (glTF renders lines/ticks without text).
-
Default axes & grid — scenes automatically receive a default
Axes3D(orAxes2Dforspace_dim=2) and aGridunless the user adds an explicitAxisorGrid.
Breaking Changes¶
- Removed
space_extent,show_grid, andshow_axesfromSceneConfig,Visualizer,VisualizerApp, andFigureStyle. Grid/axes are now explicit scene objects, not constructor toggles. - Removed the internal
_space_extentcontract fromVizSceneHandleand the Jupyter display mixin.
Bug Fixes¶
- Exponential backoff + interactive reconnect wait + thread safety in the WebSocket server startup/reconnect flow.
- Added missing arguments to the WebSocket
readylog message. - Fixed animated HTML export.
- Simplified
add()return type tostr; fixedtest_cache; enabledgalgebrain CI.
Doc Changes¶
- Added
axes-grid.mdguide documentingAxis,Grid,Axes2D,Axes3D, and default behaviour. - Updated
camera.mdwithView2DConfig/ViewPlaneConfigandset_camera(). - Added
viz-camera-axes-grid-plan.mdplanning document todev/todos/. - Added
demo_axes_custom.py,demo_camera_2d.py, anddemo_camera_3d_plane.pyexamples.