Visual API Releases
The current version of the Visual API is 1.38.5
. 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.38.5 (current)β
Fixedβ
- Fixed issue where iPad would not load the correct quality textures.
1.38.4β
Fixedβ
- Fixed issue where Hotspots would display on the wrong side of the product.
1.38.3β
Fixedβ
- Fixed issue with AR working intermittently when loading multiple pages at once.
- Fixed issue with lighting/background colors being incorrect in certain cases.
1.38.2β
Fixedβ
- Fixed issue with product initialization in certain cases.
1.38.1β
Fixedβ
- Fixed issue with Hotspot placement on child parts.
1.38.0β
Changedβ
- Implemented performance update to address issues when using Hotspots.
1.37.1β
Changedβ
- Internal update to the
productReady
analytics event.
1.37.0β
Changedβ
- Internal update for storing AR information.
1.36.0β
Changedβ
- Internal update to the build process.
1.35.0β
Addedβ
- Added support for setting back face culling.
1.34.0β
Fixedβ
- Fixed an issue where hotspots could show an additional UI element.
1.33.2β
Changedβ
- Implemented performance update to address memory issues on some devices.
1.33.1β
Changedβ
- Internal changes to prepare for performance update.
1.33.0β
Fixedβ
- Fixed an issue with taking screenshots while using Safari.
1.32.0β
Addedβ
- Added support for the official GLTF anisotropy extension.
- Added a
camera
property to theVisual
class for accessing camera information.
1.31.1β
Addedβ
- Added support for a
doppleTextureType
query parameter for reviewing texture quality levels.
1.31.0β
Addedβ
- Added new
inViewport
andoutOfViewport
analytics events.
Changedβ
- Internal update to the
setValue
analytics event.
Fixedβ
- Fixed an issue that could occur when reloading older sessions.
1.30.2β
Addedβ
- Added an
attach
function andelement
property to theHotspot
interface.
1.30.1β
Fixedβ
- Fixed an issue where certain analytics events would be sent before the triggering event was complete.
1.30.0β
Addedβ
- Added a
session
object to the options for theinitClient
method on theVisual
class.
1.29.1β
Fixedβ
- Fixed an issue with the
on
method from theVisual
class.
1.29.0β
Addedβ
- Added methods to the
Product
class for hotspots.
1.28.0β
Addedβ
- Added methods to the
Visual
class for setting the background color, setting the environment, and transitioning the camera.
1.27.1β
Addedβ
- Added a method to the
Visual
class for creating a model viewer HTML element.
1.27.0β
Fixedβ
- Fixed an issue with rendering quality for high resolution screens.
- Fixed an issue with mesh swaps where some meshes would show up when they were not suppose to.
1.26.1β
Fixedβ
- Fixed an issue where high resolution textures were not being used.
1.26.0β
Changedβ
- Updated Runtime to version 1.19.0.
1.25.0β
Changedβ
- Updated antialiasing to use MSAA post process effect at x8 sampling.
1.24.1β
Changedβ
- Optimized initial load times.
1.24.0β
Addedβ
- Internal update to support textureFile resources.
1.23.10β
Fixedβ
- Fixed an issue with attempting to use nested CI dependencies.
1.23.9β
Changedβ
- Updated controller documentation.
1.23.8β
Changedβ
- Internal update to how testing is managed.
1.23.7β
Addedβ
- Added documentation for new camera transition function.
1.23.6β
Changedβ
- Removed unsupported analytics events.
1.23.5β
Changedβ
- Updated sequenceId to be explicitly provided with each analytics event.
1.23.4β
Changedβ
- Updated backend analytics service.
1.23.3β
Addedβ
- Added an analytics event for when the AR experience starts generating.
1.23.2β
Fixedβ
- Fixed an issue where products would not display as expected when using a material with transmission.
- Fixed an issue where the
sessionStart
analytics event was not sending as expected.
1.23.1β
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 theanalytics
object within theVisual
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 texturerotationY
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 useabsolute
CSS positioning instead offixed
.
1.15.0β
Addedβ
- Updated Visual API deployment URL to provide global network performance improvements.
- Added support for
setEmissiveColor
within the controller'smaterial
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 theProduct
class that will return aPromise
that will resolve when theProduct
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 theVisual
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
, andtoneMapping
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
andObserver
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 functionARScene.create
. - QR Code generation happens through the
generateQRCode
function onARScene
, which will allow mobile devices to view AR content that was originally created on the desktop. - The
launchAR
function added toARScene
will open the AR content directly on a mobile device.
1.8.0β
Addedβ
- Added accessor functions
getProduct
andgetProducts
onto theProductTemplate
class. - Added
getValue
andgetValues
function toProduct
, which allows the user to get the property values that have been set throughsetValue
.
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
Product
s.
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 returnedPromise
.
1.5.0β
Addedβ
- Added a public destroy function on
Product
andProductTemplate
. This will allow those classes to be destroyed individually, outside of destroying the entireVisual
instance.
1.4.0β
Addedβ
- Added the
setMaterial
function to the Controller'smesh
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 anoptions
object of a particularchoice
within the Configurable Item's manifest. Thematerial
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 themesh
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 theVisual
class. This behaves similarly to the existinggetProductTemplate
class, but it will not throw an error when theProductTemplate
is not found; instead it will returnnull
.
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 thedependency
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'sdependency
object. This new function should be used in place of the oldattach
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 theLoadingScreen
class. - Added
show
andhide
functions to the Controller'sdependency
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 throughVisual
>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.