Skip to main content
Version: 4.8.4

LibZL Options


Index

Typedef

01. Rendering Session

Section: Rendering Session

ParamTypeDefaultDescription
[connectionParameter]object{}Connection parameters are used for resolving the connection with rendering services.
[connectionParameters.mainDomain]string"zlthunder.net"Domain name used for connection with rendering services.
[connectionParameters.region]string"''"AWS region name used for connection with rendering services. Example: 'eu-west-1'.
[connectionParameters.regions]Array.<object>[]List of regions for finding the best available service in closest region. Example: [{name: 'eu-west-1'}].
[connectionParameters.protocol]string"https"Network protocol used for connection with rendering services.
[connectionParameters.customer]stringCustomer name used for connection with rendering services.
[connectionParameters.environment]string"stage"Server environment used for connection with rendering services.
[connectionParameters.forceCluster]string"''"Server cluster name used for connection with rendering services.
[connectionParameters.awaitAllRegions]booleanfalseWhen disabled, short circuit region probing upon first successful response.
[connectionParameters.allowedDomains]Array.<string>[]Server cluster name used for connection with rendering services.
[additionalFilterInformation]object{}Custom "user session" information.
[regionServiceURL]string"{@see desc}"[Default=https://externalservices.zlthunder.net/regions/v2/] URL of external service where regions are defined
[useRegionService]booleantrueEnable external service for finding available regions
[token]string"''"Authentication token for protected server environments
[reservedInstanceTag]string"''"Restrict streaming connection to a particular viewer instance by tag
[overrides]object{}[Deprecated]
[overrides.casURL]string"''"[Deprecated] Fixed CAS address (it will replace connectionParameters used for service discovery)
[casURL]string"''"Fixed CAS address
[overrideMetadataEndpoint]string"''"Fixed Metadata API endpoint address
[protocol]string"https"[Deprecated] Network protocol used for connection with rendering services. Please use connectionParameters.protocol instead
[localControl]boolean | stringfalseEnable connection to the "Local Viewer" (on localhost)
[localControlWithCAS]booleanfalseUse remote CAS for "Local Viewer" connection
[localControlWithoutPorts]booleanfalseSkip using ports for "Local Viewer" connection
[directConnect]boolean | objectfalseConnect to the Viewer directly by specified address
[directConnectConfig]object{}Viewer direct connection config
[directConnectConfig.useSSL]objectfalseUse SSL for Viewer direct connection
[noRender]booleanfalsePrevent rendering
[noStream]booleanfalsePrevent connecting to the stream
[allowContinuousReconnectAttempts]booleanfalseReconnect automatically in case of network issues
[car]object{}Model (car) configuration
[car.manufacturer]string"''"Model (car) manufacturer parameter
[car.model]string"''"Model (car) model parameter
[car.year]string"''"Model (car) year parameter
[allowLocalStorageReconnect]booleanfalse[Deprecated] Use previously stored clientID in localStorage for any future reconnect and connect methods

02. View

Section: View

ParamTypeDefaultDescription
[resolution]object{}Initial resolution of stream and viewport
[resolution.x]number640Resolution width
[resolution.y]number360Resolution height
[showDownloadButton]booleanfalse[Deprecated] Show HTML button for downloading current frame

03. Scaling Config

Configuration of adjustments based on the the stream element's viewport.

Section: View > Scaling Config

ParamTypeDefaultDescription
[scalingConfig]object{}Configuration of adjustments based on the stream element's viewport
[scalingConfig.autoScale]booleanfalseEnable "autoscaling" (resizing video and wrapper to the parent's size)
[scalingConfig.update3DOutputResolution]booleanfalseBlock resize messages on active stream
[scalingConfig.useExact3DOutputResolution]booleanfalseWhether to force exact resolution, or choose one that fits the viewport
[scalingConfig.showOverflow]booleanfalseSet overflow style for wrapper (trim/overflow) video tag
[scalingConfig.profileSwitchingRules]object{}Additional scaling profile rules
[scalingConfig.profileSwitchingRules.default]object''Default scaling profile name (user defined in 'scalingConfig.profiles')
[scalingConfig.qualitySettings3D]objectnull3D mode user defined configuration @see qualitySettings3D
[scalingConfig.profiles]object{profiles}User-defined profiles configuration @see profiles

04. Markup

Section: View > Markup

ParamTypeDefaultDescription
[streamClass]string"''"Custom class name for video HTML element
[parent]string"''"ID for custom primary HTML element (wrapper).
[viewportSize]object{resolution}Setup size of the viewport (streamContainer) @see resolution
[loadingScreen]booleanfalseShow loading screen for pending operations
[enable2DLoadingIndicator]booleanfalseShow loading indicator in 2D

05. Render Environment

Section: View > Render > Environment

ParamTypeDefaultDescription
[setupEnvironment]string"null"Setup the stream environment by name
[validateEnvironmentSwitching]booleantrueValidate environment switching
[environmentSwitchingConfig]object{}Settings for environment switches
[environmentSwitchingConfig.fadeColour]string"#000000"Colour to use for fades at switch time, formatted as hex encoded RGB colour (#RRGGBB)
[environmentSwitchingConfig.overridesFunc]functionnullIf specified, will be called on switch to override fade colour

06. Render Model

Section: View > Render > Model

ParamTypeDefaultDescription
[setupPrCodes]string"''"Setup initial "PR Codes" (comma separated)
[AnimStates]objectnullSetup Animation States
[setupSteerAngle]numbernullSetup steering angle for the car wheels
[steeringConfig]object{}Steering configuration
[steeringConfig.extent]number25Maximum extent of steering angle for car wheels
[setupCertEffects]arraynullSetup certEffects @see certEffects
[targetlod]numbernull[Deprecated] Setup level of detail for model
[disableCodeTranslation]numbernullMapping for potentially incorrect "PR Codes"

07. Render Camera

Section: View > Render > Camera

ParamTypeDefaultDescription
[setupCamera]string"''"Setup Camera by name
[setupGalleryCameras]Array.<string>[]Setup list of named cameras for the gallery
[posRotFov]objectnullSetup posRotFov @see posRotFov
[disableCameraRemapping]booleanfalseMapping for potentially incorrect cameras
[cameraSequenceIntro]booleanfalseCamera sequence to trigger when 3D stream is available
[cameraSequenceConfig]object{cameraSequenceCfg}Add config for camera sequence (if enabled) @see cameraSequenceConfig
[useLegacyCameraControl]booleanfalseUse http to send camera information to the viewer instead of web sockets
[inheritFromLastCameraOverrides]array[]Inherit zoom from current camera to new camera (camera names is defined)
[movableCameraBehaviour]string"auto"Control camera change during move event. Available options: 'auto', 'forced', 'manual'

08. Modes

Section: Modes

ParamTypeDefaultDescription
[modes]Array.<string>['3D']Ordered list of predefined modes (2D, 3D) to request for the rendering session
modestring[Deprecated] Use modes instead
[richDataStreamConfig]object{}Rich Data Stream Config
[richDataStreamConfig.enable2DODSupport]booleanfalseWhether to enable RDS in 2DOD. Needed for 2D interaction nodes
[richDataStreamConfig.enableCompletionEvents]booleanfalseEnable events listeners (cameraChange, prcodesChange, environmentChange, animationsChanged) which are triggered after their completion

09. Modes Adaptation

Section: Modes > Adaptation

ParamTypeDefaultDescription
[modeSwitchConfig]object{}Configuration when switching modes
[modeSwitchConfig.transitionType]string"fadeout"The type of transition to perform (e.g. fadeout) when switching mode
[useAdvancedBandwidthAssess]booleanfalseControls which bandwidth assessment to perform
[allow3DUpgrade]booleantrueAllow upgrade from 2D mode to 3D automatically
[forceUpgradeViabilityCheck]booleanfalseForce bandwidth test and upgrade if option.allow3DUpgrade is enabled
[denyUpgradeViabilityCheck]booleanfalseSkip bandwidth test related with upgrading to 3D from 2D
[dummyBandwidthAssess]object{}Config for fixed bandwidth test
[dummyBandwidthAssess.enabled]booleanfalseEnable constant bandwidth test result
[dummyBandwidthAssess.result]object{}Fixed bandwidth test results
[dummyBandwidthAssess.result.ping]number1Fixed ping test result
[dummyBandwidthAssess.result.downloadSpeed]number999000000Fixed download speed test result
[allow2DFallback]booleantrueSwitch to 2D on 3D stream creation error
[allow2DFallbackFatal]booleanfalseSwitch to 2D on 3D stream disconnection error
[idleOverlay]booleanfalseEnable overlay screen used for inactivity of user
[idleDisconnect]number3600000Disconnect stream after time of user inactivity
[keepLastFrameOnIdleDisconnect]booleantrueApply last frame image to viewport after idle disconnect
[idleDowngrade]number-1Switch mode to 2D after time of inactivity
[idleConfig]object{}Setup for downgrade after time of inactivity
[idleConfig.initialWindow]number10000Initial time window after idle monitoring starts
[idleConfig.initialTimeout]number5000Timeout value to use for the initial time period
[idleConfig.extendedTimeout]number30000Timeout to use after initial time window ends

10. Modes - 3D

Section: Modes > 3D

ParamTypeDefaultDescription
[frameMetadataConfig]object{}
[frameMetadataConfig.enabled]booleanfalseInclude hidden (cropped) barcode in 3D video stream
[onDemand3DConfig]object{}Include hidden (cropped) barcode in 3D video stream
[onDemand3DConfig.monitorFrameRate]booleanfalseMonitor frames bitrate to reconnect automatically in case of incorrect FPS (FPS=0)
[onDemand3DConfig.streamSettings]object{}Send custom settings to the Viewer
[onDemand3DConfig.outputMethodSettings]object{}Output method settings
[onDemand3DConfig.outputMethodSettings.WebRTCStreamOutput]object{}WebRTC output settings
[onDemand3DConfig.outputMethodSettings.WebRTCStreamOutput.codecPriority]Array.<string>['h264', 'vp9', 'vp8']Priority list of preferred 3D outputs.
[onDemand3DConfig.outputMethodSettings.WebRTCStreamOutput.minBitrate]number1500Stream quality minimum bitrate offer for WebRTC
[onDemand3DConfig.outputMethodSettings.WebRTCStreamOutput.maxBitrate]number7000Stream quality maximum bitrate offer for WebRTC
[onDemand3DConfig.outputMethodSettings.WebRTCStreamOutput.startBitrate]number3500Stream quality default bitrate offer for WebRTC
[onDemand3DConfig.outputMethodSettings.WebRTCStreamOutput.enableAudio]booleanfalseEnable audio for 3D Video stream
[onDemand3DConfig.streamConnectionMaxRetries]number10Number of retries for reconnecting WebSocket connection on WebSocket"close" event
[onDemand3DConfig.autoResumePausedVideo]booleantrueTrigger video.play() method every time when video.onpause event is detected
[pluginStreamMode]string"interactive"Set 3D stream mode - interactive (default) or noninteractive
[interactionNodesConfig]object{}Interaction nodes config
[interactionNodesConfig.viewportBounds]object{}The positional bounds for which interaction nodes are considered visible
[interactionNodesConfig.viewportBounds.x]Array.<number>[0.1, 0.9]"x" params
[interactionNodesConfig.viewportBounds.y]Array.<number>[0.05, 0.95]"y" params
[interactionNodesConfig.occlusionThreshold]number0.1The threshold for the occlusion for which nodes are considered visible
[mouseEventPassthrough]object{}[Deprecated] Send user controllers event to Viewer control
[mouseEventPassthrough.click]booleanfalse[Deprecated] "click" event
[mouseEventPassthrough.mouseMove]booleanfalse[Deprecated] "mouseMove" event
[mouseEventPassthrough.mouseUp]booleanfalse[Deprecated] "mouseUp" event
[mouseEventPassthrough.mouseDown]booleanfalse[Deprecated] "mouseDown" event
[mouseEventPassthrough.mouseOver]booleanfalse[Deprecated] "mouseOver" event
[mouseEventPassthrough.mouseOut]booleanfalse[Deprecated] "mouseOut" event
[mouseEventPassthrough.wheel]booleanfalse[Deprecated] "wheel" event

11. Modes - 2D

Section: Modes > 2D

ParamTypeDefaultDescription
[assessBandwidth2DOD]booleanfalseUse frameRequests to debug bandwidth and frames viability
[detectBadFrames2DOD]booleanfalseChecking "quality" of returned frames (e.g. file size)
[allow2D360View]booleantrueEnable user interaction - move 360 deg around the car
[useCDN]booleantrueEnable Cache (CDN) as primary source for frames
[schema2DOD]number2D frameConfig schema version
[profile2DOD]numbertrueAdd timing information in image json metadata file
[eraConfig]object{}era Config TODO
[eraConfig.viewer]number0TODO
[eraConfig.asset]object{}TODO
[eraConfig.environment]object{}TODO
[eraConfig.car]object{}TODO
[eraConfig.service]object{}TODO
[batchStrategyFor2D]string"interleaved"batch strategy ["interleaved", "nearest"]
[onDemand2DConfig]object{}"On demand" 2D config
[onDemand2DConfig.chainFrameBatches]booleanfalseControl requests for frame batches. If true request serial, if false a parallel
[onDemand2DConfig.shortCircuitRailCDNChecks]booleanfalseIf one frame in a batch is not found in CDN assume rest will be not found as well
[onDemand2DConfig.showProgressBar]booleantrueShow progress bar for requested and pending frames in 2D
[onDemand2DConfig.rotationScaleFactor]number3Affects the speed of rotation in 2D fallback mode
[onDemand2DConfig.backgroundColour]string"``"Set background colour for requested frames. Transparent backgrounds so you only see the car (using e.g. #00000000). Arbitrary solid colour backgrounds for static images on the website (e.g. using #00FF00FF on an environment like WhiteStudio)
[onDemand2DConfig.onDemand2D360ViewRules]object{}Specify frame requests into rail after model config change
[onDemand2DConfig.onDemand2D360ViewRules.loadAuto]booleantrueLoad all frames in the rail
[onDemand2DConfig.onDemand2D360ViewRules.loadOnRotation]booleanfalseLoad all frames in the rail after move
[onDemand2DConfig.onDemand2D360ViewRules.loadOnSwitchCamera]array[]Load all frames in the rail after camera change
[onDemand2DConfig.onDemand2D360ViewRules.loadOnMoveStream]array[]Load all frames in the rail after "moveStream" method
[onDemand2DConfig.onDemand2D360ViewRules.loadOnMoveCamera]booleanfalseLoad all frames in the rail after "moveCamera" method
[onDemand2DConfig.cachedInitialFrames]object{}[Deprecated???] List of named cameras to fetch an initial frames immediately
[onDemand2DConfig.cachedInitialFrames2]object{}Per-car list of named cameras to fetch an initial frames immediately
[onDemand2DConfig.renderQuality]booleanFastPredefined render quality of images (one of: Fast, Good, Better, Best or Custom)
[onDemand2DConfig.renderHints]boolean{}Config for image render quality when "renderQuality" is set as "Custom"
[onDemand2DConfig.renderHints.custom_msaa]number2Custom MSAA value (1-8)
[onDemand2DConfig.renderHints.custom_ssaa]number2Custom SSAA value (1-8)
[force2DCacheMiss]booleanfalseAutomatically set version on frame jobs to a timestamp, preventing using cached images
[onDemand2DConfig.interiorMSAA]number2[Deprecated] Use 'onDemand2DConfig.renderQuality' @see renderQuality
[onDemand2DConfig.interiorSSAA]boolean[Deprecated] Use 'onDemand2DConfig.renderQuality' @see renderQuality
[onDemand2DConfig.defaultMSAA]boolean[Deprecated] Use 'onDemand2DConfig.renderQuality' @see renderQuality
[onDemand2DConfig.defaultSSAA]boolean[Deprecated] Use 'onDemand2DConfig.renderQuality' @see renderQuality
[showCachedImageDuringMove]booleanfalse[Deprecated] Move to another container pre-cached images while using method "moveStream"
[smartCache]object{}[Deprecated]
[smartCache.enabled]booleanfalse[Deprecated] Enable SmartCache
[smartCache.autoStart]booleanfalse[Deprecated]
[smartCache.chunkSize]number4[Deprecated]
[smartCache.initialDelay]number5000[Deprecated]
[smartCache.interBatchDelay]number2000[Deprecated]
[cacheRules]array[][Deprecated]
[disableCodePruning]booleanfalse[Deprecated]
[enableDirectReturn2DOD]booleanfalse[Deprecated]

12. User Controllers

Section: User Activity > Controllers

ParamTypeDefaultDescription
[preventAllGeneration]booleanfalsePrevent all generation in 2D
[invertInteriorCameraMouseControls]booleanfalseInvert direction of moving camera by mouse ctrl
[invertInteriorCameraTouchControls]booleanfalseInvert direction of moving camera by touch ctrl
[zoomModeConfig]object{}
[zoomModeConfig.zoomValue3D]number0The normalised zoom level to apply when scroll (0-1).
[consumeMouseScrollEvents]booleantruePrevent default user controller events - scroll
[consumeMouseClickEvents]booleantruePrevent default user controller events - click
[consumeTouchDownUpEvents]booleantruePrevent default user controller events - down & up
[consumeTouchMoveEvents]booleantruePrevent default user controller events - touch & move
[mouseTracking]object{}Mouse controller behaviour
[mouseTracking.enabled]booleantrueEnable Mouse controller
[mouseTracking.eventFreq]number20Set frequency of mouse event polling
[mouseTracking.threshold]object{}[Deprecated]
[mouseTracking.scale]object{}Controls how fast can camera move depends on current zoom level
[mouseTracking.scale.interior]Array.<number>[15, 25]Camera speed for interior
[mouseTracking.scale.exterior]Array.<number>[35, 35]Camera speed for exterior
[mouseTracking.enableMultiTouchGestures]booleantrueEnables multitouch controls such as two finger zoom on a touchpad
[mouseTracking.enableScrollZoom]booleantrueEnables zooming via scroll wheel
[keyboardTracking]object{}Keyboard controller behaviour
[keyboardTracking.enabled]booleantrueEnable Keyboard controller
[keyboardTracking.eventFreq]number100Set frequency of keyboard event polling
[sharkCamConfig]object{}Experimental camera movement for "shark camera"
[sharkCamConfig.useKeyboardInput]booleantrueEnable camera movement for "shark camera"

13. Utils

Section: Utils

ParamTypeDefaultDescription
[cloudmine]booleantrueEnable CloudMine tracking
[clientMarket]string"``"Parameter send to CloudMine
[clientApplication]string"``"Parameter send to CloudMine
[clientGroup]string"``"[Deprecated]
[logging]object{}Additional logging settings
[logging.verboseLogging]booleanfalseEnable "verboseLogging" logging
[logging.dumpTranslatedCodes]booleanfalseEnable "dumpTranslatedCodes" logging
[logging.logCodesThatDuplicatePrefix]booleanfalseEnable "logCodesThatDuplicatePrefix" logging
[logging.logCodeSorting]booleanfalseEnable "logCodeSorting" logging
[logging.logTranslatedCodes]booleanfalseEnable "logTranslatedCodes" logging
[logging.logAlreadyTranslatedCodes]booleanfalseEnable "logAlreadyTranslatedCodes" logging
[logging.logProcessedFrames]booleanfalseEnable "logProcessedFrames" logging
[logging.logCodeChangeDifferences]booleanfalseEnable "logCodeChangeDifferences" logging
[logging.verboseTranslation]booleanfalseEnable "verboseTranslation" logging
[logging.logPrCodeChanges]booleanfalseEnable "logPrCodeChanges" logging
[logging.logBaseURLs]booleanfalseEnable "logBaseURLs" logging
[logging.quietD2DTimeoutWarnings]booleanfalseEnable "quietD2DTimeoutWarnings" logging

cameraSequenceConfig :object

cameraSequenceConfig

ParamTypeDefaultDescription
[allowUserInterrupt]booleanfalseWhether to allow the user to drag camera and stop sequence early
[useFadeTransition]booleanfalseWhether to fade when stopping transition, by default
[fadeColour]string"&quot;#000000&quot;"The fade colour to use for interrupted sequences, as a hex encoded RGB string (#RRGGBB)
[useRichDataStream]booleantrueWhether to allow using the rich data for sequence start/end events

posRotFov :object

posRotFov - desc

ParamTypeDescription
posxnumberposition x coordinate
posynumberposition y coordinate
posznumberposition z coordinate
rotxnumberrotation x coordinate
rotynumberrotation y coordinate
rotznumberrotation z coordinate
fovnumberfield of view

profiles :object

"default" profile for scalingConfig - desc

ParamTypeDefaultDescription
defaultobject"default" scaling profile
default.2Dobject2D profile definition
default.2D.boundsobjectBounds config
[default.2D.bounds.min]object[0,0]Minimum size for the stream's bounds
[default.2D.bounds.max]object[{resolution.x},{resolution.y}]Maximum size for the stream's bounds. If not set default values will be taken from resolution option. @see resolution
[default.2D.scaleMode]stringThe scaling mode to apply. The possible values are 'fit', 'fill', and 'zoom'
[default.2D.permittedSizes]string"[[view.resolution.x, view.resolution.y]]"A list of permitted sizes of the stream's resolution
default.3Dobject3D profile definition
default.3D.boundsobjectBounds config
[default.3D.bounds.min]object[0,0]Minimum size for the stream's bounds
[default.3D.bounds.max]object[{resolution.x},{resolution.y}]Maximum size for the stream's bounds. If not set default values will be taken from resolution option. @see resolution
[default.3D.scaleMode]stringThe scaling mode to apply. The possible values are 'fit', 'fill', and 'zoom'
[default.3D.streamResolutionBounds]objectConfiguration of the stream's resolution limits
[default.3D.streamResolutionBounds.min]object[0,0]Minimum size for the stream's resolution
[default.3D.streamResolutionBounds.max]object[{resolution.x},{resolution.y}]Maximum size for the stream's resolution. If not set default values will be taken from resolution option. @see resolution

qualitySettings3D :object

scalingConfig allowed options

ParamTypeDefaultDescription
[default]booleanSpecify 'default' option to mark config as default
[displayName]string"default"Custom display name
[maxResolution]array[]Maximum resolution allowed for this quality setting
[minResolution]number[0,0]Minimum resolution allowed for this quality setting
[whitelistedOutputMethods]array[]3D output methods allowed for this quality setting