Skip to main content

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]string

Customer 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]booleanfalse

When 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]booleantrue

Enable 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 | stringfalse

Enable connection to the "Local Viewer" (on localhost)

[localControlWithCAS]booleanfalse

Use remote CAS for "Local Viewer" connection

[localControlWithoutPorts]booleanfalse

Skip using ports for "Local Viewer" connection

[directConnect]boolean | objectfalse

Connect to the Viewer directly by specified address

[directConnectConfig]object{}

Viewer direct connection config

[directConnectConfig.useSSL]objectfalse

Use SSL for Viewer direct connection

[noRender]booleanfalse

Prevent rendering

[noStream]booleanfalse

Prevent connecting to the stream

[allowContinuousReconnectAttempts]booleanfalse

Reconnect 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]number640

Resolution width

[resolution.y]number360

Resolution 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 Conifg

ParamTypeDefaultDescription
[scalingConfig]object{}

Configuration of adjustments based on the stream element's viewport

[scalingConfig.autoScale]booleanfalse

Enable "autoscaling" (resizing video and wrapper to the parent's size)

[scalingConfig.update3DOutputResolution]booleanfalse

Block resize messages on active stream

[scalingConfig.useExact3DOutputResolution]booleanfalse

Whether to force exact resolution, or choose one that fits the viewport

[scalingConfig.showOverflow]booleanfalse

Set overflow style for wrapper (trim/overflow) video tag

[scalingConfig.profileSwitchingRules]object{}

Additional scalling profile rules

[scalingConfig.profileSwitchingRules.default]object''

Default scalling profile name (user defined in 'scalingConfig.profiles')

[scalingConfig.qualitySettings3D]objectnull

3D mode user defined coniguration @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]booleanfalse

Show loading screen for pending operations

[enable2DLoadingIndicator]booleanfalse

Show loading indicator in 2D

05. Render Environment

Section: View > Render > Environment

ParamTypeDefaultDescription
[setupEnvironment]string"null"

Setup the stream environment by name

[validateEnvironmentSwitching]booleantrue

Validate 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]functionnull

If 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]objectnull

Setup Animation States

[setupSteerAngle]numbernull

Setup steering angle for the car wheels

[steeringConfig]object{}

Steering configuration

[steeringConfig.extent]number25

Maximum extent of steering angle for car wheels

[setupCertEffects]arraynull

Setup certEffects @see certEffects

[targetlod]numbernull

[Deprecated] Setup level of detail for model

[disableCodeTranslation]numbernull

Mapping 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]objectnull

Setup posRotFov @see posRotFov

[disableCameraRemapping]booleanfalse

Mapping for potentially incorrect cameras

[cameraSequenceIntro]booleanfalse

Camera sequence to trigger when 3D stream is available

[cameraSequenceConfig]object{cameraSequenceCfg}

Add config for camera sequence (if enabled) @see cameraSequenceConfig

[useLegacyCameraControl]booleanfalse

Use 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]booleanfalse

Whether to enable RDS in 2DOD. Needed for 2D interaction nodes

[richDataStreamConfig.enableCompletionEvents]booleanfalse

Enable 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]booleanfalse

Controls which bandwidth assessment to perform

[allow3DUpgrade]booleantrue

Allow upgrade from 2D mode to 3D automatically

[forceUpgradeViabilityCheck]booleanfalse

Force bandwidth test and upgrade if option.allow3DUpgrade is enabled

[denyUpgradeViabilityCheck]booleanfalse

Skip bandwidth test related with upgrading to 3D from 2D

[dummyBandwidthAssess]object{}

Config for fixed bandwidth test

[dummyBandwidthAssess.enabled]booleanfalse

Enable constant bandwidth test result

[dummyBandwidthAssess.result]object{}

Fixed bandwidth test results

[dummyBandwidthAssess.result.ping]number1

Fixed ping test result

[dummyBandwidthAssess.result.downloadSpeed]number999000000

Fixed download speed test result

[allow2DFallback]booleantrue

Switch to 2D on 3D stream creation error

[allow2DFallbackFatal]booleanfalse

Switch to 2D on 3D stream disconnection error

[idleOverlay]booleanfalse

Enable overlay screen used for inactivity of user

[idleDisconnect]number3600000

Disconnect stream after time of user inactivity

[keepLastFrameOnIdleDisconnect]booleantrue

Apply last frame image to viewport after idle disconnect

[idleDowngrade]number-1

Switch mode to 2D after time of inactivity

[idleConfig]object{}

Setup for downgrade after time of inactivity

[idleConfig.initialWindow]number10000

Initial time window after idle monitoring starts

[idleConfig.initialTimeout]number5000

Timeout value to use for the initial time period

[idleConfig.extendedTimeout]number30000

Timeout to use after initial time window ends

[upgradeViabilityThresholds]object

Parameters for determining whether 3D upgrade can occur

[upgradeViabilityThresholds.CAS]object

Parameters for the CAS test for 3D upgrades

[upgradeViabilityThresholds.CAS.download]number

Download speed (in MB/s) below which 3D upgrade won't occur

[upgradeViabilityThresholds.CAS.ping]number

Ping above which 3D upgrade won't occur

[upgradeViabilityThresholds.bandwidthTest]object

Parameters for the bandwidth test for 3D upgrades

[upgradeViabilityThresholds.bandwidthTest.download]number

Download speed (in b/s) below which 3D upgrade won't occur

[upgradeViabilityThresholds.bandwidthTest.ping]number

Ping above which 3D upgrade won't occur

10. Modes - 3D

Section: Modes > 3D

ParamTypeDefaultDescription
[frameMetadataConfig]object{}
[frameMetadataConfig.enabled]booleanfalse

Include hidden (cropped) barcode in 3D video stream

[onDemand3DConfig]object{}

Include hidden (cropped) barcode in 3D video stream

[onDemand3DConfig.monitorFrameRate]booleanfalse

Monitor 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 preffered 3D outputs.

[onDemand3DConfig.outputMethodSettings.WebRTCStreamOutput.minBitrate]number1500

Stream quality minimum bitrate offer for WebRTC

[onDemand3DConfig.outputMethodSettings.WebRTCStreamOutput.maxBitrate]number7000

Stream quality maximum bitrate offer for WebRTC

[onDemand3DConfig.outputMethodSettings.WebRTCStreamOutput.startBitrate]number3500

Stream quality default bitrate offer for WebRTC

[onDemand3DConfig.outputMethodSettings.WebRTCStreamOutput.enableAudio]booleanfalse

Enable audio for 3D Video stream

[onDemand3DConfig.streamConnectionMaxRetries]number10

Number of retries for reconnecting WebSocket connection on WebSocket"close" event

[onDemand3DConfig.autoResumePausedVideo]booleantrue

Trigger 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.1

The 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]booleanfalse

Use frameRequests to debug bandwidth and frames viability

[detectBadFrames2DOD]booleanfalse

Checking "quality" of returned frames (e.g. file size)

[allow2D360View]booleantrue

Enable user interaction - move 360 deg around the car

[useCDN]booleantrue

Enable Cache (CDN) as primary source for frames

[schema2DOD]number

2D frameConfig schema version

[profile2DOD]numbertrue

Add timing information in image json metadata file

[eraConfig]object{}

era Config TODO

[eraConfig.viewer]number0

TODO

[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]booleanfalse

Control requests for frame batches. If true request serial, if false a parallel

[onDemand2DConfig.shortCircuitRailCDNChecks]booleanfalse

If one frame in a batch is not found in CDN assume rest will be not found as well

[onDemand2DConfig.showProgressBar]booleantrue

Show progress bar for requested and pending frames in 2D

[onDemand2DConfig.rotationScaleFactor]number3

Affects 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]booleantrue

Load all frames in the rail

[onDemand2DConfig.onDemand2D360ViewRules.loadOnRotation]booleanfalse

Load 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]booleanfalse

Load 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]booleanFast

Predefined 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]number2

Custom MSAA value (1-8)

[onDemand2DConfig.renderHints.custom_ssaa]number2

Custom SSAA value (1-8)

[force2DCacheMiss]booleanfalse

Automatically 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 SmarCache

[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]booleanfalse

Prevent all generation in 2D

[invertInteriorCameraMouseControls]booleanfalse

Invert direction of moving camera by mouse ctrl

[invertInteriorCameraTouchControls]booleanfalse

Invert direction of moving camera by touch ctrl

[zoomModeConfig]object{}
[zoomModeConfig.zoomValue3D]number0

The normalised zoom level to apply when scroll (0-1).

[consumeMouseScrollEvents]booleantrue

Prevent default user controller events - scroll

[consumeMouseClickEvents]booleantrue

Prevent default user controller events - click

[consumeTouchDownUpEvents]booleantrue

Prevent default user controller events - down & up

[consumeTouchMoveEvents]booleantrue

Prevent default user controller events - touch & move

[mouseTracking]object{}

Mouse controller behaviour

[mouseTracking.enabled]booleantrue

Enable Mouse controller

[mouseTracking.eventFreq]number20

Set 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]booleantrue

Enables multitouch controls such as two finger zoom on a touchpad

[mouseTracking.enableScrollZoom]booleantrue

Enables zooming via scroll wheel

[keyboardTracking]object{}

Keyboard controller behaviour

[keyboardTracking.enabled]booleantrue

Enable Keyboard controller

[keyboardTracking.eventFreq]number100

Set frequency of keyboard event polling

[sharkCamConfig]object{}

Experimental camera movement for "shark camera"

[sharkCamConfig.useKeyboardInput]booleantrue

Enable camera movement for "shark camera"

13. Utils

Section: Utils

ParamTypeDefaultDescription
[cloudmine]booleantrue

Enable CloudMine tracking

[clientMarket]string"``"

Parameter send to CloudMine

[clientApplication]string"``"

Parameter send to CloudMine

[clientGroup]string"``"

[Deprecated]

[logging]object{}

Additional logging settings

[logging.verboseLogging]booleanfalse

Enable "verboseLogging" logging

[logging.dumpTranslatedCodes]booleanfalse

Enable "dumpTranslatedCodes" logging

[logging.logCodesThatDuplicatePrefix]booleanfalse

Enable "logCodesThatDuplicatePrefix" logging

[logging.logCodeSorting]booleanfalse

Enable "logCodeSorting" logging

[logging.logTranslatedCodes]booleanfalse

Enable "logTranslatedCodes" logging

[logging.logAlreadyTranslatedCodes]booleanfalse

Enable "logAlreadyTranslatedCodes" logging

[logging.logProcessedFrames]booleanfalse

Enable "logProcessedFrames" logging

[logging.logCodeChangeDifferences]booleanfalse

Enable "logCodeChangeDifferences" logging

[logging.verboseTranslation]booleanfalse

Enable "verboseTranslation" logging

[logging.logPrCodeChanges]booleanfalse

Enable "logPrCodeChanges" logging

[logging.logBaseURLs]booleanfalse

Enable "logBaseURLs" logging

[logging.quietD2DTimeoutWarnings]booleanfalse

Enable "quietD2DTimeoutWarnings" logging

cameraSequenceConfig :object

cameraSequenceConfig

ParamTypeDefaultDescription
[allowUserInterrupt]booleanfalse

Whether to allow the user to drag camera and stop sequence early

[useFadeTransition]booleanfalse

Whether to fade when stopping transition, by default

[fadeColour]string"\"#000000\""

The fade colour to use for interrupted sequences, as a hex encoded RGB string (#RRGGBB)

[useRichDataStream]booleantrue

Whether to allow using the rich data for sequence start/end events

posRotFov :object

posRotFov - desc

ParamTypeDescription
posxnumber

position x coordinate

posynumber

position y coordinate

posznumber

position z coordinate

rotxnumber

rotation x coordinate

rotynumber

rotation y coordinate

rotznumber

rotation z coordinate

fovnumber

field of view

profiles :object

"default" profile for scalingConfig - desc

ParamTypeDefaultDescription
defaultobject

"default" scaling profile

default.2Dobject

2D profile definition

default.2D.boundsobject

Bounds 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]string

The 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.3Dobject

3D profile definition

default.3D.boundsobject

Bounds 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]string

The scaling mode to apply. The possible values are 'fit', 'fill', and 'zoom'

[default.3D.streamResolutionBounds]object

Configuration 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]boolean

Specify '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