Documentation / @ripl/core / Scene
Class: Scene<TContext> ​
Defined in: packages/core/src/core/scene.ts:40
The top-level group bound to a rendering context, maintaining a hoisted flat buffer for O(n) rendering.
Extends ​
Type Parameters ​
| Type Parameter | Default type |
|---|---|
TContext extends Context | Context |
Constructors ​
Constructor ​
new Scene<
TContext>(target,options?):Scene<TContext>
Defined in: packages/core/src/core/scene.ts:56
Parameters ​
| Parameter | Type |
|---|---|
target | string | Context<Element, Record<string, unknown>> | HTMLElement |
options? | SceneOptions |
Returns ​
Scene<TContext>
Overrides ​
Properties ​
| Property | Modifier | Type | Default value | Overrides | Inherited from | Defined in |
|---|---|---|---|---|---|---|
abstract | public | boolean | false | - | Group.abstract | packages/core/src/core/element.ts:289 |
buffer | public | Element<Partial<BaseState>, ElementEventMap>[] | undefined | - | - | packages/core/src/core/scene.ts:44 |
classList | readonly | Set<string> | undefined | - | Group.classList | packages/core/src/core/element.ts:287 |
context | public | TContext | undefined | Group.context | - | packages/core/src/core/scene.ts:42 |
data | public | unknown | undefined | - | Group.data | packages/core/src/core/element.ts:292 |
id | public | string | undefined | - | Group.id | packages/core/src/core/element.ts:285 |
parent? | public | Group<SceneEventMap> | undefined | - | Group.parent | packages/core/src/core/element.ts:291 |
pointerEvents | public | ElementPointerEvents | 'all' | - | Group.pointerEvents | packages/core/src/core/element.ts:290 |
state | protected | TState | undefined | - | Group.state | packages/core/src/core/element.ts:282 |
type | readonly | string | undefined | - | Group.type | packages/core/src/core/element.ts:286 |
defaultKey | readonly | typeof defaultKey | undefined | - | Group.defaultKey | packages/core/src/core/disposer.ts:10 |
Accessors ​
children ​
Get Signature ​
get children():
Element<Partial<BaseState>,ElementEventMap>[]
Defined in: packages/core/src/core/group.ts:169
Returns a snapshot array of this group's direct child elements.
Returns ​
Element<Partial<BaseState>, ElementEventMap>[]
Inherited from ​
direction ​
Get Signature ​
get direction():
TState["direction"]
Defined in: packages/core/src/core/element.ts:296
Returns ​
TState["direction"]
Set Signature ​
set direction(
value):void
Defined in: packages/core/src/core/element.ts:300
Parameters ​
| Parameter | Type |
|---|---|
value | TState["direction"] |
Returns ​
void
Inherited from ​
fill ​
Get Signature ​
get fill():
TState["fill"]
Defined in: packages/core/src/core/element.ts:304
Returns ​
TState["fill"]
Set Signature ​
set fill(
value):void
Defined in: packages/core/src/core/element.ts:308
Parameters ​
| Parameter | Type |
|---|---|
value | TState["fill"] |
Returns ​
void
Inherited from ​
filter ​
Get Signature ​
get filter():
TState["filter"]
Defined in: packages/core/src/core/element.ts:312
Returns ​
TState["filter"]
Set Signature ​
set filter(
value):void
Defined in: packages/core/src/core/element.ts:316
Parameters ​
| Parameter | Type |
|---|---|
value | TState["filter"] |
Returns ​
void
Inherited from ​
font ​
Get Signature ​
get font():
TState["font"]
Defined in: packages/core/src/core/element.ts:320
Returns ​
TState["font"]
Set Signature ​
set font(
value):void
Defined in: packages/core/src/core/element.ts:324
Parameters ​
| Parameter | Type |
|---|---|
value | TState["font"] |
Returns ​
void
Inherited from ​
globalCompositeOperation ​
Get Signature ​
get globalCompositeOperation():
TState["globalCompositeOperation"]
Defined in: packages/core/src/core/element.ts:336
Returns ​
TState["globalCompositeOperation"]
Set Signature ​
set globalCompositeOperation(
value):void
Defined in: packages/core/src/core/element.ts:340
Parameters ​
| Parameter | Type |
|---|---|
value | TState["globalCompositeOperation"] |
Returns ​
void
Inherited from ​
Group.globalCompositeOperation
height ​
Get Signature ​
get height():
number
Defined in: packages/core/src/core/scene.ts:52
The pixel height of the scene's rendering context.
Returns ​
number
lineCap ​
Get Signature ​
get lineCap():
TState["lineCap"]
Defined in: packages/core/src/core/element.ts:344
Returns ​
TState["lineCap"]
Set Signature ​
set lineCap(
value):void
Defined in: packages/core/src/core/element.ts:348
Parameters ​
| Parameter | Type |
|---|---|
value | TState["lineCap"] |
Returns ​
void
Inherited from ​
lineDash ​
Get Signature ​
get lineDash():
TState["lineDash"]
Defined in: packages/core/src/core/element.ts:352
Returns ​
TState["lineDash"]
Set Signature ​
set lineDash(
value):void
Defined in: packages/core/src/core/element.ts:356
Parameters ​
| Parameter | Type |
|---|---|
value | TState["lineDash"] |
Returns ​
void
Inherited from ​
lineDashOffset ​
Get Signature ​
get lineDashOffset():
TState["lineDashOffset"]
Defined in: packages/core/src/core/element.ts:360
Returns ​
TState["lineDashOffset"]
Set Signature ​
set lineDashOffset(
value):void
Defined in: packages/core/src/core/element.ts:364
Parameters ​
| Parameter | Type |
|---|---|
value | TState["lineDashOffset"] |
Returns ​
void
Inherited from ​
lineJoin ​
Get Signature ​
get lineJoin():
TState["lineJoin"]
Defined in: packages/core/src/core/element.ts:368
Returns ​
TState["lineJoin"]
Set Signature ​
set lineJoin(
value):void
Defined in: packages/core/src/core/element.ts:372
Parameters ​
| Parameter | Type |
|---|---|
value | TState["lineJoin"] |
Returns ​
void
Inherited from ​
lineWidth ​
Get Signature ​
get lineWidth():
TState["lineWidth"]
Defined in: packages/core/src/core/element.ts:376
Returns ​
TState["lineWidth"]
Set Signature ​
set lineWidth(
value):void
Defined in: packages/core/src/core/element.ts:380
Parameters ​
| Parameter | Type |
|---|---|
value | TState["lineWidth"] |
Returns ​
void
Inherited from ​
miterLimit ​
Get Signature ​
get miterLimit():
TState["miterLimit"]
Defined in: packages/core/src/core/element.ts:384
Returns ​
TState["miterLimit"]
Set Signature ​
set miterLimit(
value):void
Defined in: packages/core/src/core/element.ts:388
Parameters ​
| Parameter | Type |
|---|---|
value | TState["miterLimit"] |
Returns ​
void
Inherited from ​
opacity ​
Get Signature ​
get opacity():
TState["opacity"]
Defined in: packages/core/src/core/element.ts:328
Returns ​
TState["opacity"]
Set Signature ​
set opacity(
value):void
Defined in: packages/core/src/core/element.ts:332
Parameters ​
| Parameter | Type |
|---|---|
value | TState["opacity"] |
Returns ​
void
Inherited from ​
rotation ​
Get Signature ​
get rotation():
TState["rotation"]
Defined in: packages/core/src/core/element.ts:488
Returns ​
TState["rotation"]
Set Signature ​
set rotation(
value):void
Defined in: packages/core/src/core/element.ts:492
Parameters ​
| Parameter | Type |
|---|---|
value | TState["rotation"] |
Returns ​
void
Inherited from ​
shadowBlur ​
Get Signature ​
get shadowBlur():
TState["shadowBlur"]
Defined in: packages/core/src/core/element.ts:392
Returns ​
TState["shadowBlur"]
Set Signature ​
set shadowBlur(
value):void
Defined in: packages/core/src/core/element.ts:396
Parameters ​
| Parameter | Type |
|---|---|
value | TState["shadowBlur"] |
Returns ​
void
Inherited from ​
shadowColor ​
Get Signature ​
get shadowColor():
TState["shadowColor"]
Defined in: packages/core/src/core/element.ts:400
Returns ​
TState["shadowColor"]
Set Signature ​
set shadowColor(
value):void
Defined in: packages/core/src/core/element.ts:404
Parameters ​
| Parameter | Type |
|---|---|
value | TState["shadowColor"] |
Returns ​
void
Inherited from ​
shadowOffsetX ​
Get Signature ​
get shadowOffsetX():
TState["shadowOffsetX"]
Defined in: packages/core/src/core/element.ts:408
Returns ​
TState["shadowOffsetX"]
Set Signature ​
set shadowOffsetX(
value):void
Defined in: packages/core/src/core/element.ts:412
Parameters ​
| Parameter | Type |
|---|---|
value | TState["shadowOffsetX"] |
Returns ​
void
Inherited from ​
shadowOffsetY ​
Get Signature ​
get shadowOffsetY():
TState["shadowOffsetY"]
Defined in: packages/core/src/core/element.ts:416
Returns ​
TState["shadowOffsetY"]
Set Signature ​
set shadowOffsetY(
value):void
Defined in: packages/core/src/core/element.ts:420
Parameters ​
| Parameter | Type |
|---|---|
value | TState["shadowOffsetY"] |
Returns ​
void
Inherited from ​
stroke ​
Get Signature ​
get stroke():
TState["stroke"]
Defined in: packages/core/src/core/element.ts:424
Returns ​
TState["stroke"]
Set Signature ​
set stroke(
value):void
Defined in: packages/core/src/core/element.ts:428
Parameters ​
| Parameter | Type |
|---|---|
value | TState["stroke"] |
Returns ​
void
Inherited from ​
textAlign ​
Get Signature ​
get textAlign():
TState["textAlign"]
Defined in: packages/core/src/core/element.ts:432
Returns ​
TState["textAlign"]
Set Signature ​
set textAlign(
value):void
Defined in: packages/core/src/core/element.ts:436
Parameters ​
| Parameter | Type |
|---|---|
value | TState["textAlign"] |
Returns ​
void
Inherited from ​
textBaseline ​
Get Signature ​
get textBaseline():
TState["textBaseline"]
Defined in: packages/core/src/core/element.ts:440
Returns ​
TState["textBaseline"]
Set Signature ​
set textBaseline(
value):void
Defined in: packages/core/src/core/element.ts:444
Parameters ​
| Parameter | Type |
|---|---|
value | TState["textBaseline"] |
Returns ​
void
Inherited from ​
transformOriginX ​
Get Signature ​
get transformOriginX():
TState["transformOriginX"]
Defined in: packages/core/src/core/element.ts:496
Returns ​
TState["transformOriginX"]
Set Signature ​
set transformOriginX(
value):void
Defined in: packages/core/src/core/element.ts:500
Parameters ​
| Parameter | Type |
|---|---|
value | TState["transformOriginX"] |
Returns ​
void
Inherited from ​
transformOriginY ​
Get Signature ​
get transformOriginY():
TState["transformOriginY"]
Defined in: packages/core/src/core/element.ts:504
Returns ​
TState["transformOriginY"]
Set Signature ​
set transformOriginY(
value):void
Defined in: packages/core/src/core/element.ts:508
Parameters ​
| Parameter | Type |
|---|---|
value | TState["transformOriginY"] |
Returns ​
void
Inherited from ​
transformScaleX ​
Get Signature ​
get transformScaleX():
TState["transformScaleX"]
Defined in: packages/core/src/core/element.ts:472
Returns ​
TState["transformScaleX"]
Set Signature ​
set transformScaleX(
value):void
Defined in: packages/core/src/core/element.ts:476
Parameters ​
| Parameter | Type |
|---|---|
value | TState["transformScaleX"] |
Returns ​
void
Inherited from ​
transformScaleY ​
Get Signature ​
get transformScaleY():
TState["transformScaleY"]
Defined in: packages/core/src/core/element.ts:480
Returns ​
TState["transformScaleY"]
Set Signature ​
set transformScaleY(
value):void
Defined in: packages/core/src/core/element.ts:484
Parameters ​
| Parameter | Type |
|---|---|
value | TState["transformScaleY"] |
Returns ​
void
Inherited from ​
translateX ​
Get Signature ​
get translateX():
TState["translateX"]
Defined in: packages/core/src/core/element.ts:456
Returns ​
TState["translateX"]
Set Signature ​
set translateX(
value):void
Defined in: packages/core/src/core/element.ts:460
Parameters ​
| Parameter | Type |
|---|---|
value | TState["translateX"] |
Returns ​
void
Inherited from ​
translateY ​
Get Signature ​
get translateY():
TState["translateY"]
Defined in: packages/core/src/core/element.ts:464
Returns ​
TState["translateY"]
Set Signature ​
set translateY(
value):void
Defined in: packages/core/src/core/element.ts:468
Parameters ​
| Parameter | Type |
|---|---|
value | TState["translateY"] |
Returns ​
void
Inherited from ​
width ​
Get Signature ​
get width():
number
Defined in: packages/core/src/core/scene.ts:47
The pixel width of the scene's rendering context.
Returns ​
number
zIndex ​
Get Signature ​
get zIndex():
number
Defined in: packages/core/src/core/element.ts:448
Returns ​
number
Set Signature ​
set zIndex(
value):void
Defined in: packages/core/src/core/element.ts:452
Parameters ​
| Parameter | Type |
|---|---|
value | number |
Returns ​
void
Inherited from ​
Methods ​
add() ​
add(
element):void
Defined in: packages/core/src/core/group.ts:195
Adds one or more elements as children, re-parenting them if necessary.
Parameters ​
| Parameter | Type |
|---|---|
element | OneOrMore<Element<Partial<BaseState>, ElementEventMap>> |
Returns ​
void
Inherited from ​
clear() ​
clear():
void
Defined in: packages/core/src/core/group.ts:231
Removes all children from this group.
Returns ​
void
Inherited from ​
clone() ​
clone():
Element<Partial<BaseState>,ElementEventMap>
Defined in: packages/core/src/core/element.ts:565
Creates a shallow clone of this element with the same id, classes, and state.
Returns ​
Element<Partial<BaseState>, ElementEventMap>
Inherited from ​
destroy() ​
destroy(
includeContext?):void
Defined in: packages/core/src/core/scene.ts:116
Destroys the scene (and optionally the context), removing all children and cleaning up event subscriptions.
Parameters ​
| Parameter | Type | Default value |
|---|---|---|
includeContext | boolean | false |
Returns ​
void
Overrides ​
dispose() ​
protecteddispose(key?):void
Defined in: packages/core/src/core/disposer.ts:24
Disposes all resources under the given key, or all resources if no key is provided.
Parameters ​
| Parameter | Type |
|---|---|
key? | PropertyKey |
Returns ​
void
Inherited from ​
emit() ​
Call Signature ​
emit<
TEvent>(event):TEvent
Defined in: packages/core/src/core/event-bus.ts:127
Emits an event, invoking all matching handlers and bubbling to the parent if applicable.
Type Parameters ​
| Type Parameter | Default type |
|---|---|
TEvent extends Event<undefined> | Event<undefined> |
Parameters ​
| Parameter | Type |
|---|---|
event | TEvent |
Returns ​
TEvent
Inherited from ​
Call Signature ​
emit<
TEvent>(type,data):Event<SceneEventMap[TEvent]>
Defined in: packages/core/src/core/event-bus.ts:128
Emits an event, invoking all matching handlers and bubbling to the parent if applicable.
Type Parameters ​
| Type Parameter |
|---|
TEvent extends keyof SceneEventMap |
Parameters ​
| Parameter | Type |
|---|---|
type | TEvent |
data | SceneEventMap[TEvent] |
Returns ​
Event<SceneEventMap[TEvent]>
Inherited from ​
getBoundingBox() ​
getBoundingBox():
Box
Defined in: packages/core/src/core/group.ts:277
Returns the composite bounding box enclosing all children.
Returns ​
Inherited from ​
getElementByID() ​
getElementByID<
TElement>(id):TElement
Defined in: packages/core/src/core/group.ts:260
Finds a descendant element by its unique id.
Type Parameters ​
| Type Parameter | Default type |
|---|---|
TElement extends Element<Partial<BaseState>, ElementEventMap> | Element<Partial<BaseState>, ElementEventMap> |
Parameters ​
| Parameter | Type |
|---|---|
id | string |
Returns ​
TElement
Inherited from ​
getElementsByClass() ​
getElementsByClass<
TElement>(classes):TElement[]
Defined in: packages/core/src/core/group.ts:271
Returns all descendant elements that have all of the given CSS class names.
Type Parameters ​
| Type Parameter | Default type |
|---|---|
TElement extends Element<Partial<BaseState>, ElementEventMap> | Element<Partial<BaseState>, ElementEventMap> |
Parameters ​
| Parameter | Type |
|---|---|
classes | OneOrMore<string> |
Returns ​
TElement[]
Inherited from ​
getElementsByType() ​
getElementsByType<
TElement>(types):TElement[]
Defined in: packages/core/src/core/group.ts:265
Returns all descendant elements whose type matches one of the given type names.
Type Parameters ​
| Type Parameter | Default type |
|---|---|
TElement extends Element<Partial<BaseState>, ElementEventMap> | Element<Partial<BaseState>, ElementEventMap> |
Parameters ​
| Parameter | Type |
|---|---|
types | OneOrMore<string> |
Returns ​
TElement[]
Inherited from ​
getStateValue() ​
protectedgetStateValue<TKey>(key):Partial<BaseState>[TKey]
Defined in: packages/core/src/core/element.ts:534
Reads a state value, falling back to the parent’s value if the local value is nil (property inheritance).
Type Parameters ​
| Type Parameter |
|---|
TKey extends keyof BaseState |
Parameters ​
| Parameter | Type |
|---|---|
key | TKey |
Returns ​
Partial<BaseState>[TKey]
Inherited from ​
graph() ​
graph(
includeGroups?):Element<Partial<BaseState>,ElementEventMap>[]
Defined in: packages/core/src/core/group.ts:236
Returns a flattened array of all descendant elements, optionally including intermediate groups.
Parameters ​
| Parameter | Type |
|---|---|
includeGroups? | boolean |
Returns ​
Element<Partial<BaseState>, ElementEventMap>[]
Inherited from ​
has() ​
has(
type):boolean
Defined in: packages/core/src/core/event-bus.ts:84
Returns whether there are any listeners registered for the given event type.
Parameters ​
| Parameter | Type |
|---|---|
type | keyof SceneEventMap |
Returns ​
boolean
Inherited from ​
interpolate() ​
interpolate(
newState,interpolators?):Interpolator<void>
Defined in: packages/core/src/core/element.ts:585
Creates an interpolator that transitions from the current state towards the target state, supporting keyframes and custom interpolator overrides.
Parameters ​
| Parameter | Type |
|---|---|
newState | Partial<ElementInterpolationState<TState>> |
interpolators | Partial<ElementInterpolators<TState>> |
Returns ​
Interpolator<void>
Inherited from ​
intersectsWith() ​
intersectsWith(
x,y,options?):boolean
Defined in: packages/core/src/core/element.ts:580
Tests whether a point intersects this element’s bounding box. Override for custom hit testing.
Parameters ​
| Parameter | Type |
|---|---|
x | number |
y | number |
options? | Partial<ElementIntersectionOptions> |
Returns ​
boolean
Inherited from ​
off() ​
off<
TEvent>(type,handler):void
Defined in: packages/core/src/core/event-bus.ts:102
Removes a previously registered handler for the given event type.
Type Parameters ​
| Type Parameter |
|---|
TEvent extends keyof SceneEventMap |
Parameters ​
| Parameter | Type |
|---|---|
type | TEvent |
handler | EventHandler<SceneEventMap[TEvent]> |
Returns ​
void
Inherited from ​
on() ​
on<
TEvent>(event,handler,options?):Disposable
Defined in: packages/core/src/core/element.ts:547
Subscribes a handler to the given event type and returns a disposable for cleanup.
Type Parameters ​
| Type Parameter |
|---|
TEvent extends keyof SceneEventMap |
Parameters ​
| Parameter | Type |
|---|---|
event | TEvent |
handler | EventHandler<SceneEventMap[TEvent]> |
options? | EventSubscriptionOptions |
Returns ​
Inherited from ​
once() ​
once<
TEvent>(type,handler,options?):Disposable
Defined in: packages/core/src/core/event-bus.ts:117
Subscribes a handler that is automatically removed after it fires once.
Type Parameters ​
| Type Parameter |
|---|
TEvent extends keyof SceneEventMap |
Parameters ​
| Parameter | Type |
|---|---|
type | TEvent |
handler | EventHandler<SceneEventMap[TEvent]> |
options? | EventSubscriptionOptions |
Returns ​
Inherited from ​
query() ​
query<
TElement>(selector):TElement|undefined
Defined in: packages/core/src/core/group.ts:250
Returns the first descendant matching the CSS-like selector, or undefined.
Type Parameters ​
| Type Parameter | Default type |
|---|---|
TElement extends Element<Partial<BaseState>, ElementEventMap> | Element<Partial<BaseState>, ElementEventMap> |
Parameters ​
| Parameter | Type |
|---|---|
selector | string |
Returns ​
TElement | undefined
Inherited from ​
queryAll() ​
queryAll<
TElement>(selector):TElement[]
Defined in: packages/core/src/core/group.ts:255
Returns all descendants matching the CSS-like selector.
Type Parameters ​
| Type Parameter | Default type |
|---|---|
TElement extends Element<Partial<BaseState>, ElementEventMap> | Element<Partial<BaseState>, ElementEventMap> |
Parameters ​
| Parameter | Type |
|---|---|
selector | string |
Returns ​
TElement[]
Inherited from ​
remove() ​
remove(
element):void
Defined in: packages/core/src/core/group.ts:215
Removes one or more child elements from this group.
Parameters ​
| Parameter | Type |
|---|---|
element | OneOrMore<Element<Partial<BaseState>, ElementEventMap>> |
Returns ​
void
Inherited from ​
render() ​
render():
void
Defined in: packages/core/src/core/scene.ts:127
Clears the context and renders the entire element buffer in z-index order.
Returns ​
void
Overrides ​
retain() ​
protectedretain(value,key?):void
Defined in: packages/core/src/core/disposer.ts:13
Registers a disposable resource under an optional key for later cleanup.
Parameters ​
| Parameter | Type | Default value |
|---|---|---|
value | Disposable | undefined |
key | PropertyKey | Disposer.defaultKey |
Returns ​
void
Inherited from ​
set() ​
set(
elements):void
Defined in: packages/core/src/core/group.ts:189
Replaces all children with the given elements.
Parameters ​
| Parameter | Type |
|---|---|
elements | Element<Partial<BaseState>, ElementEventMap>[] |
Returns ​
void
Inherited from ​
setStateValue() ​
protectedsetStateValue<TKey>(key,value):void
Defined in: packages/core/src/core/element.ts:539
Sets a state value and emits an updated event.
Type Parameters ​
| Type Parameter |
|---|
TKey extends keyof BaseState |
Parameters ​
| Parameter | Type |
|---|---|
key | TKey |
value | Partial<BaseState>[TKey] |
Returns ​
void
Inherited from ​
updateSceneGraph() ​
updateSceneGraph():
void
Defined in: packages/core/src/core/group.ts:184
Emits a graph event to notify the scene that the element tree has changed.
Returns ​
void