pixijs-application

Create PixiJS v8 Applications with async init, render-loop control, resizing, and destruction.

16|8|Updated May 20, 2020
One-click install
npx skills add https://github.com/encounterplus/web-client --skill pixijs-application-encounterplus
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: pixijs-application
Source: https://github.com/encounterplus/web-client/tree/main/.agents/skills/pixijs-application
Command: npx skills add https://github.com/encounterplus/web-client --skill pixijs-application-encounterplus

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

It solves the complexity and common failure points of creating a PixiJS v8 Application—where configuration must happen in the async init phase and teardown must release resources cleanly to avoid stale textures, flicker, and broken render state.

Core Features & Use Cases

  • Build the Application correctly in v8: use the no-argument constructor and pass all configuration to await app.init(...), including renderer preference, sizing, background, density/resolution, and canvas selection for both screen and offscreen use cases.
  • Control render behavior and performance: configure and use the built-in TickerPlugin (autoStart, sharedTicker, app.start()/app.stop()), handle resizing via ResizePlugin (resizeTo, app.resize(), app.queueResize()), and optionally enable CullerPlugin for screen-based container skipping.
  • Extend and manage the app lifecycle safely: create custom ApplicationPlugin extensions using ExtensionType.Application with static init/static destroy, and destroy the app with app.destroy(...) including releaseGlobalResources when recreating apps in the same tab.

Quick Start

Ask the AI to show how to create a PixiJS v8 Application, initialize it with resizeTo, background, and devicePixelRatio, append app.canvas to the DOM after await app.init, and then start rendering with the built-in ticker.

Frequently Asked Questions about pixijs-application

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I initialize a PixiJS v8 Application correctly with async init?▼

Initializing a PixiJS v8 Application requires using the no-argument constructor and passing all configuration to `await app.init(options)` to properly setup the renderer, canvas, and stage before appending the view to the DOM.

Why does my PixiJS application leak textures when recreating it in the same tab?▼

PixiJS applications leak textures when teardown skips resource release. Perform resource-safe teardown via `app.destroy(..., { releaseGlobalResources: true })` to clear stale textures and prevent broken render state.

How do I handle high-DPI screen resizing with PixiJS v8?▼

Handle high-DPI screen resizing in PixiJS v8 by configuring the ResizePlugin with `resizeTo`, using `app.resize()` or `app.queueResize()`, and passing `devicePixelRatio` during the async initialization phase.

Can I use WebGL and WebGPU renderers in a PixiJS v8 Application?▼

Yes, you can use WebGL and WebGPU renderers in a PixiJS v8 Application by defining the renderer preference during the async `app.init(options)` phase to ensure deterministic setup of the rendering backend.

How do I control the render loop and enable culling in PixiJS?▼

Control the render loop in PixiJS using the TickerPlugin with `autoStart`, `sharedTicker`, and `app.start()`/`app.stop()`, and enable screen-based container skipping by optionally registering the CullerPlugin during initialization.

How do I create custom lifecycle extensions for a PixiJS Application?▼

Create custom lifecycle extensions for a PixiJS Application by building ApplicationPlugin extensions using `ExtensionType.Application` with `static init` and `static destroy` methods, allowing plugin-based lifecycle management safely.