August 2025
- ObjectClicked and ObjectDoubleClicked events now have their picked objects filtered by a default ObjectPickConfiguration
July 2025
GeometryDatanow stores the original geometry DataChunks instead of just number arrays. This change was the basis of a larger update we made to facilitate larger model loading by minimizing memory allocation during startup and loadViewerEvent.Busyhas been removed and it’s no longer emitted
May 2025
get clippingVolumefromSpeckleRenderernow returns anOBBset clippingvolumefromSpeckleRenderernow accepts bothBox3andOBB- all intersection methods from
Intersectionsnow accept bothBox3andOBBas bounds argument expandBoxRelativefromWorldnow accepts both aBox3and aOBBrequestUpdatefromSectionOutlinesextension now takes an optionalforceargument that forces an update
February 2025
Loader’sresourceDatachanged fromstring | ArrayBuffertounknownto allow each loader to define it’s own resource data type
January 2025
SmoothOrbitControls’s constructor changed. It no longer takes aSceneandIntersections, but only aSpeckleRenderer
November 2024
Loader’sresourceDatachanged fromstring | ArrayBuffertounknownto allow each loader to define it’s own resource data typeSmoothOrbitControls’s constructor changed. It no longer takes aSceneandIntersections, but only aSpeckleRenderer
October 2024
- Entire rendering pipeline got a massive update and it now allows for free user customization as well as user defined passes
pipelineaccessors added toSpeckleRenderer. This allows for user defined rendering pipelinespipelineOptionsaccessors removed fromSpeckleRendererPipelineOutputTyperemoved. The pipeline’s result now depends on the pipeline’s pass configurationDynamicAOPassParamsand it’s default removedStaticAoPassParamsand it’s default removed and replaced byProgressiveAOPassOptions- A series of pre-defined rendering passes as well as entire rendering pipelines have been added
September 2024
Vector3andBox3have been removed from the viewer’s exports. They can now be imported from three.js
August 2024
- All input mesh vertex colors are now treated as sRGB
July 2024
NearCameraCalculationtype option added toCameraControlleroption.UpdateFlags.RENDERno longer resets pipeline. AddedUpdateFlags.RENDER_RESETwhich forces a pipeline reset
June 2024
- Added
tasOnlyas a parameter in allintersectvariants. - The existing
firstHitOnlyoption onRaycasternow stops on first intersected TAS, asa well as first intersected BAS from that TAS (iftasOnlyis not set)
May 2024
Vector3LikereplacesVectorLikein the arguments oftransformTRSinBatchObjectSpeckleLoaderno longer takes apriorityargument in it’s constructoraddRenderTreefromSpeckleRenderernow takes aRenderTreeas an argument instead of aRenderTreeidgetRenderTreeis now overloaded with a version with no arguments that never returns nullintersectandintersectRayarguments have been moved around and both are now overloaded
April 2024
- Asset now has a mandatory
idfield getEnvironmentandgetTexturefromAssetsnow only acceptAssetas argument- The concept of
Providershas been removed entirely CameraProviderhas been replaced bySpeckleCameraCameraControllerEventrenamed toCameraEvent
March 2024
updateClippingPlanesinSpeckleRendererdoes not take an optionalPlane[]argument anymoresetOptionsfromSelectionExtensionhas changed to an accessordisplayOnanddisplayOfffromSectionToolare replaced byvisibleaccessor
February 2024
The introduction of viewer API 2.0 into our stable channel. The changes to the API
itself are extensive and there is no point for a step by step guide, as what was
previously known as API 2.0 will become the single supported viewer API moving forward.