- ObjectClicked and ObjectDoubleClicked events now have their picked objects filtered by a default ObjectPickConfiguration
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
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
Loader’sresourceDatachanged fromstring | ArrayBuffertounknownto allow each loader to define it’s own resource data type
SmoothOrbitControls’s constructor changed. It no longer takes aSceneandIntersections, but only aSpeckleRenderer
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
- 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
Vector3andBox3have been removed from the viewer’s exports. They can now be imported from three.js
- All input mesh vertex colors are now treated as sRGB
NearCameraCalculationtype option added toCameraControlleroption.UpdateFlags.RENDERno longer resets pipeline. AddedUpdateFlags.RENDER_RESETwhich forces a pipeline reset
- 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)
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
- Asset now has a mandatory
idfield getEnvironmentandgetTexturefromAssetsnow only acceptAssetas argument- The concept of
Providershas been removed entirely CameraProviderhas been replaced bySpeckleCameraCameraControllerEventrenamed toCameraEvent
updateClippingPlanesinSpeckleRendererdoes not take an optionalPlane[]argument anymoresetOptionsfromSelectionExtensionhas changed to an accessordisplayOnanddisplayOfffromSectionToolare replaced byvisibleaccessor
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.