Skip to main content

Visual API Releases

The current version of the Visual API is 1.23.1. Each release’s latest version is publicly available at:

https://builds.dopple.io/atlatl-visual-api/releases/current/index.js

Additionally, previous releases are available at:

https://builds.dopple.io/atlatl-visual-api/releases/X.X.X/index.js
Note

Replace X.X.X above with your desired version number. For version 1.0.0, for example, you would use https://builds.dopple.io/atlatl-visual-api/releases/1.0.0/index.js.

While not normally needed, the ate environment (Automated Test Environment) can be accessed by appending -ate to the end of index in any of the above endpoints, such as: https://builds.dopple.io/atlatl-visual-api/releases/current/index-ate.js

Finally, by appending window to the end of any index (or index-ate) endpoints will provide a build that exclusively adds the Visual API to the window object, which can be used in certain cases where the standard build will fail (such as when using a library like requirejs). Examples: https://builds.dopple.io/atlatl-visual-api/releases/current/index-window.js and https://builds.dopple.io/atlatl-visual-api/releases/current/index-ate-window.js

Releases​

1.23.1 (current)​

Fixed​

  • Fixed issue where mobile browsers were not displaying with the correct resolution.

1.23.0​

Added​

  • Added support for sending custom analytics events.
  • Added analytic event for when an event is triggered on a Product.
  • Added sequenceId to analytic events.

1.22.1​

Fixed​

  • Fixed issue where logging would throw an error when initialized twice.

1.22.0​

Added​

  • Added option to select alternative loading screen styles.
  • Added analytics event for when a Product is created.

Changed​

  • Updated default loading screen.

1.21.0​

Added​

  • Added external logging support.
  • Added support for feature flags.

1.20.2​

Fixed​

  • Fixed a bug where a global variable called β€œdefault” would break the library.

1.20.1​

Fixed​

  • Fixed bug where the environment would throw an error if set 15 minutes after the session has started.

1.20.0​

Added​

  • New analytic events for camera movement.

1.19.0​

Added​

  • New analytic event for the beginning of the session.

Changed​

  • Updated Runtime to version 1.14.4.

1.18.0​

Added​

  • Added support for Anisotropy GLTF Extension.

Changed​

  • Updated Runtime to version 1.14.3.

1.17.2​

Added​

  • Added an additional build argument for the ate environment. It can be accessed through this endpoint: https://builds.dopple.io/atlatl-visual-api/releases/current/index-ate.js.

1.17.1​

Added​

  • Added support for default options.

Changed​

  • Updated Runtime to version 1.14.1.

1.17.0​

Added​

  • Added support for the Transmission GLTF Extension.
  • Added support for the Volume GLTF Extension.
  • Added support for the Iridescence GLTF Extension.
  • Metadata can be attached to analytics events by using the setMetadata function on the analytics object within the Visual instance.

1.16.1​

Added​

  • Added a new library endpoint that exclusively attaches the Visual API to the window. The endpoint can be accessed like so: https://builds.dopple.io/atlatl-visual-api/releases/current/index-window.js
Note

If using libraries such as requirejs, this new endpoint MUST be used, as the standard index.js endpoint will not work.

1.16.0​

Added​

  • Added support for the IOR GLTF Extension.
  • Added support for the Sheen GLTF Extension.
  • Added support for the Clearcoat GLTF Extension.

1.15.4​

Added​

  • Added support toneMappingType and texture rotationY for environments.

1.15.3​

Fixed​

  • Fixed an issue where the Product wouldn't work fully in AR if some of the meshes were not visible when the AR message was created.

1.15.2​

Added​

  • Added support for default versioning.

Changed​

  • Updated Runtime version to 1.11.1.

Fixed​

  • Resolved issue with antialiasing not working on the first attempt when taking a screenshot in some cases.

1.15.1​

Added​

  • Added an initialization option for LoadingScreen to use absolute CSS positioning instead of fixed.

1.15.0​

Added​

  • Updated Visual API deployment URL to provide global network performance improvements.
  • Added support for setEmissiveColor within the controller's material object.

Changed​

  • Updated Runtime to version 1.11.0.

Fixed​

  • Fixed a bug where launch AR was not opening up a new tab, but instead overriding the existing tab.
Note

Since the AR experience now opens in a new tab, the call to launchAR should be fired within the onclick event. If it is not, it will be blocked by the browser. This will be taken care of automatically for implementations using the Visual Component.

1.14.2​

Fixed​

  • Fixed a bug where AR was not displaying all of the albedo colors properly in certain cases.

1.14.1​

Added​

  • Upgraded client authentication to fix auth failures on page refreshes.
  • Updated Runtime to version 1.9.1.

1.14.0​

Added​

  • Added a ready function to the Product class that will return a Promise that will resolve when the Product is about to be displayed in the scene.

Changed​

  • Controller logic is now handled externally and downloaded outside of the API package.

1.13.0​

Added​

  • Added support for multiple materials for a single option in a choice.
  • Added deduplication for textures to reduce memory footprint and improve network speed.

1.12.1​

Changed​

  • Changed order of operations for setting environment selection.
  • Setting texture values as intended to support texture transform extension.
  • Updated Runtime version to 1.8.2.

1.12.0​

Added​

  • Skybox, ground plane, and ibl environment texture can be set through environment properties when defining a Configurable Item.
  • Added environment swapping that can be initiated through the controller.

Changed​

  • When the promise is resolved from captureImage in the Visual class, a string is returned that will contain the base64 image data.
  • Deprecated the backgroundColor option from Visual.initClient, instead the HTML Canvas element should be used to set the desired color.

1.11.0​

Added​

  • Events are now supported in the API through Product.triggerEvent.
  • Functionality has been added to listen to events being triggered by calling the onTriggerEvent function.
  • Environment properties for contrast, exposure, and toneMapping are now supported through the environment resource. The data will still need to be set initially through the CLI Tool.

1.10.0​

Added​

  • Added Observable and Observer classes for Visual configuration notifications.
  • Added ability to override the camera radius minimum, maximum and initial values in the controller.

Changed​

  • Updated loading screen so that it uses inline CSS styles so that it will work with shadow DOM.

1.9.0​

Added​

  • Added a new ARScene class. This is the interface used for all AR-related functionality. The new class can be created by calling the static function ARScene.create.
  • QR Code generation happens through the generateQRCodefunction on ARScene, which will allow mobile devices to view AR content that was originally created on the desktop.
  • The launchAR function added to ARScene will open the AR content directly on a mobile device.

1.8.0​

Added​

  • Added accessor functions getProduct and getProducts onto the ProductTemplate class.
  • Added getValue and getValues function to Product, which allows the user to get the property values that have been set through setValue.

Changed​

  • The camera can now have clamped values through the updated options object when initializing the camera in the controller.

Fixed​

  • Fixed a bug that was causing the setValue function to encounter an error when the default value was set.
  • Fixed an issue where setValue was throwing an error if the dependency wasn’t downloaded yet, and the value was set to false.

1.7.1​

Fixed​

  • Fixed a performance regression that was causing extremely long load times for initial assets on some Products.

1.7.0​

Added​

  • Added caching for textures and products that will improve load times on consecutive runs.

Fixed​

  • Fixed an issue where a new material was not being created when the texture already existed.
  • Fixed an issue where material option textures were not getting loaded properly.

1.6.0​

Changed​

  • Updated how meshes are being cached and prolonged the time the meshes stay cached, so that consecutive launches are slightly faster.
  • Updated Runtime to 1.6.1.

Fixed​

  • Fixed camera logic in the controller so that any asynchronous calls will be more accurate.
  • Fixed an issue where the Product.setValue function wasn’t waiting until the controller was completely done before resolving the returned Promise.

1.5.0​

Added​

  • Added a public destroy function on Product and ProductTemplate. This will allow those classes to be destroyed individually, outside of destroying the entire Visual instance.

1.4.0​

Added​

  • Added the setMaterial function to the Controller's mesh object. This can be used to swap materials on a particular mesh.
  • Materials can now be eagerly and lazily loaded just like meshes. You can enable this by specifying a material property in an options object of a particular choice within the Configurable Item's manifest. The material property takes in the ID of the material resource to use.
  • Added β€œMesh Groups” to a controller. These can be created by calling addMeshGroup from the mesh object of a controller. The function will return an object where a list of meshes can be toggled on/off, including changing the material on every mesh in the group, with support for β€œequivalent” materials in the case that a different material needs to be used for a particular mesh.
  • Added a tryGetProductTemplate function to the Visual class. This behaves similarly to the existing getProductTemplate class, but it will not throw an error when the ProductTemplate is not found; instead it will return null.

Changed​

  • Updated Runtime version to 1.5.0.
  • Removed the default light that was getting generated through the Visual scene.

1.3.0​

Added​

  • Camera manipulation is now possible within the controller. It can be accessed within the controller by the Controller's camera object.

Changed​

  • The attachSlot function that can be accessed through the dependency object on a controller instance can now be called again to move the existing slot under a new node within the parent.

Fixed​

  • Fixed an issue where eager/lazily loaded meshes were not able to get configured properly.
  • Fixed an order of operations issue that prevented the user from calling any controller functions within the init function of the controller.

1.2.0​

Added​

  • Added the attachSlot function to the Controller's dependency object. This new function should be used in place of the old attach function, which is now deprecated.

Changed​

  • Updated Runtime version to 1.2.0.

1.1.0​

Added​

  • Added support for eager/lazy loading of assets.
  • Added a default loading screen. It can be accessed through Visual > loadingScreen and a new one can be created through the LoadingScreen class.
  • Added show and hide functions to the Controller's dependency object. These functions can be used to show/hide the entire dependent CI after creation.

Changed​

  • The Product > setValue call is now async.
  • Updated Runtime version to 1.1.1.

1.0.1​

Changed​

  • Updated Runtime version to 1.1.0.

1.0.0​

Added​

  • Added Visual > destroy to destroy and remove a Visual instance.
  • Added init options to set the background color through Visual > initClient.
  • Added support for setting properties on dependent CIs.
  • Added Visual > captureImage function to take a screenshot of the Visual canvas.

Fixed​

  • Fixed issue where error was not thrown if setValue was called with an incorrect property name, with a value that did not conform to the schema, or on a CI that is not configurable.