Skip to content

RendererPlugin

Defined in: renderer/src/RendererPlugin.ts:75

RendererPlugin wraps PixiJS v8 behind the YAGE plugin interface.

  • Plugin
  • RendererAdapter

new RendererPlugin(config): RendererPlugin

Defined in: renderer/src/RendererPlugin.ts:148

RendererConfig

RendererPlugin

fx: EffectsHost

Defined in: renderer/src/RendererPlugin.ts:125

Screen-scope effects host — .fx.addEffect(...) attaches a filter to app.stage, so it persists across scene transitions and composites everything the renderer draws (every scene, every layer). Common use: screen-wide post-process like vignette or chromatic aberration.

The handle survives scene changes; remove it explicitly when no longer wanted, or it lives until the renderer plugin is destroyed.


readonly name: "renderer" = "renderer"

Defined in: renderer/src/RendererPlugin.ts:76

Unique plugin name.

Plugin.name


readonly version: "4.0.0" = "4.0.0"

Defined in: renderer/src/RendererPlugin.ts:77

Semantic version string.

Plugin.version

get application(): Application

Defined in: renderer/src/RendererPlugin.ts:471

The PixiJS Application instance.

Application


get canvas(): HTMLCanvasElement

Defined in: renderer/src/RendererPlugin.ts:476

The canvas element.

HTMLCanvasElement

RendererAdapter.canvas


get canvasSize(): object

Defined in: renderer/src/RendererPlugin.ts:499

Current canvas size in CSS pixels. Changes on host resize under responsive fit.

object

height: number

width: number


get croppedVirtualRects(): readonly VirtualRect[]

Defined in: renderer/src/RendererPlugin.ts:602

Rectangles of virtual space that are currently off-screen — the complement of visibleVirtualRect inside virtualSize. Use these for effects that need to reason about cropped regions (e.g. fog-of-war overlays at the visible boundary).

Empty under letterbox / expand / stretch. Under cover, returns 1–2 strips.

readonly VirtualRect[]


get extendedVirtualRects(): readonly VirtualRect[]

Defined in: renderer/src/RendererPlugin.ts:639

Rectangles of the visible canvas OUTSIDE the declared virtual rect — the letterbox/expand “bars” expressed in virtual-space pixels.

Populated under letterbox and expand whenever aspect mismatches; empty under cover and stretch. Under expand these are the play-adjacent strips the game is expected to draw into (fog, parallax, HUD). Under letterbox they describe where the background-color bars land — so bar-customization can layer on top of a letterbox render.

readonly VirtualRect[]


get fit(): RendererFitOptions

Defined in: renderer/src/RendererPlugin.ts:504

Current fit configuration.

RendererFitOptions


get isFullscreen(): boolean

Defined in: renderer/src/RendererPlugin.ts:715

Whether the renderer’s host element is currently the fullscreen element. Reads live from the DOM, so this stays accurate when the user exits fullscreen via Esc or the browser UI.

boolean


get orientation(): OrientationType | null

Defined in: renderer/src/RendererPlugin.ts:727

Current device orientation. Returns null when neither the screen.orientation API nor the legacy window.orientation angle is available — typical of headless tests and very old browsers.

OrientationType | null


get sceneRenderTrees(): SceneRenderTreeProvider

Defined in: renderer/src/RendererPlugin.ts:644

The per-scene render tree provider.

SceneRenderTreeProvider


get virtualCanvasRect(): VirtualRect

Defined in: renderer/src/RendererPlugin.ts:613

Where the declared virtual rectangle sits on the canvas, in CSS pixels. Use for DOM overlays positioned over the play area, cropping screenshots to gameplay, or mapping CSS-coord hit regions. The rect may extend past the canvas (negative coords, dimensions larger than canvasSize) under cover.

VirtualRect


get virtualSize(): object

Defined in: renderer/src/RendererPlugin.ts:494

Virtual resolution size.

object

height: number

width: number


get visibleCanvasRect(): VirtualRect

Defined in: renderer/src/RendererPlugin.ts:625

Full canvas extent expressed in virtual-space pixels — unlike visibleVirtualRect, not clamped to the declared virtual rect. Under letterbox / expand on an off-aspect host this extends past virtualSize on the unscaled axis (useful for drawing backdrops that fill the bars). Under cover it equals visibleVirtualRect; under stretch it equals the virtual rect.

VirtualRect


get visibleVirtualRect(): VirtualRect

Defined in: renderer/src/RendererPlugin.ts:590

Sub-rectangle of the declared virtual space that is actually on-screen. Use this to anchor HUD / UI that must stay inside the play area; use visibleCanvasRect if your HUD is allowed to live in the bars. Gameplay queries should stay on virtualSize.

Under letterbox / expand / stretch this equals the full virtual rect. Under cover the long axis is cropped by the canvas edges.

VirtualRect

RendererAdapter.visibleVirtualRect


get worldRoot(): DisplayContainer

Defined in: renderer/src/RendererPlugin.ts:489

The container that carries the responsive-fit transform — the natural parent for things that should live inside the virtual play area (transition overlays scoped to the play rect, world-space HUD, etc.). Children operate in virtual-space pixels.

Use app.stage instead when the geometry must cover the canvas including letterbox / expand bars (full-screen dip-to-color overlays).

DisplayContainer

canvasToVirtual(x, y): Vec2

Defined in: renderer/src/RendererPlugin.ts:521

Convert CSS pixels relative to the canvas top-left into virtual-space pixels. Inverts the stage transform currently applied by the fit controller.

number

number

Vec2

RendererAdapter.canvasToVirtual


createRenderTarget(source, options): RenderTargetHandle

Defined in: renderer/src/RendererPlugin.ts:674

Create an offscreen buffer that draws source into a texture the game owns and redraws on its own schedule — the repeatable counterpart of createTexture, with control over when the buffer refreshes and how many texels it gets.

Composite the result by showing target.texture (a SpriteComponent, a mask, a filter input). See RenderTargetHandle for the coordinate space the source is drawn in and the reasons to keep it out of the live scene graph.

DisplayContainer

RenderTargetOptions

RenderTargetHandle


createTexture(draw): TextureResource

Defined in: renderer/src/RendererPlugin.ts:653

Bake a texture once by drawing into a temporary graphics context. The result never changes again; for a buffer the game redraws, use createRenderTarget.

(graphics) => void

TextureResource


exitFullscreen(): Promise<void>

Defined in: renderer/src/RendererPlugin.ts:704

Exit fullscreen. No-op if the page isn’t currently fullscreen.

Promise<void>


hitTestUI(x, y): boolean

Defined in: renderer/src/RendererPlugin.ts:557

Hit-test at virtual-space (x, y) and return true when the topmost interactive Pixi container has any ancestor (including itself) marked via markPointerConsumeContainer. Used by @yagejs/input’s drain step to auto-claim presses landing on UI surfaces.

Scope: this only sees surfaces marked via markPointerConsumeContainer@yagejs/ui primitives (UIPanel, UIButton, …) plus any visual component (Sprite, AnimatedSprite, Graphics, Text, SplitText) configured with interactive: { consumeOnInteraction: true }. A plain sprite is not a consume surface. UI drawn on raw Pixi containers outside those paths — such as the @yagejs-addons/dialogue box, which never marks its containers — is not detected. Dialogue-aware callers should gate on DialogueController.isActive() / isChoosing() instead.

Coordinates are supplied in virtual space (matching how the input plugin stores pointer positions); they are converted to canvas space via FitController.virtualToCanvas before being forwarded to EventBoundary.hitTest, which per the Pixi v8 spec expects canvas- relative (“world space above the boundary”) coordinates. At fit ratio 1 the two spaces coincide; at any other ratio (mobile / responsive) the conversion is required for the hit-test to land on the correct surface.

number

number

boolean

RendererAdapter.hitTestUI


install(context): Promise<void>

Defined in: renderer/src/RendererPlugin.ts:154

Install services into the engine context. Called in topological order.

EngineContext

Promise<void>

Plugin.install


onDestroy(): void

Defined in: renderer/src/RendererPlugin.ts:423

Called when the engine is destroyed.

void

Plugin.onDestroy


onStart(): Promise<void>

Defined in: renderer/src/RendererPlugin.ts:377

Called after all plugins are installed and the engine has started.

Promise<void>

Plugin.onStart


registerSystems(scheduler): void

Defined in: renderer/src/RendererPlugin.ts:419

Register systems with the scheduler. Called after install.

SystemScheduler

void

Plugin.registerSystems


requestFullscreen(): Promise<void>

Defined in: renderer/src/RendererPlugin.ts:693

Request fullscreen for the renderer’s host element. Targets the configured container when present (so DOM overlays placed alongside the canvas remain inside the fullscreened area), falling back to the canvas itself otherwise. Wraps Element.requestFullscreen with the legacy webkitRequestFullscreen fallback for iOS Safari.

Must be called from a user-gesture handler (click, touch, key); browsers reject the returned Promise with a TypeError otherwise.

Promise<void>


setFit(options): void

Defined in: renderer/src/RendererPlugin.ts:513

Change the fit mode and/or target at runtime.

RendererFitOptions

void


virtualToCanvas(x, y): Vec2

Defined in: renderer/src/RendererPlugin.ts:530

Virtual-space pixels → CSS pixels relative to the canvas top-left. Symmetric with canvasToVirtual; useful when mapping virtual coordinates back out to DOM overlays or pointer regions.

number

number

Vec2