3.10.0 Migration Guide#

In this release, you’ll find only minor API cleanups, refactorings, and changes. In the majority of cases, these won’t impact already existing applications, which run on our previous version (3.9.0). This document provides both a general overview of the required updates and a detailed list of API changes.

Data Gateways and Datapools#

This version of instant3Dhub introduces the Datapool concept to streamline and unify how instant3Dhub retrieves and authorizes data. If you have used data gateways before, only minor modifications to your helm deployment variables will be necessary. This change generalizes how data sources are configured and provides greater flexibility for data storage already available through a URL that requires additional configuration.

Example of a configuration for instant3Dhub < 3.10.0

dataGateways:
  customerGateway1:
    - namespace: customer
      specifier: document-uuid
      urlContentType:
        - "openjt"
      urlTemplate: https://download.example.com/documents/$(1).jt
      authUrlTemplate: https://auth.example.com/documents/$(1).jt
      forwardHeaders: [ "Authorization" ]
      forwardCookies: [ "SessionID" ]

The migrated configuration would look like this for instant3Dhub >= 3.10

datapools:
  - urn: urn:customer:document-uuid
    urlContentType:
      - "openjt"
    urlTemplate: https://download.example.com/documents/${1}.jt
    authUrlTemplate: https://auth.example.com/documents/${1}.jt
    forwardHeaders: [ "Authorization" ]
    forwardCookies: [ "SessionID" ]

For further information, please consult the URN Mapper Configuration or the values.yaml in the product repository.

Reality API Refactoring#

This version introduces a rework of the experimental RealityAPI. It provides a new, cleaner way to control any AR-related webvis feature. Furthermore, it opens the door for implementing further AR features in webvis.

In earlier versions, the entry point to any webvis AR functionality was the connectXRSession method. It has now been replaced by the more powerful connectXR function. It allows the API user to pass on an XRConfiguration, which can be used to specify exactly which AR functionalities should be used during an XR session. Furthermore, there exists now a disconnectXR method to properly disconnect from a running XR session.

An important change to the old version is the removal of the XR members. This is most obviously reflected in the names of some methods, such as enterXRMemberInitMode(xrMemberId) -> enterXRInitMode(). As the XR members represent a redundant concept, this reduces the complexity of applications based on the RealityAPI and improves the user experience.

XR Playback API#

As part of the refactoring of the RealityAPI, the closely linked XR Playback API was also officially introduced in this version.

With the XR Playback API, pre-recorded frame sequences can be played back anywhere, removing the need to visit the physical location for each test iteration. The recordings can be used to test new features easily or increase development iteration speed without the need of having a physical device available.

Dynamic Clip Plane#

The ViewerAPI offers a flexible dynamic clip plane feature that enables users to selectively hide or reveal portions of the scene by placing a virtual clipping plane in front of the camera at a fixed distance. This functionality can be customized using three distinct settings: ViewerSettingString.DYNAMIC_CLIPPING_ENABLED, ViewerSettingString.DYNAMIC_CLIPPING_DISTANCE, and ViewerSettingString.MAX_DYNAMIC_CLIP_DIST. Previously, these settings were hardcoded within our core library, often resulting in unpredictable behavior for app developers. In this version, we’ve relocated the associated logic behind these settings from the core library to our related UI component. This maintains the original behavior when using our UI component while granting app developers complete control over the functionality for those seeking to create a more tailored user experience.

API Changes#

The following list contain API additions, changes and removals which might be subject for migration efforts. Most alterations were performed to provide a more streamlined experience when working with the API and come only with minimal need for manual intervention from application developers.

ContextAPI

ViewerAPI

  • destroy

Events

Functions

Types

Enums

EventType

Property

SettingStrings

ViewerSettingStrings


Did you find this page useful? Please give it a rating:
Thank you for rating this page!
Any issues or feedback?
What kind of problem would you like to report?
Please tell us more about what's wrong: