All symbols A-Z
Alphabetical lookup for the full public API surface.
- interface
AabbLikeStructural type for an axis-aligned bounding box given as min/max extents. This is the canonical AABB contract across the eng…
- class
AbstractTextBase class for all text rendering nodes. Owns the string, the style and layout references, the on-demand dirty protocol, and…
- type
ActionAny action kind an ActionMap can hold.
- class
ActionBaseShared contract of every action kind. An action owns a BINDING DESCRIPTOR (what the developer declared, or what a player late…
- type
ActionBindingAny binding descriptor an action can be rebound with - the second argument of ActionMap.rebind. Deliberately the union of eve…
- type
ActionKindWhich action kind a SerializedActionBinding belongs to.
- type
ActionMapA constructed action map together with its actions.
- interface
ActionMapOptionsConstruction options for an ActionMap.
- interface
ActionOptionsOptions shared by every action.
- type
ActionRecordThe shape an ActionMap is built from.
- class
AlphaFadeOverLifetimeFades only the alpha channel over a particle's lifetime, leaving RGB untouched. Pair with a spawn-time tint or a separate `Co…
- class
AlphaNormalsNormals derived from a texture's own alpha channel, computed once. ```ts crate.material = new LitMaterial({ lighting, normals…
- class
AlphaOccluderShadows from a texture's own silhouette, traced once. ```ts lighting.occludeFrom(new AlphaOccluder(tree)); ``` Pass the drawa…
- interface
AlphaOccluderDrawableA drawable whose own texture, frame and layout box describe where its silhouette belongs. Core's `Sprite` - and therefore `An…
- interface
AlphaOccluderOptionsTuning for AlphaOccluder.
- class
AmbiguousSceneInstanceErrorThrown when `unload(Target)` is called with `options.instance` omitted while more than one activation (active, retained, and/…
- class
AnimatedSpriteA Sprite that advances through a sequence of texture-frame Rectangles over time to produce frame-based animation. Multiple na…
- interface
AnimatedSpriteClipDefinitionDefinition for a single animation clip registered on an AnimatedSprite.
- interface
AnimatedSpritePlayOptionsPer-call options passed to AnimatedSprite.play.
- class
AnimationSystemOwns and advances the AnimatedSprites whose frame playback is currently running, driving them once per frame from Application…
- type
AnyActionMapAny action map, whatever actions it declares - the type a collection of maps (an InputScope, a scope stack) is written agains…
- type
AnyAssetConfig - type
AnyAssetsAny typed catalog, whatever its definition record - the constraint Assets.compose accepts its arguments under, and the one to…
- type
AnyAssetTypeAny AssetType, whatever its source, resource, option and stored types - the element type of an Extension's `assets` list. The…
- type
AnyMaterialA material of any uniform schema. The bare `Material` type describes the untyped path, so a typed material is not one of them…
- type
AnyMeshMaterialA mesh material of any uniform schema - what a consumer that only needs to draw with it should accept, since the bare class d…
- type
AnySceneConstructorA SceneConstructor for any activation-data type - used for registry storage and navigation targets whose `Data` is not static…
- type
AnyShaderA shader source with any uniform declaration - what a consumer that only reads its text should accept, since the bare class d…
- type
AnyShapeDiscriminated union of the concrete shape kinds. Narrow via the literal `shape.type` discriminant (`'circle'` → CircleShape,…
- type
AnySpriteMaterialA sprite material of any uniform schema - what a consumer that only needs to draw with it should accept, since the bare class…
- class
ApplicationTop-level engine instance. Owns the canvas, render backend, scene-stack controller, the core systems (input, interaction, aud…
- type
ApplicationLikeAnything that resolves to a concrete Application instance type: the instance itself, its constructor, or `typeof` an already-…
- type
ApplicationOfNormalizes an ApplicationLike to its concrete `Application` instance type, letting Scene's second generic accept an `Applicat…
- interface
ApplicationOptions - enum
ApplicationStateLifecycle state of an Application, in the same vocabulary SceneState uses for a scene. | State | Meaning | |---|---| | `Stopp…
- class
ApplyForceAdds a constant 2D acceleration to every live particle's velocity each frame. Use for gravity (`new ApplyForce(0, 980)`), win…
- namespace
Aseprite FunctionsFree functions and constants exported from @codexo/exojs-aseprite.
- interface
AsepriteArrayDataAseprite JSON export in array mode - frames is an ordered array.
- class
AsepriteAssetTypeAseprite JSON exports, together with the packed sheet they reference. The image URL is read from `meta.image` and resolved ag…
- type
AsepriteDataUnion of both Aseprite JSON export formats. Use isAsepriteArrayData to discriminate between array and hash mode.
- type
AsepriteDirectionPlayback direction of an Aseprite frame tag animation.
- class
AsepriteFormatErrorThrown when an Aseprite JSON document does not match the expected shape. `source` is the URL of the file being parsed.
- interface
AsepriteFrameDataA single animation frame in the Aseprite JSON export.
- interface
AsepriteFrameTagA named animation range defined via Aseprite frame tags. `from` and `to` are inclusive zero-based frame indices.
- interface
AsepriteHashDataAseprite JSON export in hash mode - frames is an object keyed by frame name.
- interface
AsepriteLayerA single layer entry in the Aseprite JSON metadata (`meta.layers`). Only `name` is guaranteed. `opacity` and `blendMode` desc…
- interface
AsepriteMetaMetadata block of an Aseprite JSON export.
- interface
AsepriteRectPixel region rectangle used throughout the Aseprite JSON format.
- class
AsepriteSheetParsed representation of an Aseprite JSON sprite sheet export. `AsepriteSheet.parse(data, texture)` converts the raw JSON doc…
- interface
AsepriteSizeWidth/height size descriptor used in Aseprite metadata.
- interface
AsepriteSliceA named slice defined in the Aseprite editor.
- interface
AsepriteSliceKeyBounds of a named slice at a specific frame.
- interface
AssetA typed, loadable asset reference. Holds config only - no loaded resource.
- class
AssetCacheThe application's caching configuration: which stores exist, which asset types use which of them, and in what order the cache…
- class
AssetCacheErrorStructured asset-cache failure. Raised by a CacheStore for every operation it could not carry out, and dispatched on Loader.o…
- interface
AssetCacheErrorOptionsConstruction options for an AssetCacheError.
- class
AssetCacheLayerDebug layer that reports what the application's Loader currently holds: ready / pending / failed counts, estimated resident b…
- class
AssetCacheMissErrorRaised when a cache-only acquisition found no record. A distinct type from AssetCacheError on purpose: an absent entry is the…
- type
AssetCacheOperationThe cache operation that failed. Carried by AssetCacheError.operation so callers can branch on the failure class - a failed `…
- interface
AssetCacheOptionsConstruction options for an AssetCache.
- type
AssetConstructorAny abstract or concrete constructor whose instances are the resource an asset type produces (e.g. `typeof Texture`, `typeof…
- class
AssetDecodeErrorRaised when bytes that were successfully obtained cannot be turned into a resource: a malformed container index, an XML docum…
- interface
AssetDecodeErrorOptionsConstruction options for an AssetDecodeError.
- interface
AssetDefinitionsEvery built-in asset type, keyed by its id, plus whatever extension packages declaration-merge into it. An entry declares the…
- type
AssetDependencyScopeThe seam through which a factory acquires the assets its resource depends on. Everything loaded through it is owned by the re…
- type
AssetEntryOne entry of an Extension's `assets` list: a first-class AssetType. The type carries its own stable identity, identity hooks,…
- interface
AssetFactoryBuilds one kind of runtime resource from normalized source data. A factory owns construction and teardown, and nothing else:…
- interface
AssetFactoryContextWhat a factory is told about the one resource it is building. There is deliberately no network, cache store or cache policy h…
- interface
AssetIdentityThe two identities a request resolves to, as reported by Loader.identify.
- type
AssetInput - interface
AssetInspection - type
AssetLeafWhat an asset type hands out for one of its assets inside a catalog, before the payload has arrived. `'ref'` hands out a defe…
- type
AssetLocatorA canonicalized asset source: `url:` followed by the fully resolved URL, with the loader base path applied, `.` and `..` coll…
- class
AssetManifestThe packs a deployment holds, addressed by logical name. A pack file is named after the hash of its own bytes, so its URL cha…
- interface
AssetManifestOptionsHow a manifest is fetched.
- class
AssetNetworkErrorStructured asset-network failure. Raised whenever the network leg of a load fails - either because the request never complete…
- interface
AssetNetworkErrorOptionsConstruction options for an AssetNetworkError.
- interface
AssetOwnerInspectionOne row of Loader.inspect's diagnostic snapshot: everything a developer needs to reason about a single canonical asset withou…
- class
AssetRefDeferred handle for value assets (parsed JSON, text, CSV rows, ...), returned by `loader.get(Asset.type('json', src))` / a ba…
- interface
AssetRequestOne request for an asset of a given type, as an identity hook sees it.
- type
AssetsA reusable, typed asset container. Each field is materialized as a handle-hybrid leaf: a resource type's leaf IS a usable pla…
- interface
AssetSizeStatsOne resident asset, sized, as reported by AssetStats.largest.
- interface
AssetSourceCodecTurns an acquired representation into the normalized source an AssetFactory builds a resource from. The contract is deliberat…
- interface
AssetStatsAggregate view of what a loader currently holds, for HUDs and memory dashboards that want counters rather than the per-asset…
- interface
AssetStatusUniform, read-only load-status contract surfaced by every asset handle and ref. A public projection of the handle's internal…
- class
AssetTypeA first-class asset type: everything the loader needs to know about one kind of asset, in one value. An instance is an immuta…
- type
AssetTypeNameThe name a request dispatches on: a built-in AssetDefinitions key, or the stable AssetType.id of a type installed on this app…
- interface
AssetTypeStatsResidency totals for one asset type, as reported by AssetStats.byType.
- interface
AssetVariantOne candidate representation of a logical asset source. A candidate is eligible when every condition it states holds for the…
- interface
AssetVariantProfileWhat the running device can accept, as variant rules see it. Filled from the live render backend once it is up - `textureForm…
- class
AssetVariantSetPer-device selection between several files that stand for one logical asset. Without this layer a path is a path: one URL, on…
- type
AtlasModeAtlas rendering mode. Determines texture format and rasterization strategy. `'sdf'` uses a single-channel R8 DataTexture with…
- interface
AtlasPageA single texture page within a GlyphAtlas. Glyphs are packed into the page using a shelf-bin algorithm. In `'sdf'` mode the p…
- type
AtLeastOneRequires at least one property of `T` to be present. Used to reject empty composite bindings such as `new AxisAction({})` at…
- interface
AttachOptionsPhysicsWorld.attach convenience options: a body type plus a single collider, attached to a scene node in one call.
- class
AttractToPointPulls every live particle toward a fixed point in the system's local coordinate space. Acceleration magnitude is `strength` (…
- type
AttributeTypeScalar component type used by a geometry vertex attribute.
- class
AudioAnalyserLightweight visualisation analyser backed by a Web Audio AnalyserNode. Accepts any of: AudioBus, Voice, MediaStream, AudioNod…
- interface
AudioAnalyserOptionsConstruction options for AudioAnalyser.
- type
AudioAnalyserSource - class
AudioBusHierarchical mixer node in the engine's audio routing graph. Each bus owns three Web Audio nodes (input gain, optional effect…
- interface
AudioBusOptionsConstruction options for AudioBus.
- class
AudioEffectAbstract base for all insertable audio effects in ExoJS. Each effect exposes stable inputNode and outputNode AudioNodes that…
- class
AudioGeneratorProcedural tone generator - produces audio from an `OscillatorNode` without any decoded asset. Good for prototyping, game-jam…
- interface
AudioGeneratorOptionsConstruction options for AudioGenerator.
- class
AudioInputA live audio capture source - a microphone or WebRTC `MediaStream` obtained via `getUserMedia`. **Not a Playable**: you don't…
- interface
AudioInputOptionsOptions for AudioInput.open - forwarded to `getUserMedia` audio constraints.
- class
AudioListenerObserver position that spatial voices of one Application are panned against. Read each frame from AudioListener.target when o…
- type
AudioListenerTargetAnything AudioListener.target can be set to. The listener reads its world-space position from the target each frame: - SceneN…
- class
AudioOutputClockConverts between audio-context time and the `performance.now()` timeline, so that audio scheduled in one can be lined up with…
- interface
AudioOutputClockSnapshotOne correlated reading of the audio clock against the `performance.now()` timeline.
- class
AudioSendA parallel tap from one voice's output into an AudioBus, at its own level. A send is what an insert effect cannot express: th…
- interface
AudioSpriteClipNamed sub-region of an AudioBuffer used as an audio sprite sheet. `start` / `end` are seconds into the buffer; `loop` makes t…
- class
AudioStreamStreaming long-form audio backed by an `HTMLAudioElement` - background tracks, voice-over, **and internet radio** (same mecha…
- class
AudioSystemPer-Application owner of the audio mix: three pre-configured AudioBus instances (`master` ← `music` + `sound`), a single Audi…
- class
AudioUnsupportedErrorRaised when the host environment provides no Web Audio API at all - a missing `AudioContext`, `OfflineAudioContext`, or `getU…
- class
AudioZoneA region of the world that contributes a parallel send while the listener is inside it - a reverb zone, a muffled corridor, a…
- interface
AudioZoneCircleA circular zone footprint: a centre on the world plane plus a radius.
- interface
AudioZoneOptionsConstruction options for AudioZone.
- type
AudioZoneShapeWhere an AudioZone applies - an axis-aligned Rectangle or a circle.
- interface
AutoBackendConfig - interface
AutoTileOptionsOptions for autoTile and refreshCell.
- class
AutoWahEffectAuto-wah effect that uses an amplitude envelope follower to modulate a bandpass filter, creating the characteristic "wah" swe…
- interface
AutoWahEffectOptionsConstruction options for AutoWahEffect.
- class
AxisActionA named signed axis in -1..1, fed by a stick, by two opposing button groups, or by several such bindings at once. Alternative…
- type
AxisBindingA directly signed source (a stick axis) or a composite built from two button groups.
- interface
AxisCompositeBindingTwo opposing groups of sources forming one signed axis. `negative` and `positive` are the generic one-dimensional terms - use…
- type
BackendConfig - interface
BackendRenderPassA low-level, backend-only render command. Implement this for custom passes that need direct RenderBackend access (custom shad…
- interface
BandEnergy - interface
BarInfo - class
BeatDetectorReal-time tempo + beat tracker. Splits work between the audio-rendering thread (an AudioWorklet that runs onset detection, te…
- interface
BeatDetectorOptions - type
BeatDetectorSource - interface
BeatInfo - class
BinaryAssetDispatch token for binary data loading. `loader.load(Asset.type('binary', 'data.bin'))` returns `Promise<ArrayBuffer>`.
- class
BinaryAssetTypeArbitrary binary files, handed over as the bytes that arrived.
- interface
BindingConflictOne channel bound by more than one action of the same map.
- class
BindingProfileA player's rebindings, as the persistable delta against the developer's defaults. A profile stores ONLY the actions a player…
- interface
BindingProfileDataWire format BindingProfile.toJSON produces and BindingProfile.fromJSON accepts.
- class
BiquadEffectNative biquad filter effect backed by a single `BiquadFilterNode` - the most common audio-shaping need, covering `lowpass` /…
- interface
BiquadEffectOptionsConstruction options for BiquadEffect.
- class
BitCrusherEffectLo-fi bit-crusher effect implemented as a WorkletEffect. Applies two classic degradation stages in series: 1. **Bit-depth red…
- interface
BitCrusherEffectOptions - class
BitmapTextText node that renders from an offline-generated atlas - either a BMFont (AngelCode .fnt + .png) or an MSDF atlas (msdf-atlas…
- interface
BitmapTextOptions - enum
BlendModesCompositing blend modes applied when drawing a Drawable over the current render target. Modes 0-4 are implemented as fixed-fu…
- class
BloomFilterA Filter that adds a soft glow around the bright parts of its input - bloom, in the engine's ordinary sRGB path. Pixels whose…
- interface
BloomFilterOptionsConstruction-time options for a BloomFilter.
- class
BlurFilterGaussian blur Filter, run as two separable passes. The input is swept along X into a scratch target, then that scratch is swe…
- interface
BlurFilterOptionsConstruction-time options for a BlurFilter.
- class
BmFontA loaded BMFont asset: the parsed descriptor plus all page textures. Loaded by the built-in BMFont factory - no extra setup r…
- class
BmFontAdapterAdapts BmFontData to the GlyphProvider interface consumed by layoutText. - `getGlyph()` maps BMFont metrics to GlyphInfo usin…
- class
BmFontAssetTypeAngelCode BMFont descriptors (`.fnt`, text format) together with their page textures. The pages are claimed by the font's own…
- interface
BmFontCharPer-character metrics from a BMFont descriptor.
- interface
BmFontDataParsed representation of a BMFont (.fnt) descriptor.
- interface
BodyOptionsConstruction options for a body.
- type
BodyTypeSimulation role of a PhysicsBody. - `dynamic` - fully simulated (finite mass); moved by the solver once dynamics ship, and by…
- class
BoundingBoxesLayerDebug layer that draws a bounding-box outline around every visible RenderNode in the scene. Colours cycle by zIndex (HSL hue)…
- class
BoundsMutable axis-aligned bounding box accumulator. Starts as the empty bounds (`-Infinity..Infinity` reversed) and grows monotoni…
- class
BoxAreaRandom point inside an axis-aligned box. With `mode: 'edge'` the result lies on the perimeter (uniform along all four edges c…
- class
BoxShapeAxis-aligned box of `width × height` centred on the collider's local origin - a convenience over PolygonShape. The result is…
- type
BrowserGamepadConvenience alias for the non-null element type returned by `navigator.getGamepads()`.
- class
BrowserPlatformThe PlatformAdapter backed by the browser: a canvas element for the drawing surface, `window` for keyboard and blur, `documen…
- enum
BufferTypesGPU buffer binding targets. Values are WebGL2 GLenum constants used when calling `gl.bindBuffer`.
- enum
BufferUsageHints describing expected buffer access pattern, allowing the driver to optimise allocation. Values are WebGL2 GLenum constan…
- interface
BuildInfoImmutable compile-time build metadata for `@codexo/exojs`. `development` mirrors the `__DEV__` compile-time constant and is s…
- interface
BurstScheduleBurst trigger schedule. The module fires at `time` seconds (since registration), spawning `count` particles in one frame.
- class
BurstSpawnDiscrete-burst spawner. Fires at scheduled times with a fixed count per burst. Useful for explosions, hit-impacts, level-up e…
- interface
BurstSpawnConfigSpawn configuration for BurstSpawn: the burst schedule plus the shared per-property fields.
- class
ButtonClickable button with a rounded background, a centered label, hover/pressed visual states, and keyboard activation (Enter / S…
- class
ButtonActionA named on/off input, fed by one source or by several interchangeable ones. Sources may be digital (a key) or analog (a trigg…
- type
ButtonBindingSources a ButtonAction accepts: one channel, or several interchangeable ones.
- class
ButtonLikeActionShared mechanism behind every action that reduces a set of bound channels to a single on/off `active`/`pressed`/`released` (p…
- interface
ButtonOptions - type
ButtonStateThe states a button's skin can be stated for.
- interface
CacheContextThe operations a CachePolicy may perform on one acquisition. Deliberately narrow. A policy decides ORDERING - read before fet…
- class
CacheFirstPolicyReads the cache first and only fetches when it misses. The default policy, and the right one for content that does not change…
- interface
CacheLayoutHow one acquired representation is laid out in persistent storage. This is the boundary between what an asset's source data I…
- interface
CacheLayoutContextThe store operations a CacheLayout may use, scoped to one acquisition. A layout addresses its own records by name and never c…
- class
CacheOnlyPolicyReads the cache and never touches the network. For a shipped or pre-warmed cache, and for offline modes that must fail loudly…
- interface
CachePolicyDecides in which order a cache and the network are consulted for one acquisition. This is the extension point for custom cach…
- interface
CachePolicyResolutionContextWhat a CachePolicyResolver is told about the acquisition it is choosing a policy for.
- interface
CachePolicyResolverChooses the CachePolicy for one acquisition, at the moment it starts. A route is configured with a policy or with a resolver.…
- type
CachePolicySourceEither shape a route accepts for its policy.
- type
CacheReadResultThe outcome of reading one cache record. A miss and a failure are deliberately different things: a miss resolves to `{ hit: f…
- interface
CacheRecordKeyThe identity of one persisted cache record. A SourceKey alone is deliberately not enough. It carries no asset type - two type…
- class
CacheRouteOne caching rule: which asset types it covers, which stores it uses, and in what order the cache and the network are consulte…
- interface
CacheRouteOptionsConstruction options for a CacheRoute.
- interface
CacheStorePhysical storage for cache records. A store is asset-agnostic by contract: it never sees an asset type, a factory, a codec or…
- class
CallbackRenderPassRuns a user callback as one pass. The callback receives a PassContext scoped to the active target: `pass.render(node)`, `pass…
- interface
CallbackRenderPassOptionsOptions for CallbackRenderPass.
- type
CanvasAlphaModeHow the finished frame composites against the page behind the canvas. - `'opaque'`: the canvas has no alpha channel. Whatever…
- interface
CanvasApplicationOptions - class
CanvasSizingStrategy that decides how a canvas is sized and, where it lives in a document, how it follows its surroundings. An instance o…
- interface
CanvasSizingContextWhat a CanvasSizing is given to work with, and the one channel through which it changes the canvas. A context describes the a…
- interface
CanvasSizingHostMetricsThe size of the element a sizing policy tracks, in CSS pixels.
- interface
CanvasSizingMetricsOne complete description of how the canvas is sized, in the three axes the engine keeps apart. `cssWidth`/`cssHeight` are the…
- class
CapabilitiesFrozen snapshot of host-environment feature support: which renderer backends are available, which input modalities are presen…
- class
CappedResolutionCanvasSizingScales the canvas to its parent and lets the render resolution follow it downwards, but never above the base resolution. The…
- class
CapsuleShapeA capsule: the set of points within `radius` of the segment between two local-space endpoints. Exact geometry, never a polygo…
- interface
CaptureOptionsOptions for RenderingContext.capture - allocates a new RenderTexture.
- type
CatalogEntryA single catalog field input: a bare path string, an `Asset.type(...)` descriptor, or an explicit config.
- type
CatalogResourceLeafA resource type's catalog leaf: the heal-in-place placeholder resource itself (`Texture`, `Sound`, ...), branded. Stays assig…
- type
CatalogValueLeafA value type's catalog leaf: a deferred AssetRef, branded with the DECODED payload type - which is what loading it resolves t…
- class
ChainShapeA connected boundary through a run of local-space vertices: level outlines, terrain, the ground of a side-scroller. Open (a p…
- interface
ChainShapeOptionsConstruction options for a ChainShape.
- type
ChangeSceneArgsTuple type for `change()`'s single options parameter: present-and-required whenever `ChangeSceneOptions<Data>` has a required…
- type
ChangeSceneOptionsOptions for SceneDirector.change. Carries the activation `data` (when `Data` is not `void`), `suspendCurrent`, and an optiona…
- enum
ChannelOffsetBase offsets of each input category inside the unified channels buffer. Add a per-key/per-slot value to one of these to get a…
- enum
ChannelSizeSlot-count constants for the unified channels buffer. The buffer is split into three categories (`Keyboard`, `Pointers`, `Gam…
- interface
CheckableOptionsOptions shared by the two-state controls (Checkbox, Toggle).
- class
CheckableWidgetBase class of the two-state controls (Checkbox, Toggle): an interaction state machine like Button's, an orthogonal `checked`…
- class
CheckboxA box that is either ticked or not, with an optional label beside it. Clicking it, tapping it, or pressing Enter or Space whi…
- interface
CheckboxOptionsOptions for Checkbox.
- class
ChordActionButton-like action active while every channel in a chord is held at once - `Control+S`, a modifier held alongside a gamepad b…
- type
ChordBindingA binding accepted by ChordAction: a `'+'`/`'|'` string of case-insensitive Keyboard token names (`'Control+S'`, `'Control+S|…
- class
ChorusEffectChorus effect using native WebAudio nodes (no worklet required). The signal splits into a dry path and a wet path. The wet pa…
- interface
ChorusEffectOptionsConstruction options for ChorusEffect.
- interface
ChunkCoordA signed chunk coordinate pair.
- interface
ChunkPayloadA chunk payload ready to install into a import('./TileLayer').TileLayer via import('./TileLayer').TileLayer._adoptChunk - the…
- interface
ChunkRangeThe inclusive range of chunk coordinates that intersect a bounded TileLayer. `null` for an unbounded layer (no range limit).
- interface
ChunkSourceSupplies chunk data for one import('./TileLayer').TileLayer on demand, keyed by signed chunk coordinates - the abstraction a…
- class
ChunkStreamerDrives TileLayer._adoptChunk/TileLayer._evictChunk calls from a View's position: chunks near the view are requested from a Ch…
- interface
ChunkStreamerOptionsOptions for a ChunkStreamer. All optional.
- class
CircleMutable circle shape defined by a centre position and radius. Implements Collidable for use in the collision pipeline. For SA…
- class
CircleAreaRandom point on or inside a circle of radius `radius`, centred at `(centerX, centerY)`. With `mode: 'edge'` the result lies e…
- interface
CircleLikeStructural type for any object that describes a circle via a centre point and radius.
- class
CircleShapeA circle of the given `radius` centred on the collider's local origin. The cheapest shape for both broad- and narrow-phase.
- class
ClockHigh-precision clock that accumulates elapsed time while running. Reads the host's monotonic clock unless a TimeSource is sup…
- interface
CloneableStructural interface for value types that support a deep clone and an in-place copy from a same-type source. Implemented by C…
- namespace
CodecBinary codec facade, grouped as a namespace so the public API carries no loose codec functions.
- interface
CollidableContract for objects that participate in collision detection. Implemented by all concrete shape classes as well as `SceneNode…
- class
ColliderGeometry attached to a PhysicsBody: a Shape plus a body-local offset/rotation, material (friction/restitution/density) and a…
- interface
ColliderDefaultsCollider settings shared by every generated collider unless overridden.
- interface
ColliderOptionsConstruction options for a collider.
- namespace
CollisionShape-vs-shape collision queries, grouped as a namespace so the public API carries no loose `intersection*`/`getCollision*` f…
- interface
CollisionEventImmutable per-dispatch snapshot describing a solid (non-sensor) contact. Frozen: it is safe to read during the callback and t…
- interface
CollisionFilterPer-collider collision filter. A pair is considered for collision only when each collider's mask includes the other's categor…
- interface
CollisionResponseResult of a successful Collidable.collidesWith call. Contains the two participating shapes, the penetration depth, containmen…
- enum
CollisionTypeDiscriminant tag carried by every Collidable so that intersection and collision routines can dispatch to the correct algorith…
- class
Color32-bit RGBA color value with channel-wise accessors. Red, green, and blue are integers in 0..255; alpha is a float in 0..1. O…
- class
ColorGradientPiecewise-linear color gradient sampled by lifetime ratio `t` in `[0, 1]`. Keyframes are stored sorted by `t`; sampling outsi…
- interface
ColorGradientKeyA keyframe in a ColorGradient: color at lifetime ratio `t` in `[0, 1]`.
- type
ColorInputAnything Color.from accepts. A number is always `0xRRGGBB` and never carries alpha - see Color.from for why the packed form s…
- type
ColorMatrixEntriesA 4×5 row-major colour matrix: four rows of `[r, g, b, a, offset]`.
- class
ColorMatrixFilterA Filter that runs one affine colour transform over everything it is given: `RGBA' = M·RGBA + bias`, carried as a 4×5 row-maj…
- class
ColorOverLifetimePer-frame, per-particle color sampler. Each live particle's tint is set to the gradient evaluated at the particle's current `…
- class
ColorOverSpeedPer-frame, per-particle color sampler driven by velocity magnitude rather than lifetime ratio. Each live particle's tint is s…
- type
ColorTextureFormatColor attachment format for an offscreen RenderTexture - the TextureFormat subset that can be rendered into. The float format…
- type
CompositionStateProgress of a host-side composition (an IME candidate). While one is in flight its text lives only here; it merges into the v…
- interface
CompressedBlockLayoutBlock geometry of a compressed format: the texel footprint of one block and how many bytes that block occupies. Both backends…
- class
CompressedTextureA Texture constructed directly from a compressed payload. Convenience only: a compressed payload is something a plain `Textur…
- enum
CompressedTextureFormatA block-compressed GPU texture format. These are hardware formats: the GPU samples the compressed blocks directly, so a compr…
- interface
CompressedTextureLevelOne mip level of a compressed texture payload: the block bytes exactly as the container stored them, plus the texel extent th…
- interface
CompressedTextureOptionsConstruction options for CompressedTexture.
- interface
CompressedTexturePayloadA texture payload already in a hardware block-compressed format, as carried by Texture.compressed. The saving is real in both…
- class
CompressorEffectDynamic-range compressor backed by a Web Audio `DynamicsCompressorNode`. Reduces the volume of loud signals above a threshold…
- interface
CompressorEffectOptionsConstruction options for CompressorEffect. All values are clamped to their valid ranges on assignment.
- class
ConcurrentSceneNavigationErrorThrown when `change`/`restore` is called while another Scene switch, restore, or transition session is already in flight - na…
- class
ConeDirectionRandom unit vector inside a cone, scaled by a speed magnitude. The cone is centred on `directionAngle` (in radians, 0 = +X, π…
- class
ConnectivityWhether the application should reach the network at all, right now. Two separate questions, deliberately never equated: - sta…
- class
ConnectivityPolicyResolverRoutes acquisitions through the cache alone whenever the application is not allowed to reach the network, and through the con…
- interface
ConnectivityPolicyResolverOptionsConstruction options for a ConnectivityPolicyResolver.
- type
ConnectivityStateWhat the environment appears to provide. `'unknown'` is a real answer, not a placeholder: a host that reports nothing about r…
- class
ConstantDistribution that always returns the same value. Implements both Distribution and LifetimeFunction so it can stand in whereve…
- type
ConstructorOfExtracts the Scene subclass constructor a SceneRegistration resolves to - unwraps the descriptor form, passes a bare construc…
- type
ContactModifierCalled once per solid contact per fixed step, after contact generation and before the solver runs, to adjust that contact for…
- interface
ContactModifierContextA solid contact as the world's ContactModifier sees it: the pair that produced it, the contact normal, and the three per-step…
- interface
ContactPointA single contact point on a CollisionEvent. World space.
- class
ContainerScene-graph node that owns child RenderNodes. Renders its subtree in document order with local `zIndex` ordering resolved ins…
- interface
ContainerBlockOne independently compressed run of the data section. Blocks tile the uncompressed section in order and without gaps, and a b…
- interface
ContainerBlockStoreWhere a reader keeps container blocks between visits. A block is addressed by its hash, never by the pack it came from, so tw…
- type
ContainerCodecHow a block's stored bytes are encoded. `deflate-raw` decodes through the browser's `DecompressionStream` with no dependency…
- interface
ContainerEntryOne asset in a container's head. `offset` and `length` address the asset's own bytes within the uncompressed data section. `t…
- class
ContainerReaderReads assets out of a `.exoa` container, fetching only the blocks it needs. A container's data section is tiled by independen…
- interface
ContainerReaderOptionsHow a ContainerReader is opened.
- interface
ContextMenuRequestA request to show a context menu, in design-space coordinates. Right-click, the keyboard context-menu key, and Shift+F10 all…
- class
ConvolutionEffectConvolution effect that convolves the input signal with a user-supplied impulse response (IR). Unlike ReverbEffect, which gen…
- interface
ConvolutionEffectOptionsConstruction options for ConvolutionEffect.
- class
CoroutineHandle for work handed to a CoroutineSystem. Poll Coroutine.status, Coroutine.progress and Coroutine.result from frame code,…
- type
CoroutineBodyWork a CoroutineSystem advances one step per frame: a generator function whose every `yield` hands control back to the frame.…
- interface
CoroutineOptions - type
CoroutineStatusLifecycle of a Coroutine. `queued` until its first step, `running` from then on, and exactly one of the three terminal states…
- class
CoroutineSystemAdvances generator-based coroutines a step at a time in the frame's leftover capacity, so heavy work (world generation, batch…
- interface
CoroutineSystemOptions - interface
CrossFadeOptions - class
CrossFadeSceneTransitionContinuous blend between the outgoing scene (frozen as a snapshot at session start) and the incoming scene (rendered live to…
- interface
CrossFadeSceneTransitionOptionsOptions for CrossFadeSceneTransition.
- class
CsvAssetDispatch token for CSV loading. `loader.load(Asset.type('csv', 'table.csv'))` returns `Promise<string[][]>`. Each inner array…
- interface
CsvAssetOptionsOptions accepted by an asset of the built-in `csv` type.
- class
CsvAssetTypeCSV and TSV tables, parsed into rows of raw field strings.
- class
CurvePiecewise-linear keyframe curve sampled by lifetime ratio `t` in `[0, 1]`. Keyframes are stored sorted by `t` and clamped at…
- interface
CurveKeyA keyframe in a Curve: value `v` at lifetime ratio `t` in `[0, 1]`.
- interface
DatabaseLow-level key/value database abstraction with a declared schema. Data is organised into named object stores (`type`) that act…
- class
DataTextureA 2D texture whose pixels live in a CPU-side typed array. Mutate the `buffer` directly and call commit to upload the whole ar…
- type
DataTextureBufferBuffer typed-array kind for a given format.
- interface
DataTextureDirtyRegionA region of the buffer marked for upload by the next backend sync. Bounds are pixel coordinates with origin at the top-left.…
- type
DataTextureFormatPixel format for DataTexture - the TextureFormat subset that can be uploaded from a typed array. Excludes `Rgba16F`, which ha…
- interface
DataTextureOptionsConstruction options for DataTexture.
- class
DeathModulePer-particle hook invoked exactly once after a particle expires, carrying its state at the moment it died. Use for sub-emitte…
- class
DebugLayerAbstract base for a single diagnostic overlay layer. Subclasses produce a visual (outlines, text panels, sparklines, etc.) th…
- type
DebugLayerViewModeDetermines the coordinate space a DebugLayer renders into. `'screen'` uses the overlay's pixel-space view; `'world'` uses the…
- class
DebugOverlayCanvas-native debug overlay. Instantiate AFTER Application is constructed: import { DebugOverlay } from '@codexo/exojs/debug'…
- type
DecodedImageA decoded raster image: an ImageBitmap where the environment supports one.
- type
DecompressFormatCompression formats supported by the native `DecompressionStream`.
- type
DeepReadonlyMarks every property of `T` `readonly`, recursively: nested objects, arrays, tuples, `Map` and `Set` are all rewritten, so a…
- class
DelayEffectEcho/delay effect using a Web Audio `DelayNode` with a feedback loop and dry/wet mix. The feedback path feeds the delayed sig…
- interface
DelayEffectOptionsConstruction options for DelayEffect.
- class
DepthTextureThe depth attachment of a render target, bindable as a named texture of a custom MeshMaterial or SpriteMaterial. It is create…
- interface
DeriveNormalsOptionsTuning for deriveNormalsFromAlpha.
- interface
DeserializeContextContext handed to NodeSerializer.read. Mirror of SerializeContext for the inverse direction: child recursion and asset lookup…
- interface
DestroyableStructural interface for anything that holds resources requiring explicit release. ExoJS value types tend to implement this e…
- class
DestroyScopeOwnership container for Destroyable resources. Items registered with track are destroyed in reverse registration order when t…
- type
DiagonalPolicyHow diagonal steps are allowed on a GridSpace. - `never` - four-connected movement only. - `no-corner-cutting` - a diagonal s…
- class
DisplacementFilterA Filter that offsets every fragment's source position by a direction read out of a texture - heat haze, water refraction, gl…
- interface
DisplacementFilterOptionsConstruction-time options for a DisplacementFilter.
- class
DistanceJointHolds the anchor points on two bodies at a target length along their connecting axis. With `hertz === 0` it is rigid; with `h…
- interface
DistanceJointOptionsConstruction options for a DistanceJoint.
- type
DistanceModelDistance-attenuation model used by spatial sounds. Mirrors Web Audio's `PannerNode.distanceModel`: - `'linear'` - `v = 1 - ro…
- class
DistortionEffectDistortion effect built from native Web Audio nodes - no worklet required. The input signal is split into a dry path and a we…
- interface
DistortionEffectOptionsConstruction options for DistortionEffect.
- interface
DistributionValue distribution sampled at particle spawn time. Each `sample()` call may return a different value - used to randomize spaw…
- class
DockContainerLayout container that pins children to the edges of its box and gives the remaining space to the centre. Each edge child is s…
- interface
DockContainerOptions - type
DockRegionWhere a DockContainer places a child.
- class
DragExponential velocity damping. Each frame multiplies every live particle's velocity by `(1 - drag * dt)`, simulating linear ai…
- class
DrawableBase class for every renderable scene object. Extends RenderNode with a per-object tint colour, blend mode, and the normalize…
- interface
DrawBatchOptionsOptions for RenderingContext.drawBatch.
- interface
DrawContextThe shared rendering verbs that act on the active render target. Implemented by the frame-level RenderingContext (active targ…
- interface
DrawGeometryOptionsOptions for RenderingContext.drawGeometry.
- class
DropdownA closed control showing the current selection that opens a list of alternatives. Clicking it, or pressing Enter or Space whi…
- interface
DropdownItemOne selectable entry of a Dropdown.
- interface
DropdownOptionsOptions for Dropdown.
- class
DropShadowFilterA Filter that draws a soft, offset silhouette of its input behind the input itself - the classic drop shadow. The shadow is t…
- interface
DropShadowFilterOptionsConstruction-time options for a DropShadowFilter.
- class
DuckingEffectSidechain compressor (ducker) implemented as an WorkletEffect. Attenuates the main audio signal whenever the `sidechain` Audi…
- interface
DuckingEffectOptionsConstruction options for DuckingEffect. `sidechain` is required.
- class
DuplicateSceneRegistrationErrorThrown (dev builds only) when `ApplicationOptions.scenes` registers the same constructor under more than one key.
- class
DynamicAabbTreeBoundless, incrementally-updated bounding-volume hierarchy over fat AABBs (Box2D b2DynamicTree-style). Generic sibling of Qua…
- namespace
EaseStandard Robert Penner easing functions. Each function accepts a normalized time `t` in [0, 1] and returns a value that equal…
- type
EasingFunction - class
EllipseMutable axis-aligned ellipse shape defined by a centre position and separate horizontal (`rx`) and vertical (`ry`) half-radii…
- interface
EllipseLikeStructural type for any object that describes an axis-aligned ellipse via a centre point and half-radii.
- interface
EllipseObjectAn ellipse inscribed in `[x, y, width, height]`.
- class
EnvelopeADSR (Attack-Decay-Sustain-Release) envelope generator. Schedules a gain curve on a target `AudioParam`: attack: 0 → 1.0 (pea…
- interface
EnvelopeOptions - class
EqualizerEffectThree-band equalizer (low shelf / peaking mid / high shelf) built from a series chain of `BiquadFilterNode` instances. Gain v…
- interface
EqualizerEffectOptionsConstruction options for EqualizerEffect.
- interface
ExtensionAn ExoJS extension: an immutable descriptor that contributes renderer bindings, asset bindings, serializer bindings and/or ap…
- type
ExtensionDisposerUndoes one Extension.install call, for the one Application that call was made against. Returned by `install`, held by that Ap…
- interface
ExtensionKindMapType-level twin of the built-in suffix table: file suffix to asset type, for bare-string path inference in `Assets.from()`/`g…
- class
FadeSceneTransitionFade to a color, switch scenes, fade back in. `placement: 'screen'`, `currentFrame: 'direct'`, `outgoingFrame: 'none'` - the…
- interface
FadeSceneTransitionOptionsOptions for FadeSceneTransition.
- class
FilterAbstract base class for post-process filters applied to a drawable's render output. Filters are rendered into a temporary Ren…
- class
FilterPassRuns a Filter or a chain of them from a source texture into a destination, as one pass inside a RenderPipeline. ```ts pipelin…
- interface
FilterPassOptionsOptions for FilterPass.
- interface
FindPathOptionsOptions for Pathfinder.findPath and Pathfinder.findPathBetween.
- class
FixedResolutionCanvasSizingScales the canvas to its parent while the render resolution stays exactly at the base resolution. The CSS box is the largest…
- class
FlagsType-safe bitfield utility for managing sets of numeric enum flags. `T` should be a numeric const-enum or a type whose values…
- class
FlangerEffectFlanger effect using native WebAudio nodes (no worklet required). A flanger is a very short LFO-modulated delay (1-10 ms) wit…
- interface
FlangerEffectOptionsConstruction options for FlangerEffect.
- interface
FloodOptionsOptions for Pathfinder.floodFrom.
- interface
FloodRegionResult of Pathfinder.floodFrom: every node reached, with its cost.
- type
FocusDirectionA direction for spatial focus navigation - see InteractionSystem.focusInDirection.
- type
FocusNavigationPolicyWhich nodes the arrow keys and the D-pad may move focus to - see InteractionSystem.focusNavigation. - `'ui'` restricts naviga…
- class
FontAssetDispatch token for font loading. `loader.load(Asset.type('font', 'font.woff2', { family: 'MyFont' }))` returns `Promise<FontF…
- interface
FontAssetOptionsOptions accepted by an asset of the built-in `font` type.
- class
FontAssetTypeWeb fonts (WOFF, WOFF2, TTF, OTF) parsed into a loaded `FontFace`.
- type
FontFamilyA CSS font-family string. When FontRegistry has entries the type narrows to registered names ∪ arbitrary strings (for unregis…
- type
FontFormat - interface
FontRegistryOpen interface for compile-time font-family autocomplete via declaration merging. Register loaded font families in your app's…
- type
FontStyleCSS font-style values accepted by Canvas 2D. `'oblique'` slants an upright face by a fixed angle. Where a family ships a real…
- interface
FontTypefaceKeyThe typeface a glyph source draws from: a family, and the slant and weight selected within it. A loaded FontFace replaces eve…
- type
FontVariantCSS font-variant-caps values the glyph rasterizer honours. `'small-caps'` renders lowercase letters as reduced capitals - fro…
- interface
FontVariantKeyEverything that decides which glyphs a text run is drawn from. Named rather than positional because the four values are all s…
- type
FontWeightFont weight values accepted by CSS / Canvas 2D.
- class
ForwardLightingLighting shaded inside the sprite fragment stage, against one packed light texture. ```ts const lighting = new ForwardLightin…
- interface
ForwardLightingOptionsWhat ForwardLighting takes whether or not it was given a host.
- interface
FragmentOutputCountsPer-language count of the color attachments a fragment stage declares an output for, as reflected from the shader source. `nu…
- interface
FrameBudgetHow much of the running frame is still unspent, handed to the SystemMethods.postFrame phase. Modelled on the platform's `Idle…
- interface
FrameLightingOptionsWhat LightmapLighting and RadianceLighting both take.
- interface
FrameSchedulerDisplay-synchronised frame scheduling. The timestamp handed to the callback shares its origin with TimeSource.now, so the two…
- namespace
Functions & ConstantsFree functions and constants exported from @codexo/exojs.
- class
GamepadOne of four stable gamepad slots. Lives for the entire `Application` lifetime even when no physical pad is attached - a "mail…
- class
GamepadAxisSingle mappable analog axis on a physical gamepad. Holds the raw browser `Gamepad.axes[]` index, the canonical channel the va…
- type
GamepadAxisChannelBranded literal-union type identifying a canonical analog axis-style gamepad input channel. Members are absolute offsets into…
- interface
GamepadAxisOptionsConstruction options for a GamepadAxis.
- class
GamepadButtonSingle mappable button on a physical gamepad. Holds the raw browser `Gamepad.buttons[]` index, the canonical channel the valu…
- type
GamepadButtonChannelBranded literal-union type identifying a canonical button-style gamepad input channel. Members are absolute offsets into the…
- interface
GamepadButtonOptionsConstruction options for a GamepadButton.
- interface
GamepadDefinitionA rule that matches one or more physical gamepads and produces a GamepadMapping. `ids` is an optional allow-list of vendor ID…
- type
GamepadDefinitionResultValue a GamepadDefinition.resolve callback may return. Return a bare GamepadMapping to accept the device with the definition'…
- interface
GamepadDescriptorParsed metadata extracted from a browser `Gamepad.id` string. `vendorId` and `productId` are four-hex-digit strings (e.g. `"0…
- interface
GamepadInfoIdentity metadata for a connected gamepad. Populated from a ResolvedGamepadDefinition.
- class
GamepadMappingTranslation layer between the browser's raw Gamepad API indices and ExoJS-canonical input channels. The engine selects one wh…
- interface
GamepadMappingDataOne device layout, as data. This is the whole definition of a controller as far as the engine is concerned - no subclassing i…
- enum
GamepadMappingFamilyDevice family a GamepadMapping belongs to. The value a game keys its own button-glyph or controller-artwork set on: `icons[ga…
- enum
GamepadMappingLayoutWhich index space a GamepadMapping's button and axis indices live in. Almost every mapping is written against the W3C "standa…
- type
GamepadPromptControlNamed controls that can appear in an in-game prompt or button-hint UI. Intentionally a subset of GamepadButton channels - cov…
- class
GamepadPromptLayoutsStatic utility that drives in-game controller-prompt UI. Provides the canonical set of prompt controls, their normalised [x,…
- type
GamepadSlotSlot a gamepad channel is resolved against. Runtime context supplied by the owning ActionMap, never part of a binding or of p…
- type
GamepadSlotStrategyStrategy used by InputSystem when assigning physical gamepads to slot indices in InputSystem.gamepads. - `'sticky'` (default)…
- interface
GamepadVibrationOptionsEffect parameters for Gamepad.vibrate.
- class
GeometryNon-renderable geometry data object used by advanced rendering paths. Geometry owns only vertex/index data and its layout met…
- interface
GeometryAttributeDescriptor for one attribute in an interleaved vertex layout. Offsets and stride are expressed in bytes.
- interface
GeometryOptionsConstruction options for Geometry.
- type
GeometryUsageGPU buffer ownership strategy used by geometry-aware render paths. - `static` - immutable after creation; eligible for shared…
- class
GlyphAtlasA per-font-variant glyph atlas with automatic multi-page growth. In `'sdf'` mode (default) each atlas page is a single-channe…
- interface
GlyphInfoCached glyph data stored in an atlas page after rasterization.
- type
GlyphKeyA key that uniquely identifies a glyph within a GlyphAtlas. Format: `${char}:${size}`
- class
GlyphMetricsThe LOGICAL typographic metrics of one font variant - advances and kerning, in logical pixels, at the logical font size. This…
- interface
GlyphPlacementA single glyph's quad placement in local text space. Origin is the top-left of the first line.
- interface
GlyphProviderProvider of per-character glyph metrics, consumed by layoutText. GlyphAtlas implements this for runtime-rasterized text. `BmF…
- class
GradientCPU-rasterized gradient base. A Color-like paint value (not a Drawable): it owns a normalized list of color stops plus subcla…
- interface
GradientStop - interface
GradientToTextureOptions - type
GradientTypeDiscriminant identifying the concrete gradient kind (`gradient.type`).
- class
GranularEffectGranular synthesis filter - slices input into small Hann-windowed grains and replays them with randomized parameters. Use cas…
- interface
GranularEffectOptions - class
GraphicsImmediate-mode 2D shape API backed by Mesh children. Each draw call (e.g. `drawCircle`, `drawRectangle`, `drawLine`) appends…
- class
GraphicsPathA reusable 2D path: a sequence of subpaths built from lines, Bézier curves and arcs, kept as commands rather than as vertices…
- class
GridSpaceA rectangular window of weighted, optionally blocked cells. The window is finite by construction: everything outside it is bl…
- interface
GridSpaceOptionsConstruction options for GridSpace.
- interface
HasBoundingBoxAnything that can produce an axis-aligned bounding Rectangle.
- class
HighpassFilterHigh-pass filter backed by a `BiquadFilterNode` in `highpass` mode. Attenuates frequencies below the cutoff and passes everyt…
- interface
HighpassFilterOptionsConstruction options for HighpassFilter.
- type
HitAreaAcceptable shapes for RenderNode.hitArea, expressed in the node's own local space: a Rectangle, Circle, Ellipse or Polygon, o…
- class
HitTestLayerDebug layer that draws outlines around interactive scene nodes. - Magenta: interactive but idle. - Yellow: currently hovered.…
- type
HostRealmWhich kind of global scope the probes ran in. Capabilities are realm-local: the same browser reports different answers on its…
- class
HTMLTextText node that renders arbitrary HTML+CSS into a canvas texture via an SVG `<foreignObject>` pass and displays the result as…
- interface
HTMLTextOptions
- class
ImageAssetDispatch token for image loading. `loader.load(Asset.type('image', 'img.png'))` returns `Promise<HTMLImageElement>`.
- interface
ImageAssetOptionsOptions accepted by an asset of the built-in `image` type.
- class
ImageAssetTypeRaster images decoded without a Texture wrapper - an `ImageBitmap` where the environment has one. It claims no file suffixes:…
- class
ImageLayerA data-only image layer: a single image (texture + resolved URL) placed as a background or foreground layer. The layer itself…
- class
ImageLayerNodeA scene node that renders one Tiled ImageLayer as a single RepeatingSprite wrapped in a Container. The layer's pixel `offset`…
- interface
ImageLayerOptionsConstruction options for an ImageLayer.
- class
IndexedDbDatabaseDatabase implementation backed by the browser's IndexedDB API. Each object store is created with a `keyPath` of `"name"`, so…
- class
IndexedDbKeyValueStoreKeyValueStore over IndexedDB, using the **structured-clone** algorithm. Unlike WebStorageStore, values are stored *directly*…
- interface
IndexedDbKeyValueStoreOptionsConstruction options for IndexedDbKeyValueStore.
- class
IndexedDbStoreCacheStore that persists acquired asset representations in IndexedDB. ```ts const app = new Application({ loader: { cache: ne…
- interface
IndexedDbStoreOptionsConstruction options for IndexedDbStore.
- type
InferAssetResource - type
InferAssetsEntries - type
InferLoadedEntryThe LOADED payload a CatalogEntry resolves to - what a `loader.load(catalog)` result map holds, as opposed to the handle-hybr…
- type
InferLoadedMapMaps each key of a catalog DEFINITION record to its resolved runtime resource type. Keyed on CatalogEntry, not `AssetInput`:…
- type
InferSceneDataExtracts the activation-data type a SceneConstructor expects.
- class
InlineWorkerRuns a worker from a JavaScript source string instead of a separate script file, and owns the lifetime of the object URL that…
- interface
InlineWorkerOptionsOptions for InlineWorker.
- type
InputAlternationOne SequenceAction step (or the whole binding a ChordAction accepts) satisfied by any ONE of several alternatives rather than…
- interface
InputApplicationOptions - class
InputBindingOne subscription to one or more input channels. Tracks active state, fires the onStart / onActive / onStop / onTrigger Signal…
- class
InputBindingErrorRaised when serialized binding data cannot be read: a profile whose shape or version this build does not understand, a bindin…
- interface
InputBindingOptionsConstruction options shared by every binding factory method.
- type
InputChannelChannel a single InputBinding can subscribe to.
- type
InputChordOne SequenceAction step requiring every listed channel simultaneously - the array-form equivalent of a `'+'`-joined chord tok…
- class
InputScopeOne input context: the action maps that are in charge while it is the topmost scope on a SceneInputs stack. A scope claims ex…
- type
InputSequenceAn ordered list of SequenceAction pattern steps. Each entry is a single InputChannel (a one-channel step), a nested InputChor…
- class
InputSystemOwns the unified input pipeline for an Application: keyboard events, pointer (mouse/touch/pen) events with multi-touch slot m…
- type
InputTokenStable, persistable identifier for one input control. A token is lowercase ASCII, uses `.` as the namespace separator and `-`…
- class
InputVoiceLive control handle for an AudioInput (microphone / WebRTC stream), created via AudioSystem.open. Unlike a Playable voice it…
- class
InteractionEventDOM-Event-shaped envelope dispatched by InteractionSystem to interactive scene nodes. Bubbles up the *entire* parent chain -…
- type
InteractionEventTypeString literal union of every interaction event the InteractionSystem can deliver to a RenderNode. Handlers attach via the no…
- interface
InteractionObservationHandle returned by SceneInteraction.observe. Detaches the observed root from interaction dispatch - call InteractionObservati…
- interface
InteractionScopeHandle returned by SceneInteraction.scope. While active, pointer hit-testing and Tab traversal are confined to the scoped roo…
- class
InteractionSystemRoutes pointer events from the InputSystem to interactive scene-graph nodes via DOM-style event bubbling. Maintains a persist…
- class
IntervalA closed scalar interval `[min, max]` used by the SAT collision solver to represent the projection of a shape onto a separati…
- class
InvalidSceneRegistrationErrorThrown (dev builds only) when `ApplicationOptions.scenes` contains a value that is not a SceneRegistration - neither a Scene…
- class
JointBase class for a two-body constraint solved alongside contacts in the sub-step loop. Concrete joints (distance, revolute, wel…
- interface
JointOptionsOptions every joint accepts, whatever it constrains.
- class
JsonDispatch token for generic JSON loading. `loader.load(Asset.type('json', 'config.json'))` returns `Promise<unknown>`. Narrow…
- class
JsonAssetTypeJSON documents, parsed on read and stored as the text that arrived.
- enum
KeyboardChannel indices for keyboard keys, addressed by PHYSICAL key position. Pass any value to the Input constructor to react to th…
- class
KeyEventEnvelope dispatched by `app.interaction` to the focused RenderNode for keyboard input, then bubbled up its entire parent chai…
- type
KeyEventTypeKeyboard phase delivered to a focused node.
- interface
KeyValueStoreAsync key/value store for application data - game saves, settings, profiles, cached payloads. A single, uniform surface so ca…
- type
KindByPathThe asset type inferred from a path literal, or `never` when unregistered.
- class
LabelText label widget. Wraps a Text node and keeps the widget's layout size in sync with the measured text, so it anchors and sta…
- interface
LayoutOptionsControls text flow and overflow - separate from TextStyle which describes visual appearance. Pass to Text or layoutText.
- namespace
Ldtk FunctionsFree functions and constants exported from @codexo/exojs-ldtk.
- interface
LdtkDataRoot LDtk JSON document (`*.ldtk`).
- interface
LdtkDefsTop-level definitions block (`defs`).
- interface
LdtkEntityInstanceAn entity instance placed in an Entities layer.
- type
LdtkFieldEnumTypeThe `__type` LDtk writes for an enum-valued field: the enum's identifier qualified by where it is defined. The `__value` is t…
- type
LdtkFieldInstanceA field value on an entity or level instance, discriminated by `__type`. `Array<T>` fields (e.g. `Array<Int>`, `Array<Point>`…
- class
LdtkFormatErrorThrown when an LDtk JSON document does not match the expected shape. `source` is the URL of the file being parsed; `path` is…
- interface
LdtkIntGridValueDefAn IntGrid value definition (maps a raw int to a named, coloured entry).
- interface
LdtkLayerDefLayer definition from `defs.layers`.
- interface
LdtkLayerInstanceA layer instance within a level.
- type
LdtkLayerTypeDiscriminant string for a layer instance type.
- interface
LdtkLevelA level in the LDtk world.
- interface
LdtkLevelNeighbourOne entry of a level's `__neighbours` array: an adjacency to another level, plus the direction code LDtk assigned it.
- class
LdtkMapA parsed LDtk world document: holds the raw JSON data and the converted runtime TileMap for each level. `LdtkMap` is the pars…
- class
LdtkMapAssetTypeA fully assembled LDtk world: every referenced tileset image loaded, every externalized `.ldtkl` level resolved, and one runt…
- class
LdtkProjectA loaded LDtk project, prepared for streaming: world layout and tileset atlases are resident, level payloads are not. This is…
- class
LdtkProjectAssetTypeThe streaming entry point: an LDtk world's layout and tileset atlases, with no level payload loaded. It claims no suffix, so…
- interface
LdtkRuntimeOptionsOptions for LdtkProject.createRuntime.
- interface
LdtkTileDataA single tile placed in a Tiles or AutoLayer layer instance.
- interface
LdtkTilesetDefTileset definition from `defs.tilesets`.
- interface
LdtkToTileMapOptionsOptions for ldtkToTileMap.
- interface
LdtkWorldDataA single world in a multi-world LDtk project (`root.worlds[]`, populated when the project has "Multi-Worlds" enabled in its a…
- type
LdtkWorldLayoutHow a LdtkWorldData's levels are spatially organised. `null` is a valid LDtk value (unset), same as the other nullable enum-i…
- interface
LifetimeFunctionLifetime-parameterised function that produces a deterministic `T` for a given lifetime ratio `t` in `[0, 1]`. Used by per-fra…
- class
LightBase class for every light: a scene node that emits rather than draws. Being a node is the point. A light parents to whatever…
- class
LightingWhat a lighting system does with lights, materials and occluders, whichever renderer turns them into pixels. ```ts const ligh…
- type
LightingDebugViewIntermediate to draw instead of the shaded frame. `null` shades normally. - `'light'` shows the accumulated light field on it…
- type
LightingHostWhat a lighting system needs of the application whose frame it lights. A renderer that composes the frame reads the drawn fra…
- interface
LightingOptionsWhat every lighting system takes, whichever renderer it is.
- type
LightingQualityWhich renderer shades the scene, as Lighting.quality reports it. A scene never names one: it constructs the system it wants -…
- class
LightmapLightingLighting accumulated into a target of its own and multiplied onto the frame. ```ts const lighting = new LightmapLighting(app,…
- type
LightmapLightingOptionsConstruction options for LightmapLighting.
- interface
LightOptionsOptions every light shares. Each field is also mutable afterwards.
- class
LimiterEffectBrick-wall limiter backed by a Web Audio `DynamicsCompressorNode` configured for hard limiting: a fixed high ratio (~20), zer…
- interface
LimiterEffectOptionsConstruction options for LimiterEffect.
- class
LineMutable line segment defined by two endpoint positions. Implements Collidable for intersection tests against all shape types.…
- class
LinearGradientLinear gradient in UV space projected from `start` to `end`.
- class
LineLightA segment that emits: a neon tube, a light strip, a laser. Falloff is measured from the nearest point on the segment, so the…
- interface
LineLightOptionsConstruction options for LineLight. Every field is also mutable afterwards.
- interface
LineLikeStructural type for any object that describes a line segment via start and end coordinates.
- class
LineSegmentRandom point on a line segment between `(x0, y0)` and `(x1, y1)`. Uniform parameter distribution: `t = Math.random()` then `l…
- interface
LineShaperHow a laid-out line is turned into something placeable when the engine has to hand the whole line to the browser's text engin…
- class
LitMaterialMakes a sprite respond to the lights of a Lighting system. ```ts crate.material = new LitMaterial({ lighting }); hero.materia…
- interface
LitMaterialOptionsConstruction options for LitMaterial.
- type
LoadableAny abstract or concrete constructor that can be used as an asset type token with Loader.load and related methods.
- interface
LoadContainerOptionsHow Loader.loadContainer fetches a container.
- class
Loader - interface
LoaderOptionsConstruction options for Loader. `basePath` is prepended to relative asset paths at fetch time. `concurrency` caps the number…
- class
LoaderScopeAn owner of asset claims with an explicit lifetime. Assets acquired through a scope stay resident for as long as that scope h…
- type
LoaderScopeKindWhat a claim scope represents, for diagnostics only. Ownership never varies by kind: every scope holds and releases claims id…
- interface
LoaderScopeOptionsOptions for Loader.createScope and LoaderScope.createScope.
- interface
LoadingProgress - class
LoadingQueueAn awaitable, progress-aware load operation. Implements `PromiseLike<T>` so it can be `await`ed directly and composed with `P…
- interface
LoadManifestOptionsHow Loader.loadManifest fetches a manifest.
- interface
LoadOptionsOptions for the catalog/asset/leaf Loader.load forms.
- enum
LoadPriorityHow urgently a Loader.load call should fetch what it adopts. An enum rather than a boolean because priority is the axis a res…
- type
LoadStateValueLoad lifecycle of a seamless asset handle. Directly constructed assets are `'ready'`; a catalog leaf awaiting adoption is `'i…
- interface
LogEntryThe normalized record dispatched to every LogSink.
- class
LoggerEngine-wide log dispatcher. Below `LogSeverity.Error`, calls are dropped outright in production builds (`__DEV__` is `false`)…
- interface
LogOptionsPer-call metadata for Logger.debug/Logger.info/Logger.warn/Logger.error. - `source` renders as `[ExoJS][source]` in the defau…
- enum
LogSeverity - type
LogSinkA subscriber invoked with every dispatched LogEntry.
- interface
LoopableA voice whose source can loop.
- class
LowpassFilterLow-pass filter backed by a `BiquadFilterNode` in `lowpass` mode. Attenuates frequencies above the cutoff and passes everythi…
- interface
LowpassFilterOptionsConstruction options for LowpassFilter.
- class
LutFilterA Filter that maps every pixel of the input through a Look-Up Table texture. Two storage modes: - **RGB 1D LUT** (`N×1`, defa…
- interface
LutFilterOptionsConstruction options for LutFilter.
- type
LutModeStorage layout for a Look-Up Table texture.
- interface
ManifestPackOne pack a manifest carries.
- class
ManualCanvasSizingHands the canvas geometry to whoever is hosting it. Nothing is observed, no CSS is written and no size ever changes on its ow…
- interface
MapBoundsAn axis-aligned rectangle in world pixel space (+Y down).
- interface
MapLevelImmutable metadata for one level of a MapWorld - everything needed to decide whether to load it, without loading it.
- interface
MapLevelCancelOptionsOptions for a MapWorldRuntime.loadLevel that spawns nothing.
- interface
MapLevelLoadContextWhat a MapLevelProvider is given for one level load.
- interface
MapLevelLoadOptionsOptions for a MapWorldRuntime.loadLevel that also spawns the level's map objects. `spawner` and `context` travel together: th…
- interface
MapLevelNeighbourOne adjacency edge from a level to another level in the same MapWorld.
- type
MapLevelProviderProduces the runtime TileMap for one level - the single seam where a source format meets the format-neutral world runtime. An…
- class
MapLevelRuntimeOne loaded level and everything that load produced. Created by MapWorldRuntime.loadLevel; destroying it unloads the level. Th…
- type
MapLevelSideSide discriminant for a MapLevelNeighbour.
- interface
MapObjectDescriptorA format-neutral view of one map object, as handed to a import('./MapObjectSpawner').MapObjectFactory. The descriptor is what…
- type
MapObjectFactoriesDispatch key to factory. Keys are matched against the spawner's `identify` result.
- type
MapObjectFactoryCreates one runtime object from one map object, or `null` to deliberately create nothing for it. `signal` aborts with the spa…
- class
MapObjectSpawnerTurns the objects authored in a map into game objects. A spawner owns its own dispatch table, so several games, tests, editor…
- interface
MapObjectSpawnerOptionsOptions for MapObjectSpawner.
- class
MapSpawnErrorA spawn failed. The whole spawn is rolled back before this is thrown - no partial session exists. For `'factory-failed'` the…
- type
MapSpawnErrorReasonWhy a MapSpawnError was raised.
- interface
MapSpawnOptionsOptions for MapObjectSpawner.spawn.
- class
MapSpawnSessionThe objects one spawn produced, and their shared lifetime. A session is handed out by import('./MapObjectSpawner').MapObjectS…
- class
MapWorldA format-neutral description of how levels are laid out in a world. A `MapWorld` holds metadata only - no tiles, no textures,…
- interface
MapWorldOptionsConstruction options for a MapWorld.
- class
MapWorldRuntimeThe live side of a MapWorld: loads and unloads levels on demand, each with its own asset scope and its own lifetime. ExoJS pr…
- interface
MapWorldRuntimeOptionsOptions for MapWorldRuntime.
- type
MaskSourceAcceptable mask sources for RenderNode.mask. - `Rectangle` - solid axis-aligned mask. The fastest path: implemented internall…
- class
MaterialDescribes the look of a renderable - shader, uniforms, textures, blend mode, and sampling state - independent of its geometry…
- interface
MaterialOptionsConstruction options shared by every Material. Only `shader` is required. What `uniforms` means follows from the shader sourc…
- type
MaterialRawUniformNameA uniform name the raw path accepts; `never` once a schema is declared.
- type
MaterialUniformBlocksViewWhat Material.uniformBlocks exposes for a named-block schema.
- type
MaterialUniformsViewWhat Material.uniforms exposes: typed accessors when the shader source declares `uniforms`, the mutable value record when it…
- type
MaterialUniformValuesStarting values accepted for the declared uniforms.
- class
MatrixMutable 3×3 row-major affine transformation matrix used throughout the rendering and physics pipeline. Layout (row, column):…
- interface
MediaAssetOptionsOptions shared by the streaming media factories.
- type
MediaAssetSourceWhat a media resource is built from. A URL is streamed by the browser, which owns the transfer for the whole life of the elem…
- type
MediaCrossOriginValue for a media element's `crossorigin` attribute. `'anonymous'` is the default for URL-backed media: without it a cross-or…
- class
MemoryCacheStoreCacheStore that keeps records in a `Map` for the lifetime of the process. Holds values BY REFERENCE - no cloning, no serializ…
- class
MemoryStoreIn-memory KeyValueStore backed by a `Map`. Holds values **by reference** - no cloning, no serialization - so it accepts any v…
- class
MeshArbitrary 2D triangle-mesh primitive. `Mesh` lives alongside Sprite as a public Drawable: it has the same transform (position…
- namespace
MeshBuilderCPU mesh-geometry builders, grouped as a namespace so the public API carries no loose `build*` functions. Named `MeshBuilder`…
- interface
MeshGeometryDataRaw mesh data produced by geometry builders. `vertices` is a flat `Float32Array` of `(x, y)` pairs, `indices` is a triangle l…
- type
MeshIndexArrayThe typed-array kinds a mesh index stream can be supplied as.
- type
MeshIndexFormatWidth of a mesh's index stream. `'uint16'` is the default and the cheaper one - half the index bytes to upload and to keep re…
- class
MeshMaterialMaterial specialization for Mesh drawables. Carries the mesh contract conceptually: fixed vertex attribute locations (0 = pos…
- interface
MeshMaterialOptionsConstruction options for a MeshMaterial.
- class
MeshOccluderShadows from a triangle mesh's own silhouette. ```ts lighting.occludeFrom(new MeshOccluder(platform)); ``` Only edges one tri…
- interface
MeshOccluderOptionsTuning for MeshOccluder.
- interface
MeshOptionsConstruction-time options for a Mesh. Provide the geometry in exactly one of two forms: - **Convenience form** - a flat `vert…
- class
MeshParticlesOne caller-supplied mesh per particle, drawn as a single instanced draw. The cheap counterpart to `RibbonParticles`: the rela…
- interface
MeshParticlesOptionsConstruction options for MeshParticles.
- type
MillisecondsA length of time in milliseconds. The unit the platform speaks - `performance.now()`, frame timestamps, Web Audio scheduling.…
- class
MouseJointSoftly pulls a single body's grab point toward a movable **target** point (typically the mouse cursor). The grab point is fix…
- interface
MouseJointOptionsConstruction options for a MouseJoint.
- class
MultiRenderTargetAn off-screen render target with several colour attachments, written in one pass. One draw can produce more than one image: a…
- interface
MultiRenderTargetOptionsConstruction options for MultiRenderTarget.
- interface
MusicAssetOptionsOptions accepted by an asset of the built-in `music` type.
- class
MusicAssetTypeStreaming audio backed by an `<audio>` element.
- type
MutableStrips `readonly` modifiers from every property of `T`.
- interface
NavigationSpaceThe search core's view of a world: integer node ids, a neighbour relation and a heuristic. GridSpace and WaypointGraph implem…
- class
NetworkFirstPolicyFetches first and only falls back to the cache when the network failed. For content that changes behind a stable URL and shou…
- type
NetworkHintWhat a host reports about network reachability. `'unknown'` is an answer, not a missing one: a host that cannot say whether a…
- interface
NetworkHintSourceAnything that can report network reachability and say when it changed. A PlatformAdapter satisfies it, and so does the standa…
- type
NetworkModeWhat the application allows. `'auto'` follows Connectivity.state. `'online'` and `'offline'` are the application's own decisi…
- class
NetworkOnlyPolicyAlways fetches, and neither reads nor writes any cache. For sources that must always be fresh - a live configuration file, a…
- interface
NineSliceInsetsSource-space or destination-space per-edge insets.
- interface
NineSliceModesPer-section fill mode overrides for a nine-slice sprite.
- interface
NineSliceOptionsConstructor options for NineSliceSprite.
- class
NineSliceSpriteA scalable nine-slice (9-patch) sprite. Corners stay pixel-perfect; edges/center fill by stretch, repeat, or mirror-repeat.
- interface
NodeSerializerBidirectional serializer for one scene-graph node type. Registered against a type name + constructor in a SerializationRegist…
- type
NormalConventionWhich way up a tangent-space normal map's green channel is authored. `opengl` is the canonical input convention of this packa…
- class
NormalMapAn authored tangent-space normal map. ```ts hero.material = new LitMaterial({ lighting, normals: new NormalMap(heroNormals) }…
- interface
NormalMapOptionsConstruction options for NormalMap.
- interface
NormalSourceWhere a LitMaterial takes its surface normals from. An object rather than a name, so a source carries its own parameters and…
- interface
NormalSurfaceA registered drawable and the normals it contributes.
- interface
NormalSurfaceDrawableA drawable whose own texture, frame and layout box say where its normals belong on screen. Core's `Sprite` - and therefore `A…
- interface
ObjectColliderOne static body built from one object, paired with its source.
- interface
ObjectColliderOptionsOptions for buildObjectLayerColliders.
- type
ObjectKindGeometry discriminant for a TileMapObject.
- class
ObjectLayerA data-only layer of TileMapObjects - spawn points, trigger zones, collision regions, markers. Object layers are not rendered…
- interface
ObjectLayerOptionsConstruction options for an ObjectLayer.
- interface
ObjectPointA point in object-layer space (pixels, relative to the object).
- interface
ObjectQueryFilter for ObjectLayer.query. Unspecified fields match everything.
- type
ObjectSchemaA developer-declared mapping from object `type`/class strings to the property shape an object of that type is expected to car…
- class
ObservableSizeA Size subclass that fires a callback whenever `width` or `height` changes. Used internally by layout-aware types to invalida…
- class
ObservableVectorAn AbstractVector subclass that notifies an owner whenever its components change. Used internally by Rectangle, `SceneNode`,…
- interface
OccluderColliderWhat PhysicsOccluder reads off one collider.
- interface
OccluderColliderShapeThe local-space geometry an occluder reads off a collider shape. Every field but `type` is present only for the kinds that ha…
- interface
OccluderColliderTransformA collider's world placement, as physics stores it: a translation plus the precomputed sine and cosine of its rotation.
- type
OccluderDrawableA scene node offered whole, for a field that can rasterise a silhouette instead of tracing one. What blocks light is the node…
- interface
OccluderMeshWhat MeshOccluder reads off a mesh: a flat `(x, y)` vertex stream in local space, its triangle list, and the transform that p…
- interface
OccluderPhysicsWorldWhat PhysicsOccluder needs of a physics world: an AABB query over its live colliders. Structural on purpose. `@codexo/exojs-p…
- interface
OccluderPlacementSomething whose world transform places an occluder outline. Any scene node satisfies it, which is how an outline authored in…
- interface
OccluderSinkWhere an OccluderSource writes what blocks light. The main channel is line segments in world space: an occluder has no thickn…
- interface
OccluderSourceSomething that can say which edges block light in a region. Occluders are registered sources rather than a flag on a drawable…
- interface
OccluderTileCellOne occupied cell of a tile layer, as TilemapOccluder walks them.
- interface
OccluderTileLayerWhat TilemapOccluder needs of a tile layer: its cell metrics, a way to walk the cells of a region, and a revision that change…
- class
OffscreenPlatformThe PlatformAdapter for a render surface with no document around it: an `OffscreenCanvas`, whether it stayed on the main thre…
- interface
OffscreenSurfaceRectWhere the surface is displayed, in the coordinate space the forwarded pointer events use.
- type
OneOrManyA single value or a list of alternatives. Actions accept one binding directly and several as an array - there are no variadic…
- class
OrbitalForceApplies a tangential acceleration around a center point - perpendicular to the radial vector `(particle − center)`. Combined…
- type
OscillatorType - interface
OwnedNetworkHintSourceA hint source that also owns the listeners it installed.
- type
PackedTileOpaque packed tile data stored in a TileChunk's compact array. 0 means "empty cell". Any non-zero value encodes localTileId,…
- class
PanelRectangular background container with rounded corners and an optional border. The base building block for HUD boxes, dialogs,…
- interface
PanelOptions - interface
ParsedContainerResult of parseContainer: the validated head plus where the block area begins.
- interface
ParticleBatchThe live particles of one system, addressed by semantic channel. This is the bulk surface an UpdateModule and a ParticleRende…
- class
ParticleBufferLayoutDescribes the interleaved buffer a render mode's `build()` fills each frame. Deliberately not a `Geometry`. A `Geometry` requ…
- interface
ParticleBufferLayoutOptionsConstruction options for ParticleBufferLayout.
- interface
ParticleDeathContextThe state of one particle at the moment it expired. A snapshot, not a view: it is copied out of the simulation when the parti…
- interface
ParticleEmitterThe emitting face of a particle system: the only supported way to bring particles into existence. Emission is the one per-par…
- class
ParticleMaterialMaterial specialization for particle render modes. `Material`'s constructor is protected, so every material family declares a…
- class
ParticleModuleKeyCollisionErrorThrown when two GPU-eligible update modules on one system contribute the same WgslContribution.key. A key names exactly one s…
- class
ParticleRenderModeTurns a particle system's SoA storage into drawable vertex data. A mode owns the whole "how": the vertex layout, the shader p…
- interface
ParticleRotationChannelThe rotation channel: current angle and the speed integrated into it each frame.
- namespace
Particles FunctionsFree functions and constants exported from @codexo/exojs-particles.
- interface
ParticlesBuildInfoImmutable compile-time build metadata for `@codexo/exojs-particles`. `development` mirrors the `__DEV__` compile-time constan…
- interface
ParticlesExtensionOptionsOptions for createParticlesExtension.
- interface
ParticleSpawnFieldsPer-property spawn configuration shared by the built-in spawners. Every entry is a Distribution sampled once per emitted part…
- class
ParticleSystemThe central coordinator of the particle pipeline. `ParticleSystem` is a Drawable that owns: - **Particle storage** - one chan…
- interface
ParticleSystemOptionsOptions for ParticleSystem's constructor - orthogonal config that's independent of the texture source. Texture / frames / spr…
- interface
ParticleTimingChannelThe timing channel: seconds since spawn, and total seconds before expiry.
- interface
ParticleVectorChannelA two-component particle channel, one array per component. The arrays are the simulation's own storage rather than a copy: wr…
- interface
ParticleVectorWriterWritable two-component channel of a single particle.
- interface
ParticleWriterA single freshly emitted particle, addressed by name. Every field starts at its default - zero position, velocity, rotation a…
- class
PassContextPass-scoped DrawContext: the active render target and view for a CallbackRenderPass callback. `clear`/`render`/`renderTo` rou…
- interface
PathContourOne flattened subpath produced by GraphicsPath.contours.
- interface
PathEdgeOne traversal step of a path, as described by the space it came from. Spaces that model traversal kinds - WaypointGraph is th…
- class
PathfinderRuns path queries against any NavigationSpace. One pathfinder owns the search buffers and reuses them across every query, inc…
- interface
PathResultResult of Pathfinder.findPath and Pathfinder.findPathBetween.
- type
PathStatusOutcome of a path query. - `found` - a complete path from start to goal (or, with `snapToNearest`, to the reachable node clos…
- interface
PausableA voice that can be paused and resumed in place.
- namespace
PerfUser Timing helpers (`performance.mark`/`measure`), grouped as a namespace so the public API carries no loose `perf*` functio…
- class
PerformanceLayerDebug layer that renders a compact screen-space HUD (top-left) showing rolling-average FPS, per-frame time in milliseconds, G…
- class
PhasedSceneTransitionSingle-class `enter()`/`exit()` authoring layer over the full SceneTransition contract - covers the common case (fade, slide,…
- interface
PhasedSceneTransitionOptionsConstruction options for PhasedSceneTransition and its subclasses.
- class
PhaserEffectPhaser effect implemented with native Web Audio nodes (no worklet required). The wet signal passes through a cascade of allpa…
- interface
PhaserEffectOptionsConstruction options for PhaserEffect.
- namespace
Physics FunctionsFree functions and constants exported from @codexo/exojs-physics.
- class
PhysicsBindingA link between a PhysicsBody and a SceneNode. The body's world position **and rotation** are written onto the node (the body'…
- class
PhysicsBodyA rigid body: a world transform plus mass properties aggregated from its colliders. Dynamic bodies integrate under gravity, a…
- interface
PhysicsBuildInfoImmutable compile-time build metadata for `@codexo/exojs-physics`. `development` mirrors the `__DEV__` compile-time constant…
- class
PhysicsOccluderShadows from physics colliders. ```ts lighting.occludeFrom(new PhysicsOccluder(world)); ``` Static colliders only by default,…
- interface
PhysicsOccluderOptionsTuning for PhysicsOccluder.
- class
PhysicsWorldThe collision/query world: owns bodies, colliders, the detection backend, bindings, the query engine and the fixed-step accum…
- interface
PhysicsWorldOptionsConstruction options for a PhysicsWorld.
- class
PingPongDelayEffectStereo ping-pong delay effect using two cross-fed DelayNodes that bounce the signal alternately between left and right channe…
- interface
PingPongDelayEffectOptionsConstruction options for PingPongDelayEffect.
- class
PitchShiftEffectReal-time pitch shifter (WorkletEffect) using SOLA - synchronized overlap-add. Each synthesis grain is realigned by waveform…
- interface
PitchShiftEffectOptions - interface
PixelDataThe pixels RenderingContext.readPixels read, shaped for `ImageData`.
- class
PixelReadOne read handed out by PixelReader.request: poll it from the frame loop, take its pixels once ready, then release it. A read…
- class
PixelReaderA standing, non-blocking readback of one rectangle of one render texture, for callers who read repeatedly: a picker, an analy…
- interface
PixelReaderOptionsOptions for RenderingContext.createPixelReader.
- enum
PixelSnapModeRender-only pixel-snapping policy for a Drawable. - `None` - no snapping; rendered transform and geometry use existing behavi…
- interface
PlatformAdapterEverything the engine touches outside its own state: the drawing surface's focus, cursor, touch-action and geometry, pointer…
- interface
PlatformEventThe part of a host event the input pipeline can act on: suppressing the host's own default handling of it. Both calls are the…
- type
PlatformEventDataThe data half of a platform event: every field, none of the suppression calls. Structured-cloneable, so this is the shape an…
- interface
PlatformKeyboardEventA key transition, identified by physical position (`code`) rather than by the character the active layout produces. `repeat`…
- interface
PlatformListenerOptionsListener flags the input pipeline needs when it subscribes to a platform event.
- interface
PlatformPointerEventA pointer contact. Field-for-field a subset of the DOM's `PointerEvent`, carrying the identity, position, geometry, tilt, pre…
- interface
PlatformPositionalEventA positioned host event with no pointer identity of its own, such as a context-menu request.
- type
PlatformSubscriptionUndo function returned by every `PlatformAdapter` subscription. Calling it twice is a no-op.
- interface
PlatformSurfaceEventMapEvents the input pipeline sources from the drawing surface itself. The payload types are the browser's event shapes, narrowed…
- interface
PlatformSurfaceMetricsGeometry of the drawing surface, in one snapshot. `left`/`top`/`width`/ `height` describe where the surface is displayed and…
- interface
PlatformTextInputThe transport between a text-editing widget and whatever the host uses to receive real keyboard and IME input. The contract k…
- interface
PlatformTextInputHintsWhat a host should tell its input method about the field. Every member is a hint: an input method may ignore any of them.
- interface
PlatformWheelEventA scroll gesture. `deltaMode` selects the unit the deltas are expressed in.
- interface
PlatformWindowEventMapEvents the input pipeline sources from the host window rather than the surface.
- interface
PlayableImplemented by audio assets (Sound, AudioStream, AudioGenerator) to support system-driven playback via AudioSystem.play. Asse…
- interface
PlaybackOptionsCommon playback configuration for Sound and AudioStream.
- interface
PlayOptionsPer-play overrides passed to AudioSystem.play.
- enum
PlayStationGenerationConsole generation a PlayStation mapping targets. The three generations share one button layout but not one set of button nam…
- class
PointerUnified mouse / touch / pen pointer. Wraps a single browser `PointerEvent.pointerId` and writes its state (position, buttons,…
- enum
PointerButtonChannel indices for the buttons of the primary pointer (slot 0), named by role rather than by mouse geometry so they read cor…
- type
PointerChannelBranded numeric type identifying a canonical pointer-state input channel. Values are absolute offsets into the engine's share…
- class
PointerStackLayerDebug layer that shows a screen-space panel (top-right corner) listing all RenderNodes under the current pointer position, so…
- enum
PointerStateHigh-level lifecycle state of a Pointer. Distinct from PointerStateFlag, which is a bitfield of the per-frame events a pointe…
- class
PointLightA point light: equal in every direction, falling off quadratically to nothing at radius. ```ts player.addChild(new PointLight…
- interface
PointLightOptionsConstruction options for PointLight. Every field is also mutable afterwards.
- interface
PointLikeStructural type for any object with a 2D `x`/`y` position.
- interface
PointObjectA single point at `(x, y)`.
- class
PolarVectorA 2D vector expressed in polar coordinates: `radius` (magnitude) and `phi` (angle in radians, measured from the positive X-ax…
- class
PolygonMutable convex polygon defined by a world-space offset `(x, y)` and an array of local-space vertex Vectors. Implements Collid…
- interface
PolygonLikeStructural type for any object that describes a polygon via a world-space offset `(x, y)` and an array of local-space PointLi…
- interface
PolygonObjectA closed polygon; `points` are relative to the object origin.
- class
PolygonOccluderShadows from an outline of your own, in world space or local to a node. ```ts lighting.occludeFrom(new PolygonOccluder(trunk,…
- interface
PolygonOccluderOptionsTuning for PolygonOccluder.
- class
PolygonShapeA convex polygon defined by ≥3 local-space vertices. Input vertices may be given in either winding; they are canonicalised to…
- interface
PolylineObjectAn open polyline; `points` are relative to the object origin.
- class
PrefabA reusable, data-driven template captured from a configured scene-graph subtree. Capture once with Prefab.from; stamp out ind…
- type
PreloadArgsTuple type for the variadic tail of `preload()` calls, after the target constructor - mirrors ChangeSceneArgs's conditional-a…
- type
PreloadOptionsOptions passed to SceneDirector.preload. Unlike ChangeSceneOptions, there is no `transition`/`suspendCurrent` - preloading ne…
- interface
PreSizeOptionsPre-sizing options for deferred texture handles - reserves placeholder dimensions to avoid a layout jump when the payload arr…
- class
PrismaticJointConstrains a body to **slide along a single axis** relative to another: the perpendicular translation and the relative rotati…
- interface
PrismaticJointOptionsConstruction options for a PrismaticJoint.
- class
ProgressBarHorizontal progress / health bar. ProgressBar.value is the fill fraction in `[0, 1]`; setting it redraws only the bar. The tw…
- type
ProgressBarFillModeHow the bar follows the value: `'scale'` paints the background at the value's width, `'clip'` paints it at full width and sho…
- interface
ProgressBarOptions - interface
PrunedExpansionA parent-dependent successor generator that prunes symmetric alternatives without losing optimality - the shape jump-point se…
- class
QuadParticlesThe default render mode: one textured, rotated, tinted quad per particle, drawn as a single instanced triangle-list. build fi…
- class
QuadtreeGeneric recursive spatial index used by the engine's `InteractionSystem` to accelerate per-frame hit-testing of scene nodes.…
- interface
QuadtreeItemAn item stored in a Quadtree. Carries an axis-aligned bounding box and an arbitrary `payload`.
- type
QueryFilterA category/mask/group filter applied to a query. Omitting it matches everything.
- class
RadialGradientRadial gradient in UV space around `center` with normalized radius.
- class
RadianceLightingLighting as radiance that propagates, filled by a chain of cascades traced over this frame's geometry. ```ts const lighting =…
- interface
RadianceLightingOptionsConstruction options for RadianceLighting.
- class
RandomSeedable pseudo-random number generator using the xoshiro128** algorithm. xoshiro128** (Blackman & Vigna, 2018) keeps a compa…
- class
RangeUniform random number in `[min, max]`. Each `sample()` returns a fresh roll; the bounds are inclusive on both ends (modulo th…
- interface
RatePitchedA voice with rate / pitch controls.
- class
RateSpawnContinuous, rate-based spawner. Emits a RateSpawnConfig.rate sample per second; sub-frame fractions accumulate so low rates (…
- interface
RateSpawnConfigSpawn configuration for RateSpawn: the emission rate plus the shared per-property fields.
- interface
RayHitA single ray-cast intersection.
- interface
ReadonlyRectangleRead-only view of a Rectangle: every accessor and non-mutating query a rectangle offers, with none of its writers. Returned b…
- interface
ReadonlyTileChunkPublic readonly view of a tile chunk. Provides read-only inspection access for iteration, queries, and the future renderer. T…
- interface
ReadPixelsOptionsOptions for RenderingContext.readPixels.
- interface
RecentErrorEntryOne entry of the bounded Application.recentErrors ring buffer - a JSON-friendly snapshot of an engine error (feeds future deb…
- class
RectangleMutable axis-aligned rectangle defined by a top-left origin `(x, y)` and dimensions `(width, height)`. Implements Collidable…
- interface
RectangleLikeStructural type for any object that describes an axis-aligned rectangle via a top-left origin and dimensions.
- interface
RectangleObjectAn axis-aligned rectangle object spanning `[x, y, width, height]`.
- type
RegistryKeyOfEvery string key registered in a `SceneRegistryShape` - the type of a valid `change()`/`restore()` key-based navigation targe…
- enum
RenderBackendTypeIdentifies the active GPU backend used by the engine. Passed to renderers and shaders so they can select backend-specific cod…
- class
RenderBatchExplicit instanced draw submission: **one** Geometry + MeshMaterial drawn **once** with **N** per-instance `(transform, tint)…
- interface
RendererBindingBinds one or more drawable constructors to a renderer factory. Pure descriptor - no active renderer, no GPU resources, no sid…
- class
RenderErrorStructured GPU/render failure. Thrown by synchronous failure paths (WebGL2 shader compile/link, from `flush()`) and dispatche…
- type
RenderErrorCodeMachine-readable classification of a GPU/render failure. Carried by RenderError.code so tooling can branch on the failure cla…
- interface
RenderErrorOptionsConstruction options for a RenderError.
- interface
RenderingApplicationOptions - class
RenderingContextOwns rendering orchestration: builds, optimizes and plays the internal RenderPlan for a RenderNode subtree, manages render-ta…
- enum
RenderingPrimitivesGPU primitive topology used when issuing draw calls. Values are WebGL2 GLenum constants (e.g. `gl.TRIANGLES`).
- class
RenderNodeSceneNode that can produce visual output. Adds the rendering pipeline features on top of the structural transform/bounds carr…
- class
RenderNodePassRenders a scene subtree (a RenderNode) as one pass - into the active target, or off-screen when `options.target` is set. The…
- interface
RenderNodePassOptionsOptions for RenderNodePass.
- interface
RenderOptions - class
RenderPassOne high-level phase of a frame. Subclass and implement execute, or use a stock subclass (RenderNodePass, CallbackRenderPass,…
- interface
RenderPassInspectorEntrySnapshot of one drawable's filter chain at the moment the inspector collected it. Held by reference inside RenderPassInspecto…
- class
RenderPassInspectorLayerDebug layer that lists every RenderNode with an active filter chain each frame. Renders a compact text panel with per-drawabl…
- interface
RenderPassOptionsOptions shared by every RenderPass.
- class
RenderPipelineAn ordered list of RenderPass steps, played once per frame against a RenderingContext. A `RenderPipeline` is **itself a `Rend…
- interface
RenderPipelineRowOne row of a RenderPipeline listing produced by RenderPassInspectorLayer.describePipeline. Identity is the pass object; `labe…
- interface
RenderStatsPer-frame rendering counters collected by the backend each tick. Expose live performance data for debugging and profiling too…
- type
RenderSurfaceAnything a render backend can acquire a drawing context from and size in device pixels. Deliberately narrow: a surface has a…
- class
RenderTargetRenderable destination - either the on-screen canvas (the `root` target owned by the backend) or an offscreen texture (a Rend…
- class
RenderTextureAn off-screen render target that can also be sampled as a texture. Combines RenderTarget (framebuffer attachment) with the sa…
- interface
RenderTextureOptionsConstruction options for RenderTexture.
- interface
RenderToOptionsOptions for DrawContext.renderTo: a caller-owned, per-frame off-screen target, reused across frames (no per-call allocation).…
- type
RepeatFitHow a `'repeat'` or `'mirror-repeat'` run fits its destination span exactly.
- class
RepeatingSpriteA sprite that fills its destination by repeating, mirroring, or stretching a source texture or atlas region. Supports indepen…
- interface
RepeatingSpriteOptionsConstructor options for RepeatingSprite.
- type
RepeatModeHow a scalable sprite fills its destination span. Shared by NineSliceSprite edges/center and RepeatingSprite.
- interface
RepeatPlanResult of a repeat-planning call. Contains the resolved destination length and the ordered list of segments that collectively…
- interface
RepeatSegmentA single placement segment produced by the repeat planner. Each segment describes one contiguous destination slice and the co…
- class
RepelFromPointPushes every live particle away from a fixed point in the system's local coordinate space. Acceleration magnitude is `strengt…
- interface
ResolvedGamepadDefinitionThe fully resolved product of running a GamepadDefinition against a connected gamepad - bundles the original descriptor, the…
- interface
ResolvedTextGradientA text gradient with every optional field resolved and its stops normalized.
- interface
ResolvedTileA fully resolved, format-independent tile reference returned by queries. Materialised on-demand from the packed storage; neve…
- type
ResourceKeyThe identity of one runtime resource: every residency entry, in-flight fetch and ownership claim is keyed by it. Composed of…
- class
ResponsiveCanvasSizingGives the canvas the whole parent element and derives the logical view from the shape it ends up with. The CSS box is the par…
- interface
ResponsiveCanvasSizingOptions - interface
RestoreSceneOptionsOptions for SceneDirector.restore. No `data` field - a restored scope reuses whatever activation data it was originally prepa…
- class
RetainedContainerA Container that declares its subtree "mostly static and/or moves as a whole". While the subtree is unchanged, its whole prev…
- class
RetainedSceneConflictErrorThrown when `change` targets a constructor that already has a retained (suspended) Scene. Call SceneDirector.restore or Scene…
- class
RetainedSceneNotFoundErrorThrown when `restore` targets a constructor with no retained (suspended) Scene.
- class
ReverbEffectConvolution reverb using a procedurally-generated impulse response loaded into a `ConvolverNode`. The impulse response is a s…
- interface
ReverbEffectOptionsConstruction options for ReverbEffect.
- class
RevoluteJointPins a shared anchor point on two bodies (a hinge): the bodies may rotate freely about the pivot but the anchor points stay c…
- interface
RevoluteJointOptionsConstruction options for a RevoluteJoint.
- class
RibbonParticlesA connected triangle strip through the system's particles: one ribbon per system, drawn as a single non-instanced draw. Every…
- interface
RibbonParticlesOptionsConstruction options for RibbonParticles.
- class
RingModulatorEffectRing modulator effect using native Web Audio nodes (no worklet required). A carrier `OscillatorNode` is connected directly to…
- interface
RingModulatorEffectOptionsConstruction options for RingModulatorEffect.
- class
RotateOverLifetimeAdds a constant angular acceleration to every live particle each frame (analogous to the legacy `TorqueAffector`). The system…
- interface
SampledChunkSourceOptionsOptions for createSampledChunkSource.
- interface
SamplerOptionsGPU sampling state: how a texture is filtered and how UV coordinates outside `[0, 1]` are resolved. Sampling state is indepen…
- enum
ScaleModesTexture magnification and minification filter modes. Values are WebGL2 GLenum constants and are passed directly to the GPU sa…
- class
ScaleOverLifetimeSets every live particle's scale to a curve sampled at the particle's current lifetime ratio. Both axes share one curve; non-…
- class
SceneA scene's lifecycle host. Subclass to define scene behavior: class GameScene extends Scene { override init(): void { ... } ov…
- interface
SceneActionMapOptionsAvailability policy for a scene-owned ActionMap.
- enum
SceneAvailabilityWhen a scene-scoped registration stays live relative to the owning scene's pause flag. Shared by every scene facility that ac…
- type
SceneConstructorZero-argument constructor for a Scene subclass. `Data` is the activation-data type this scene expects, inferred at navigation…
- class
SceneDirectorSingle-active-scene controller owned by Application. Holds at most one active Scene (the current "screen"); SceneDirector.cha…
- interface
SceneInputBindingOptionsConstruction options for every SceneInputs factory method.
- type
SceneInstanceKindWhich kind of scene activation a disambiguating SceneDirector.unload call targets.
- class
SceneInstanceNotFoundErrorThrown when `unload(Target, { instance: kind })` targets a specific kind of activation that does not exist for `Target`.
- interface
SceneInteractionOptionsOptions for SceneInteraction.observe and SceneInteraction.scope.
- class
SceneNavigationAbortedErrorThrown to reject a `change()`/`restore()`/`unload()` call whose transition session was still in flight when the Application f…
- class
SceneNodeTransform-bearing leaf in the scene-graph hierarchy. Carries position, rotation, scale, skew and origin. Implements Collidabl…
- type
SceneNodeConstructorAny abstract or concrete SceneNode constructor usable as a serialization key.
- type
SceneRegistrationA single `ApplicationOptions.scenes` registry entry: either a bare Scene subclass constructor, or a descriptor pairing one wi…
- type
SceneRegistryShapeStructural constraint for an `ApplicationOptions.scenes` registry: every value must be a SceneRegistration. A mapped-type con…
- enum
SceneStateLifecycle state of one Scene activation, owned by its internal `SceneScope` and exposed read-only via Scene.state. State is r…
- class
SceneTransitionReusable, immutable transition definition - construct once, use across arbitrarily many navigations (even concurrently, acros…
- interface
SceneTransitionContextImmutable, read-only description of the navigation a SceneTransition is being asked to run for - passed to SceneTransition.ge…
- interface
SceneTransitionEnvironmentHanded to SceneTransition.beginSession. `commitRequested`/`committed` are live views - they reflect state at read time, not a…
- interface
SceneTransitionFramePer-frame render inputs handed to SceneTransitionSession.render. See each field below for the exact non-null conditions it ho…
- class
SceneTransitionLifecycleErrorThrown when a SceneTransitionSession or SceneTransitionEnvironment violates the transition lifecycle contract: - `'commit-ree…
- type
SceneTransitionOperationWhat kind of navigation a SceneTransitionSession is running for. Read via SceneTransitionContext.operation.
- interface
SceneTransitionPhaseContextPer-frame context handed to PhasedSceneTransition.enter/ PhasedSceneTransition.exit.
- interface
SceneTransitionPhaseRequirementsPer-phase render-resource requirements for one phase (`enter` or `exit`) of a PhasedSceneTransition. Same shape as SceneTrans…
- type
SceneTransitionPhasesA `{ enter, exit }` pair of independently-authored PhasedSceneTransition instances - a union of two variants requiring at lea…
- interface
SceneTransitionRequirementsRender resources a SceneTransitionSession needs, declared once up front via SceneTransition.getRequirements so the Director c…
- type
SceneTransitionSelectionThe full set of values accepted for a `transition` option - call-site (`change()`/`restore()`/`unload()`) or registry-level d…
- interface
SceneTransitionSessionOne navigation's worth of mutable transition state - created fresh per navigation by SceneTransition.beginSession, driven by…
- type
ScopeTokenOpaque, stable identity for one scope pushed via InteractionSystem.pushScope. Release exactly that scope - wherever it curren…
- class
ScrollbarScroll position indicator with a draggable thumb, painting the `scrollbarTrack` and `scrollbarThumb` roles of its inherited t…
- interface
ScrollbarOptionsOptions for Scrollbar.
- type
ScrollbarOrientationThe axis a Scrollbar runs along.
- type
ScrollbarVisibilityWhen a scrollbar is shown - see ScrollContainer.
- class
ScrollContainerClipped container that scrolls its content with the mouse wheel or its scrollbars. Add child nodes to ScrollContainer.content…
- interface
ScrollContainerOptionsOptions for ScrollContainer.
- type
ScrollDirectionDirection(s) in which a ScrollContainer can scroll.
- interface
SeamlessAdapterPer-type strategy for seamless deferred asset handles (asset-system v2). A seamless type hands out a stable placeholder handl…
- type
SecondsA length of time in seconds. The unit every duration in the public API is expressed in - frame deltas, the fixed step, elapse…
- interface
SeekableA voice whose playhead can be read and moved.
- class
SegmentShapeA zero-thickness boundary between two local-space endpoints: level edges, one-off walls, the geometry a body may not cross. I…
- interface
SensorEventImmutable per-dispatch snapshot for a sensor overlap. `sensor` is the sensor-flagged collider; `other` is the collider that e…
- class
SequenceActionOrdered input pattern - `+` joins a chord within one step, `|` alternates between whole alternatives within one step (any ONE…
- interface
SequenceActionOptionsOptions for SequenceAction - the options every action shares, plus pattern timing and restart behavior.
- type
SequenceBindingA binding accepted by SequenceAction: a `'>'`-separated, `'+'`-joined, `'|'`-alternated string pattern (`'Down>Down+Right>Rig…
- class
SerializationRegistryBidirectional name ↔ constructor ↔ NodeSerializer registry backing the scene serializer. Serialize resolves a node to its ser…
- interface
SerializeContextContext handed to NodeSerializer.write. Carries the framework services a type serializer needs: recursion into children and a…
- type
SerializedActionBindingOne action's binding in its persistable form - the shape a BindingProfile stores and a save file round-trips. Chord and seque…
- interface
SerializedAssetRefSerialized reference to a loaded asset (e.g. a Texture). Stores the loader **source key** the asset was loaded under, not the…
- interface
SerializedAxisEntryOne alternative of a serialized AxisAction binding.
- interface
SerializedNodePlain-old-JSON description of a single scene-graph node. Always carries a `type` tag (the registered type name) plus an open…
- interface
SerializedPrefabTop-level serialized form of a Prefab produced by Prefab.toJSON and consumed by Prefab.fromJSON. Carries the same `version` f…
- interface
SerializedSceneTop-level serialized form of a Scene produced by Scene.serialize and consumed by Scene.deserialize.
- interface
SerializedVectorEntryOne alternative of a serialized VectorAction binding.
- interface
SerializerBindingBinds a SceneNode type to a NodeSerializer under a stable type name, so an extension's own node types participate in Scene.se…
- class
ShaderImmutable shader source pair shared by Material instances. `Shader` owns only the GLSL/WGSL text and its stable identity; it…
- class
ShaderFilterA Filter that renders its input through a user-supplied shader, in whichever language the active backend speaks. One filter c…
- class
ShaderFilterBackendErrorA ShaderFilter was applied on a backend it carries no source for. Thrown when the filter first attaches to a backend - before…
- type
ShaderFilterBlocksViewWhat ShaderFilter.uniformBlocks exposes for a named-block schema.
- type
ShaderFilterLanguageThe shader languages a ShaderFilter can carry.
- interface
ShaderFilterOptionsConstruction options for a ShaderFilter.
- type
ShaderFilterRawUniformNameA uniform name the raw path accepts; `never` once a schema is declared.
- interface
ShaderFilterSourceOptionsWebGl2Shader sources for a ShaderFilter, one entry per language.
- type
ShaderFilterUniformsViewWhat ShaderFilter.uniforms exposes: typed accessors when the shader source declares `uniforms`, the read-only value record wh…
- type
ShaderFilterUniformValueA scalar number, vector tuple, typed array, or texture - the value types a ShaderFilter accepts for a user uniform and marsha…
- type
ShaderFilterUniformValuesStarting values accepted for the filter's declared uniforms.
- interface
ShaderOptionsConstruction options for Shader. At least one language must be supplied. Provide `glsl` for WebGL2, `wgsl` for WebGPU, or bot…
- enum
ShaderPrimitivesGLSL primitive type tokens used to describe WebGl2ShaderAttribute and WebGl2ShaderUniform data types. Values are WebGL2 GLenu…
- class
ShapeImmutable local-space collision geometry. A `Shape` carries no transform - a Collider positions it in a body. Having an inter…
- interface
ShapeLikeConformance contract shared by the concrete math shape values (Circle, Rectangle, Polygon, Ellipse, Line, Vector): a Collidab…
- interface
ShapeMassPropertiesArea-based mass properties of a solid shape, from which a Collider's density derives the owning body's mass and rotational in…
- type
ShapeTypeDiscriminant for the concrete shape kinds supported in the MVP.
- type
ShapingModeThe representation a text node uses for its glyph run.
- class
SignalLightweight typed event emitter. Each `Signal` represents one named notification channel (e.g. `onResize`, `onFrame`). Listen…
- class
SingleEntryLayoutCacheLayout for a representation that occupies one record. This is what almost every asset type wants: the codec produced one…
- class
SizeMutable 2D size (width × height) value type. All arithmetic methods mutate in place and return `this` for chaining. When `hei…
- type
SlideDirectionThe edge the outgoing content exits toward - see SlideSceneTransitionOptions.direction.
- type
SlideModeThe three visual shapes a slide can take - see SlideSceneTransition for details.
- class
SliderHorizontal value slider: a groove, a fill up to the current value, and a draggable thumb. Dragging the thumb, clicking anywhe…
- interface
SliderOptionsOptions for Slider.
- class
SlideSceneTransitionDirectional slide transition - covers menu/inventory/page-style navigation. Three modes: - `'push'` (default): the outgoing s…
- interface
SlideSceneTransitionOptionsOptions for SlideSceneTransition.
- interface
SolidTexelA fully opaque point in a glyph source's texture, addressed as a single texel rather than a rectangle. Text decorations are p…
- class
SoundPre-decoded short audio clip backed by an `AudioBuffer`. Sound is a **data descriptor** - it holds the decoded audio buffer,…
- interface
SoundAssetOptionsOptions accepted by an asset of the built-in `sound` type.
- class
SoundAssetTypeShort audio clips, fully decoded for low-latency playback.
- interface
SoundOptionsConstruction options for Sound.
- interface
SoundPlayOptionsPer-call overrides for AudioSystem.play.
- enum
SoundPoolStrategyEviction strategy used when the pool is full and a new play is requested. At the per-Sound level all pooled instances share t…
- type
SoundSpriteSheetContents of a sound sprite sidecar: the same shape SoundAssetOptions.sprites accepts inline, as a standalone JSON document. `…
- interface
SourceCodecContextWhat a codec is told about the acquisition it is decoding.
- type
SourceKeyThe identity of the source data a request acquires. Composed of the canonical locator and - when the type declares one - a so…
- interface
SpatializableA voice that can be positioned in space and optionally track a node.
- interface
SpatialPointA point in the audio world: the 2D world plane, plus an optional out-of-plane height in the same units. `z` is optional every…
- interface
SpatialSmoothingSettingsTunable smoothing settings shared by the listener and all spatial voices. Owned by AudioSystem and reachable as `app.audio.sp…
- class
SpatialZonesThe optional zone layer: which AudioZones exist, and the sends they currently hold open. Owned by AudioSystem and reachable a…
- class
SpawnModulePer-frame particle spawner. Subclasses decide how many particles to emit each tick (rate-based, burst, on-demand) and fill ea…
- class
SpawnOnDeathSub-emitter: triggers a child SpawnModule on a target system at the dying particle's position. Use for explosion-on-impact, s…
- interface
SpectrumMappingOptionsMapping options for AudioAnalyser.getSpectrumMel and AudioAnalyser.getSpectrumLog.
- class
SpotLightA cone of light. The cone points along the node's own rotation, so aiming a spot is rotating it - a headlight parented to a c…
- interface
SpotLightOptionsConstruction options for SpotLight. Every field is also mutable afterwards.
- class
SpriteThe primary 2D drawable for textured quads and the foundation of the rendering hierarchy. A Sprite wraps a Texture (or Render…
- class
SpriteMaterialMaterial specialization for Sprite drawables. The base texture stays on the sprite and is sampled through the engine's `sampl…
- class
SpritesheetSlices a single Texture into named frames and optional named animation sequences. Each frame is stored as both a Rectangle (t…
- interface
SpritesheetDataJSON-compatible descriptor that drives Spritesheet.parse. Matches the Aseprite / TexturePacker output format (subset).
- interface
SpritesheetFrameA single frame entry in a SpritesheetData descriptor.
- class
StackLinear layout container that flows its children in a row or column with even spacing and optional padding. The stack re-flows…
- type
StackAlignWhere a stack places its children on the axis it does not flow along.
- type
StackDirection - interface
StackOptions - interface
StandaloneForwardLightingOptionsThe same, for a system built without a host - which has no frame slot for a filter chain to run in.
- interface
StandardGamepadMappingOptionsOptions for a device that follows the standard layout with at most one extra button.
- type
StreamingLoadEvent`HTMLMediaElement` ready-state events the streaming asset factories (MusicFactory, VideoFactory) accept as the load-completio…
- type
StyleChangeHintDescribes how costly a style change is to incorporate. Hints accumulate to the heaviest pending change: `tint` < `layout` < `…
- class
SubtitleAssetDispatch token for subtitle loading (WebVTT and SRT). `loader.load(Asset.type('subtitle', 'subs.vtt'))` returns `Promise<VTTC…
- class
SubtitleAssetTypeWebVTT and SubRip subtitle tracks, parsed into `VTTCue`s. One type reads both: the format is a property of the file, taken fr…
- type
SubtitleFormatThe two subtitle formats the built-in `subtitle` type reads.
- class
SunLightLight with a direction and no position: a sun, a moon, a distant floodlight. It reaches everything the camera can see, falls…
- interface
SunLightOptionsConstruction options for SunLight. Every field is also mutable afterwards.
- class
SvgAssetDispatch token for SVG loading. `loader.load(Asset.type('svg', 'icon.svg'))` returns `Promise<HTMLImageElement>`.
- interface
SvgAssetOptionsOptions accepted by an asset of the built-in `svg` type.
- class
SvgAssetTypeSVG markup rasterised into an `HTMLImageElement`.
- namespace
SweepSwept (continuous) collision queries, grouped as a namespace so the public API carries no loose `sweep*` functions. The under…
- interface
SweptHitResult of a swept-collision query. The moving shape's reference point is at `(x, y)` at impact, having travelled fraction `t`…
- type
SynchronousReturn type of the engine hooks that must not be asynchronous: Scene.init, the frame hooks Scene.fixedUpdate / Scene.update /…
- type
SystemA per-frame unit of simulation or rendering, owned by a SystemRegistry (`app.systems` or `scene.systems`). A system is a clas…
- interface
SystemMethodsThe five scheduler phases a System may participate in, one per dispatch stage of the Application frame loop: pre-simulation s…
- enum
SystemOrderNamed tick-order constants for SystemRegistry.add's `order` option. Purely conventional - the registry only compares numbers,…
- type
SystemPhaseThe scheduler phases a System can be registered for, in dispatch order.
- interface
SystemRegistrationOptionsOptions accepted by SystemRegistry.add.
- class
SystemRegistryPhase-dispatching registry of Systems, shared by `Scene` (as `scene.systems`) and `Application` (as `app.systems`). Each syst…
- interface
TempoCandidate - class
TextGPU-accelerated text node that rasterizes individual glyphs into a shared per-font-variant GlyphAtlas using the SDF (Signed D…
- type
TextAlignmentHorizontal alignment mode for multi-line text layout.
- class
TextAreaMulti-line text field. It shares the editing core, the platform transport and the theme roles with TextInput, and differs in…
- interface
TextAreaOptionsOptions for TextArea.
- class
TextAssetDispatch token for plain text loading. `loader.load(Asset.type('text', 'greeting.txt'))` returns `Promise<string>`.
- class
TextAssetTypeUTF-8 text files, handed over as a string.
- type
TextEditIntentOne edit the host wants applied to the text model. `insert` carries the text to place over the current selection (an IME comm…
- class
TextEditWidgetBase class of the text-editing widgets (TextInput, TextArea): the editing model, the platform text-input transport, caret bli…
- interface
TextFontMetricsVertical font metrics in logical pixels at one font size, as a glyph source reports them. Everything is measured from the lin…
- interface
TextGradientA multi-stop fill gradient for text. The ramp is a shader-side function of the node's ink box, not a rasterized texture, so i…
- class
TextInputSingle-line text field. Editing runs through the TextEditingModel and the platform text-input transport: real keyboard and IM…
- interface
TextInputOptionsOptions for TextInput.
- interface
TextLayoutResultResult of a full text layout pass: quad placements plus both extents. Text has two honest sizes and they are not interchangea…
- interface
TextLayoutStyleMinimal interface consumed by layoutText. Both TextStyle and the BMFont adapter satisfy this structurally.
- interface
TextLineMetricsOne laid-out line, in the same local space as GlyphPlacement.
- interface
TextObjectA text object carrying styled text content within `[x, y, width, height]`.
- interface
TextOptionsConstruction options for a Text node - a flat merge of visual TextStyleOptions (appearance) and LayoutOptions (flow / overflo…
- interface
TextPageQuadsPer-page quad geometry for a single text node, consumed by the text renderer for both Text and BitmapText.
- interface
TextSizeAdvance extent of a laid-out text string in pixels - where the cursor ends up, not how far the glyphs reach. See TextLayoutRe…
- class
TextStyleDescribes how a Text node renders its string. Every setter marks the style dirty with a StyleChangeHint so that the owning no…
- interface
TextStyleText styling options carried by a TextObject.
- interface
TextStyleOptionsConstruction-time options for a TextStyle. All properties are optional; defaults match the TextStyle constructor.
- type
TextTransformCase mapping applied to the string before it is laid out. Mirrors the CSS `text-transform` values of the same names.
- class
TextureA static GPU texture sourced from an image, canvas, or video element. Holds the pixel source, its sampling state (ScaleModes,…
- interface
TextureAssetOptionsOptions accepted by an asset of the built-in `texture` type.
- class
TextureAssetTypeGPU-ready Textures decoded from PNG, APNG, JPG, WebP, AVIF, GIF, BMP and ICO bytes, or from a KTX2 container holding a hardwa…
- enum
TextureFormatEvery pixel format the engine names, across both the textures it renders into and the textures it uploads raw data to. Unlike…
- interface
TextureOptionsFull construction options of a texture: sampling state plus upload state.
- class
TextureRegionAn immutable descriptor for a rectangular sub-region of a Texture. Stores the pixel-space source rectangle, pre-computed norm…
- interface
TextureRegionInsetsPer-edge extrusion/padding metadata for a TextureRegion. Describes the number of duplicated/extruded source texels available…
- interface
TextureRegionOptionsOptions passed to the TextureRegion constructor.
- type
TextureSourceAnything the rendering pipeline can sample as a texture source: a loaded image, a canvas of either kind, a playing video, a d…
- interface
TextureUploadOptionsHow a texture's source content is interpreted on its way to the GPU. Unlike SamplerOptions, these belong to the texture itsel…
- class
ThemedContainerA container that carries a UITheme for the subtree below it. Widgets resolve their skins from the nearest themed ancestor, wh…
- interface
TickerAny object that can be driven each frame by a delta in seconds.
- interface
TileAnimationFrameOne frame of a tile animation: which local tile to show, and for how long. Mirrors Tiled's per-tile animation frame model.
- class
TileAnimatorDrives per-tile animations on one or more TileLayers, RPG-Maker style. On construction it scans the given layer(s) once and r…
- type
TileCellSourcePer-cell collision classification for a tile layer, independent of the tiles the layer renders. Returns the class/type string…
- interface
TileColliderContextWhat a TileColliderMaterialResolver is asked about.
- interface
TileColliderMaterialCollider settings a TileColliderMaterialResolver may override.
- type
TileColliderMaterialResolverPer-object collider settings, merged over the call-level defaults. Return `null` to accept the defaults unchanged. Called onl…
- interface
TileColliderOptionsOptions for a TileColliderStreamer. All optional.
- class
TileColliderStreamerKeeps a physics world's static tile colliders in sync with a TileLayer: one static body per chunk-sized partition of the laye…
- interface
TileCollisionGeometryCollision geometry extracted from a tile layer: whole-cell boxes merged into as few TileCollisionRects as a greedy pass can m…
- interface
TileCollisionOptionsOptions for buildTileCollisionGeometry.
- interface
TileCollisionRectAn axis-aligned collision rectangle in tile-layer pixel space (+Y down), covering one or more whole tile cells. Rectangles ar…
- interface
TileCollisionShapeA per-tile collision shape placed in tile-layer pixel space (+Y down). Emitted for every collision shape that does not exactl…
- type
TileCollisionShapeKindThe geometry kinds a TileCollisionShape can carry. Tile (GID) and text objects describe no collision area and are never emitt…
- namespace
Tiled FunctionsFree functions and constants exported from @codexo/exojs-tiled.
- interface
TiledAnimationFrameDataOne frame of a tile's animation sequence.
- interface
TiledBuildInfoImmutable compile-time build metadata for `@codexo/exojs-tiled`. `development` mirrors the `__DEV__` compile-time constant an…
- interface
TiledChunkDataA chunk of tile data within an infinite tile layer.
- interface
TiledClassPropertyValueDataThe value of a `class`-typed custom property: a nested map of member name to value, recursively allowing further `class` memb…
- interface
TileDefinitionOptional per-tile metadata in a TileSet. Sparse - only defined tiles carry a definition.
- type
TiledEmbeddedTilesetRefDataA map's `tilesets[]` entry with the tileset embedded inline.
- interface
TiledExternalTilesetRefDataA map's `tilesets[]` entry referencing an external `.tsj` file by relative path.
- class
TiledFormatErrorThrown when a Tiled JSON document does not match the expected shape. `source` is the URL of the file being parsed; `path` is…
- class
TiledGroupLayerA group layer, recursively containing further parsed layers.
- interface
TiledGroupLayerDataFields shared by every layer type.
- class
TiledImageLayerAn image layer. image is the path to the layer's image exactly as written in the Tiled JSON (relative to the map's location);…
- interface
TiledImageLayerDataFields shared by every layer type.
- class
TiledLayerBase class for the four parsed Tiled layer types. Holds the fields shared by every layer (`tilelayer`, `objectgroup`, `imagel…
- type
TiledLayerDataDiscriminated union of all four Tiled layer types, keyed by `type`.
- interface
TiledLayerDataBaseFields shared by every layer type.
- type
TiledLayerTypeDiscriminant shared by every TiledLayer subclass, mirroring TiledLayerData's `type`.
- interface
TiledLoadOptionsOptions accepted by both the runtime (`TileMap`) and source (`TiledMap`) asset bindings when loading a Tiled map.
- class
TiledMapA parsed and validated Tiled map (`.tmj`). `TiledMap` represents the parsed Tiled source format. `TileMap` is the format-inde…
- interface
TiledMapDataThe root of a `.tmj` map file.
- class
TiledObjectA parsed Tiled object, placed in an TiledObjectLayer or a tile's collision `objectgroup`. The shape of the object is determin…
- type
TiledObjectAlignmentWhere a tile object's stored `x`/`y` sits within the tile's bounding box (TiledTilesetData.objectalignment). `'unspecified'`…
- interface
TiledObjectDataAn object placed in an object layer (or a tile's collision `objectgroup`). The shape is determined by which of `point` / `ell…
- class
TiledObjectLayerAn object layer: a flat list of TiledObjects.
- interface
TiledObjectLayerDataFields shared by every layer type.
- type
TiledOrientationThe orientation values Tiled may write for a map.
- interface
TiledPointDataA 2D point as written by Tiled (used for tile offsets and object shapes).
- interface
TiledPropertyDataOne custom property entry as written by Tiled (`properties` arrays on maps, tilesets, tiles, layers and objects). - `string`…
- type
TiledPropertyTypeThe `type` discriminant of a Tiled custom property.
- type
TiledRenderOrderThe render-order values Tiled may write for an orthogonal map.
- type
TiledResolvedObjectAlignmentA TiledObjectAlignment with Tiled's orientation-dependent default already applied.
- class
TiledSourceAssetTypeThe raw parsed Tiled source model, for diagnostics and for tools that need the `.tmj` as authored. It claims no file suffixes…
- interface
TiledTextDataText rendering options for a `text` object (object layers).
- interface
TiledTileDataA per-tile definition within a tileset's `tiles` array. Sparse - only tiles carrying metadata (properties, animation, a colli…
- class
TiledTileLayerA tile layer. On a finite map, data holds the flat row-major array of GIDs (`width * height` entries). On an infinite map, ch…
- interface
TiledTileLayerDataA finite-map tile layer has `data` (a flat, row-major array of GIDs of length `width * height`). An infinite-map tile layer h…
- class
TiledTilesetA parsed Tiled tileset - either embedded inline in a map's `tilesets` array, or parsed from an external `.tsj` file reference…
- interface
TiledTilesetDataA Tiled tileset, as the root of a standalone `.tsj` file or (minus `firstgid`) embedded inline in a map's `tilesets` array.
- type
TiledTilesetRefDataOne entry of TiledMapData.tilesets - either external (`source`) or embedded.
- interface
TiledTilesetResourcesLoader-resolved resources for a TiledTileset: the absolute image URL(s) and the Texture instance(s) loaded for them. All text…
- interface
TiledWangColorDataOne color (terrain) entry within a wangset's `colors` array. `tile` is the representative tile local id for this color (-1 if…
- interface
TiledWangSetDataA wangset entry within a tileset's `wangsets` array. `type` is `'corner'`, `'edge'`, or `'mixed'` (Tiled 1.5+). Older files m…
- interface
TiledWangTileDataOne wang-tile entry within a wangset's `wangtiles` array. `tileid` is the local tile id within the owning tileset. `wangid` i…
- class
TileLayerA generic, format-independent tile layer with chunk-first storage. Tile data is stored in fixed-size TileChunks indexed by si…
- class
TileLayerNodeA scene node that renders one generic TileLayer as a Container of per-chunk TileChunkNode drawables. Each non-empty loaded ch…
- interface
TileLayerNodeOptionsOptions for a TileLayerNode. All optional; reserved for forward compatibility.
- interface
TileLayerOptionsOptions for constructing a TileLayer.
- type
TileLayerSelectorA layer selector inside a TileMapBandDefinition: either a stable layer **id** (`number`) or a **unique** layer **name** (`str…
- class
TileMapA generic, format-independent tile map. Owns a finite grid of TileLayers and a shared set of TileSets. Tile data is stored in…
- namespace
Tilemap FunctionsFree functions and constants exported from @codexo/exojs-tilemap.
- namespace
Tilemap-physics FunctionsFree functions and constants exported from @codexo/exojs-tilemap-physics.
- class
TileMapAssetTypeThe format-independent runtime TileMap produced from a `.tmj` file - the common case. The `.tmj` itself is acquired once as a…
- class
TileMapBandA named, ordered group of layer nodes (TileLayerNodes and ImageLayerNodes) produced by a TileMapView for ergonomic actor inte…
- type
TileMapBandDefinitionThe layers composing one band, by id or unique name, in any order. Tile and image layers may be freely mixed. Rendering order…
- class
TileMapNodeA convenience scene node that renders a whole TileMap as a Container of one node per renderable layer - a TileLayerNode per t…
- interface
TileMapNodeOptionsOptions for a TileMapNode.
- type
TileMapObjectA format-independent map object. The geometry kind is the discriminant; narrow on `kind` to read shape-specific fields. Templ…
- type
TileMapObjectKindGeometry discriminant for a TileMapObject. Structural alias of ObjectKind; retained so existing code keeps compiling. New cod…
- class
TilemapOccluderShadows from the occupied cells of a tile layer. ```ts lighting.occludeFrom(new TilemapOccluder(tilemap.layer('walls'))); ```…
- interface
TilemapOccluderOptionsTuning for TilemapOccluder.
- interface
TileMapOptionsOptions for constructing a TileMap.
- class
TileMapViewGroups a TileMap's layers into independently placeable scene nodes so application actors can be interleaved **between** tile…
- interface
TileMapViewOptionsOptions for a TileMapView.
- interface
TileObjectA tile (GID) object carrying a resolved tile reference. `x`/`y` are the top-left corner of the bounding box, the same convent…
- interface
TilePropertiesAn immutable, flat key-value bag of generic tile properties. Adapters copy and freeze source properties; the runtime never re…
- type
TilePropertyKindStructured-value discriminant for TilePropertyValue.
- interface
TilePropertyObjectRefA reference to another object/entity. `id` is the referenced object's identity - Tiled's numeric object id, or LDtk's `entity…
- interface
TilePropertyPointA 2D point-valued tile property (e.g. an LDtk `Point` field).
- interface
TilePropertyTileRefA reference into a tileset region (e.g. an LDtk `Tile`-typed field).
- type
TilePropertyValueUnion of legal tile-property value types in the generic runtime. Format-neutral; adapters map their native property systems i…
- interface
TileRegionA half-open tile-coordinate rectangle covering `[x, x + width)` × `[y, y + height)`. Used to scope buildTileCollisionGeometry…
- type
TileRegionModeHow a run of solid whole-cell tiles is turned into colliders. `'boxes'` keeps the merged rectangles as solid `BoxShape` colli…
- class
TileSetA resolved tileset: a uniform grid of tiles within a texture atlas. Does **not** own its texture - the Loader or application…
- interface
TileSetOptionsOptions for constructing a TileSet.
- interface
TileTransformDescribes the orientation of a placed tile independent of source-format flip-bit encodings. The eight legal combinations map…
- namespace
TimeConstructors for the engine's time units. Grouped rather than exported loose because `seconds`, `minutes` and `hours` are nam…
- class
TimerClock variant with a fixed limit. Inherits start/stop/reset/restart semantics; adds Timer.expired (true once the elapsed time…
- interface
TimeSignature - interface
TimeSourceA monotonic millisecond clock. Values are only meaningful relative to each other: the origin is the host's, never the wall cl…
- class
TimeStepperFixed-timestep accumulator (package-owned; no engine clock dependency). Each frame, advance adds the variable frame delta to…
- interface
TimeStepperOptionsConstruction options for TimeStepper.
- class
ToggleA switch that slides between off and on, with an optional label beside it. Behaviourally identical to Checkbox - same state m…
- interface
ToggleOptionsOptions for Toggle.
- class
TooltipHover tooltip attached to a RenderNode. Shows a small text label near the pointer after a short delay when the pointer enters…
- interface
TooltipOptionsOptions for Tooltip.
- type
TopologyPrimitive topology used when drawing this geometry.
- class
TrailParticlesA motion trail behind every particle: each one drags a strip through the positions it recently occupied, and all of them are…
- interface
TrailParticlesOptionsConstruction options for TrailParticles.
- class
TremoloEffectTremolo effect that amplitude-modulates the signal with a sine LFO using native WebAudio nodes. A sine-wave LFO drives a `Gai…
- interface
TremoloEffectOptionsConstruction options for TremoloEffect.
- class
TurbulenceAdds a smooth pseudo-random force field that animates over time. Implemented as 2D value noise with cubic Hermite smoothing -…
- class
TweenAnimates numeric properties of `target` from their current value to a configured end value over a duration in seconds. Suppor…
- type
TweenLifecycleCallbackCallback fired at one of the tween lifecycle points (start, complete, each repeat cycle). No arguments - use a closure to acc…
- class
TweenSequencerComposes multiple Tween instances into a multi-stage animation. Each stage added via TweenSequencer.then plays after the prev…
- enum
TweenSequencerStateLifecycle states of a TweenSequencer. Mirrors TweenState semantics: starts `Idle`, becomes `Active` on TweenSequencer.start,…
- enum
TweenStateLifecycle states of a Tween. A tween starts in `Idle`, transitions to `Active` once Tween.start is called, and ends in `Compl…
- class
TweenSystemOwns and advances a collection of Tween instances, driving them once per frame from Application.update. A tween enters the up…
- type
TweenUpdateCallbackCallback fired on every update during the active phase of a tween. Receives the eased progress in 0..1, after applying the ea…
- type
TypedArrayUnion of every concrete `TypedArray` constructor result.
- type
TypedEnumType-level mapper that rebuilds `Enum` with every value retyped to `Type`. Useful for "table-driven" lookups keyed by an enum.
- type
TypedObjectA TileMapObject whose `properties` are narrowed to the schema shape declared for the object `type` `T` in schema `S`.
- interface
UIAnimatedBackgroundClip-driven background: an atlas, the clips cut from it, and the one that plays. Stretched over the widget box, so it suits a…
- type
UIBackgroundHow a widget paints its body.
- type
UIBackgroundInputWhat a background can be stated as. A texture or region becomes a textured descriptor, a colour becomes a fill; a descriptor…
- type
UIBackgroundNodeThe node a widget's painted surface currently uses: a Graphics for a vector fill, a NineSliceSprite or RepeatingSprite for a…
- interface
UIBackgroundOptionsHow a texture is turned into a background descriptor.
- interface
UIFillBackgroundVector background: a rounded rectangle with an optional stroked border.
- interface
UIFillPatchFill properties to override on a widget's background; omitted ones keep the skin's value.
- interface
UIInsetsPer-edge pixel insets. A skin's insets are layout input, not decoration: they describe the content box a widget positions its…
- interface
UINineSliceBackgroundTextured background drawn as a nine-slice, so corners stay pixel-perfect while edges and center fill the widget's layout size.
- interface
UINoBackgroundWidget surface that paints nothing - the whole node is its content.
- class
UIRootA container that carries a UITheme for the subtree below it. Widgets resolve their skins from the nearest themed ancestor, wh…
- interface
UISkinThe look of one widget surface in one state: what it paints, how its text is styled, and the content box its layout works aga…
- type
UISkinPatchSkin fields to override; an omitted field keeps the inherited one.
- type
UISkinSetOne skin per state. Only `normal` is required - resolveUISkin falls back to it for every state a set does not define.
- type
UISkinSetPatchPer-state skin overrides.
- interface
UISpriteBackgroundFlat textured background: one image stretched over the widget box or tiled across it. Use a nine-slice instead for art with a…
- type
UISpriteFitHow a sprite background fills the widget box.
- type
UIThemeSkins for every role, as resolved for a widget.
- type
UIThemePatchTheme overrides applied on top of an inherited theme. Fields are replaced whole: naming `background` replaces the entire desc…
- type
UIThemeRoleA themed surface. Roles are per painted surface, not per widget class: a progress bar draws its track and its fill from two i…
- type
UIWidgetStateVisual state a widget paints in. A widget that tracks no interaction stays on `'normal'`; states a skin set leaves undefined…
- type
UniformAccessorForThe accessor a field of type `T` is read and written through.
- class
UniformArrayA fixed-length array of `length` elements of one type. Element types are restricted to those whose stride is already a multip…
- interface
UniformArrayAccessorA fixed-length array field. Element accessors are built once and reused.
- type
UniformArrayElementElement types allowed in a UniformArray - see its constructor.
- interface
UniformArrayLayoutAn array field. `element` is laid out at element index 0.
- class
UniformBlockOne explicitly named uniform block. Use this only with `uniformBlocks`, where the record key supplies both the shader-visible…
- class
UniformBlockDataOne uniform block's values, owned by the material or filter that declared it. The block holds a single `ArrayBuffer` in the c…
- type
UniformBlockDataRecordThe live block values a schema's instance owns, keyed as declared.
- type
UniformBlockInitialValuesPer-block starting values accepted when an instance is constructed.
- interface
UniformBlockLayoutOne uniform block: its shader-visible names, its size, and its fields.
- type
UniformBlockRecordThe named blocks of an explicit multi-block schema.
- type
UniformFieldAccessorsOne accessor per declared field, under the field's own name.
- type
UniformFieldDeclarationOne entry of a UniformFields record.
- interface
UniformFieldOptionsA field declared with metadata rather than as a bare type.
- type
UniformFieldsThe fields of a block or a nested struct, keyed by their shader-visible name.
- type
UniformFieldTypeA field's type: a scalar/vector/matrix, a nested struct, or an array.
- type
UniformInputThe value a field of type `T` accepts.
- interface
UniformLeafLayoutA scalar, vector or matrix field.
- type
UniformMat3InputA `mat3x3<f32>` value: nine components in column-major order, or a Matrix.
- type
UniformMat4InputA `mat4x4<f32>` value: sixteen components in column-major order.
- interface
UniformMatrix3A `mat3x3<f32>` field, stored as three 16-byte-aligned columns.
- interface
UniformMatrix4A `mat4x4<f32>` field.
- interface
UniformMemberLayoutOne named entry of a block or nested struct, in declaration order.
- type
UniformNodeLayout - interface
UniformScalarA single `f32`, `i32` or `u32` field.
- interface
UniformSchemaLayoutA shader source's whole uniform declaration. `implicit` distinguishes the single engine-named block declared through `uniform…
- interface
UniformSchemaOptionsA uniform declaration on a Shader. `uniforms` declares one engine-named block and is the common case; `uniformBlocks` declare…
- class
UniformStructA struct nested inside a uniform block. A nested struct is a group of fields within the containing block, not a second GPU re…
- type
UniformStructAccessorA nested struct field: its own fields, plus a bulk writer.
- type
UniformStructInputThe values a struct's fields accept, all optional.
- interface
UniformStructLayoutA nested struct field. `offset` is that of its first element.
- interface
UniformStructWriterBulk writer shared by a nested struct and a whole block.
- enum
UniformTypeField types a typed uniform block can hold. The values are the WGSL spellings, so a diagnostic naming a type reads the same a…
- type
UniformValueValue accepted by a material uniform on a shader source that declares no uniform schema. Scalars and small tuples auto-marsha…
- type
UniformVec2InputA `vec2<f32>` value: a tuple, a Vector, or any `x`/`y` carrier.
- type
UniformVec3InputA `vec3<f32>` value.
- type
UniformVec4InputA `vec4<f32>` value. A Color maps to RGBA with the colour channels normalized to 0..1; its alpha is already in that range.
- interface
UniformVector2A `vec2<f32>` field.
- interface
UniformVector3A `vec3<f32>` field.
- interface
UniformVector4A `vec4<f32>` field.
- type
UnknownMapObjectPolicyWhat to do with an object no factory is registered for.
- interface
UnloadOptionsOptions passed to SceneDirector.unload.
- class
UnregisteredSceneErrorThrown (dev builds only) when navigating to a constructor that is not present in `ApplicationOptions.scenes`.
- interface
UpcomingBeat - class
UpdateModulePer-frame, per-batch mutator. Operates on the live particles through their named channels - typically a single tight loop ove…
- type
ValidatedChordBindingA ChordAction binding, checked at compile time when it is a string LITERAL. A valid pattern types as itself, an invalid one a…
- type
ValidatedSequenceBindingValidatedChordBinding for SequenceAction, which allows `'>'` and therefore more than one step.
- type
ValueAssetA value/ref-type asset descriptor. Structurally an Asset, but branded so a catalog classifies its leaf as a deferred `AssetRe…
- type
ValueOfType-level extractor of an object's value type, equivalent to `T[keyof T]`.
- class
VectorConcrete mutable 2D vector with full AbstractVector arithmetic and Collidable collision support (treated as a point collider)…
- class
VectorActionA named two-dimensional input, fed by a stick, by four direction buttons, or by several such bindings at once. Each alternati…
- type
VectorBindingA two-dimensional binding with at least one source.
- interface
VectorBindingShapeSources for one two-dimensional binding. `x`/`y` take directly signed sources (stick axes); `up`/`down`/`left`/`right` take b…
- class
VectorRangeUniform random vector with each axis sampled independently in its own `[min, max]` range. Each `sample()` writes into the pro…
- class
VelocityOverLifetimeMultiplies every live particle's velocity by a curve sampled at the particle's current `elapsed / lifetime` ratio. The same s…
- class
VideoRenders an `HTMLVideoElement` as a live texture on a Sprite. `Video` wraps a video element, manages playback (play/pause/stop…
- interface
VideoAssetOptionsOptions accepted by an asset of the built-in `video` type.
- class
VideoAssetTypeStreaming video backed by a `<video>` element, usable as a texture source.
- class
View2D camera that defines what region of the world is visible on screen. Maintains a center position, a visible area size, a rot…
- interface
ViewFollowOptionsOptions for View.follow.
- type
ViewFollowTargetA target that a View can track - either a SceneNode or any `{x, y}` position object.
- interface
ViewOptionsOptions for View.from.
- interface
ViewShakeOptionsOptions for View.shake.
- class
VocoderEffectPhase-vocoder-style effect implemented as a WorkletEffect. Analyzes the spectral envelope of a `modulator` AudioBus across a…
- interface
VocoderEffectOptions - interface
VoiceA live playback instance in the audio graph with a control surface. A Voice is created by playing a Playable via AudioSystem.…
- class
WangSetDescribes a Wang autotile set: a mapping from a neighbor bitmask to a local tile ID within a specific tileset. Blob bitmask b…
- interface
WangSetOptionsOptions for constructing a WangSet.
- class
WasmAssetDispatch token for WebAssembly module loading. `loader.load(Asset.type('wasm', 'module.wasm'))` returns `Promise<WebAssembly.…
- class
WasmAssetTypeCompiled `WebAssembly.Module`s. The module is compiled, not instantiated: one module can back many instances, each with its o…
- interface
WaypointEdgeOptionsOptions for WaypointGraph.addEdge and WaypointGraph.connect.
- class
WaypointGraphA directed graph of hand-placed waypoints. This is the representation for worlds a grid cannot describe: a platformer where t…
- interface
WebGl2BackendConfig - interface
WebGpuBackendConfig - class
WebStorageStoreKeyValueStore over the Web Storage API (`localStorage` or `sessionStorage`). Web Storage holds only strings, so values are JS…
- interface
WebStorageStoreOptionsConstruction options for WebStorageStore.
- class
WeldJointRigidly fixes the relative position and orientation of two bodies (they move as one rigid body). A 2-DOF point constraint (li…
- interface
WeldJointOptionsConstruction options for a WeldJoint.
- interface
WgslContributionWhat an UpdateModule contributes to the system's composite compute shader. `body` runs once per particle in the inner main fu…
- type
WgslPrimitiveWGSL primitive types accepted in WgslUniformField declarations. The codegen emits matching WGSL field declarations; the write…
- interface
WgslTextureBindingA 1D texture binding (used by Curve / ColorGradient lookups).
- interface
WgslUniformFieldA named uniform field within a module's struct. Order matters - defines memory layout.
- class
WheelJointA wheel attached to a chassis: free to **spin** (no rotation lock) and sprung along a **suspension axis** (a soft spring), bu…
- interface
WheelJointOptionsConstruction options for a WheelJoint.
- class
WidgetBase class for UI widgets - a Container with an explicit layout size (independent of child bounds / scale), an `enabled` flag…
- type
WidgetAnchorAnchor position of a widget within its container's box.
- interface
WorkerSampledChunkSourceOptionsOptions for createWorkerSampledChunkSource.
- class
WorkletEffectBase class for filters implemented as AudioWorkletProcessors. Subclasses declare the worklet's name, source code, and node op…
- enum
WrapModesTexture coordinate wrap behaviour when UV values fall outside [0, 1]. Values are WebGL2 GLenum constants passed directly to t…