Changelog¤
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
[1.0.1] 2026-07-31¤
Added¤
Changed¤
Removed¤
[1.0.1-rc0] 2026-07-31¤
Added¤
- Created
compas_plotter.__all_plugins__, so COMPAS's plugin manager discovers theregister_scene_objectsfactory through the standardcollect_allpath (the same mechanismcompas_vieweruses).
Changed¤
Removed¤
- Removed Eager, import-time
register_scene_objects()call incompas_plotter.scene, and thefrom . import sceneside-effect import incompas_plotter/__init__.py. These populated COMPAS's globalITEM_SCENEOBJECTat import time, which suppressed the lazyif not ITEM_SCENEOBJECTdiscovery trigger incompas.scene.contextand left every other backend unregistered.
[1.0.0] 2026-07-11¤
Added¤
Changed¤
Removed¤
[1.0.0-rc0] 2026-07-11¤
Added¤
- Initial COMPAS 2.x port of
compas_plotters(the package that shipped inside COMPAS up to 1.17). Plotterclass for 2D matplotlib visualisation, including dynamic plotting (Plotter.on) with optional GIF recording."Plotter"visualisation context built oncompas.scene.- Scene objects for
Point,Vector,Line,Polyline,Polygon,Circle,EllipseandFrame. - Scene objects for the
MeshandGraphdata structures, with vertex/edge/face and node/edge labels. PlotterScene, acompas.scene.Scenesubclass bound to the"Plotter"context. EveryPlotternow owns one, giving a hierarchical scene tree (parent/child transforms), serialization, and API symmetry with the Rhino, Blender and Viewer backends.- Scene object for
Box, drawn as the exact XY projection of its six faces. - Shared
ShapeObjectdrawingSphere,Cylinder,Cone,Capsule,TorusandPolyhedronas tessellated XY projections, withu/vresolution control.
Changed¤
GraphObject.node_xyzandMeshObject.vertex_xyzreturn fresh view coordinates on every access instead of a mapping cached at first access, so a redraw in aPlotter.onanimation loop picks up changes to the coordinates of the underlying datastructure.