HOOPS Visualize Web 2025.8.0

Technology Update

Note

The minimum required C++ standard has been raised from C++11 to C++14.

  • All build toolchains must now enable at least -std=c++14 (or /std:c++14 on MSVC).
  • Downstream integrators compiling custom modules against our headers must adapt their build configurations accordingly.

Minimum Linux requirements have also been raised. Please refer to the Supported Platforms documentation for details.

  • Official NPM Repository Launch: Developers can now directly download and integrate the HOOPS Web Viewer client and related packages via NPM.
  • Open Source UI Library: Our UI component library is now open-sourced and available from its Github repository, supporting transparency in our UI development.
  • html2canvas Update: Dependency updated from html2canvas 0.5.0-beta-4 to html2canvas-pro 1.5.8.

Deprecated Features and Functions

  • Deprecation of shipped Node.js; now considered a server-side requirement. Removal of Node.js from the package is scheduled for release 2026.1.0.
  • Deprecation of legacy server wrappers.
  • Deprecation of the old UI.
  • Deprecation of HTML templates associated with the old UI.
  • Deprecation of over 43 material-related functions. These have been replaced by the new IMaterial interface. Full removal of these functions is planned for release 2026.1.0.
Current Function Replacing Function
setMetallicRoughness() setNodesMaterial()
setNodesAmbientColor() setNodesMaterial()
setNodesAmbientMix() setNodesMaterial()
setNodesColors() setNodesMaterial()
setNodesFaceColor() setNodesMaterial()
setNodesFaceEmissiveColor() setNodesMaterial()
setNodesFaceSpecularColor() setNodesMaterial()
setNodesFaceSpecularIntensity() setNodesMaterial()
setNodesLineColor() setNodesMaterial()
setNodesLinePattern() setNodesMaterial()
setNodesOpacities() setNodesMaterial()
setNodesOpacity() setNodesMaterial()
setNodesPointColor() setNodesMaterial()
setNodesTexture() setNodesMaterial()
getMetallicRoughness() getNodesMaterial()
getNodesAmbientColor() getNodesMaterial()
getNodesFaceColor() getNodesMaterial()
getNodesFaceEmissiveColor() getNodesMaterial()
getNodesFaceSpecularColor() getNodesMaterial()
getNodesLineColor() getNodesMaterial()
getNodesOpacity() getNodesMaterial()
getNodesPointColor() getNodesMaterial()
getNodesEffectiveAmbientColor() getNodesMaterial()
getNodesEffectiveEmissiveColor() getNodesMaterial()
getNodesEffectiveFaceColor() getNodesMaterial()
getNodesEffectiveLineColor() getNodesMaterial()
getNodesEffectiveOpacity() getNodesMaterial()
getNodesEffectivePointColor() getNodesMaterial()
getNodesEffectiveSpecularColor() getNodesMaterial()
getNodesHaveTransparency() getNodesMaterial()
resetModelOpacity() resetNodesMaterial()
resetNodesColor() resetNodesMaterial()
resetNodesOpacity() resetNodesMaterial()
unsetMetallicRoughness() resetNodesMaterial()
unsetNodesAmbientColor() resetNodesMaterial()
unsetNodesFaceColor() resetNodesMaterial()
unsetNodesFaceEmissiveColor() resetNodesMaterial()
unsetNodesFaceSpecularColor() resetNodesMaterial()
unsetNodesFaceSpecularIntensity() resetNodesMaterial()
unsetNodesLineColor() resetNodesMaterial()
unsetNodesLinePattern() resetNodesMaterial()
unsetNodesPointColor() resetNodesMaterial()
unsetNodesTexture() resetNodesMaterial()

Enhancements

  • The snapshot feature is now working within the new demo and when using web components.
  • General availability of the new UI libraries.
  • General availability of new HTML templates aligned with the new UI libraries.
  • General availability of IMaterial interface for improved material management in the WebViewer.
  • Added experimental API for setting and getting draw modes per node. Information pertaining to this experimental API can be found here under the section Per Node Draw Mode Override. This API isn’t definitive and may change in future releases.

Package Changes

The following packages are now available via NPM:

Package Description
@ts3d-hoops/web-viewer-components Library for Advanced UI elements
@ts3d-hoops/ui-kit Library for simple UI elements
@ts3d-hoops/web-viewer Multi files version of HOOPS Visualize Web WebViewer
@ts3d-hoops/common Dependency for HOOPS Visualize Web WebViewer @ts3d-hoops/web-viewer
@ts3d-hoops/streamcache Dependency for HOOPS Visualize Web WebViewer @ts3d-hoops/web-viewer
@ts3d-hoops/sc-engine Dependency for HOOPS Visualize Web WebViewer @ts3d-hoops/web-viewer
@ts3d-hoops/web-viewer-monolith Monolithic version of HOOPS Visualize Web WebViewer

Additionally, two dedicated React wrappers have been published to support React-based applications:

Package Description
@ts3d-hoops/web-viewer-components-react React wrapper for @ts3d-hoops/web-viewer-components
@ts3d-hoops/ui-kit-react React wrapper for @ts3d-hoops/ui-kit

These packages are actively used in our demo application and are fully supported for production use.

Fixed Bugs

Issue Description
SDHC-20240 Corrected PMI display in model view.
SDHC-20216 Corrected the @ts3d-hoops/web-viewer package main path typo in package.json.
SDHC-20178 Added activateDefaultCadConfiguration(false) after resetting the nodes.
SDHC-20150 The navCube now checks if the mouse is inside its overlay before triggering a navCube selection.
SDHC-19980 Handling fixed for very small font sizes defined for some Creo PMI variable texts.
SDHC-19683 Fixed CATPart shattered.
SDHC-19211 Memory leaks fixed.