SortGroupComponent
Defined in: packages/renderer/src/SortGroupComponent.ts:156
Renders an entity’s subtree of visuals as a single depth unit.
Under a layer sort (e.g. ySort) every sprite is otherwise a flat child of
the layer with its own independent depth key, so a multi-part entity — a body
plus an offset held item, or a parent plus child entities — can be split when
an unrelated entity’s key falls between its parts. A SortGroupComponent
gives the entity its own Pixi sub-container: the members sort within the
group, and the group sorts as one unit against the rest of the layer
(keyed off the group-owning entity’s own sprite, falling back to its
Transform position when it has no sprite of its own).
The group container is kept at identity/origin, so members hold their normal
world transforms — adding a group changes paint order only, never
position, rotation, or scale (those stay composed by the ECS Transform).
class Knight extends Entity { setup() { this.add(new Transform({ position: { x: 200, y: 200 } })); this.add(new SortGroupComponent({ layer: "world" })); this.add(new SpriteComponent({ texture: "knight-body", layer: "world" })); // Child sprites on the "world" layer join the group automatically: this.spawnChild("weapon", Weapon); // a sprite offset toward the camera this.spawnChild("plume", Plume); }}Add the component before the visuals it should capture (it also re-homes
any already-present subtree visuals when added late, and after save/load).
A SortGroupComponent on a descendant entity starts its own independent
unit rather than nesting inside the ancestor’s.
Extends
Section titled “Extends”Component
Constructors
Section titled “Constructors”Constructor
Section titled “Constructor”new SortGroupComponent(
options?):SortGroupComponent
Defined in: packages/renderer/src/SortGroupComponent.ts:167
Parameters
Section titled “Parameters”options?
Section titled “options?”Returns
Section titled “Returns”SortGroupComponent
Overrides
Section titled “Overrides”Component.constructor
Properties
Section titled “Properties”container
Section titled “container”
readonlycontainer:Container
Defined in: packages/renderer/src/SortGroupComponent.ts:158
The group’s Pixi container. Kept at identity; holds the member visuals.
enabled
Section titled “enabled”enabled:
boolean
Defined in: packages/core/dist/index.d.ts:1872
Whether this component is active. Disabled components are skipped by ComponentUpdateSystem.
Inherited from
Section titled “Inherited from”Component.enabled
entity
Section titled “entity”entity:
Entity
Defined in: packages/core/dist/index.d.ts:1870
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
innerSort
Section titled “innerSort”innerSort:
LayerSortFn|undefined
Defined in: packages/renderer/src/SortGroupComponent.ts:162
Depth key for intra-group member order, or undefined for insertion order.
readonlylayer:string
Defined in: packages/renderer/src/SortGroupComponent.ts:160
Layer this group renders into.
Accessors
Section titled “Accessors”context
Section titled “context”Get Signature
Section titled “Get Signature”get context():
EngineContext
Defined in: packages/core/dist/index.d.ts:1885
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
Get Signature
Section titled “Get Signature”get scene():
Scene
Defined in: packages/core/dist/index.d.ts:1880
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
Methods
Section titled “Methods”_runCleanups()
Section titled “_runCleanups()”_runCleanups():
void
Defined in: packages/core/dist/index.d.ts:1926
Internal
Run and clear all registered cleanups. Called by Entity.remove() and Entity._performDestroy() before onRemove/onDestroy.
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”Component._runCleanups
addCleanup()
Section titled “addCleanup()”
protectedaddCleanup(fn):void
Defined in: packages/core/dist/index.d.ts:1920
Register a cleanup function to run when this component is removed or destroyed.
Parameters
Section titled “Parameters”() => void
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”Component.addCleanup
afterRestore()
Section titled “afterRestore()”afterRestore():
void
Defined in: packages/renderer/src/SortGroupComponent.ts:189
Re-home the subtree once parent/child links exist (save/load restore).
Returns
Section titled “Returns”void
Overrides
Section titled “Overrides”Component.afterRestore
fixedUpdate()?
Section titled “fixedUpdate()?”
optionalfixedUpdate(dt):void
Defined in: packages/core/dist/index.d.ts:1936
Called every fixed timestep by the built-in ComponentUpdateSystem.
Parameters
Section titled “Parameters”number
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”Component.fixedUpdate
listen()
Section titled “listen()”
protectedlisten<T>(entity,token,handler):void
Defined in: packages/core/dist/index.d.ts:1912
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
listenScene()
Section titled “listenScene()”
protectedlistenScene<T>(token,handler):void
Defined in: packages/core/dist/index.d.ts:1918
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: packages/renderer/src/SortGroupComponent.ts:178
Called when the component is added to an entity.
Returns
Section titled “Returns”void
Overrides
Section titled “Overrides”Component.onAdd
onDestroy()
Section titled “onDestroy()”onDestroy():
void
Defined in: packages/renderer/src/SortGroupComponent.ts:193
Called when the component is destroyed (entity destroyed or component removed).
Returns
Section titled “Returns”void
Overrides
Section titled “Overrides”Component.onDestroy
onRemove()?
Section titled “onRemove()?”
optionalonRemove():void
Defined in: packages/core/dist/index.d.ts:1930
Called when the component is removed from an entity.
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”Component.onRemove
resolveSortKey()
Section titled “resolveSortKey()”resolveSortKey(
sort):number
Defined in: packages/renderer/src/SortGroupComponent.ts:217
Internal
Compute this group’s depth key under the layer sort. Samples the
group-owning entity’s own visual (so ySort/ySortBy read a real sprite’s
position and offset); falls back to a proxy at the entity’s Transform
world position when the owner renders nothing itself.
Called by DisplaySystem each Render phase.
Parameters
Section titled “Parameters”Returns
Section titled “Returns”number
serialize()
Section titled “serialize()”serialize():
SortGroupData
Defined in: packages/renderer/src/SortGroupComponent.ts:270
Return a JSON-serializable snapshot of this component’s state. Used by the save system.
Returns
Section titled “Returns”Overrides
Section titled “Overrides”Component.serialize
service()
Section titled “service()”
protectedservice<T>(key):T
Defined in: packages/core/dist/index.d.ts:1902
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
sibling()
Section titled “sibling()”
protectedsibling<C>(cls):C
Defined in: packages/core/dist/index.d.ts:1910
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: packages/core/dist/index.d.ts:1934
Called every frame by the built-in ComponentUpdateSystem.
Parameters
Section titled “Parameters”number
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”Component.update
protecteduse<T>(key):T
Defined in: packages/core/dist/index.d.ts:1893
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
fromSnapshot()
Section titled “fromSnapshot()”
staticfromSnapshot(data):SortGroupComponent
Defined in: packages/renderer/src/SortGroupComponent.ts:274
Parameters
Section titled “Parameters”Returns
Section titled “Returns”SortGroupComponent