github processing/p5.js v2.2.3

5 hours ago

What's Changed

This patch contains bugfixes, documentation updates, and improvements in developer experience:

  1. A decorator API for further customisation of p5.js by addons without needing to duplicate or directly modify internal implementation. It is already used internally by FES parameter validation and provides a route towards additional accessibility oriented features. It is based on this proposal. (@limzykenneth)
  2. A fix enabling p5 global-mode typescript use, such as in this non-trivial example (@nbogie)
  3. Extensive update to the contributor documentation for testing 2.x p5.js reference locally (@nbogie)
  4. Various bugfixes for p5.strands and WebGL (@davepagurek)

Try it out!

To use this patch, you can use this starter sketch!

Or load both p5.js and WebGPU mode by adding these two script tags to your sketch:

<script src="https://cdn.jsdelivr.net/npm/p5@2.2.3/lib/p5.js"></script>
<script src="https://cdn.jsdelivr.net/npm/p5@2.2.3/lib/p5.webgpu.js"></script>

Then load WebGPU mode in createCanvas - note the async/await, this is needed for WebGPU but not WebGL:

async function setup() {
  await createCanvas(400, 400, WEBGPU);
}

If you take any existing sketch, such as from the intro to strands tutorial, you can switch from WEBGL to WEBGPU (async/await will be needed!)

Read more about how the WebGPU-based renderer works and where we plan on taking it here!

Developer experience

Documentation updates

WebGL and p5.strands bugfixes

  • Handle booleans used as temp variables in p5.strands by @davepagurek in #8548
  • Fix usage of perspective() with no args by @davepagurek in #8564
  • Avoid unnecessary texture copies and fix flipped webcams in WebGL by @davepagurek in #8572
  • Handle strands set() calls in branches and loops by @davepagurek in #8576
  • Fix filter() crash on createGraphics(WEBGL) by mirroring strands API … by @aashu2006 in #8568
  • Fix a bug where shared strands variables are detected in the wrong spot by @davepagurek in #8641

Other bugfixes

New Contributors

Stewards & testers

Thanks to @nbogie @davepagurek for code review and @aashu2006 and @Jatin24062005 for additional support with testing the release candidates 🎉

Full Changelog: v2.2.2...v2.2.3

Don't miss a new p5.js release

NewReleases is sending notifications on new releases.