pixijs/pixijs
 Watch   
 Star   
 Fork   
8 days ago
pixijs
28 days ago
pixijs

v8.10.0

💾 Download

Installation:

npm install pixi.js@8.10.0

Development Build:

Production Build:

Documentation:

Changed

https://github.com/pixijs/pixi.js/compare/v8.9.2...v8.10.0

🚨 Behavior Change 🚨

With this release we have fixed the ParticleContainer.removeParticles(startIndex, endIndex) logic to correctly set the endIndex to this.particleChildren.length by default. This now matches the behavior of container.removeChildren()

🎁 Added

🐛 Fixed

🧹 Chores

New Contributors

2025-04-29 19:34:47
pixijs

v8.9.2

💾 Download

Development Build:

Production Build:

Documentation:

Changed

https://github.com/pixijs/pixi.js/compare/8.9.1...v8.9.2

🐛 Fixed

New Contributors

2025-03-27 20:06:36
pixijs

v8.9.1

💾 Download

Development Build:

Production Build:

Documentation:

Changed

https://github.com/pixijs/pixi.js/compare/v8.9.0...v8.9.1

🐛 Fixed

2025-03-21 00:25:10
pixijs

v8.9.0

💾 Download

Development Build:

Production Build:

Documentation:

Changed

https://github.com/pixijs/pixi.js/compare/v8.8.1...v8.9.0

🎁 Added

  • feat: DOMContainer by @GoodBoyDigital in https://github.com/pixijs/pixijs/pull/11340
    • Experimental support for integrating DOM elements within the PixiJS scene graph, allowing HTML elements to be positioned and transformed alongside other PixiJS objects.
import 'pixi.js/dom'
import { DOMContainer } from 'pixi.js';

// Create a DOM element
const element = document.createElement('div');
element.innerHTML = 'Hello World!';
	
// Create a DOM container
const domContainer = new DOMContainer({ element });
	
// Add it to your scene
app.stage.addChild(domContainer);
	
// Position and transform like any other DisplayObject
domContainer.x = 100;
domContainer.y = 100;
domContainer.rotation = 0.5;
domContainer.anchor.set(0.5);

🐛 Fixed

New Contributors

2025-03-06 22:54:26
pixijs

v7.4.3

What's Changed

New Contributors

Full Changelog: https://github.com/pixijs/pixijs/compare/v7.4.2...v7.4.3

2025-02-26 17:45:53
pixijs

v8.8.1

💾 Download

Development Build:

Production Build:

Documentation:

Changed

https://github.com/pixijs/pixi.js/compare/v8.8.0...v8.8.1

🐛 Fixed

New Contributors

2025-02-11 23:30:20
pixijs

v8.8.0

💾 Download

Development Build:

Production Build:

Documentation:

Changed

https://github.com/pixijs/pixi.js/compare/v8.7.3...v8.8.0

🚨 Behavior Change 🚨

Since 8.0.0 PixiJS has been incorrectly applying gradients and graphics fill textures. Instead of using normalized "local space" coordinates (0–1), gradients were using "global space" values in pixels. This was an unintended change that made working with gradients/texture fills much harder. In this release, we have changed the default behavior back to "local space" to match v7.

For anyone who needs the old behavior, you can change the default options globally or you can control it individually as all APIs now accept a textureSpace property that can be set to "global". For example:

FillGradient.defaultLinearOptions.textureSpace = 'global'
FillGradient.defaultRadialOptions.textureSpace = 'global'
// or individually
new FillGraident(0, 0, 100, 100, 'global')

GraphicsContext.defaultFillStyle.textureSpace = 'global'
GraphicsContext.defaultStrokeStyle.textureSpace = 'global'
// or individually
new Graphics().fill({ texture, textureSpace: 'global' })
new Graphics().stroke({ texture, textureSpace: 'global' })

🚨 Behavior Change 🚨

Since version 8.0.0, TilingSprite has returned negative values for tilingSprite.bounds.width and tilingSprite.bounds.height. This has been corrected in this release, and these properties now return positive values. If your code relies on bounds, you may need to adjust it accordingly.

🎁 Added

🐛 Fixed

2025-02-06 18:29:20
pixijs

v8.8.0-rc.1

💾 Download

Development Build:

Production Build:

Documentation:

Changed

https://github.com/pixijs/pixi.js/compare/v8.7.3...v8.8.0-rc.1

🚨 NOTE 🚨

Since the release of v8, PixiJS has been incorrectly applying gradients and graphics fill textures. Instead of using normalized "local space" coordinates (0–1), gradients were using "global space" values in pixels. This made working with gradients/texture fills more complicated than necessary. In this release, we have changed the default behavior back to "local space" to match v7.

For anyone who needs the old behavior, you can change the default options globally or you can control it individually as all APIs now accept a textureSpace property that can be set to "global". For example:

FillGradient.defaultLinearOptions.textureSpace = 'global'
FillGradient.defaultRadialOptions.textureSpace = 'global'
// or individually
new FillGraident(0, 0, 100, 100, 'global')

GraphicsContext.defaultFillStyle.textureSpace = 'global'
GraphicsContext.defaultStrokeStyle.textureSpace = 'global'
// or individually
new Graphics().fill({ texture, textureSpace: 'global' })
new Graphics().stroke({ texture, textureSpace: 'global' })

🎁 Added

🐛 Fixed