The nearest ancestor <pc-app> element, or null if this element has no <pc-app>
ancestor. The search starts at the parent, so an element never resolves to itself.
The closest app element, or null.
The nearest ancestor element that fronts an entity — <pc-entity>, <pc-model> or
<pc-node> — or null if this element has no such ancestor. The search starts at the
parent, so an element never resolves to itself.
The closest entity-fronting element, or null.
Gets the exposure of the scene.
The exposure.
Sets the exposure of the scene, which tweaks the overall brightness of the rendered image. Ignored if the scene is using physical units. Defaults to 1.
The exposure.
Gets the fog type of the scene.
The fog type.
Sets the fog type of the scene. Can be none, linear, exp or exp2. Defaults to
none.
The fog type.
Sets the fog color of the scene. Defaults to black (0 0 0).
The fog color.
Gets the fog density of the scene.
The fog density.
Sets the fog density of the scene. Defaults to 0.
The fog density.
Gets the fog end distance of the scene.
The fog end distance.
Sets the fog end distance of the scene. Defaults to 1000.
The fog end distance.
Gets the fog start distance of the scene.
The fog start distance.
Sets the fog start distance of the scene. Defaults to 1.
The fog start distance.
Gets the noise pattern stochastic Gaussian splats dither their coverage against.
The Gaussian splat dither pattern.
Sets the noise pattern stochastic Gaussian splats dither their coverage against, ignored
unless gsplatStochastic is set. Can be bayer2, bayer4, bayer8, bayer16,
bluenoise or ignnoise. Defaults to bluenoise, which looks best under temporal
anti-aliasing.
The Gaussian splat dither pattern.
Gets the number of splats rendered across the scene.
The scene-wide splat budget.
Sets the number of splats rendered across all Gaussian splats in the scene, used as gsplatSplatBudgetMode directs. The Engine distributes this budget globally between streamed splat assets. 0 means no budget. Defaults to 1,000,000.
The scene-wide splat budget.
Gets how the splat budget is used for streamed Gaussian splats.
The Gaussian splat budget mode.
Sets how the splat budget is used for streamed Gaussian splats. target raises detail
until the budget is used up, wherever the camera is; the LOD distances of each <pc-gsplat>
only shape how detail falls off and divides between splats. limit lets those distances
decide the detail and only lowers it when they would exceed the budget, so a distant splat
uses just the few splats its distance calls for. Defaults to target.
The Gaussian splat budget mode.
Gets whether Gaussian splats render with stochastic alpha on WebGPU: drawn unsorted, with dithered coverage and depth writes, rather than sorted and alpha blended.
Whether Gaussian splats render with stochastic alpha.
Sets whether Gaussian splats render with stochastic alpha on WebGPU: drawn unsorted, with
dithered coverage and depth writes, rather than sorted and alpha blended. This skips the
per-frame sort at the cost of noise, which temporal anti-aliasing on the camera smooths out.
WebGL, which sorts splats on the CPU, ignores it. Defaults to false.
Whether Gaussian splats render with stochastic alpha.
Gets whether the scene fog applies to Gaussian splats.
Whether Gaussian splats are fogged.
Sets whether the scene fog applies to Gaussian splats. Defaults to true.
Whether Gaussian splats are fogged.
Gets whether the camera's tonemapping and the scene's exposure apply to Gaussian splats.
Whether Gaussian splats are tonemapped.
Sets whether the camera's tonemapping and the scene's exposure apply to Gaussian splats.
When false, splats render with their stored colors, which suits captured scenes that are
already display-ready. Fog still applies. Defaults to true.
Whether Gaussian splats are tonemapped.
Gets the maximum number of lights clustered lighting uses in a frame.
The maximum number of lights.
Sets the maximum number of lights clustered lighting uses in a frame, from 1 to 65535; lights over the limit are ignored with a warning. Values above 255 double the memory of the light grid. Defaults to 255.
The maximum number of lights.
Protected_Called when the element is fully initialized and ready. Subclasses should call this when
they're ready. Resolves the ready promise and dispatches a bubbling, composed ready
event. Signals at most once per readiness cycle: a repeat call before _resetReady
has re-armed the promise does nothing.
Protected_Returns the ready promise to its pending state. Subclasses should call this when the
resource their readiness announced is torn down (typically from disconnectedCallback),
so that a later re-initialization can signal readiness again. Does nothing while the
promise is still pending — an in-flight waiter carries over to the next readiness cycle
rather than being stranded on a promise nothing will ever resolve.
Returns a promise that resolves with this element when it's ready. This is the low-level primitive underlying whenReady, which is the recommended way to wait for elements.
Readiness tracks the element's current lifecycle: once a ready element is torn down (for example by removing it from the document), this returns a fresh promise that resolves when the element is next ready. A promise obtained earlier stays resolved — call this again after re-inserting an element rather than reusing a promise from before its removal.
A promise that resolves with this element when it's ready.
The SceneElement interface provides properties and methods for manipulating
<pc-scene>elements. The SceneElement interface also inherits the properties and methods of the HTMLElement interface.The scene element is the ancestor of every entity element, so the pointer events
<pc-app>dispatches on entities bubble through it, and it receives its ownpointerenterandpointerleaveas the pointer moves onto and off its entities as a whole. A listener here is a delegated listener for the whole scene: readevent.targetto find the entity element hit.