HOOPS Visualize Web 2026.5.0

Package Changes

Several @ts3d-hoops/* npm packages had their package.json cleaned up so tooling (TypeScript, modern bundlers, Node.js ESM resolver) picks up the correct entry points automatically, and a few warnings emitted by esbuild/Vite when consuming the packages are gone.

  • @ts3d-hoops/web-viewer-monolith, @ts3d-hoops/sc-engine and @ts3d-hoops/common are now declared as "type": "module" and ship a proper exports map with types and import conditions.
  • @ts3d-hoops/sc-engine: the browser field now points to a file with the correct .js extension, fixing a warning emitted by esbuild.
  • @ts3d-hoops/sc-engine: dropped the ./engine.esm.js subpath export, which pointed to a file that has never shipped in the package.
  • @ts3d-hoops/web-viewer-components: dropped the ./hoops-model-tree subpath export, which pointed to a file that has never shipped in the package. The component is still importable via the @ts3d-hoops/web-viewer-components/hoops-model-tree/hoops-model-tree subpath.

Potentially Breaking

Consumers who import these packages normally (import ... from '@ts3d-hoops/...') are not impacted. The renames below only affect setups that reference individual build artifacts by their literal filename, such as <script src> tags or CDN URLs:

  • @ts3d-hoops/web-viewer-monolith, @ts3d-hoops/sc-engine and @ts3d-hoops/common: the main ESM bundle has been renamed from *.mjs to *.js.

Enhancements

  • Added a log service to emit log messages from the WebViewer as events.
  • Added toast notifications for log messages, errors, and warnings in the demo app.
  • Updated the demo app’s React dependency to 19.2.6.
  • Added support for per-element visibility control at the geometry level, allowing independent toggling of faces, lines, and points within StreamCache authoring workflows. This enables more flexible inspection modes such as solid, wireframe, and point-based views, with visibility handled directly at the model data level. Includes an authoring sample and programming guide documentation: Setting Per-Element Visibility

Fixed Bugs

Issue Description
SDHC-20461 Inquiry regarding HOOPS Exchange and Visualize for Web - GS E&C
SDHC-20434 Improved curve simplification reliability
SDHC-20420 Fixed elements’ visibility on low resolution snapshot
SDHC-20413 Clamped the dot product
SDHC-20361 Fixed text wrapping in CATDrawings
SDHC-20255 Modified the logic to resize the SVG elements and keep the viewport
SDHC-20241 Added support for non-semantic PMI
SDHC-20229 Added ability to create snapshots in an offscreen view
SDHC-20221 Added an options param to discriminate what type of node should be considered when querying visibility
SDHC-19553 Added volume and local transforms factors to COG computation