Update dependency p5 to v2.3.0#26
Open
renovate[bot] wants to merge 1 commit into
Open
Conversation
db94fc9 to
2754890
Compare
2754890 to
7de93dc
Compare
7de93dc to
bc41b87
Compare
bc41b87 to
f11c1a3
Compare
f11c1a3 to
0b9f303
Compare
0b9f303 to
2bcd8d6
Compare
2bcd8d6 to
f48d583
Compare
f48d583 to
6d8d64e
Compare
6d8d64e to
38a6dcd
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
2.0.4→2.3.0Release Notes
processing/p5.js (p5)
v2.3.0Compare Source
2.3.0: New features from the growing p5.strands contributor community 🌱
<a href=https://editor.p5js.org/ksen0/sketches/yqIwIPxnz>
What's Changed 🎊
Work since 2.2.3 has focused on stabilization and workflow improvements; refactors to p5.Vector based on the recently-added Decorators API; and new beginner-friendly shader programming API features (p5.strands), as well as the experimental WebGPU renderer.
This release includes work from many contributors, stewards, and testers - including new contributors to p5.strands! welcome, and thanks for all your amazing diligence and creativity 🎉 🎉 🎉
Workflow Improvements
To support testing new contributions, there are now continuous releases on Pull Requests: look for this comment from p5js-bot on any Pull Request, and use the CDN link in test sketches to help with review:
Work is ongoing on distributing custom builds, thanks to @limzykenneth. Please do test the custom/modular builds tool (there is also OpenAPI JSON documentation available plus GUI API reference).
The goal is smaller import size by providing a custom build. Work is ongoing for more separation between modules, right now Including all modules makes it a bit larger but you can use custom build. For now, the above tool is for testing, rather than for using in your work directly - we welcome your input!
p5.strands updates: new features and experimental compute shader support 🎉
On graphics, we have continued to work on beginner-friendly shader programming API features (p5.strands), as well as the experimental WebGPU renderer.
The p5.strands code has been refactored and simplified, which will make maintenance and contribution easier in the future, thanks to @davepagurek and @LalitNarayanYadav. Additionally, p5.strands, used with the experimental
WebGPUrenderer, now supports compute shaders, thanks to @davepagurek and @aashu2006.This minor release includes exciting p5.strands API additions by the growing p5.strands contributor community:
random()andrandomSeed()is available in p5.strands code, thanks to @perminder-17map()is available in p5.strands code, thanks to @Nixxx19lerp()andinstanceID()are more consistently supported, thanks to @aashu2006finalColorhook thanks to @YuktiNandwanaHere is an example
p5.jssketch usingp5.strands, with the noise-based texture:Finally, p5.strands, used with the experimental
WebGPUrenderer, now supports compute shaders. For example, below is code for a Game of Life simulation, written by @davepagurek. This uses compute shaders (compare the code to the non-shader example here.)p5.strands and WebGPU
thisin ASTCallbacks by @LalitNarayanYadav in #8728Workflow and Stabilization
Documentation and Friendly Errors
@requiresfrom all jsdoc by @nbogie in #8713Vectors Refactor and Documentation Updates
New Contributors
Thanks to all contributors and stewards who made this release possible!
Full Changelog: processing/p5.js@v2.2.3...v2.3.0
v2.2.3Compare Source
What's Changed
This patch contains bugfixes, documentation updates, and improvements in developer experience:
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:
Then load WebGPU mode in
createCanvas- note theasync/await, this is needed for WebGPU but not WebGL:If you take any existing sketch, such as from the intro to strands tutorial, you can switch from
WEBGLtoWEBGPU(async/awaitwill be needed!)Read more about how the WebGPU-based renderer works and where we plan on taking it here!
Developer experience
export default p5at end of global.d.ts by @nbogie in #8299Documentation updates
WebGL and p5.strands bugfixes
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: processing/p5.js@v2.2.2...v2.2.3
v2.2.2Compare Source
What's Changed
This patch focuses on bugfixes, particularly on WebGPU performance and p5.strands. The goal is that all p5.strands shaders work with both WebGPU and WebGL canvases. This patch also adds
millis()support inside strands code.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:
Then load WebGPU mode in
createCanvas- note theasync/await, this is needed for WebGPU but not WebGL:If you take any existing sketch, such as from the intro to strands tutorial, iyou can switch from
WEBGLtoWEBGPU(async/awaitwill be needed!)Read more about how the WebGPU-based renderer works and where we plan on taking it here!
millis()supported in p5.strandsHere is a sketch (thanks @perminder-17!) showing
millis()being used inside a strands shader. Previously,const t = uniformFloat(() => millis());was needed. This can still be used, but you can instead usemillis()directly:What does p5.strands make possible?
(Special thanks to @davepagurek for creating the sketches! Excerpted from a blog post about 2.2 updates.)
First, consider this sketch, which uses JavaScript loops to draw a cube of cubes. It is only 40 lines, but if there are many more cubes, it will slow down very much. If it is running smoothly, try changing all the “15” to a higher and higher number, such as “30.” As the scene grows, the sketch performance will suffer very noticeably.
The purpose of shader is to use parallel, GPU-based computation to speed this up. Instead of for loops, here is a second version of the same sketch using GLSL. It is 200 lines of code, and, if you are not familiar with GLSL, may be very difficult to read. Look for the “15” here, too, and try changing it to a larger number, like “30” or beyond. The shader-based animation remains smooth, showing the performance benefits of GPU rendering.
Finally, the p5.strands version of this sketch combines a more accessible, readable style of JavaScript with the performance of GLSL.
With the introduction of the WebGPU-based renderer, p5.strands sketches can seamlessly switch between
WEBGLorWEBGPUrenderer. Here is the same example as above, but using the WebGPU-based renderer. The only changes needed were to useasync/awaitwithcreateCanvas(...), and to import both the main library and the p5.webgpu.js add-on:All Changes
New Contributors
Stewards
Code review and additional support with testing the release candidates by:
Full Changelog: processing/p5.js@v2.2.1...v2.2.2
v2.2.1Compare Source
What's Changed
This patch includes documentation, bugfixes, and dependency updates. A flatter p5.strands API is also included as part of ongoing incremental strands API.
You can get started with the features in this release using these sketches:
The focus of this patch is performance improvements to WebGPU core add-on. You can load both p5.js and WebGPU mode by adding these two script tags to your sketch:
Then load WebGPU mode in
createCanvas:Read more about how it works and where we plan on taking it here!
What's Changed 🎊
noiseDetail()in p5.js 2.x so that thefalloffparameter defaults to0.5when omitted. by @shuklaaryan367-byte in #8417@chainableper-overload by @LuLaValva in #8504New Contributors
Stewards
This patch was stewarded (through code review, comments, and discussion) by
@davepagurek
@limzykenneth
@nbogie
@perminder-17
@ksen0
Full Changelog: processing/p5.js@v2.2.0...v2.2.1
v2.2.0Compare Source
2.2: WebGPU and bugfixes
The
2.2minor release contains work on WebGPU rendering that has been going on over the past year! WebGPU mode is included in a core add-on now. This release also contains a number of improvements in documentation and p5.strands bugfixes.To load both p5.js and WebGPU mode, add these two script tags to your sketch:
Then load WebGPU mode in
createCanvas:Read more about how it works and where we plan on taking it here!
You're also welcome to come by the Discord #webgpu channel 🌱
What's Changed 🎊
.apply()for faster function invocation by @limzykenneth in #8332inputsin branches in p5.strands by @davepagurek in #8397New Contributors
Full Changelog: processing/p5.js@v2.1.2...v2.2.0
v2.1.2Compare Source
What's Changed
Use this link to load the library: https://cdn.jsdelivr.net/npm/p5@2.1.2/lib/p5.js
This patch includes documentation updates, bugfixes, and improvements on the experimental p5.strands feature.
What's Changed 🎊
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.