Skip to content

Changelog ​

Changelog ​

Notable changes to flixel-pixi are recorded here. The project follows the versioning and compatibility rules in versioning and API stability.

Unreleased ​

Changes after the current release candidate are collected here before they are assigned to a version.

0.1.0-rc.11 — 2026-09-05 ​

This release candidate restores TypeScript declaration bundling in published packages, hardens the npm publication pipeline with pre-publish package contract verification, and introduces the hosted Visual Level Editor MVP and pluggable Planck physics adapter ecosystem.

Fixed ​

  • Preserved dist/index.d.ts and dist/tsdoc-metadata.json during library builds by disabling Vite's default output directory clearing (emptyOutDir: false) in vite.lib.config.ts.
  • Added a mandatory pre-publish package verification step (npm run check:package) to .github/workflows/publish-npm.yml immediately prior to publication to ensure tarball integrity, type rollup presence, and clean consumer compilation.

Added ​

  • Added the hosted Visual Level Editor MVP (apps/level-editor) supporting Tiled import/export, terrain auto-tiling, tile collision shape authoring, gameplay objects, and layer ordering.
  • Added pluggable 2D physics contracts and the @flixel-pixi/physics-planck reference adapter with joint constraints, body bindings, and interactive showcase demos.

0.1.0-rc.10 — 2026-08-23 ​

This release candidate establishes the Particle Editor-to-game pipeline: author single or layered effects visually, export a versioned document and textures, preload them through Flixel-Pixi, and control the complete composition as one runtime object.

Added ​

  • Added the public, versioned ParticleEffectDocumentV1 contract with validation and deterministic serialization for Particle Editor exports.
  • Added FlxParticleEffect for loading, positioning, controlling, and monitoring ordered multi-emitter effects through preloaded Flixel-Pixi assets.
  • Added a playable campfire example that preloads a Particle Editor export and its flame, ember, and smoke textures, then runs the composition through FlxParticleEffect.
  • Added an editor-export-to-runtime compatibility test and downloadable campfire starter files for the documented authoring workflow.
  • Added the hosted Flixel-Pixi Particle Editor with deterministic presets, multi-emitter composition, generated and uploaded textures, blend modes, pointer emission, themes, import/export, and self-contained bundle export.

Compatibility ​

  • Existing 0.1.0-rc.7 games require no source changes. The new particle-effect APIs and hosted editor are additive.
  • Particle Editor exports use effect-document version 1; 0.1.0-rc.10 validates and loads that contract through parseParticleEffect and FlxParticleEffect.

Changed ​

  • Raised the raw library bundle ceiling from 650,000 to 655,000 bytes for the new particle-effect document and runtime APIs. The 150,000-byte gzip ceiling remains unchanged.
  • Build the private runtime workspaces before the isolated mobile browser release gate starts its Vite server on a clean GitHub runner.
  • Retain slow completed render intervals in hosted sprite-stress metrics so a throttled 10,000-sprite scene reports its observed rate instead of zero FPS.

0.1.0-rc.9 — 2026-08-23 ​

This version was tagged but not published. All functional and cross-browser gates passed, but the hosted 10,000-sprite performance scene discarded every render interval above 250 ms and consequently reported zero average FPS.

0.1.0-rc.8 — 2026-08-23 ​

This version was tagged but not published. Its isolated mobile browser gate started the Vite server before building the linked private runtime workspaces, so application initialization failed and trusted publishing never ran.

0.1.0-rc.7 — 2026-08-20 ​

This release candidate separates portable hosted-CI performance contracts from absolute frame-rate thresholds that are meaningful only on the documented reference machine.

Changed ​

  • Keep sprite stress readiness, object counts, finite positive frame metrics, lifecycle ownership, and teardown checks in hosted release verification.
  • Add npm run test:perf:reference as the explicit Apple M4 Pro lane for the frozen 2k, 5k, and 10k sprite median-FPS floors.
  • Run the portable performance and resource budget command during pre-tag release verification as well as trusted publishing.
  • Give the 15-transition mobile resize-pressure contract a bounded CI timeout separate from Playwright's default unit-test limit.

0.1.0-rc.6 — 2026-08-20 ​

This version was tagged but not published. Functional and cross-browser gates passed, but trusted publishing compared Apple M4 Pro FPS floors with a throttled GitHub-hosted runner and stopped before package preview or publish. It separates mobile resize pressure from repeated application lifecycle soak so headless browser verification exercises each contract without rapid WebGL context churn obscuring the result.

Added ​

  • Added the VitePress documentation website, generated API reference, embedded examples, release snapshots, and GitHub Pages deployment workflow.

Changed ​

  • Keep all five mobile resize-pressure cycles on one live application, then verify canvas and accessibility surfaces are released after teardown.
  • Leave repeated boot/destroy coverage to the dedicated performance soak rather than forcing rapid WebGL context loss and recreation inside the resize test.
  • Refined the documentation website layout, navigation, version picker, and responsive presentation.

0.1.0-rc.5 — 2026-08-15 ​

This version was tagged but not published. Its isolated mobile browser gate lost the headless Chromium session during rapid repeated WebGL context recreation before package preview and trusted publishing, so npm's next tag remained on 0.1.0-rc.1.

Changed ​

  • Split npm publication verification into isolated Chromium, headed Firefox, WebKit, and mobile commands so renderer resources are released between browser projects.
  • Kept Firefox compatibility validation on the headed Xvfb path that passes on GitHub's Linux runner.
  • Made the swipe demo test track its deterministic test bomb independently of bombs spawned by normal gameplay.
  • Retained browser traces and verification reports when trusted publishing stops before npm publication.

0.1.0-rc.4 — 2026-08-15 ​

This version was tagged but not published. Its browser release matrix failed before package preview and trusted publishing, so npm's next tag remained on 0.1.0-rc.1.

Changed ​

  • Limited Playwright CI execution to one worker so Chromium, Firefox, and WebKit do not contend for the release runner's renderer and asset resources.
  • Made the animation restart assertion tolerant of legitimate fixed-step progress between the click and browser snapshot.
  • Reduced the debugger console scroll exercise from 30 commands to 15 while retaining the overflow and automatic-scroll contract.
  • Extended affected cross-browser demo readiness waits for slower CI renderer and asset initialization.

0.1.0-rc.3 — 2026-08-15 ​

This version was tagged but not published. It aligned pull-request and npm-release verification on Node.js 24, but its browser release matrix failed before trusted publishing ran. npm's next tag remained on 0.1.0-rc.1.

Changed ​

  • Made Node.js 24 the canonical pull-request coverage environment so it matches the trusted-publishing workflow.
  • Added a parallel Node.js 22 type-check and unit-test compatibility job capped at two workers.
  • Increased Node.js 24 branch coverage from 87.40% to 89.03% with targeted tests for input, assets, audio controls, debugger utilities, replay, and signals.

0.1.0-rc.2 — 2026-08-14 ​

This version was tagged but not published. Its trusted-publishing workflow stopped at the Node.js 24 coverage gate, so npm's next tag remained on 0.1.0-rc.1.

Changed ​

  • Prepared GitHub Actions OIDC trusted publishing without a long-lived npm token.
  • Updated the release procedure after the initial npm publication.

0.1.0-rc.1 — 2026-08-14 ​

The first package release candidate. It was published with the npm next tag through a one-time, 2FA-protected bootstrap release.

Added ​

  • A TypeScript port of the 43-class ActionScript 3 Flixel baseline, with a compatibility ledger for all 766 public upstream members.
  • Fixed-step state, object, group, collision, input, audio, replay, debugger, tween, camera, tilemap, rendering, asset, and browser lifecycle systems.
  • PixiJS v8 rendering with explicit ownership and teardown contracts.
  • Public browser bootstrap, loading, scaling, safe-area, accessibility, FPS, audio-control, and renderer-fallback APIs.
  • Playable package-root examples and a pinned Flx-Invaders compatibility port.
  • Automated unit, API, package-consumer, performance, soak, browser, and device matrix gates.

Package ​

  • ESM-only output with bundled TypeScript declarations and source maps.
  • pixi.js ^8.19.0 as a peer dependency.
  • Node.js 22.12 or newer for development and package tooling.
  • MIT license plus the original Flixel third-party notice.

Compatibility notice ​

This is a prerelease API baseline. Feedback may still require breaking changes between 0.1.0-rc.* builds. Such changes must be listed in this changelog and the upgrade guide before a new candidate is published.

Released under the MIT License.