WebAppOptions
Defined in: app/app.ts:1593
Extended by
Section titled “Extended by”Properties
Section titled “Properties”colorSpace?
Section titled “colorSpace?”
optionalcolorSpace?:"linear"|"gamma"
Defined in: app/app.ts:1625
Project color space (Project Settings → Rendering). ‘linear’ renders in linear light: sRGB decode on sample, linear blending in sRGB-format intermediates, and an explicit linear→sRGB encode in the final blit. Must be declared at app creation — shaders compile against it.
depthLayers?
Section titled “depthLayers?”
optionaldepthLayers?:number
Defined in: app/app.ts:1618
Bitmask of render layers (bits 0..31) that resolve by real depth instead of painter’s order — the 2.5D opt-in. Opaque draws in such a layer write the depth buffer and sort front-to-back; blended ones test without writing and stay back-to-front. A layer that also y-sorts keeps y-sorting. Project-level setting (Project Settings → Rendering).
getViewportSize?
Section titled “getViewportSize?”
optionalgetViewportSize?: () =>object
Defined in: app/app.ts:1594
Returns
Section titled “Returns”object
height
Section titled “height”height:
number
width:
number
msaaSamples?
Section titled “msaaSamples?”
optionalmsaaSamples?:number
Defined in: app/app.ts:1638
Scene-target multisampling (Project Settings → Rendering). 1 turns it off; 4 is the default and what a browser gives its own drawing buffer. The device clamps it, so this is what the project WANTS, not what it gets.
outputTransform?
Section titled “outputTransform?”
optionaloutputTransform?:OutputTransform
Defined in: app/app.ts:1632
The curve the frame applies on its way to the display, once and last. aces
engages the capture the way an effect does, so a scene that asks for one goes
through the graph even with an empty stack. Declared by the host for now — it
is not yet a field of the project manifest. See OutputTransform.
plugins?
Section titled “plugins?”
optionalplugins?:Plugin[]
Defined in: app/app.ts:1601
randomSeed?
Section titled “randomSeed?”
optionalrandomSeed?:number
Defined in: app/app.ts:1644
Seed the engine’s randomness so this run reproduces — a replay, a bug report, a pixel assertion. Absent, every run differs, which is what a player wants of particles.
renderSurface?
Section titled “renderSurface?”
optionalrenderSurface?:RenderSurfaceSource
Defined in: app/app.ts:1600
How the host provides the render surface (WebGL2 context handle / WebGPU
device + swapchain / headless default). See RenderSurfaceSource.
Omitted ⇒ { kind: 'default' } (module.initRenderer resolves its own).
screenFit?
Section titled “screenFit?”
optionalscreenFit?:ScreenScalingData
Defined in: app/app.ts:1652
Project camera fit (Project Settings → Display). When set with a real scaleMode (≥ 0), the MAIN scene camera letterboxes this design resolution into the actual aspect regardless of any UI Canvas; omitted / scaleMode = -1 keeps the legacy behavior (Canvas fit when present, else raw orthoSize). See ScreenScaling.
sideModules?
Section titled “sideModules?”
optionalsideModules?:SideModuleHost
Defined in: app/app.ts:1604
The realm’s optional-native-module acquirer; set before plugins build so SpinePlugin (and later physics) can pull from it. See App.sideModules.
ySortLayers?
Section titled “ySortLayers?”
optionalySortLayers?:number
Defined in: app/app.ts:1610
Bitmask of render layers (bits 0..31) that sort by world Y within the layer — top-down occlusion (lower on screen draws on top). Project-level setting (Project Settings → Rendering); change later via Renderer.setYSortLayers.