Releases: cognitedata/reveal
@cognite/[email protected]
This version of Reveal is compatible with ThreeJS v148.
π Features
- feat: option for scaling down resolution on move by @haakonflatval-cognite in #2795
- feat: asset id in point cloud pick result by @haakonflatval-cognite in #2842
- feat: individual model clipping planes by @haakonflatval-cognite in #2861
- feat: re-introduce transformation mapping functions by @haakonflatval-cognite in #2866
- feat: Zoom to cursor when mouse-scrolling in 360 images by @astrid-kg in #2869
- feat: clip HtmlOverlayTool on global clipping planes by @haakonflatval-cognite in #2901
- feat: support translation and scale override in CDF by @haakonflatval-cognite in #2884
- feat: 360 image events for enter and exit mode by @pramodcog in #2902
π Bug fixes and enhancements
- fix: trigger update event when ComboControls receives new target by @haakonflatval-cognite in #2786
- fix: "Fit camera to model" in CDF Fusion zooms in too far by @astrid-kg in #2793
- fix: Fixed controls in DefaultCameraManager not being disabled when the manager is deactivated by @astrid-kg in #2804
- fix: AssetNodeCollection.clear() doesn't clear getAreas() by @larsmoa in #2801
- fix: avoid disposing of external renderer by @eiriklegernaes Aize in #2818
- fix: smooth model transformations by @haakonflatval-cognite in #2790
- fix: Screenshot resizing viewer canvas on macOS & iOS by @astrid-kg in #2821
- fix: incorrect combined measurement label in screenshot by @pramodcog in #2827
- fix: AxisViewTool animation by @eiriklegernaes Aize in #2825
- fix: only add exit 360 image key listener when entering 360 image by @christjt in #2843
- fix: don't enable click on invisible point cloud objects by @haakonflatval-cognite in #2849
- fix: 360 images are invisible/clipped when loaded without CAD/Point cloud model by @pramodcog in #2859
- fix: In Safari the screenshot result is empty by @astrid-kg in #2873
- fix: measurement tool for large models not being temporally coherent by @christjt in #2885
- fix: ensure node is disposed from cache on removal by @haakonflatval-cognite in #2872
- fix: Fix for getScreenshot returning empty image when using an external render target by @astrid-kg in #2850
- fix: Zoom(fov) is now reset when moving to a new 360 image by @astrid-kg in #2881
- improvement: replace dynamic batcher with MultiBufferBatchingManager by @christjt in #2874
- fix: exit 360 image if it is currently entered when deleted by @christjt in #2890
- improvement: only set render layers on styling change or sector load / unload by @christjt in #2896
π Documentation
- doc: classification list signature change by @haakonflatval-cognite in #2785
- docs: add examples for converting between CDF and Viewer space by @haakonflatval-cognite in #2865
- docs: include nodeId in example intersection result properly by @haakonflatval-cognite in #2868
- docs: use CodeMirror instead of react-live in doc snippets by @haakonflatval-cognite in #2903
See installation documentation for details about installing Reveal.
New Contributors
- @greenbech made their first contribution in #2800
@cognite/[email protected]
This is a major release of Reveal and contains breaking changes in the API. Please see the documentation for in-depth details for migrating. This version of Reveal is compatible with ThreeJS r145.
π Features
- feat: add support for 360 images by @christjt in (#2494, #2498, #2532, #2574, #2582, #2696, #2720, #2731, #2740)
- feat: contextualized point clouds and styling by @haakonflatval-cognite in #2569
- feat: Add eye dome lighting post processing effect for point clouds by @Savokr in #2589
- feat: enable point blending and EDL together by @haakonflatval-cognite in #2682
- feat: Implemented fitCameraToModels by @astrid-kg in #2715
- feat: add NodeIdNodeCollection for identifying nodes by "node IDs" by @larsmoa in #2449
- feat: add alpha parameter to setBackgroundColor by @astrid-kg in #2664
- feat: Add support for "activation" to CameraManager by @astrid-kg in #2726
- feat: CameraManager stop event by @haakonflatval-cognite in #2733
π Bug fixes and enhancements
- improvement: Node isolation performance improvement by @eiriklegernaes (Aize) in #2692
- improvement: Screenshots now have option to include UI elements. by @astrid-kg in #2705
- improvement: blend point cloud classification colors with RGB by @larsmoa in #2433
- improvement: continuousModelStreaming is now true by default by @astrid-kg in #2716
- fix: expose and fix bug causing getBoundingBoxByNodeId/TreeIndex not to modify out parameter by @larsmoa in #2472
- fix: seeing old frames through in-front geometry by @christjt in #2540
- fix: point cloud picking precision issue by @pramodcog in #2508
- fix: missing exports JsonFileProvider and BinaryFileProvider necessary to implement custom data source by @larsmoa in #2526
- fix: remove Cognite3DViewer.isBrowserSupported by @larsmoa in #2542
- fix: zooming in was incorrect when hovering over overlays. by @Savokr in #2641
- fix: TreeIndexNodeCollection.updateSet erroneously clears IndexSet by @larsmoa in #2710
- fix: Proper handling of mouse wheel zoom for non static Reveal "windows" by @Savokr in #2657
- fix: allow overloading default style with black (no) color by @haakonflatval-cognite in #2723
- improvement: remove Object3D as superclass from Cognite* models and refactor SceneHandler by @haakonflatval-cognite in #2423
- fix: incorrect intersection results with multiple models by @pramodcog in #2727
- improvement: use three color in api by @haakonflatval-cognite in #2691
- improvement: Renamed Cognite3DModel to CogniteCadModel. Introduced type CogniteModel. by @astrid-kg in #2652
- improvement: rework model transformations by @haakonflatval-cognite in #2709
- improvement: get renderer in Cognite3DViewer has been made private by @astrid-kg in #2673
- chore: remove support for version 8 outputs by @christjt in #2455
- refac: threejs as peer dependency by @pramodcog in #2511
- refac: remove geomap by @pramodcog in #2493
- refac: use single entry point for reveal by @christjt in #2680
- refac: keyboard and mouse event handling in viewer by @pramodcog in #2492
- refac: remove optional options parameter to Cognite3DViewer.getIntersectionFromPixel by @larsmoa in #2544
- refac: remove getScene from API by @christjt in #2662
- refac: remove getCamera() in favor of getting it from cameraManager by @christjt in #2663
- refac: remove Potree prefix by @larsmoa in #2546
- refac: remove exploded view tool by @christjt in #2724
- refac: shrink and rename PotreeGroupWrapper by @haakonflatval-cognite in #2702
- refac: Remove exposing ComboControls from DefaultCameraManager by @astrid-kg in #2736
- refac: replace CogniteCadModel.visible as get/set property by @pramodcog in #2732
- refac: remove enabled field from camera manager interface by @christjt in #2773
- cleanup: remove unsupported pointcloud features by @haakonflatval-cognite in #2564
π Documentation
- doc: activate contextual search in documentation by @haakonflatval-cognite in #2447
- doc: replace example of InvertedNodeCollection by @larsmoa in #2451
- docs: add documentation for EDL by @haakonflatval-cognite in #2679
- doc: remove broken link by @larsmoa in #2693
- docs: update camera manager extension doc by @haakonflatval-cognite in #2746
- docs: add documentation for using 360 images with Reveal by @christjt in #2749
- doc: Add breaking changes into the migration documentation for next by @christjt in #2772
See installation documentation for details about installing Reveal.
@cognite/[email protected]
Reveal comes with ThreeJS embedded so you do not have this as a dependency in your project. If you still want to have it as a direct dependency, it must match the version used by Reveal (r141). You can also use three.js version exported by Reveal as import { THREE } from '@cognite/reveal.
π Features
- feat: hide & show measurements (#2651)
π Bug fixes and enhancements
- fix: create a box3 when deserializing areas in treeindex collection (#2671)
- fix: fix low-precision problems with cylinders (#2656)
- fix: Proper handling of mouse wheel zoom for non static Reveal "windows" (#2657)
- fix: Fixes a bug where zooming in was incorrect when hovering over overlays. (#2641)
See installation documentation for details about installing Reveal.
@cognite/[email protected]
Reveal comes with ThreeJS embedded so you do not have this as a dependency in your project. If you still want to have it as a direct dependency, it must match the version used by Reveal (r141). You can also use three.js version exported by Reveal as import { THREE } from '@cognite/reveal.
π Bug fixes and enhancements
- fix: expose and fix bug causing getBoundingBoxByNodeId/TreeIndex not to modify out parameter (#2472)
- improvmenet: keyboard and mouse event handling in viewer (#2492)
- fix: point cloud picking precision issue (#2508)
- improvement: use 'high-performance' powerPreference to avoid non-discrete GPU being used on certain systems (#2512)
- fix: missing exports for data source (#2526)
- fix: remove flat modifier, while maintaining TreeIndex precision (#2536) (@Strepto Equinor)
- fix: do not blend in-front and back frame buffers when back objects have not been rendered (#2540)
- fix: visualization artifacts due to wrongfully handling cylinder clip planes (#2556)
- improvement: make CadModelUpdateHandler trigger sector loading immediately after the camera stops moving (#2573) (@eiriklegernaes Aize)
- Use vec2 instead of struct for packing TreeIndexes (#2585) (@Strepto Equinor)
- fix: general cylinder rendering when (#2620)
- fix: enable depth writing for in-front pass (#2621) (@eiriklegernaes Aize)
See installation documentation for details about installing Reveal.
@cognite/[email protected]
Reveal comes with ThreeJS embedded so you do not have this as a dependency in your project. If you still want to have it as a direct dependency, it must match the version used by Reveal (r141). You can also use three.js version exported by Reveal as import { THREE } from '@cognite/reveal.
π Features
- feat: enable changing camera manager in runtime (#2393)
- feat: add option to Cognite3DViewer to override resolution cap (#2381)
- feat: point to point measurement (#2100)
- feat: add point blending effect for point cloud rendering (#2362)
- feat: avoid stalling rendering by adding asynchronous picking (#2191)
π Bug fixes and enhancements
- improvement: increased default budget for point clouds (#2435)
- improvement: refactoring and some performance optimizations for point cloud picking (#2275)
- improvement: better error message when adding model fails (#2266)
- improvement: manually loop unroll in shader to improve performance (#2265)
- improvement: hide/show HTML overlay elements (#2240)
- improvement: update dependency three to v0.141.0 (#2234)
- fix: remove TreeIndex interpolation in fragment shaders (#2364)
- fix: issue causing AssetNodeCollection.getAreas() to return coordinates in "CDF space" and not "ThreeJS space" (#2424)
- fix: redraw point cloud on classification change (#2434)
- fix: make point cloud octree load LODs automatically (#2295)
- fix: make zoomToCursor camera mode to properly work with asynchronous picking (#2405)
- fix: downscale default resolution threshold on mobile devices by its device pixel ratio (#2429)
- fix: issue with old frames being visible in highlighted objects (#2425)
- fix: properly dispose old classification texture when creating a new one (#2420)
- fix: set minimum point size to 1 (from 2) and add visual test for fixed size (#2419)
- fix: round calculation of drawing buffer size to an integer (#2401)
- fix: wrong resolve of viewer symlink (#2387)
- fix: remove build viewer dependency and download viewer step for unit tests (#2386)
- fix: keyboard events dispose for inputHandler (#2383)
- fix: incorrectly setting device pixel ratio with respect to domElement size (#2361)
- fix: sector parser test now properly computes color data override texture (#2365)
- fix: make sure screen distance min/max accumulates properly (#2316)
- fix: sector repository gracefully handle sectors loader errors (#2257)
- fix: incorrect node transform override on certain boundary conditions (#2256)
- fix: elements position in HTMLOverlay when visibility is changed from hide to show (#2251)
- fix: in-front objects incorrectly blending with background (#2248)
- fix: mobile default settings should not include ssao, add iPad fix (#2239)
- chore: allow passing arguments to jest when running visual tests (#2421)
- chore: purge unused examples and all references to /internals from examples (#2397)
- chore: bump to Webpack 5 (#2244)
π Documentation
- doc: use default point size (#2436)
- doc: show bounds of matched nodes in example for SinglePropertyFilterNodeCollection (#2427)
- doc: remove Geomap tool from documentation (#2430)
- doc: remove doc for GLTF previews as we deprecate the feature (#2357)
Known issues
- Very low framerate on certain iOS devices. This is caused by low performance when using
flat
varying in GLSL with Webkit. A workaround for the problem is to disable WebGL Metal backend in Safari settings. - Safari on M1 Mac have same issue. Chrome and other browsers work fine. Intel Macs are not affected.
- Point cloud rendered as black when "point blending" is enabled on iOS.
@cognite/[email protected]
Reveal comes with ThreeJS embedded so you do not have this as a dependency in your project. If you still want to have it as a direct dependency, it must match the version used by Reveal (r140). You can also use three.js version exported by Reveal as import { THREE } from '@cognite/reveal.
π Features
- feat: new point cloud picking using GPU to improve precision and performance (#2193)
- feat: new render pipeline system that enables working with transparent custom objects and when depth testing is not enabled (such as gizmos) (#1982)
- feat: migrate to new pointcloud library, enabling adaptive point size (#2114)
- feat: added support for clicked button data for Cognite3DViewer.on('click',...) method (#2045)
π Bug fixes and enhancements
-
fix: metrics tracing for GeomapTool (#2225)
-
fix: device pixel ratio exposing rendering artifacts (#2214)
-
fix: change equality check of visiblity shader attribute to a less check (#2176)
-
fix: add a force override overload for updating the camera state to allow setCameraState to work when controls are disabled (#2197)
-
fix: use null, not undefined, as default blend options (#2170)
-
fix: render AxisViewTool as transparent to ensure its rendered on top of transparent custom objects (#2171)
-
fix: clearing wrong render target (#2166)
-
fix: typo in unpackSectorVisibility() causing weight to only depend x position (#2127)
-
fix: Memory leaks on disposal of Cognite3DViewer (#2139)
-
fix: Removed metrics for CameraManager and CustomDataSource (#2131)
-
improvement: Make typescript strict (#2163)
-
improvement: remove unused 'headers' for custom data sources and update docs (#2164)
-
improvement: disable SSAO and MSAA on mobile devices (#2128)
-
improvement: avoid creating a huge render target for picking, 1x1 is enough (#2115)
-
chore: refactor CadNode and related into proper package (#2173)
-
chore: avoid duplicated "Viewer artifact download" step in CI (#2106)
π Documentation
- doc: add documentation and example for setting background image for Reveal using CSS/HTML element (#2224)
See installation documentation for details about installing Reveal.
@cognite/[email protected]
Reveal comes with ThreeJS embedded so you do not have this as a dependency in your project. If you still want to have it as a direct dependency, it must match the version used by Reveal (r138). You can also use three.js version exported by Reveal as import { THREE } from '@cognite/reveal.
π Bug fixes and enhancements
fix: Issue causing analytics to form malformed events causing an error when using custom data source and custom camera manager
@cognite/[email protected]
Reveal comes with ThreeJS embedded so you do not have this as a dependency in your project. If you still want to have it as a direct dependency, it must match the version used by Reveal (r138). You can also use three.js version exported by Reveal as import { THREE } from '@cognite/reveal.
π Bug fixes and enhancements
fix: Improper type exports
@cognite/[email protected]
Reveal comes with ThreeJS embedded so you do not have this as a dependency in your project. If you still want to have it as a direct dependency, it must match the version used by Reveal (r138). You can also use three.js version exported by Reveal as import { THREE } from '@cognite/reveal.
π Features
- feat: add support for new GLTF-based geometry format for CAD models (#1665)
- feat: add support for prioritized nodes to scheduler a hint on priority of geometry to load (#1696)
- feat: create camera manager interface that will allow users to provide their own CameraManager (#1852)
- feat: simplify CAD model budget by only controlling "renderCost" (#1761)
- feat: add continuous loading option for geometry streaming (#1765)
- feat: add support for minDiagonalLength sector metadata (#1733)
- feat: add draco mesh decoding support for GLB parser (#1855)
- feat: add a sector download scheduler to properly throttle sector downloads (#1797)
- feat: new sector culler for the v9 file format sector tree (#1629)
- feat: add support for locally hosted point cloud models to Cognite3dViewer (#1962)
- feat: replace gltf sector parser with custom made parser (#1685)
- feat: add point cloud classification UI to examples (#1959)
π Bug fixes and enhancements
- fix: primitives not rendering correctly on iOS (#1861)
- fix: Memory leaking issues when model is removed from the scene (#2025)
- fix: Setting default node appearance to ghosted hides "default"-rendered geometry (#1764)
- fix: cancel and throw error when adding incompatible models (#2042)
- fix: make nuts look flat (#2024)
- fix: pointcloud classification visibility (#2022)
- fix: let threejs update shared uniforms (#2031)
- fix: sector loader example not handling bounds update / rename (#1902)
- fix: v8 culling (#2029)
- fix: updated geo-three to fix texture format type change in threejs (#1898)
- fix: cache result compute bounds of most geometry to force deterministic results (#1890)
- fix: highlighted nodes being ghosted (#1889)
- fix: incorrect usage of device pixel ratio (#1874)
- fix: near/far camera plane hiding some peripheral geometry (#1857)
- fix: Zooming to points not on the model was too fast in zoomToCursor mode (#1831)
- fix: trigger sector load on assigning priority [REV-295] (#1809)
- fix: remove-batch needs to update until end of defrag buffer (#1805)
- fix: dont trigger 'not loading' whenever camera moves as we not support loading while camera moves (#1789)
- fix: fix nothing being loaded after regaining connection (#1793)
- fix: certain models cause computer crashes (#1798)
- fix: expose and fix an issue causing prioritizedLoadingHint to have no effect (#1774)
- fix: msaa hides geometry (#1760)
- fix: tree index attribute not set properly for triangle meshes (#1737)
- fix: problem causing low-detail sectors not to get high priority and sectors with no geometry to be loaded (#1692)
- improvement: cleanup imports and exports (#1949)
- improvement: move point clouds stuff into its own module (#1942)
- improvement: Update Materials to RawShaderMaterials (#1900)
- improvement: factor out cad-model module (#1901)
- improvement: use newer geometrybounds (#1858)
- improvement: defer download of web workers until needed (#1845)
- improvement: better suggested camera config (#1833)
- improvement: update Cognite SDK version to 7.0.0 (#1787)
- improvement: Remove gl_FragDepthEXT check from shader for webgl2 (#1796)
- improvement: collect metrics for what model versions are loaded (#1786)
- improvement: Shader upgrade to ES300 (#1776)
- improvement: assignStyledNodeCollection now also handles update (#1756)
- refac: Cleanup shaders (#1882)
- refac: use matrix4 attribute instead of column vectors (#1691)
π Documentation
- docs: point cloud rendering issue in docs (#2023)
- docs: docs reveal version for 2.x and controls modes example (#2021)
- docs: Added documentation for camera manager together with a few fixes (#1955)
- docs: change examples to not use same app ID as docs (#1834)
See installation documentation for details about installing Reveal.
@cognite/[email protected]
Warning: This is an beta version of Reveal 3.0. To fully utilize the improvements, it's necessary to enable new features for the respective Cognite Data Fusion project hosting the 3D models that is visualized.
Reveal comes with ThreeJS embedded so you do not have this as a dependency in your project. If you still want to have it as a direct dependency, it must match the version used by Reveal (r137). You can also use three.js version exported by Reveal as import { THREE } from '@cognite/reveal.
π Features
- feat: create camera manager interface that will allow users to provide their own CameraManager (#1852)
- feat: add draco mesh decoding support for GLB parser (#1855)
- feat: add gltf sector cache (#1841)
- feat: update Cognite SDK version to 7.0.0 (#1787)
π Bug fixes and enhancements
- fix: incorrect usage of device pixel ratio (#1874)
- fix: primitives not rendering correctly on iOS (#1861)
- fix: near/far camera plane hiding some peripheral geometry (#1857)
- fix: defer download of web workers until needed (#1845)
- fix: Zooming to points not on the model was too fast in zoomToCursor mode (#1831)
π Documentation
- doc: add documentation for new login procedure for SDK v7.x.x