@searsuite/sear-render-event-engine
Hit testing and render-node event propagation.
Event registration
- classEventEngine
-
class EventEngine<NodeTypeProperties> extends EventListener<string>Coordinates render-context events, hit testing and plugin event dispatch.
constructor EventEngine<NodeTypeProperties>(scrollManager: ScrollManager, renderContext: RenderContext, stageNode: SceneGraph<NodeTypeProperties>, configEngine: ConfigEngine, eventRenderStrategy: EventRenderStrategy<NodeTypeProperties>, hitRenderStrategy: HitRenderStrategy<NodeTypeProperties>, eventRegistrar: EventRegistrar, coordinates: CoordinateTransformer): EventEngine<NodeTypeProperties>Creates the event engine and installs built-in event strategies.
property readonly configEngine: ConfigEngineproperty readonly eventRegistrar: EventRegistrarproperty readonly eventRenderStrategy: EventRenderStrategy<NodeTypeProperties>property readonly hitRenderStrategy: HitRenderStrategy<NodeTypeProperties>property readonly renderContext: RenderContextproperty readonly scrollManager: ScrollManagerproperty readonly stageNode: SceneGraph<NodeTypeProperties>property readonly symbol: symbolstaticDI token for resolving the event engine.
method addStrategy(name: string | Symbol, strategy: RenderStrategy<NodeTypeProperties>): voidRegisters a named render strategy used by event handling.
method destroy(ownerToken?: object): voidClears plugin handlers so a destroyed sheet cannot react to host events.
method getNodeAtViewPoint(x: number, y: number): Node<NodeTypeProperties> | nullResolves a screen point through the same hit layer used by pointer events.
method getStrategy(name: string | Symbol): RenderStrategy<NodeTypeProperties> | undefinedReturns a previously registered event render strategy.
method initialize(): voidRegisters built-in strategies and attaches render-context listeners.
method registerEvent<Event>(eventKey: string, handler: (event: Event): void): (): voidRegisters a plugin event handler for a normalized event key.
method registerEventListenersToRenderContext(): voidAttaches platform event listeners to the underlying render context.
method render(node: Node<NodeTypeProperties>): voidRebuilds the hit layer for the given scene graph.
method renderHitOnNextFrame(node: Node<NodeTypeProperties>): voidCoalesces scroll-driven hit refreshes to at most one per animation frame.
method renderImmediate(node: Node<NodeTypeProperties>): voidRender the hit canvas immediately, bypassing the debounce timer.
See HitRenderStrategy.renderImmediate() for details.
- classEventRegistrar
-
Base registry for event names supported by one host event adapter.
constructor EventRegistrar(): EventRegistrarproperty registeredEvents: string[]Normalized event names currently registered for dispatch.
property readonly symbol: symbolstaticDI token for resolving the event registrar.
method enforceCommandBoundary(assertWrite: (): void): voidPublishes a read-only event-name view after editor assembly.
method register(eventKey: string): voidRegisters an event name after normalizing platform casing.
eventKeyEvent name requested by a plugin.
method unregister(eventKey: string): voidRemoves a registered event name.
eventKeyEvent name requested by a plugin.
- classHeadlessEventRegistrar
-
class HeadlessEventRegistrar extends EventRegistrarEvent registrar for hosts without a native event source.
constructor HeadlessEventRegistrar(): HeadlessEventRegistrarproperty readonly symbol: symbolstaticDI token for resolving HeadlessEventRegistrar.
Inherited members 4
Inherited from EventRegistrar.
- classWebEventRegistrar
-
class WebEventRegistrar extends EventRegistrarBrowser event registrar with the built-in mouse event surface enabled.
constructor WebEventRegistrar(): WebEventRegistrarproperty registeredEvents: string[]Normalized mouse events supported by the browser registrar.
Inherited members 4
Inherited from EventRegistrar.
Event values
- interfaceEventWithOffsetAndTarget
-
interface EventWithOffsetAndTarget<NodeTypeProperties>Plugin event payload enriched with hit-tested scene target.
property clickCount?: numberConsecutive click count for this pointer activation, when known.
property origin: EventWithOffsetOriginal host event emitted by the render context.
property target: Node<NodeTypeProperties> | nullTopmost scene node hit by the event, or null when empty.
- functiongetPluginHandlerName
-
getPluginHandlerName(eventKey: string): stringDerives the plugin handler method name for a given event key. e.g.
mousedown/mouseDown→onMouseDown - functionnormalizeEventKey
-
normalizeEventKey(eventKey: string): stringNormalizes an event key (whether lowercased like
mousedownor camelCased likemouseDown) to its canonical engine identifier (mouseDown). - interfaceEventWithOffset
-
interface EventWithOffset extends RenderPointerEventHost pointer event carrying offsets in view coordinates.
Host adapters translate their native pointer event into the same offset contract and optionally provide a normalized click count.
property readonly clickCount?: numberConsecutive click count normalized by host adapters when available.
Inherited members 13
Inherited from RenderPointerEvent.
No matching API entries.