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.
Unreleased¤
Added¤
Changed¤
Removed¤
[1.1.1] - 2026-09-07¤
Added¤
Changed¤
Removed¤
[1.1.0] - 2026-09-07¤
Added¤
- Bidirectional sync between the frontend and live backend COMPAS objects: gizmo drags/rotations (
object_transform), toolbar-added geometry (create_geometry), and material edits (material_edit) now mutate the same live objects a running script sees, instead of only flowing updates one way. Seesrc/compas_threejs/viewer/BIDIRECTIONAL_SYNC.md. Workspace.transform_geometry(geometry, transformation): applies acompas.geometry.Transformation(orTranslation/Rotation) to an existing geometry and sends only the small transform matrix to the frontend, instead of re-sending the full geometry - useful for moving/rotating large meshes without a full re-serialize on every update.
Changed¤
- Bumped
compas-pbto 1.2.0 (within the existing>=1,<2constraint), matching the version the bundled frontend'scompas-pb-tswas upgraded to. - Fixed
Workspace.remove_object()never clearing an object'sInbox-side registrations (geometry_registry,metadata_registry,object_actions_registry, the guid-keyedbuttonscallback map, and a removedBrep'sbrep_viewmesh_registryentry) - only theOutbox's persisted material/visibility slots were forgotten, so any workflow that repeatedly removes and re-adds objects under the same guid (e.g. a viewer that rebuilds part of its own scene, or an object action whose geometry gets refreshed to pick up a new default value) leaked a growing set of stale entries, unbounded, for the life of the process. - The bundled frontend is no longer committed to the repository. It's now built automatically at release time from the
compas_threejs_tsversion pinned inFRONTEND_VERSION, via a newinvoke pre-buildtask wired into the release pipeline (run-prebuildonprepare-release@v1).pip install compas_threejsstill requires no Node.js. SeeFRONTEND_WORKFLOW.md.
Removed¤
scripts/sync-frontend.pyandsync-frontend.bat, superseded by theinvoke sync-frontendtask.
[1.0.1] - 2026-08-13¤
Added¤
Changed¤
- Aligned the release pipeline with
compas_pbso publishing frommaincan proceed to GitHub release creation and documentation deployment - Added package, Python, license, build, documentation, and COMPAS badges to the README
- Consolidated documentation automation in the release workflow
Removed¤
[1.0.0] - 2026-08-13¤
Added¤
- Public package documentation and release-oriented README
- Continuous integration for tests, documentation, and changelog verification
Changed¤
- Migrated CI, documentation, and trusted publishing to
compas-actions@v1and repository-owned release pull requests - Transferred project ownership and copyright to the COMPAS Association
- Updated the bundled TypeScript viewer to the current public-release build
- Made the default physical-material attenuation distance JSON-safe
- Standardized version bumping, Ruff checks, contributor guidance, documentation metadata, and Trusted Publishing releases
Removed¤
[0.1.0] - 2026-05-26¤
Added¤
- Initial release of COMPAS ThreeJS
- Core viewer component for visualizing COMPAS geometry in Three.js
- Support for multiple material types:
- Generic Material
- Physical Material
- Point Material
- Line Material
- Lighting support:
- Point Light
- Spot Light
- Rect Light
- Sky (environment lighting)
- Sun (directional light)
- UI Components:
- Button
- Slider
- Number Field
- Metadata support for geometry annotation
- Text rendering capabilities
- WebSocket-based server for live updates using FastAPI
- Protobuf serialization for efficient data transfer
- Comprehensive documentation with MkDocs
- Python and frontend build automation with GitHub Actions