← Back to all sparks
P

Phaser

DEVOPS
Velocity2.5

Fast HTML5 game framework for desktop and mobile browsers

Phaser 4 landed a ground-up WebGL rewrite and is now filling in the renderer it built

webgl-rewriterender-nodesfiltersgpu-batchingesm-packaging
Current state
Phaser shipped version 4 in April 2026 after a long release-candidate run, replacing the v3 pipeline system with a node-based renderer, unifying FX and masks into one filter system, and adding SpriteGPULayer for very large sprite counts. The releases since have been additive work inside that new architecture: CustomContext for reaching into DrawingContext at render time, Mesh2D for batched textured triangles, stencil and alpha-strategy game config, and a patch cleaning up stencil defaults and ESM build breakage.
Where it's heading
The v4 rewrite is holding, and the follow-up releases are exposing renderer internals as supported API rather than hiding them — CustomContext, stencil configuration and alpha strategies all hand advanced users direct control over GL state that v3 kept private. The bug pattern in 4.2.1, where stencil options silently did nothing and namespace access broke the ESM build, is the expected cost of a young renderer meeting real games.
Prediction
Expect continued additive 4.x releases exposing more render-node and filter surface, with patches trailing each one to fix defaults and ESM packaging as the new paths get exercised.

Recent moves

  1. 24d ago

    Stencil defaults and ESM namespace access fixed

    A patch correcting stencil write-mask defaults that prevented stencilInvert from working at all, plus removal of inline Phaser namespace access that broke the ESM build. Both are the new renderer's rough edges being sanded after 4.2.0 exposed stencil configuration.

    View source ↗
  2. 1mo ago

    CustomContext and Mesh2D open up the render pipeline

    The most substantive release since v4 itself: CustomContext lets a game object modify the DrawingContext at render time, Mesh2D renders textured triangles that batch with regular sprites, and new config options control stencil buffer creation and alpha strategy. This is the v4 architecture being deliberately opened up to advanced users.

    View source ↗
  3. 3mo ago

    Layer becomes a true GameObject, fixing filter behaviour

    Making Layer a real GameObject resolves a set of inconsistencies carried over from v3, most visibly filters not working on layers. Optional mipmap regeneration for framebuffer-based objects is the other addition, with its cost stated plainly in the notes.

    View source ↗
  4. 3mo ago

    Phaser 4 ships a rebuilt WebGL renderer

    ⚡ SPARK

    The release the entire preceding candidate run was building toward, and the origin point of everything after it. The node-based renderer, unified filter system and SpriteGPULayer define the architecture that subsequent 4.x releases have been extending and repairing.

    View source ↗
  5. 4mo ago

    Release candidate adds one-line bloom, shine and mask helpers

    A late candidate that makes the new filter system approachable, with Actions helpers assembling bloom, shine and shape masks in a single call. Wrapping the rewritten renderer in convenience APIs was the last thing to land before the 4.0 release.

    View source ↗
  6. 7mo ago

    Candidate adds texture wrap modes and tilemap sorting

    Texture wrap-mode access for shader authors and an optional sortByY on tilemap createFromObjects. Small additions typical of the mid-candidate phase, before the API-polish push that closed out the 4.0 cycle.

    View source ↗