You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+10-10Lines changed: 10 additions & 10 deletions
Original file line number
Diff line number
Diff line change
@@ -1,14 +1,14 @@
1
1
# p5.js-compatibility
2
2
3
-
Even as p5.js 2.0 becomes more stable, p5.js 1.x will continue to be supported until August, 2026. Between 1.x and 2.0, there are many additions, and some breaking changes. In addition to making p5.js 2.0 available as a library, we are working on preparing several compatibility addons that would make it possible to keep using 1.x features that are no longer part of 2.0.
3
+
Even as p5.js 2.0 becomes more stable, p5.js 1.x will continue to be supported until August, 2026. Between 1.x and 2.0, there are many additions, and some breaking changes. In addition to making p5.js 2.0 available as a library, we are working on preparing several compatibility add-on libraries that would make it possible to keep using 1.x features that are no longer part of 2.0.
4
4
5
-
We are working on three compatibility addons which will make these 1.x features available for 2.0:
5
+
We are working on three compatibility add-on libraries which will make these 1.x features available for 2.0:
Your feedback is welcome [on this issue](https://github.com/processing/p5.js/issues/7488)!
14
14
@@ -24,7 +24,7 @@ However, if the sketch doesn’t run anymore using 2.0, then you can either upda
24
24
25
25
* If you want to use p5.js 2.0 features, like variable-weight fonts
26
26
* If you need your sketches to work after August, 2026. At that point, 1.x will no longer be supported, and 2.0 will become the default in the p5.js Editor. If you face any challenges in making updates, please consider [joining the discussion](https://github.com/processing/p5.js/issues/7488) and [filing bugs](https://github.com/processing/p5.js/issues) to help make p5.js 2.0 a robust tool for the whole community.
27
-
* If you want to use an addon or community library that uses p5.js 2.0 featurescal
27
+
* If you want to use an add-on library or community library that uses p5.js 2.0 features
28
28
* If you want to be able to better integrate with other tools and libraries in the JavaScript ecosystem
29
29
30
30
## How can I update my 1.x sketches?
@@ -36,7 +36,7 @@ Step 2: Try running your sketch! In many cases, this will work right away, and n
36
36
Step 3: If your 1.x sketch does not run with p5.js 2.0, you have two options:
37
37
38
38
* Update your code to match 2.0
39
-
* or include a compatibility addon ([this will also be possible in the p.js Editor](https://github.com/processing/p5.js-web-editor/pull/3334) once the new release is live.
39
+
* or include a compatibility add-on library ([this will also be possible in the p.js Editor](https://github.com/processing/p5.js-web-editor/pull/3334) once the new release is live.
40
40
41
41
# Changes to make if your sketch includes…
42
42
@@ -94,23 +94,23 @@ async function setup() {
94
94
If it takes a while to load the image, the sketch will be "paused" on the line `img = await loadImage('/assets/bricks.jpg');` - once the image is loaded, it will resume.
95
95
96
96
97
-
## …using registerPreloadMethod in a addon or library
97
+
## …using registerPreloadMethod in an add-on libraries
98
98
99
99
Under to hood, returns a **Promise** from each loadImage, loadSound, and similar functions. Promises are widely used in JavaScript, so it is possible to use a callback in p5.js 1.x to create a Promise, but p5.js 1.x doesn't expect promises to be used, so you have to ensure yourself that, for example, your draw function doesn't start running before loading is done. For an example of a Promise using a callback, check out the example below that makes p5.sound.js compatible with both 1.x and 2.0:
100
100
101
-
If your addon built with p5.js 1.x uses `registerPreloadMethod` such as in this example from [p5.sound.js](https://github.com/processing/p5.sound.js):
101
+
If your add-on library built with p5.js 1.x uses `registerPreloadMethod` such as in this example from [p5.sound.js](https://github.com/processing/p5.sound.js):
Then to make your addon compatible with **both p5.js 1.x *(preload)* and p5.js 2.0 *(promises)***, this this line can be removed (the method `loadSound`, in this example, does not need to be registered) and the method can be updated as follows:
107
+
Then to make your add-on library compatible with **both p5.js 1.x *(preload)* and p5.js 2.0 *(promises)***, this this line can be removed (the method `loadSound`, in this example, does not need to be registered) and the method can be updated as follows:
// tTis is the check to determine if preload() is being used, as with
113
-
// p5.js 1.x or with the preload compatibility addon. The function
113
+
// p5.js 1.x or with the preload compatibility add-on library. The function
114
114
// returns the soundfile.
115
115
116
116
self._incrementPreload();
@@ -141,7 +141,7 @@ function loadSound (path) {
141
141
}
142
142
```
143
143
144
-
And that's it! You can check this example of making an addon backwards-compatible and work with p5.js 2.0 here: [the p5.sound.js example](https://github.com/processing/p5.sound.js/commit/608ffa93f241538c4fb353544f6d01275911d212)
144
+
And that's it! You can check this example of making an add-on library backwards-compatible and work with p5.js 2.0 here: [the p5.sound.js example](https://github.com/processing/p5.sound.js/commit/608ffa93f241538c4fb353544f6d01275911d212)
0 commit comments