Skip to content

Scene Schema

Scene file (.vscn.json)

FieldTypeReqDescription
versionnumberScene file format version
namestringScene display name
environmentobjectScene-level environment settings
entitiesobject[]Top-level entities in the scene

Scene-level environment settings

FieldTypeReqDescription
backgroundstringBackground color as CSS hex string
ambientobjectGlobal ambient light
fogobjectDistance fog settings
skyboxstringPath to HDR/EXR skybox environment map
envMapIntensitynumberEnvironment map reflection intensity multiplier
toneMappingobjectTone mapping configuration
postProcessingobjectPost-processing effects (bloom, vignette)
navigationobjectNavigation mesh bake settings
physicsobjectPhysics world settings
renderingobjectScene-level render feature toggles (auto-batching, culling, LOD, shadows, etc.). Omit a field to inherit the engine default. Derived from the render-feature registry.

Global ambient light

FieldTypeReqDescription
colorstringAmbient light color
intensitynumberAmbient light intensity

Distance fog settings

FieldTypeReqDescription
type”linear” \“exponential”
colorstringFog color
nearnumberFog start distance (linear only)
farnumberFog end distance (linear only)
densitynumberFog density (exponential only)

Tone mapping configuration

FieldTypeReqDescription
mode”none” \“linear” \“reinhard” \
exposurenumberExposure level

Post-processing effects (bloom, vignette)

FieldTypeReqDescription
bloomobjectBloom glow effect
vignetteobjectScreen-edge darkening effect
brightnessContrastobjectBrightness and contrast color adjustment
hueSaturationobjectHue rotation and saturation color adjustment
sepiaobjectWarm sepia tone for vintage photograph look
colorDepthobjectReduce color bit depth for posterized/banded look
chromaticAberrationobjectLens chromatic aberration (color fringing at screen edges)
lensDistortionobjectBarrel/pincushion lens distortion
depthOfFieldobjectPhysically-based depth of field with bokeh blur
tiltShiftobjectTilt-shift miniature-world blur effect
noiseobjectRandom per-pixel noise overlay (film grain)
scanlineobjectHorizontal scanline overlay (CRT monitor look)
dotScreenobjectHalftone dot pattern (newspaper/comic look)
gridobjectVisible grid pattern overlay
pixelationobjectReduce resolution for pixel-art / mosaic effect
glitchobjectRandom digital glitch artifacts (block displacement, color shifting)
shockWaveobjectExpanding spherical distortion wave from a point
smaaobjectSubpixel Morphological Anti-Aliasing
ssaoobjectScreen-space ambient occlusion (darken creases and crevices)
n8aoobjectHigh-quality ambient occlusion (N8AO — alternative to SSAO)
godRaysobjectVolumetric light shafts from a light source entity
outlineobjectHighlight entities matching tags with colored outlines
ssrobjectScreen-space reflections for reflective/glossy surfaces
ssgiobjectScreen-space global illumination (indirect lighting bounce)
motionBlurobjectPer-object motion blur from camera and object movement

Bloom glow effect

FieldTypeReqDescription
enabledbooleanEnable bloom effect
intensitynumberBloom intensity multiplier
luminanceThresholdnumberMinimum luminance to trigger bloom
luminanceSmoothingnumberSmoothing applied to luminance threshold

Screen-edge darkening effect

FieldTypeReqDescription
enabledbooleanEnable vignette effect
darknessnumberVignette darkness intensity
offsetnumberVignette offset from center

Brightness and contrast color adjustment

FieldTypeReqDescription
enabledbooleanEnable brightness/contrast adjustment
brightnessnumberBrightness adjustment (-1 to 1)
contrastnumberContrast adjustment (-1 to 1)

Hue rotation and saturation color adjustment

FieldTypeReqDescription
enabledbooleanEnable hue/saturation adjustment
huenumberHue rotation in radians
saturationnumberSaturation adjustment (-1 to 1)

Warm sepia tone for vintage photograph look

FieldTypeReqDescription
enabledbooleanEnable sepia tone
intensitynumberSepia effect intensity (0 to 1)

Reduce color bit depth for posterized/banded look

FieldTypeReqDescription
enabledbooleanEnable color depth reduction
bitsnumberNumber of color bits per channel (1–16)

Lens chromatic aberration (color fringing at screen edges)

FieldTypeReqDescription
enabledbooleanEnable chromatic aberration
offsetXnumberHorizontal color fringe offset
offsetYnumberVertical color fringe offset
radialModulationbooleanIncrease effect toward screen edges
modulationOffsetnumberRadial modulation offset from center

Barrel/pincushion lens distortion

FieldTypeReqDescription
enabledbooleanEnable lens distortion
distortionXnumberHorizontal barrel/pincushion distortion
distortionYnumberVertical barrel/pincushion distortion
focalLengthXnumberHorizontal focal length
focalLengthYnumberVertical focal length
skewnumberLens skew angle

Physically-based depth of field with bokeh blur

FieldTypeReqDescription
enabledbooleanEnable depth of field
worldFocusDistancenumberFocus distance in world units
worldFocusRangenumberFocus range in world units
bokehScalenumberBokeh blur scale
focalLengthnumberCamera focal length in mm

Tilt-shift miniature-world blur effect

FieldTypeReqDescription
enabledbooleanEnable tilt-shift effect
offsetnumberFocus band offset from center
rotationnumberFocus band rotation in radians
focusAreanumberFocus band width (0–1)
feathernumberBlur falloff smoothness

Random per-pixel noise overlay (film grain)

FieldTypeReqDescription
enabledbooleanEnable film grain noise
premultiplybooleanMultiply noise with input color instead of adding

Horizontal scanline overlay (CRT monitor look)

FieldTypeReqDescription
enabledbooleanEnable scanline overlay
densitynumberNumber of scanlines across screen height

Halftone dot pattern (newspaper/comic look)

FieldTypeReqDescription
enabledbooleanEnable dot screen halftone
anglenumberPattern angle in radians
scalenumberPattern dot scale

Visible grid pattern overlay

FieldTypeReqDescription
enabledbooleanEnable grid overlay
scalenumberGrid cell scale
lineWidthnumberGrid line width

Reduce resolution for pixel-art / mosaic effect

FieldTypeReqDescription
enabledbooleanEnable pixelation
granularitynumberPixel size (higher = more pixelated)

Random digital glitch artifacts (block displacement, color shifting)

FieldTypeReqDescription
enabledbooleanEnable digital glitch effect
delayXnumberMinimum delay between glitches (seconds)
delayYnumberMaximum delay between glitches (seconds)
durationXnumberMinimum glitch duration (seconds)
durationYnumberMaximum glitch duration (seconds)
strengthXnumberMinimum glitch strength
strengthYnumberMaximum glitch strength
columnsnumberNumber of glitch columns
rationumberGlitch ratio (0–1)

Expanding spherical distortion wave from a point

FieldTypeReqDescription
enabledbooleanEnable shock wave distortion
speednumberWave propagation speed
maxRadiusnumberMaximum wave radius
waveSizenumberWidth of the distortion wave
amplitudenumberDistortion strength
positionXnumberWave origin X in world space
positionYnumberWave origin Y in world space
positionZnumberWave origin Z in world space

Subpixel Morphological Anti-Aliasing

FieldTypeReqDescription
enabledbooleanEnable SMAA anti-aliasing
preset”low” \“medium” \“high” \

Screen-space ambient occlusion (darken creases and crevices)

FieldTypeReqDescription
enabledbooleanEnable screen-space ambient occlusion
radiusnumberOcclusion sampling radius
intensitynumberOcclusion intensity multiplier
biasnumberDepth bias to reduce self-occlusion artifacts
samplesnumberNumber of occlusion samples per pixel
ringsnumberNumber of spiral sample rings
fadenumberDistance at which occlusion fades out
colorstringOcclusion tint color as CSS hex

High-quality ambient occlusion (N8AO — alternative to SSAO)

FieldTypeReqDescription
enabledbooleanEnable N8AO ambient occlusion
aoSamplesnumberNumber of AO samples (default 16)
aoRadiusnumberAO sampling radius in world units
intensitynumberAO intensity multiplier
denoiseSamplesnumberNumber of denoise samples
denoiseRadiusnumberDenoise blur radius
distanceFalloffnumberAO distance falloff
screenSpaceRadiusbooleanUse screen-space radius instead of world-space
colorstringAO tint color as CSS hex
halfResbooleanRender AO at half resolution for performance

Volumetric light shafts from a light source entity

FieldTypeReqDescription
enabledbooleanEnable god rays
sourceEntitystringEntity ID of the light source mesh
densitynumberRay density
decaynumberRay intensity decay along distance
weightnumberRay weight / brightness
exposurenumberOverall god ray exposure
samplesnumberNumber of ray-march samples

Highlight entities matching tags with colored outlines

FieldTypeReqDescription
enabledbooleanEnable outline effect
tagsstring[]Entity tags to outline
edgeStrengthnumberOutline edge thickness / strength
pulseSpeednumberOutline pulse animation speed (0 = no pulse)
visibleEdgeColorstringColor of visible edges as CSS hex
hiddenEdgeColorstringColor of hidden/occluded edges as CSS hex
xRaybooleanShow outline through occluding objects

Screen-space reflections for reflective/glossy surfaces

FieldTypeReqDescription
enabledbooleanEnable screen-space reflections
intensitynumberReflection intensity
exponentnumberReflection falloff exponent
distancenumberMaximum reflection ray distance
thicknessnumberDepth thickness for hit testing
maxRoughnessnumberMaximum roughness for reflections (0–1)

Screen-space global illumination (indirect lighting bounce)

FieldTypeReqDescription
enabledbooleanEnable screen-space global illumination
intensitynumberIndirect light intensity
distancenumberMaximum GI ray distance
thicknessnumberDepth thickness for hit testing
maxRoughnessnumberMaximum roughness for GI (0–1)

Per-object motion blur from camera and object movement

FieldTypeReqDescription
enabledbooleanEnable motion blur
intensitynumberMotion blur intensity
jitternumberSample jitter amount
samplesnumberNumber of blur samples

Navigation mesh bake settings

FieldTypeReqDescription
cellSizenumberNavmesh voxel cell size (smaller = more detail, slower bake)
cellHeightnumberNavmesh voxel cell height
walkableSlopeAnglenumberMaximum slope angle (degrees) agents can walk on
walkableHeightnumberMinimum ceiling height for walkable areas (in voxels)
walkableClimbnumberMaximum step height agents can climb (in voxels)
walkableRadiusnumberAgent radius for navmesh erosion (in voxels)
maxEdgeLennumberMaximum contour edge length in the navmesh
maxSimplificationErrornumberMaximum deviation for navmesh edge simplification
minRegionAreanumberMinimum region area — smaller regions are removed
mergeRegionAreanumberRegions smaller than this are merged with neighbors

Physics world settings

FieldTypeReqDescription
collisionLayersstring[]Named collision layers (up to 16). Index = bit position in collision bitmasks

Scene-level render feature toggles (auto-batching, culling, LOD, shadows, etc.). Omit a field to inherit the engine default. Derived from the render-feature registry.

FieldTypeReqDescription
autoBatchbooleanAutomatically batch entities sharing geometry+material into one draw call (InstancedMesh/BatchedMesh) while keeping each Object3D as the handle. The headline perf win; opt out per-entity for custom-shader/skinned meshes.
frustumCullingbooleanPer-instance frustum culling for batched content.
lodbooleanDistance-based geometry swap (LOD) for eligible entities.
shadowsbooleanEnable the shadow map. Per-entity cast/receive still applies.
postProcessingbooleanMaster switch for the post-processing stack (individual effects nest beneath it).
resolutionScalenumberDevice-pixel-ratio multiplier (1.0 = native). The cheapest perf dial.
antialiasbooleanMSAA via renderer construction. Applies on reload (renderer re-init).
backend”auto” \“webgl” \“webgpu”