Viewer - Release Notes
Version 3.4 (16/10/24) - Elderberry
In this release, the main focus was the new implementation of the drawing tools in App Builder. Multiple changes and improvements were done to ensure that this feature can reach its full potential.
Additionally, the model state were implemented. You can read more about them here.
Besides this main feature, multiple other improvements were made:
optimized intersection with point and line geometry (drawing tools and dragging)
improvements of the geometry caching
allowed for multiple interaction managers and specific assignments of nodes to them
improved cache-control for viewer assets
improved drawing tools geometry restriction snapping
added axes visualization for plane restriction of drawing tools
added point coordinate in the lower corner for drawing tools
allowed fine grained control for gumball handles
Version 3.3 (05/09/24) - Date
In this release, the main focus was the new Gumball feature. With this feature you can now translate, rotate and scale objects. This feature is also already supported by App Builder.
Besides these feature, there were various other improvements and fixes:
added a
p
modifier for the drawing tools to project points to a planeimproved the angular restriction visualization
fixed an issue with the glTF converter caching
fixed an issue with how the animation data reset
improved the material types to support JSON definitions
improved error handling of WebGL errors
catch failed texture downloads, but still display the models
added new functionality to create model states
fixed the default color and point size only being applied after updates
Version 3.2 (09/08/24) - Cherry
This released focused on the integration with App Builder regarding the selection component. Now it is possible to define in Grasshopper which objects can be selected. The user can then select the objects and the result is returned to Grasshopper.
Besides these major changes, there were also some other improvements and fixes:
fixed text tag visibility issues for orthographic cameras
implemented checks for matrix calculations
added more utilities to the mime-types package
performance improvement for the Attribute Visualization
enabled the autoAdjust setting as a default for cameras
fixed the color attribute system
performance improvement for intersections
implemented options to define the minimum and maximum number of selected objects
Version 3.1 (19/06/24) - Banana
In this release the beta version of the drawing tools is released. This means that from now on you can use the drawing tools via the Viewer API. Please have a closer look at the help desk page of the drawing tools and the API documentation on it.
Version 3.0 (21/05/24) - Apple
Please note that the major version of Viewer 3 has increased from version 2 to version 3. The term Viewer 2 in our documentation refers to an older, completely different implementation. If you are unsure whether you are using Viewer 3, you can check the browser console, which clearly indicates if Viewer Version 3 is being used, or contact us for assistance.
In this major release the main focus was to separate the viewport and the session APIs into separated packages. It is therefore now possible to call the Viewer API in three ways:
@shapediver/viewer: In the default way, the viewport and session APIs are both loaded. This still works as it used to in previous versions.
@shapediver/viewer.session: By just calling the session API, you can create a headless version of the viewer. This can either be useful for applications in a node.js environment or if you want to use your own visualization.
@shapediver/viewer.viewport: By just calling the viewport API, you can create a hydra version of the viewer. This means that you only get the visualization options of the viewer API, but not the connection to the ShapeDiver servers. This might be useful, if you want to visualize external geometry only.
Camera
There has been a general restructuring of the camera controls. This restructuring allows to now have a free orthographic camera (ORTHOGRAPHIC_CAMERA_DIRECTION.CUSTOM
) which also allows rotation and all the properties that were previously only reserved for the perspective cameras.
implemented new object controls
usage of pointer events instead of mouse/touch events
Session
new events for parameter updates
file parameters that were not uploaded, but that are needed for export requests are now uploaded
activate busy mode during export requests that included outputs
General
the CSS styling of almost all viewer properties is now provided in CSS classes
usage of pointer events instead of mouse/touch events
made mime-type check case insensitive
Documentation
new example page for all viewer examples
improved documentation for file upload behavior
Attribute Visualization
sdTF
data is not loaded anymore by default. This change was necessary as this type of data can get quite large and can therefore drastically impact the loading performance. You can enablesdTF
loading either:At initialization by setting the
loadSdtf
in the createSession properties totrue
At runtime by setting the property
loadSdtf
in the SessionApi totrue
. In this case you can listen to the eventSESSION_SDTF_DELAYED_LOADED
for when the data has been loaded.
Bug Fixes
improved checks for document for node.js environments
post-processing issues on iOS with low FOV
Version 2.12 (30/11/23) - Mastodon
This targets of this release were general API, camera and performance improvements.
Camera:
improved camera speed and usability on mobile
added panning with two fingers instead of three on mobile
implemented new turntable controls
Post-Processing:
line geometry and the ground plane shadow do not create ambient occlusion anymore
Performance:
improved shader re-usage
improved bounding box creation
improved environment map loading when applied directly to materials
improved file size for gltf conversion
memory performance improvement for textures and geometries
General
added cancelCustomization function to cancel a current customization
added customizeResult function to only receive the response body of the customization
improved access to parameter values
customize function now allows additional parameters
added loadCachedOutputs function to load already cached outputs
made busy spinner inverted to its background color
busy spinner is now enabled while the scene is not shown
implemented events for output updates
OUTPUT_UPDATED
improved
updateCallback
resolutionsbugfixes:
fixed issue where hidden characters in Tag3D elements caused issues in AR
fixed background alpha not being applied correctly
Version 2.11 (13/10/23) - Led Zeppelin
This target of this release was the finalization of the post-processing effects and additionally some performance improvements.
Post-Processing
Breaking Change: From this release on, the post-processing effect SSAO is enabled by default for all models. You can either disable it via the platform or via the API as shown in this example.
Post-Processing allows the usage of various effects as can be seen in the help desk documentation of it. These effects include:
It is also possible to create custom effects.
Performance
new caching functionality that can especially improve the performance in slower networks and can limit data usage
the caching of downloaded data was improved and can now be manually adjusted
added option
waitForViewportUpdate
to enable waiting for viewport updateshader and texture compilation changes
three.js texture caching in consecutive calls
General
added a new function to request multiple exports at once
Version 2.10 (19/09/23) - Kyuss
This target of this release was the improvement of the viewer in various areas. Additionally, a WIP of the post-processing feature was added.
HTML Elements
general performance improvements when HTML elements are enabled in the scene
visibility improvements when HTML elements are hidden by geometry
Attribute Visualization
general performance improvements with attribute visualization
usability improvements for object selection
general fixes regarding material application
Interactions
improvement of interactions when using transformations
grouping of nodes for interactions via id
improvement of event data for interactions
bug fix in multi-selection when clicking outside of the visible scene
Error Handling
passing of server errors to the user
exporting of error types and type guards
Gem Stone Rendering
general performance improvements for gem stone rendering
improved application of gem material shader
fixed gem material shader issues on iOS
Multiple Viewports - Multiple Sessions
improved busy mode when using
excludeViewports
HTML element for multiple viewports improvement
General
creation of session with
guid
andjwtToken
instead ofticket
spinner and logo adjustments depending on absolute device size
jwtToken with varying permissions can be replaced on runtime
events to estimate the progress of tasks
restrictions on allowed parameter inputs
improved camera movement functions
scene cleanup after unexpected exit
bugfixes:
ground plane shadows setting was not imported with viewer settings
duplicate geometry during update calls
html tags were not removed during update calls
transformations were not evaluated after loading cached geometry
export request with specific parameter values
environment map intensity was not consistently applied
touch event issues on specific devices
Version 2.9 (25/05/23) - Jimmy Eat World
This target of this release was to improve the usability of the viewer on various ends and provide new tools to improve the general usability. Additionally, we exposed new settings for environments.
New Features
expose progress while loading data (example)
implemented improved error handling (example)
improved tag hideability (example)
exposed the version of the viewer as a property
New Settings
update viewer settings to version
1.4.1
implemented new setting
environmentMapBlurriness
(example, available as a setting on the platform)implemented new setting
environmentMapIntensity
(example, available as a setting on the platform)implemented new setting
environmentMapRotation
(example, available as a setting on the platform)implemented new setting
defaultMaterialColor
(example, available as a setting on the platform)
Interactions
exposed more data for interaction events (example)
General
Breaking Change: the properties
mode
,material
,standardMaterial
,attributeMaterial
,materialVariants
andeffectsMaterial
were removed from thePrimitiveData
and added to theGeometryData
improved GLTF converter performance
separation between primitive and geometry caching
disallowed instagram browser on iOS for AR viewing as it is not supported there
bugfixes:
task event information was not correct for parallel customizations
removed empty nodes from gltf creation
added target property for bufferViews in gltf creation
restricted event forwarding on mobile devices to not accept click events
fixed initial parameter values not working correctly (example)
shader adjustements only on initial load
default material change for vertex colors
AR model generation is now restricted to the viewport that is used
Version 2.8 (20/04/23) - Interpol
The main goal of this release were performance and memory consumption improvements. Improvements were made in various areas such as:
geometry loading
geometry processing
the rendering loop
interactions
From this release on, a user has to implicitly call updateVersion on any node that was changed, otherwise those changes won’t be visualized in the scene. Previously this was done in some cases for the user which lead to performance issues and inconsistencies. Therefore, if you are having issues after updating to this version, make sure to call updateVersion whenever you add/change/remove data of a node or change one of its properties.
Other Notes:
restricted the AR scale to 0.001 due to limitations with the USDZ converter
removed sentry
added new API function restrictEventListeners
removed manual context re-creation
added the restriction parallelGlTFProcessing to restrict how many glTFs can be loaded in parallel
added setting consoleBranding to minimize the console branding
bugfixes:
removal of normalized attribute scaling
removed axios error interceptors
Version 2.7 (23/03/23) - High Vis
improved color management
three.js update to
0.148.0
improved error handling on mobile devices
bugfixes:
waiting for initial settings when loading session before viewport
transmission can now be combined with opacity
bounding box calculation in regards to transformations
Version 2.6 (14/12/22) - Green Day
traverseData function for TreeNodes
new environment enum ENVIRONMENT_MAP_EMPTY with properties
NONE
(black to white gradient) andNULL
(no environment map)geometry and sdtf sdk updates
bugfixes:
gemstones memory leak
gemstones animations
shadows on transparent objects
transparent objects depth write
Version 2.5 (10/11/22) - Frank Carter & The Rattlesnakes
changed default light properties to make it easier to work with them
enable JWT authorization for sdTF files
environment maps can now be set per material
allow the saving of no light scenes
toggle the rendering of all lights
bugfixes:
environment geometry was not positioned at the bottom of the scene
dragging without a drag anchor or drag origin always resetted to the origin
html anchors are now hidden when the node or a parent is hidden
initial point size after customization
Version 2.4 (7/11/22) - Enter Shikari
created possibility to create a QR code for AR
rounding of numeric parameters is now automatic
documentation improvements
bugfixes:
point size was not assigned correctly
orthographic camera projection had an offset
Version 2.3 (17/10/22) - Don Broco
ground shadows without a ground plane (
groundPlaneShadowVisibility
,groundPlaneShadowColor
)reset functionalities (
resetParameterValues
,resetSettings
)parallel customization requests (
customizeParallel
)documentation improvements for viewer features
exposed utility functions (
convert3Dto2D
,raytraceScene
)
Version 2.2 (01/09/22) - Cleopatrick
performance improvements
cloning of animations
new default camera setup
interaction opacity options
improved error messages
documentation of feature packages
exposed new event properties for interaction events
Version 2.1 (03/08/22) - Biffy Clyro
performance improvement of material loading
configurable attribute visualization materials
viewport settings access
default camera setup
Version 2.0 (27/07/22) - Arctic Monkeys
refactoring of API
Version 1.15.7 - Once Upon a Time in America
implemented animation pivot option
Version 1.15.6 - The Other Guys
bugfix: animated spinner on iOS
implemented loading of data via geometry SDK
Version 1.15.5 - Oliver Twist
multi select
spinner positioning
Version 1.15.4 - Olympus Has Fallen
improved applySettings functionality
Version 1.15.3 - Ocean's Thirteen
update to new sdtf package
Version 1.15.2 - Ocean's Twelve
removed direct links
Version 1.15.1 - Ocean's Eleven
update geometry sdk version
Version 1.15.0 - Once Upon a Time... in Hollywood
busy spinner
animated logo
Version 1.14.16 - Night and the City
different three.js extension
Version 1.14.15 - Near Dark
three.js update
Version 1.14.14 - Nights Of Cabiria
bugfixes: SelectOnUpManager
Version 1.14.13 - Notorious
implemented SelectOnUpManager
Version 1.14.12 - Nightmare Alley
changed default background logo color
added value support for applySettings
implemented displacement mapping
Version 1.14.11 - A Night at the Opera
bugfix: event listeners
Version 1.14.10 - The Nanny
bugfix: light scene reassignment
materialDataCollection removal
added MaterialVariantsData to exports
Version 1.14.9 - Nashville
material accessibility
Version 1.14.8 - National Treasure: Book of Secrets
bugfix: error handling
Version 1.14.7 - National Treasure
bugfix: intersectionEngine viewer exclusion
Version 1.14.6 - Napoleon
bugfix: scene tracing with multiple viewers
Version 1.14.5 - Nosferatu: a Symphony of Terror
bugfix: session cancellation
bugfix: GLTFConverter visibility check
exposed calculateZoomTo
Version 1.14.4 - Night of the Living Dead
bugfix: blur events
renamed blur events to busy events
Version 1.14.3 - A Nightmare on Elm Street
bugfix: animation reset
utils/mime-type readme
busy mode events
Version 1.14.2 - Night at the Museum
bugfix: loading of non-binary glTF
bugfix: s-parameters as string
changed default color
disable AO on Chrome / MacOS
separate mime-type package
output messages as warnings
Version 1.14.1 - No Country For Old Men
bugfix: light assignment
Version 1.14.0 - The Naked Gun
new gltf material extensions
gltf animations
gltf performance improvements
group property for exports
Version 1.13.10 - Madagascar 2
bugfix: box clamping
Version 1.13.9 - Madagascar
bugfix: deselectOnEmpty re-implementation
Version 1.13.8 - Matrix Resurrections
possibility for no effectMaterial
Version 1.13.7 - Matrix Revolutions
bugfix: material assignment
bugfix: scene settings import
Version 1.13.6 - Matrix Reloaded
deselectOnEmpty option for SelectManager
Version 1.13.5 - Matrix
bugfix: material assignment
Version 1.13.4 - Mad Max: Fury Road
bugfix: AR centering moved to gltf converter
strict versioning for viewer settings
AR in-app scaling on per default
Version 1.13.3 - Mad Max Beyond Thunderdome
removed autoScaling
ar centering
Version 1.13.2 - Mad Max 2: The Road Warrior
bugfix: dataURI pass through
Version 1.13.1 - Mad Max
improved AR capabilities
bugfix: environment artefacts
bugfix: export request parameter values
Version 1.13.0 - Memento
improved AR capabilities
gltf converter fixes
bugfix for texture loading
bugfix: html anchor data
Version 1.12.5 - La La Land
bugfix: old viewer light settings
bearer token refresh functionality
retry only for JWT_VALIDATION_ERROR
Version 1.12.4 - LA Confidential
deploy comments in npm package
data exposing
test adaptions
Version 1.12.3 - The Lion King
doc updates
Version 1.12.2 - The Lord of the Rings: The Return of the King
bugfix: surface display
bugfix: old default light scene reconstruction
removed reflect-metadata requirement
displaying output and export errors
branding options
canvas error messaging
HTMLElementAnchorData structure update
improved SVG support
metalness / roughness 3d tag defaults
maxWaitTime for exports
viewer status updates
error logging
Version 1.12.1 - The Lord of the Rings: The Two Towers
bugfixes
Version 1.12.0 - The Lord of the Rings: The Fellowship of the Ring
new rendering settings
Version 1.11.12 - Kick-Ass 2
bugfix: environment map rotation
Version 1.11.11 - Kingdom of Heaven
bugfix: multiple transformations
bugfix: alpha color updates
persistent updates integration
Version 1.11.10 - Kung Fu Panda 3
bugfix: default color / material
Version 1.11.9 - Kung Fu Panda 2
added new event types
Version 1.11.8 - Kung Fu Panda
attribute visualization updates
Version 1.11.7 - Knives Out
output update functionality
Version 1.11.6 - Knocked Up
bugfix: performance improvements
bugfix: envMap rotation
bugfix: animations
bugfix: http-client
improved closing and error behavior
improved data loading
data loading and gltf matrix fixes
Version 1.11.5 - Kong: Skull Island
Version 1.11.4 - The King’s Speech
Version 1.11.3 - The Killing
updated viewer settings
gltf download improvements
Version 1.11.2 - Kick-Ass
implemented proper error handling and messaging
Version 1.11.1 - King Kong
sentry error logging improvements
Version 1.11.0 - The Karate Kid
sdk version update and parameter initial values
Version 1.10.15 - John Wick
bugfix: file-upload
mobile tests
Version 1.10.14 - Justice League
attribute visualization adaptions
optional flag to not load outputs
Version 1.10.13 - Juno
session management
new exports
Version 1.10.12 - Jumper
deployment script adaptions
internal versioning adjustments
Version 1.10.11 - Jumanji
update for deployment process
Version 1.10.10 - Jay and Silent Bob Strike Back
update for deployment process
Version 1.10.9 - Jack the Giant Slayer
bugfix: default camera assignment
Version 1.10.8 - Jack Reacher
bugfix: default camera assignment
Version 1.10.7 - Jackass: The Movie
tests
Version 1.10.6 - The Jungle Book
bugfix: starting camera
Version 1.10.5 - Jerry Maguire
image caching in backend
http-client adaptions
Version 1.10.4 - Jaws
attribute visualization tests
layer coloring
Version 1.10.3 - Jackie Brown
-bugfix: import error
Version 1.10.2 - Jason Bourne
bugfix: camera settings application
error handling improvements
Version 1.10.1 - Joker
bugfix: output content updates
refactoring of default light scenes
Version 1.10.0 - Jurassic Park
sdk2 implementation
test adaptions
error responses
Version 1.9.0 - I am Legend
attribute visualization feature
cdn adaptions
Version 1.8.14 - The Hunger Games - The Mockingjay - Part1
bugfix: tag2d removal
material preset gltf extension
string sanitization
Version 1.8.13 - The Hunger Games - Catching Fire
initial parameters
vertex colors for 4-byte aligned vertex color data
Version 1.8.12 - The Hunger Games
tag3D AR improvements
deployment adaptions
Version 1.8.11 - Harry Potter and the Deathly Hallows - Part 2
bugfix: material assignment
version iframe page
outputloader improvements
Version 1.8.10 - Harry Potter and the Deathly Hallows - Part 1
bugfix: settings loading
Version 1.8.9 - Harry Potter and the Half-Blood Prince
interface improvements
Version 1.8.8 - Harry Potter and the Order of the Phoenix
removal of unused events
adapted event system
new tests
Version 1.8.7 - Harry Potter and the Goblet of Fire
bugfix: groundplane and grid
bugfix: mobile events
Version 1.8.6 - Harry Potter and the Prisoner of Azkaban
interfaces improvements
Version 1.8.5 - Harry Potter and the Chamber of Secrets
bugfix: material loader
bugfix: alphaMap
bugfix: ar material assignment and color attributes
bugfix: transparency assignment
gltf loader improvements
AR fixes
Version 1.8.4 - Harry Potter and the Philosopher's Stone
type improvements
Version 1.8.3 - Home Alone
updated examples
node added to output
Version 1.8.2 - Heat
typo
Version 1.8.1 - Happiness
typo
Version 1.8.0 - Halloween
CDN restructuring
attribute visualization fixes
tests
Version 1.7.1 - Gladiator
bugfix: glossy specular material
bugfix: duplicate camera at startup
expanded outputs to contain data
examples and tests
Version 1.7.0 - Ghostbusters
implementation of interactions
interaction tests
Version 1.6.7 - The Fugitive
bugfix: initial settings loading
new tests
Version 1.6.6 - Frankenstein
bugfix: empty settings
viewer visibility adjustments
differences in scene tree traversal
data / event restructuring
improved material loading
preparation for interactions
Version 1.6.5 - Fight Club
separation between session init and output loading
Version 1.6.3 - The Fifth Element
bugfix: closing sessions/viewers before they are open
Version 1.6.2 - Fargo
bugfix: v3 settings conversion
Version 1.6.1 - Fahrenheit 9/11
doc improvements
Version 1.6.0 - The Fellowship of the Ring
doc improvements
deployment scripts
Version 1.5.* was used for internal deployment changes
Version 1.4.10 - El Dorado
bugfix: AR on iPad > 13.0
deployment process
Version 1.4.9 - Eagle Eye
bugfix: gltf conversion for AR
api doc
Version 1.4.8 - Eat Pray Love
Sentry improvements
Version 1.4.7 - Easy A
Sentry improvements
Version 1.4.6 - Elephant
AR improvements
Sentry improvements
Version 1.4.5 - 8 Mile
bugfix: gltf conversion
CDN adaptions
Version 1.4.4 - Edward Scissorhands
bugfix: applySettings
Version 1.4.3 - Elf
bugfix: AR on some iOS devices
bugfix: applySettings
bugfix: stopped event propagation
attribute visualization in AR
AR animations
recreated 'none' environment (SS-3563)
Version 1.4.2 - Edge of Tomorrow
bugfix: doc
Version 1.4.1 - E.T.
bugfix: always display viewer versions
bugfix: AO makes grid re-appear
bugfix: environment change, scene update
bugfix: clear color, gamma correction
bugfix: sentry error catching
custom visibility for objects (SS-2513)
zoomTo with paths (SS-2951)
refactored node path naming
implemented animations (SS-2508)
Version 1.4.0 - Eternal Sunshine of the Spotless Mind
attribute visualization feature (SS-2519)
separation of StandardViewer and AttributeViewer
Version 1.3.1 - Die Hard
patching of tooltip SS-3438
Version 1.3.0 - Dirty Dancing
bugfix: setting to depth to true, for firefox
bugfix: transparency, implementation of manual renderOrder (SS-2360)
bugfix: environment map started with upper case (SS-3501)
bugfix: wrong content-type for file upload (SS-3504)
bugfix: storing of output if version stays the same (SS-1423)
improved anti-aliasing on lines (SS-805)
adjusted light bias (SS-938)
implemented ambient occlusion intensity setting (SS-564)
adapted logic for BB computation for gltfV1 (SS-3451)
logic for automatic node assignment and parameter update (SS-931)
evaluation of texture unit count (SS-1127)
Version 1.2.4 - City Of God
bugfix: rendering on resizing
bugfix: storing of new session properties on new backend
Version 1.2.3 - Con Air
bugfix: camera assignment
Version 1.2.2 - Casino
implemented and exported all interfaces for the api
AR api completion (SS-3461, SS-3462)
Version 1.2.1 - Cabaret
deployment error, superseded by 1.2.2
Version 1.2.0 - Casablanca
adding and removing of lights was moved from
Viewer
toLightScene
setter and getters reconstruction compared to update/read-only approach
merged creation and initialization of
Session
andViewer
Version 1.1.1 - Back To The Future 2
method to add settings, or sections of the settings (SS-3460)
Version 1.1.0 - Back To The Future
bugfix: zoomTo (SS-3450)
implementation of settings 3.0
parameter history feature (SS-2506)
sentry logging refinements
glTFv1 transformations (SS-2734)
math geometry implementations (SS-2960)
improved performance of BB computation (SS-3177)
API adaptions, camera options now optional
simplified camera API
simplified light API
capturing of three.js errors (SS-285)
added new tests
added color conversion functionality to color parameters (SS-2885)
adapted API doc (SS-2861)
Version 1.0.5 - Austin Powers: International Man of Mystery
bugfix: GLTFConverter, added mimeType
bugfix: endless loop when session was closed
added AR implementation via API
adapted glTF loading
added new tests
glTF loading and versioning is now combined
Version 1.0.4 - Annie Hall
deployment error, superseded by 1.0.5
Version 1.0.3 - Apocalypse Now
bugfix: default camera position
bugfix: anchors were not removed on scene update
AR api implementation
changed default logging level
changed examples
Version 1.0.2 - American Beauty
bugfix: hidden parameters
Version 1.0.1 - Amelie
bugfix: preset material transparency
bugfix: multiple sessions at once
Version 1.0.0 - Ace Ventura: Pet Detective
updated browserstack tests
implemented new sd-dtos