VisualComponent
Defined in: renderer/src/VisualComponent.ts:90
Shared base for the renderer’s five visual components (Sprite,
AnimatedSprite, Graphics, Text, SplitText). Carries the render-layer field,
lazy effects host, mask lifecycle, scene-tree parenting, and the generic
visible/tint/alpha/interactive vocabulary — every underlying Pixi display
object supports all four directly on Container, so this operates on
renderObject rather than each subclass re-deriving the same three-liner.
Subclasses provide renderObject (their concrete Pixi display object,
created in their own constructor) and call applyVisualOptions once
it exists — options can’t be applied during VisualComponent’s own
constructor since renderObject isn’t assigned yet at that point.
Extends
Section titled “Extends”Component
Extended by
Section titled “Extended by”Constructors
Section titled “Constructors”Constructor
Section titled “Constructor”new VisualComponent(
layer):VisualComponent
Defined in: renderer/src/VisualComponent.ts:118
Parameters
Section titled “Parameters”string | undefined
Returns
Section titled “Returns”VisualComponent
Overrides
Section titled “Overrides”Component.constructor
Properties
Section titled “Properties”entity
Section titled “entity”entity:
Entity
Defined in: core/dist/index.d.ts:3217
Back-reference to the owning entity. Set by the engine when the component is added to an entity. Do not set manually.
Inherited from
Section titled “Inherited from”Component.entity
readonlyfx:EffectsHost
Defined in: renderer/src/VisualComponent.ts:100
Component-scope effects host. .fx.addEffect(...) attaches a filter to
this component’s render object; the effect is torn down automatically
when the entity or component is destroyed. .fx.findEffect(definition)
recovers the handle for the first matching effect.
modifiers
Section titled “modifiers”
readonlymodifiers:VisualModifierHost
Defined in: renderer/src/VisualComponent.ts:105
Render-only transform, opacity, and visibility contributions. Modifiers combine with the component’s live base values and are never serialized.
renderObject
Section titled “renderObject”
abstractreadonlyrenderObject:DisplayContainer
Defined in: renderer/src/VisualComponent.ts:92
The underlying Pixi display object.
inspectExclude?
Section titled “inspectExclude?”
staticoptionalinspectExclude?: readonlystring[]
Defined in: core/dist/index.d.ts:3420
Own fields and getters the Inspector leaves out of this component’s reflected state. Use it for bulk data that is not worth a diagnostic copy — a parsed tilemap, a large lookup table. Lists merge down the class chain, so a subclass adds to its base class’s exclusions.
class TilemapComponent extends VisualComponent { static inspectExclude = ["data"];}Inherited from
Section titled “Inherited from”Component.inspectExclude
updatePriority?
Section titled “updatePriority?”
staticoptionalupdatePriority?:number
Defined in: core/dist/index.d.ts:3407
Class-level default for updatePriority: every instance runs at
this priority unless its own updatePriority is written. Undeclared = 0.
Subclasses inherit their base class’s value unless they declare their
own. Declare it on a component whose behavior depends on running after
(or before) a sibling, so the entity that adds it does not have to
control the add order.
class BoundsClamp extends Component { static updatePriority = 10; // after the follow that moves the camera}Inherited from
Section titled “Inherited from”Component.updatePriority
Accessors
Section titled “Accessors”Get Signature
Section titled “Get Signature”get alpha():
number
Defined in: renderer/src/VisualComponent.ts:226
Get the requested alpha before transient opacity modifiers.
Returns
Section titled “Returns”number
Set Signature
Section titled “Set Signature”set alpha(
alpha):void
Defined in: renderer/src/VisualComponent.ts:220
Set the container’s alpha (opacity).
Parameters
Section titled “Parameters”number
Returns
Section titled “Returns”void
blendMode
Section titled “blendMode”Get Signature
Section titled “Get Signature”get blendMode():
BLEND_MODES
Defined in: renderer/src/VisualComponent.ts:236
Get the container’s blend mode.
Returns
Section titled “Returns”BLEND_MODES
Set Signature
Section titled “Set Signature”set blendMode(
mode):void
Defined in: renderer/src/VisualComponent.ts:231
Set how the container combines with what is drawn beneath it.
Parameters
Section titled “Parameters”BLEND_MODES
Returns
Section titled “Returns”void
context
Section titled “context”Get Signature
Section titled “Get Signature”get context():
EngineContext
Defined in: core/dist/index.d.ts:3272
Access the EngineContext from the entity’s scene. Throws if the entity is not in a scene.
Returns
Section titled “Returns”EngineContext
Inherited from
Section titled “Inherited from”Component.context
effectiveEnabled
Section titled “effectiveEnabled”Get Signature
Section titled “Get Signature”get effectiveEnabled():
boolean
Defined in: core/dist/index.d.ts:3242
Whether the component is actually running: enabled, on an active
entity, and past onAdd. This is the state onEnable and
onDisable track — read it when a method has to behave one way
live and another way dormant.
Returns
Section titled “Returns”boolean
Inherited from
Section titled “Inherited from”Component.effectiveEnabled
enabled
Section titled “enabled”Get Signature
Section titled “Get Signature”get enabled():
boolean
Defined in: core/dist/index.d.ts:3234
Whether this component runs. Disabled components are skipped by ComponentUpdateSystem.
Writing this fires onEnable / onDisable when the
effective state changes — enabled && entity.isActive. A component
disabled here stays disabled through a setActive(false) /
setActive(true) cycle on its entity.
Returns
Section titled “Returns”boolean
Set Signature
Section titled “Set Signature”set enabled(
value):void
Defined in: core/dist/index.d.ts:3235
Parameters
Section titled “Parameters”boolean
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”layerName
Section titled “layerName”Get Signature
Section titled “Get Signature”get layerName():
string
Defined in: renderer/src/VisualComponent.ts:179
The layer this visual draws on. See setLayer.
Returns
Section titled “Returns”string
Get Signature
Section titled “Get Signature”get mask():
MaskHandle|undefined
Defined in: renderer/src/VisualComponent.ts:273
The currently attached mask handle, if any.
Returns
Section titled “Returns”MaskHandle | undefined
renderAboveEffects
Section titled “renderAboveEffects”Get Signature
Section titled “Get Signature”get renderAboveEffects():
boolean
Defined in: renderer/src/VisualComponent.ts:163
Whether this visual draws after the scene’s layers, outside every layer- and scene-scope effect and mask, while keeping its logical parent (position, alpha, visibility, camera). Screen-scope effects still cover it, and hit testing follows the logical tree — a UI element drawn under an escaped visual still receives the pointer first.
Set while the visual is out of the display tree — in a subclass constructor, or on a component not yet added — it records the flag and applies it on add.
Returns
Section titled “Returns”boolean
Set Signature
Section titled “Set Signature”set renderAboveEffects(
value):void
Defined in: renderer/src/VisualComponent.ts:167
Parameters
Section titled “Parameters”boolean
Returns
Section titled “Returns”void
Get Signature
Section titled “Get Signature”get scene():
Scene
Defined in: core/dist/index.d.ts:3267
Access the entity’s scene. Throws if the entity is not in a scene.
Prefer this over threading through this.entity.scene in component
code.
Returns
Section titled “Returns”Scene
Inherited from
Section titled “Inherited from”Component.scene
Get Signature
Section titled “Get Signature”get tint():
number
Defined in: renderer/src/VisualComponent.ts:215
Get the container’s tint color.
Returns
Section titled “Returns”number
Set Signature
Section titled “Set Signature”set tint(
color):void
Defined in: renderer/src/VisualComponent.ts:210
Set the container’s tint color.
Parameters
Section titled “Parameters”ColorSource
Returns
Section titled “Returns”void
updatePriority
Section titled “updatePriority”Get Signature
Section titled “Get Signature”get updatePriority():
number
Defined in: core/dist/index.d.ts:3260
Where this component runs among its siblings. ComponentUpdateSystem
calls update / fixedUpdate on an entity’s components in ascending
priority; equal priorities run in add order. Undeclared = 0, so a
negative value runs before siblings that keep the default and a positive
value runs after them. Writable at any time, before or after add().
Defaults to the class’s static updatePriority.
class Player extends Entity { setup() { this.add(new Mover()); this.add(new Brain()).updatePriority = -1; // decides before Mover moves }}Returns
Section titled “Returns”number
Set Signature
Section titled “Set Signature”set updatePriority(
value):void
Defined in: core/dist/index.d.ts:3261
Parameters
Section titled “Parameters”number
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”Component.updatePriority
visible
Section titled “visible”Get Signature
Section titled “Get Signature”get visible():
boolean
Defined in: renderer/src/VisualComponent.ts:250
Get the requested visibility, whatever the entity’s activeness.
Returns
Section titled “Returns”boolean
Set Signature
Section titled “Set Signature”set visible(
value):void
Defined in: renderer/src/VisualComponent.ts:244
Set the container’s visibility. Written while the entity is dormant, it is remembered and applied when the entity is activated.
Parameters
Section titled “Parameters”boolean
Returns
Section titled “Returns”void
Methods
Section titled “Methods”_applyEnabled()
Section titled “_applyEnabled()”_applyEnabled(
effective):void
Defined in: core/dist/index.d.ts:3355
Internal
Force an effective-enabled transition, firing the hook on a flip. Used by
Entity for teardown, where enabled and the entity’s activeness both
still read true.
Parameters
Section titled “Parameters”effective
Section titled “effective”boolean
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”Component._applyEnabled
_isTornDown()
Section titled “_isTornDown()”_isTornDown():
boolean
Defined in: core/dist/index.d.ts:3336
Internal
Internal: true once this component has been removed or its entity
destroyed. Components are terminal — Entity.add uses this to reject
re-attaching an instance whose cleanups and onDestroy already ran.
Returns
Section titled “Returns”boolean
Inherited from
Section titled “Inherited from”Component._isTornDown
_markTornDown()
Section titled “_markTornDown()”_markTornDown():
void
Defined in: core/dist/index.d.ts:3342
Internal
Internal: mark this component torn down. Called by Entity.remove() and
Entity._performDestroy() after onDestroy runs.
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”Component._markTornDown
_refreshEnabled()
Section titled “_refreshEnabled()”_refreshEnabled():
void
Defined in: core/dist/index.d.ts:3348
Internal
Recompute effective enabled-ness from enabled and the entity’s
activeness, firing the hook on a flip.
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”Component._refreshEnabled
_runCleanups()
Section titled “_runCleanups()”_runCleanups(
onError?):void
Defined in: core/dist/index.d.ts:3323
Internal
Run and clear all registered cleanups. Called by Entity.remove() and Entity._performDestroy() before onDestroy.
Parameters
Section titled “Parameters”onError?
Section titled “onError?”(error) => void
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”Component._runCleanups
addCleanup()
Section titled “addCleanup()”
protectedaddCleanup(fn):void
Defined in: core/dist/index.d.ts:3317
Register a cleanup function to run when this component is removed or
destroyed, before onDestroy. Use it for what listen, listenScene
and listenBus do not cover, such as an unsubscribe from a custom
emitter.
Parameters
Section titled “Parameters”() => void
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”Component.addCleanup
applyEffectiveAlpha()
Section titled “applyEffectiveAlpha()”
protectedapplyEffectiveAlpha(alpha):void
Defined in: renderer/src/VisualComponent.ts:328
Apply the final alpha after transient modifiers.
Parameters
Section titled “Parameters”number
Returns
Section titled “Returns”void
applyVisualOptions()
Section titled “applyVisualOptions()”
protectedapplyVisualOptions(options):void
Defined in: renderer/src/VisualComponent.ts:134
Apply the shared visible/tint/alpha/interactive options to
renderObject. Call once from the subclass constructor, after the
concrete Pixi object is created.
Parameters
Section titled “Parameters”options
Section titled “options”Returns
Section titled “Returns”void
clearMask()
Section titled “clearMask()”clearMask():
void
Defined in: renderer/src/VisualComponent.ts:267
Detach and destroy the current mask, if any.
Returns
Section titled “Returns”void
destroy()
Section titled “destroy()”destroy():
void
Defined in: core/dist/index.d.ts:3329
End this component’s life on its own — the same as
entity.remove(SomeClass), without having to name its own class from
inside itself, which breaks under subclassing.
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”Component.destroy
destroyOptions()
Section titled “destroyOptions()”
protecteddestroyOptions():DestroyOptions|undefined
Defined in: renderer/src/VisualComponent.ts:323
Pixi destroy options passed to renderObject.destroy(). Default:
undefined (Pixi’s own defaults). Override for a component whose
destroy must cascade to children (SplitText’s per-segment display
objects).
Returns
Section titled “Returns”DestroyOptions | undefined
fixedUpdate()?
Section titled “fixedUpdate()?”
optionalfixedUpdate(dt):void
Defined in: core/dist/index.d.ts:3392
Called every fixed timestep by the built-in ComponentUpdateSystem.
Parameters
Section titled “Parameters”number
Fixed timestep in seconds, scaled by scene and entity timeScale.
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”Component.fixedUpdate
inspectRender()
Section titled “inspectRender()”inspectRender():
object
Defined in: renderer/src/VisualComponent.ts:283
Derived render facet for the Inspector — world-space bounds and the
component’s own (local, non-inherited) visible flag, computed on
demand from the live render object. See computeRenderFacet for
the bounds coordinate space.
Returns
Section titled “Returns”bounds
Section titled “bounds”bounds: {
height:number;width:number;x:number;y:number; } |null
Axis-aligned bounding box of the component’s geometry, in world space (the
same coordinate space the Inspector reports for entity.transform — pixels,
before camera/viewport projection). Measured from the geometry itself, so a
sized-but-hidden object still reports its real box; null means there is no
measurable geometry at all (an empty Graphics, a zero-area object), NOT
that the object is hidden. Read RenderFacetSnapshot.visible for the
hidden/shown state.
visible
Section titled “visible”visible:
boolean
The component’s own (local, non-inherited) visibility flag at snapshot time. A hidden ancestor (e.g. a parent/layer container set invisible) is NOT folded in — read the relevant parent separately if you need the fully resolved on-screen state.
listen()
Section titled “listen()”
protectedlisten<T>(entity,token,handler):void
Defined in: core/dist/index.d.ts:3299
Subscribe to events on any entity, auto-unsubscribe on removal.
Type Parameters
Section titled “Type Parameters”T
Parameters
Section titled “Parameters”entity
Section titled “entity”Entity
EventToken<T>
handler
Section titled “handler”(data) => void
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”Component.listen
listenBus()
Section titled “listenBus()”
protectedlistenBus<K>(event,handler):void
Defined in: core/dist/index.d.ts:3310
Subscribe to an engine EventBus event, auto-unsubscribe on removal.
Throws when the entity is not in a scene, like listenScene.
Type Parameters
Section titled “Type Parameters”K extends keyof EngineEvents
Parameters
Section titled “Parameters”K
handler
Section titled “handler”(data) => void
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”Component.listenBus
listenScene()
Section titled “listenScene()”
protectedlistenScene<T>(token,handler):void
Defined in: core/dist/index.d.ts:3305
Subscribe to scene-level events, auto-unsubscribe on removal. Handlers
fire for bubbled entity events (entity = source) and scene.emit
events (entity = undefined).
Type Parameters
Section titled “Type Parameters”T
Parameters
Section titled “Parameters”EventToken<T>
handler
Section titled “handler”(data, entity?) => void
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”Component.listenScene
onAdd()
Section titled “onAdd()”onAdd():
void
Defined in: renderer/src/VisualComponent.ts:287
Called when the component is added to an entity. Validate dependencies
here — a service, a sibling component, a render layer — and throw when
one is missing. The throw is attributed to this component, recorded in
Inspector.getErrors().callbackErrors, and rethrown, so it reaches the
caller of entity.add() unchanged.
Returns
Section titled “Returns”void
Overrides
Section titled “Overrides”Component.onAdd
onDestroy()
Section titled “onDestroy()”onDestroy():
void
Defined in: renderer/src/VisualComponent.ts:308
Called when the component is destroyed (entity destroyed or component removed).
Returns
Section titled “Returns”void
Overrides
Section titled “Overrides”Component.onDestroy
onDisable()
Section titled “onDisable()”onDisable():
void
Defined in: renderer/src/VisualComponent.ts:304
Called when the component stops being effectively enabled — enabled
went false, the entity (or an ancestor) was deactivated, or the
component is being removed or destroyed. Put live resources to sleep
here; the component is reused afterwards, so do not free anything
onEnable cannot rebuild.
Returns
Section titled “Returns”void
Overrides
Section titled “Overrides”Component.onDisable
onEnable()
Section titled “onEnable()”onEnable():
void
Defined in: renderer/src/VisualComponent.ts:300
Called when the component becomes effectively enabled — enabled is
true and the entity is active. Fires right after onAdd() for a
component added to an active entity, and again on every later flip.
Bring live resources back online here (unpause a sound, show a display
object, re-enable a physics body). Game-state reset does not belong here:
the hook sees whatever state the component held while dormant.
Returns
Section titled “Returns”void
Overrides
Section titled “Overrides”Component.onEnable
service()
Section titled “service()”
protectedservice<T>(key):T
Defined in: core/dist/index.d.ts:3289
Lazy proxy-based service resolution. Can be used at field-declaration time:
readonly input = this.service(InputManagerKey);The actual resolution is deferred until first property access.
Type Parameters
Section titled “Type Parameters”T extends object
Parameters
Section titled “Parameters”ServiceKey<T>
Returns
Section titled “Returns”T
Inherited from
Section titled “Inherited from”Component.service
setLayer()
Section titled “setLayer()”setLayer(
name):void
Defined in: renderer/src/VisualComponent.ts:195
Draw this visual on another layer.
Called before the component reaches the display tree — in a subclass
constructor, or on a component that has not been added yet — it records
the name and nothing else. Called afterwards it detaches the render
object and re-parents it through the same resolution onAdd uses, so a
SortGroupComponent on the new layer still claims it.
The visual joins its new parent last, which on a layer with no sort
means it draws in front of everything already there.
Parameters
Section titled “Parameters”string
Returns
Section titled “Returns”void
setMask()
Section titled “setMask()”setMask(
factory):MaskHandle
Defined in: renderer/src/VisualComponent.ts:260
Attach a mask to this component’s render object, replacing any existing mask. Returns a handle for inverse toggling, redraw (graphicsMask), or removal. The mask is torn down automatically when the component is destroyed.
Parameters
Section titled “Parameters”factory
Section titled “factory”Returns
Section titled “Returns”sibling()
Section titled “sibling()”
protectedsibling<C>(cls):C
Defined in: core/dist/index.d.ts:3297
Lazy proxy-based sibling component resolution. Can be used at field-declaration time:
readonly anim = this.sibling(AnimatedSpriteComponent);The actual resolution is deferred until first property access.
Type Parameters
Section titled “Type Parameters”C extends Component
Parameters
Section titled “Parameters”ComponentClass<C>
Returns
Section titled “Returns”C
Inherited from
Section titled “Inherited from”Component.sibling
update()?
Section titled “update()?”
optionalupdate(dt):void
Defined in: core/dist/index.d.ts:3387
Called every frame by the built-in ComponentUpdateSystem.
Parameters
Section titled “Parameters”number
Frame delta in seconds, scaled by scene and entity timeScale.
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”Component.update
protecteduse<T>(key):T
Defined in: core/dist/index.d.ts:3280
Resolve a service by key, cached after first lookup. Scene-scoped values
(registered via scene._registerScoped) take precedence over engine
scope. A key declared with scope: "scene" that falls back to engine
scope emits a one-shot dev warning — almost always signals a missed
beforeEnter hook.
Type Parameters
Section titled “Type Parameters”T
Parameters
Section titled “Parameters”ServiceKey<T>
Returns
Section titled “Returns”T
Inherited from
Section titled “Inherited from”Component.use