Core Renderable Base Class in PixiJS
This article explains the core architectural base class for all renderable objects within PixiJS. It covers the identity of this base class, how it manages properties like transforms and visibility, and how its role has evolved between older versions of PixiJS and the modern PixiJS v8 release.
In PixiJS, the foundational base class for all objects that can be
rendered to the screen depends on the version of the library you are
using. Historically, in PixiJS v7 and earlier, the core base class was
PIXI.DisplayObject. In the modern PixiJS
v8 release, this architecture was streamlined, and
PIXI.Container became the unified base
class for all renderable objects.
The Historical Base: PIXI.DisplayObject (v7 and Lower)
In older versions of PixiJS, PIXI.DisplayObject served
as the abstract base class for everything populated in the scene graph.
Any object rendered on the screen—such as sprites, text, shapes, and
containers—inherited from this class.
DisplayObject provided the essential properties required
for rendering and positioning, including: * Positioning and
Transforms: Coordinates (x, y),
scale, rotation, pivot, and skew. * Rendering States:
Opacity (alpha), visibility (visible), and
rendering state (renderable). *
Interaction: Interactive properties and hit areas for
handling user input.
Because DisplayObject was abstract, it could not contain
other objects. To group objects together, developers used
PIXI.Container, which inherited from
DisplayObject and added hierarchical child-management
capabilities.
The Modern Base: PIXI.Container (v8 and Higher)
With the release of PixiJS v8, the architecture was simplified. The
distinction between a non-container display object and a container was
removed. The DisplayObject class was deprecated, and
PIXI.Container was promoted to the core
base class for all renderable assets.
In modern PixiJS: * Every visual element (including
Sprite, Graphics, and HTMLText)
inherits directly from Container. * Every renderable object
naturally possesses the ability to act as a parent and hold child
objects. * This unification simplifies the API, reduces type-casting
issues, and optimizes the scene graph traversal.
Whether you are working with legacy code using
DisplayObject or modern code using Container,
this base class remains the most critical structural component of the
PixiJS rendering pipeline, driving the transform math and rendering
instructions for every pixel drawn to the canvas.