From ebabea1db79802723905d54c1820daae64eb72a2 Mon Sep 17 00:00:00 2001 From: Yashi Singhal285 Date: Sun, 5 Jul 2026 16:21:07 +0530 Subject: [PATCH 1/6] docs(strands): add strand-specific examples for color, green, blue, alpha, hue, saturation, brightness, lightness --- src/color/creating_reading.js | 137 ++++++++++++++++++++++++++++++++++ 1 file changed, 137 insertions(+) diff --git a/src/color/creating_reading.js b/src/color/creating_reading.js index 340887294d..4196f77ea1 100644 --- a/src/color/creating_reading.js +++ b/src/color/creating_reading.js @@ -341,6 +341,20 @@ function creatingReading(p5, fn){ * * describe('Two blue rectangles. A darker rectangle on the left and a brighter one on the right.'); * } + * + * @example + * // Strands: color() inside a modify() callback returns a vec4 + * // with normalized RGBA (0-1), instead of a p5.Color object. + * function setup() { + * let shader = baseMaterialShader().modify(() => { + * p5.getPixelInputs((inputs) => { + * // Same syntax as regular sketch code... + * let c = color(255, 0, 0); + * // ...but c is a vec4 like (1.0, 0.0, 0.0, 1.0), not a p5.Color. + * return c; + * }); + * }); + * } */ /** * @method color @@ -396,6 +410,10 @@ function creatingReading(p5, fn){ * to 255. If the colorMode() is set to RGB, it * returns the red value in the given range. * + * In p5.strands shader callbacks, `red()` operates on `vec4` values and + * returns the red channel as a normalized value in the 0–1 range. + * `colorMode()` has no effect inside shader callbacks. + * * @method red * @param {p5.Color|Number[]|String} color p5.Color object, array of * color components, or CSS color string. @@ -403,6 +421,16 @@ function creatingReading(p5, fn){ * * @example * function setup() { + * let shader = baseMaterialShader().modify(() => { + * p5.getPixelInputs((inputs) => { + * let r = red(inputs.color); + * return vec4(r, 0.0, 0.0, 1.0); + * }); + * }); + * } + * + * @example + * function setup() { * createCanvas(100, 100); * * background(200); @@ -517,6 +545,10 @@ function creatingReading(p5, fn){ * to 255. If the colorMode() is set to RGB, it * returns the green value in the given range. * + * In p5.strands shader callbacks, `green()` operates on `vec4` values and + * returns the green channel as a normalized value in the 0–1 range. + * `colorMode()` has no effect inside shader callbacks. + * * @method green * @param {p5.Color|Number[]|String} color p5.Color object, array of * color components, or CSS color string. @@ -524,6 +556,16 @@ function creatingReading(p5, fn){ * * @example * function setup() { + * let shader = baseMaterialShader().modify(() => { + * p5.getPixelInputs((inputs) => { + * let g = green(inputs.color); + * return vec4(0.0, g, 0.0, 1.0); + * }); + * }); + * } + * + * @example + * function setup() { * createCanvas(100, 100); * * background(200); @@ -638,6 +680,10 @@ function creatingReading(p5, fn){ * to 255. If the colorMode() is set to RGB, it * returns the blue value in the given range. * + * In p5.strands shader callbacks, `blue()` operates on `vec4` values and + * returns the blue channel as a normalized value in the 0–1 range. + * `colorMode()` has no effect inside shader callbacks. + * * @method blue * @param {p5.Color|Number[]|String} color p5.Color object, array of * color components, or CSS color string. @@ -645,6 +691,16 @@ function creatingReading(p5, fn){ * * @example * function setup() { + * let shader = baseMaterialShader().modify(() => { + * p5.getPixelInputs((inputs) => { + * let b = blue(inputs.color); + * return vec4(0.0, 0.0, b, 1.0); + * }); + * }); + * } + * + * @example + * function setup() { * createCanvas(100, 100); * * background(200); @@ -755,6 +811,10 @@ function creatingReading(p5, fn){ * p5.Color object, an array of color components, or * a CSS color string. * + * In p5.strands shader callbacks, `alpha()` operates on `vec4` values and + * returns the alpha channel as a normalized value in the 0–1 range. + * `colorMode()` has no effect inside shader callbacks. + * * @method alpha * @param {p5.Color|Number[]|String} color p5.Color object, array of * color components, or CSS color string. @@ -762,6 +822,16 @@ function creatingReading(p5, fn){ * * @example * function setup() { + * let shader = baseMaterialShader().modify(() => { + * p5.getPixelInputs((inputs) => { + * let a = alpha(inputs.color); + * return vec4(inputs.color.rgb, a * 0.5); + * }); + * }); + * } + * + * @example + * function setup() { * createCanvas(100, 100); * * background(200); @@ -850,6 +920,10 @@ function creatingReading(p5, fn){ * colorMode() is set to HSB or HSL, it returns the hue * value in the given mode. * + * In p5.strands shader callbacks, `hue()` operates on `vec4` values and + * returns the hue as a normalized value in the 0–1 range. + * `colorMode()` has no effect inside shader callbacks. + * * @method hue * @param {p5.Color|Number[]|String} color p5.Color object, array of * color components, or CSS color string. @@ -857,6 +931,16 @@ function creatingReading(p5, fn){ * * @example * function setup() { + * let shader = baseMaterialShader().modify(() => { + * p5.getPixelInputs((inputs) => { + * let h = hue(inputs.color); + * return vec4(h, h, h, 1.0); + * }); + * }); + * } + * + * @example + * function setup() { * createCanvas(100, 100); * * background(200); @@ -976,6 +1060,10 @@ function creatingReading(p5, fn){ * colorMode() is set to HSB or HSL, it returns the * saturation value in the given mode. * + * In p5.strands shader callbacks, `saturation()` operates on `vec4` values + * and returns the saturation as a normalized value in the 0–1 range. + * `colorMode()` has no effect inside shader callbacks. + * * @method saturation * @param {p5.Color|Number[]|String} color p5.Color object, array of * color components, or CSS color string. @@ -983,6 +1071,16 @@ function creatingReading(p5, fn){ * * @example * function setup() { + * let shader = baseMaterialShader().modify(() => { + * p5.getPixelInputs((inputs) => { + * let s = saturation(inputs.color); + * return vec4(s, s, s, 1.0); + * }); + * }); + * } + * + * @example + * function setup() { * createCanvas(100, 100); * * background(50); @@ -1133,6 +1231,9 @@ function creatingReading(p5, fn){ * By default, `brightness()` returns a color's HSB brightness in the range 0 * to 100. If the colorMode() is set to HSB, it * returns the brightness value in the given range. + * In p5.strands shader callbacks, `brightness()` operates on `vec4` values + * and returns the brightness as a normalized value in the 0–1 range. + * `colorMode()` has no effect inside shader callbacks. * * @method brightness * @param {p5.Color|Number[]|String} color p5.Color object, array of @@ -1141,6 +1242,16 @@ function creatingReading(p5, fn){ * * @example * function setup() { + * let shader = baseMaterialShader().modify(() => { + * p5.getPixelInputs((inputs) => { + * let b = brightness(inputs.color); + * return vec4(b, b, b, 1.0); + * }); + * }); + * } + * + * @example + * function setup() { * createCanvas(100, 100); * * background(200); @@ -1263,6 +1374,9 @@ function creatingReading(p5, fn){ * By default, `lightness()` returns a color's HSL lightness in the range 0 * to 100. If the colorMode() is set to HSL, it * returns the lightness value in the given range. + * In p5.strands shader callbacks, `lightness()` operates on `vec4` values + * and returns the lightness as a normalized value in the 0–1 range. + * `colorMode()` has no effect inside shader callbacks. * * @method lightness * @param {p5.Color|Number[]|String} color p5.Color object, array of @@ -1271,6 +1385,16 @@ function creatingReading(p5, fn){ * * @example * function setup() { + * let shader = baseMaterialShader().modify(() => { + * p5.getPixelInputs((inputs) => { + * let l = lightness(inputs.color); + * return vec4(l, l, l, 1.0); + * }); + * }); + * } + * + * @example + * function setup() { * createCanvas(100, 100); * * background(50); @@ -1396,6 +1520,10 @@ function creatingReading(p5, fn){ * The way that colors are interpolated depends on the current * colorMode(). * + * In p5.strands shader callbacks, `lerpColor()` interpolates between + * `vec4` colors and returns a normalized `vec4` with RGBA components in + * the 0–1 range. `colorMode()` has no effect inside shader callbacks. + * * @method lerpColor * @param {p5.Color} c1 interpolate from this color. * @param {p5.Color} c2 interpolate to this color. @@ -1404,6 +1532,15 @@ function creatingReading(p5, fn){ * * @example * function setup() { + * let shader = baseMaterialShader().modify(() => { + * let c1 = color('red'); + * let c2 = color('blue'); + * let mixed = lerpColor(c1, c2, 0.5); + * }); + * } + * + * @example + * function setup() { * createCanvas(100, 100); * * background(200); From 9f2abbf0f4a1065139f1d94a61decd346e322cc7 Mon Sep 17 00:00:00 2001 From: Yashi Singhal285 Date: Mon, 6 Jul 2026 00:17:44 +0530 Subject: [PATCH 2/6] =?UTF-8?q?docs(strands):=20fix=20strand=20examples=20?= =?UTF-8?q?per=20review=20=E2=80=94=20getPixelInputs,=20inputs.color=20pat?= =?UTF-8?q?tern,=20complete=20sketches,=20describe()?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/color/creating_reading.js | 191 ++++++++++++++++++++++++++++------ 1 file changed, 157 insertions(+), 34 deletions(-) diff --git a/src/color/creating_reading.js b/src/color/creating_reading.js index 4196f77ea1..a4a2b33af5 100644 --- a/src/color/creating_reading.js +++ b/src/color/creating_reading.js @@ -343,18 +343,28 @@ function creatingReading(p5, fn){ * } * * @example - * // Strands: color() inside a modify() callback returns a vec4 - * // with normalized RGBA (0-1), instead of a p5.Color object. + * let myShader; * function setup() { - * let shader = baseMaterialShader().modify(() => { - * p5.getPixelInputs((inputs) => { + * createCanvas(100, 100, WEBGL); + * + * myShader = baseMaterialShader().modify(() => { + * getPixelInputs((inputs) => { * // Same syntax as regular sketch code... * let c = color(255, 0, 0); - * // ...but c is a vec4 like (1.0, 0.0, 0.0, 1.0), not a p5.Color. - * return c; + * // ...but c is a vec4 with normalized RGBA (0-1), not a p5.Color. + * inputs.color = c; + * return inputs; * }); * }); * } + * + * function draw() { + * shader(myShader); + * noStroke(); + * sphere(40); + * + * describe('A red sphere on a gray background.'); + * } */ /** * @method color @@ -420,15 +430,27 @@ function creatingReading(p5, fn){ * @return {Number} the red value. * * @example + * let myShader; * function setup() { - * let shader = baseMaterialShader().modify(() => { - * p5.getPixelInputs((inputs) => { + * createCanvas(100, 100, WEBGL); + * + * myShader = baseMaterialShader().modify(() => { + * getPixelInputs((inputs) => { * let r = red(inputs.color); - * return vec4(r, 0.0, 0.0, 1.0); + * inputs.color = [r, 0, 0, 1]; + * return inputs; * }); * }); * } * + * function draw() { + * shader(myShader); + * noStroke(); + * sphere(40); + * + * describe('A sphere colored using only its red channel.'); + * } + * * @example * function setup() { * createCanvas(100, 100); @@ -555,15 +577,27 @@ function creatingReading(p5, fn){ * @return {Number} the green value. * * @example + * let myShader; * function setup() { - * let shader = baseMaterialShader().modify(() => { - * p5.getPixelInputs((inputs) => { + * createCanvas(100, 100, WEBGL); + * + * myShader = baseMaterialShader().modify(() => { + * getPixelInputs((inputs) => { * let g = green(inputs.color); - * return vec4(0.0, g, 0.0, 1.0); + * inputs.color = [0, g, 0, 1]; + * return inputs; * }); * }); * } * + * function draw() { + * shader(myShader); + * noStroke(); + * sphere(40); + * + * describe('A sphere colored using only its green channel.'); + * } + * * @example * function setup() { * createCanvas(100, 100); @@ -690,15 +724,27 @@ function creatingReading(p5, fn){ * @return {Number} the blue value. * * @example + * let myShader; * function setup() { - * let shader = baseMaterialShader().modify(() => { - * p5.getPixelInputs((inputs) => { + * createCanvas(100, 100, WEBGL); + * + * myShader = baseMaterialShader().modify(() => { + * getPixelInputs((inputs) => { * let b = blue(inputs.color); - * return vec4(0.0, 0.0, b, 1.0); + * inputs.color = [0, 0, b, 1]; + * return inputs; * }); * }); * } * + * function draw() { + * shader(myShader); + * noStroke(); + * sphere(40); + * + * describe('A sphere colored using only its blue channel.'); + * } + * * @example * function setup() { * createCanvas(100, 100); @@ -821,15 +867,27 @@ function creatingReading(p5, fn){ * @return {Number} the alpha value. * * @example + * let myShader; * function setup() { - * let shader = baseMaterialShader().modify(() => { - * p5.getPixelInputs((inputs) => { + * createCanvas(100, 100, WEBGL); + * + * myShader = baseMaterialShader().modify(() => { + * getPixelInputs((inputs) => { * let a = alpha(inputs.color); - * return vec4(inputs.color.rgb, a * 0.5); + * inputs.color = [inputs.color.rgb, a * 0.5]; + * return inputs; * }); * }); * } * + * function draw() { + * shader(myShader); + * noStroke(); + * sphere(40); + * + * describe('A semi-transparent sphere.'); + * } + * * @example * function setup() { * createCanvas(100, 100); @@ -930,15 +988,27 @@ function creatingReading(p5, fn){ * @return {Number} the hue value. * * @example + * let myShader; * function setup() { - * let shader = baseMaterialShader().modify(() => { - * p5.getPixelInputs((inputs) => { + * createCanvas(100, 100, WEBGL); + * + * myShader = baseMaterialShader().modify(() => { + * getPixelInputs((inputs) => { * let h = hue(inputs.color); - * return vec4(h, h, h, 1.0); + * inputs.color = [h, h, h, 1]; + * return inputs; * }); * }); * } * + * function draw() { + * shader(myShader); + * noStroke(); + * sphere(40); + * + * describe('A sphere shaded in grayscale based on hue.'); + * } + * * @example * function setup() { * createCanvas(100, 100); @@ -1070,15 +1140,27 @@ function creatingReading(p5, fn){ * @return {Number} the saturation value * * @example + * let myShader; * function setup() { - * let shader = baseMaterialShader().modify(() => { - * p5.getPixelInputs((inputs) => { + * createCanvas(100, 100, WEBGL); + * + * myShader = baseMaterialShader().modify(() => { + * getPixelInputs((inputs) => { * let s = saturation(inputs.color); - * return vec4(s, s, s, 1.0); + * inputs.color = [s, s, s, 1]; + * return inputs; * }); * }); * } * + * function draw() { + * shader(myShader); + * noStroke(); + * sphere(40); + * + * describe('A sphere shaded in grayscale based on saturation.'); + * } + * * @example * function setup() { * createCanvas(100, 100); @@ -1231,6 +1313,7 @@ function creatingReading(p5, fn){ * By default, `brightness()` returns a color's HSB brightness in the range 0 * to 100. If the colorMode() is set to HSB, it * returns the brightness value in the given range. + * * In p5.strands shader callbacks, `brightness()` operates on `vec4` values * and returns the brightness as a normalized value in the 0–1 range. * `colorMode()` has no effect inside shader callbacks. @@ -1241,15 +1324,27 @@ function creatingReading(p5, fn){ * @return {Number} the brightness value. * * @example + * let myShader; * function setup() { - * let shader = baseMaterialShader().modify(() => { - * p5.getPixelInputs((inputs) => { + * createCanvas(100, 100, WEBGL); + * + * myShader = baseMaterialShader().modify(() => { + * getPixelInputs((inputs) => { * let b = brightness(inputs.color); - * return vec4(b, b, b, 1.0); + * inputs.color = [b, b, b, 1]; + * return inputs; * }); * }); * } * + * function draw() { + * shader(myShader); + * noStroke(); + * sphere(40); + * + * describe('A sphere shaded in grayscale based on brightness.'); + * } + * * @example * function setup() { * createCanvas(100, 100); @@ -1374,6 +1469,7 @@ function creatingReading(p5, fn){ * By default, `lightness()` returns a color's HSL lightness in the range 0 * to 100. If the colorMode() is set to HSL, it * returns the lightness value in the given range. + * * In p5.strands shader callbacks, `lightness()` operates on `vec4` values * and returns the lightness as a normalized value in the 0–1 range. * `colorMode()` has no effect inside shader callbacks. @@ -1384,15 +1480,27 @@ function creatingReading(p5, fn){ * @return {Number} the lightness value. * * @example + * let myShader; * function setup() { - * let shader = baseMaterialShader().modify(() => { - * p5.getPixelInputs((inputs) => { + * createCanvas(100, 100, WEBGL); + * + * myShader = baseMaterialShader().modify(() => { + * getPixelInputs((inputs) => { * let l = lightness(inputs.color); - * return vec4(l, l, l, 1.0); + * inputs.color = [l, l, l, 1]; + * return inputs; * }); * }); * } * + * function draw() { + * shader(myShader); + * noStroke(); + * sphere(40); + * + * describe('A sphere shaded in grayscale based on lightness.'); + * } + * * @example * function setup() { * createCanvas(100, 100); @@ -1531,14 +1639,29 @@ function creatingReading(p5, fn){ * @return {p5.Color} interpolated color. * * @example + * let myShader; * function setup() { - * let shader = baseMaterialShader().modify(() => { - * let c1 = color('red'); - * let c2 = color('blue'); - * let mixed = lerpColor(c1, c2, 0.5); + * createCanvas(100, 100, WEBGL); + * + * myShader = baseMaterialShader().modify(() => { + * getPixelInputs((inputs) => { + * let c1 = color('red'); + * let c2 = color('blue'); + * let mixed = lerpColor(c1, c2, 0.5); + * inputs.color = mixed; + * return inputs; + * }); * }); * } * + * function draw() { + * shader(myShader); + * noStroke(); + * sphere(40); + * + * describe('A purple sphere, a blend of red and blue.'); + * } + * * @example * function setup() { * createCanvas(100, 100); From 025165f9777d4bfbe07d02a26011282da6245fe3 Mon Sep 17 00:00:00 2001 From: Yashi Singhal285 Date: Thu, 9 Jul 2026 15:16:23 +0530 Subject: [PATCH 3/6] docs(strands): switch to getFinalColor + vec4 return, verified in editor --- src/color/creating_reading.js | 71 ++++++++++++++++------------------- 1 file changed, 32 insertions(+), 39 deletions(-) diff --git a/src/color/creating_reading.js b/src/color/creating_reading.js index a4a2b33af5..fd19556141 100644 --- a/src/color/creating_reading.js +++ b/src/color/creating_reading.js @@ -348,12 +348,11 @@ function creatingReading(p5, fn){ * createCanvas(100, 100, WEBGL); * * myShader = baseMaterialShader().modify(() => { - * getPixelInputs((inputs) => { + * getFinalColor((col) => { * // Same syntax as regular sketch code... * let c = color(255, 0, 0); * // ...but c is a vec4 with normalized RGBA (0-1), not a p5.Color. - * inputs.color = c; - * return inputs; + * return vec4(c.r, c.g, c.b, c.a); * }); * }); * } @@ -435,10 +434,9 @@ function creatingReading(p5, fn){ * createCanvas(100, 100, WEBGL); * * myShader = baseMaterialShader().modify(() => { - * getPixelInputs((inputs) => { - * let r = red(inputs.color); - * inputs.color = [r, 0, 0, 1]; - * return inputs; + * getFinalColor((col) => { + * let r = red(col); + * return vec4(r, 0, 0, 1.0); * }); * }); * } @@ -582,10 +580,9 @@ function creatingReading(p5, fn){ * createCanvas(100, 100, WEBGL); * * myShader = baseMaterialShader().modify(() => { - * getPixelInputs((inputs) => { - * let g = green(inputs.color); - * inputs.color = [0, g, 0, 1]; - * return inputs; + * getFinalColor((col) => { + * let g = green(col); + * return vec4(0, g, 0, 1.0); * }); * }); * } @@ -729,10 +726,9 @@ function creatingReading(p5, fn){ * createCanvas(100, 100, WEBGL); * * myShader = baseMaterialShader().modify(() => { - * getPixelInputs((inputs) => { - * let b = blue(inputs.color); - * inputs.color = [0, 0, b, 1]; - * return inputs; + * getFinalColor((col) => { + * let b = blue(col); + * return vec4(0, 0, b, 1.0); * }); * }); * } @@ -872,10 +868,9 @@ function creatingReading(p5, fn){ * createCanvas(100, 100, WEBGL); * * myShader = baseMaterialShader().modify(() => { - * getPixelInputs((inputs) => { - * let a = alpha(inputs.color); - * inputs.color = [inputs.color.rgb, a * 0.5]; - * return inputs; + * getFinalColor((col) => { + * let a = alpha(col); + * return vec4(col.r, col.g, col.b, a * 0.5); * }); * }); * } @@ -993,10 +988,9 @@ function creatingReading(p5, fn){ * createCanvas(100, 100, WEBGL); * * myShader = baseMaterialShader().modify(() => { - * getPixelInputs((inputs) => { - * let h = hue(inputs.color); - * inputs.color = [h, h, h, 1]; - * return inputs; + * getFinalColor((col) => { + * let h = hue(col); + * return vec4(h, h, h, 1.0); * }); * }); * } @@ -1145,10 +1139,9 @@ function creatingReading(p5, fn){ * createCanvas(100, 100, WEBGL); * * myShader = baseMaterialShader().modify(() => { - * getPixelInputs((inputs) => { - * let s = saturation(inputs.color); - * inputs.color = [s, s, s, 1]; - * return inputs; + * getFinalColor((col) => { + * let s = saturation(col); + * return vec4(s, s, s, 1.0); * }); * }); * } @@ -1329,10 +1322,9 @@ function creatingReading(p5, fn){ * createCanvas(100, 100, WEBGL); * * myShader = baseMaterialShader().modify(() => { - * getPixelInputs((inputs) => { - * let b = brightness(inputs.color); - * inputs.color = [b, b, b, 1]; - * return inputs; + * getFinalColor((col) => { + * let b = brightness(col); + * return vec4(b, b, b, 1.0); * }); * }); * } @@ -1485,10 +1477,9 @@ function creatingReading(p5, fn){ * createCanvas(100, 100, WEBGL); * * myShader = baseMaterialShader().modify(() => { - * getPixelInputs((inputs) => { - * let l = lightness(inputs.color); - * inputs.color = [l, l, l, 1]; - * return inputs; + * getFinalColor((col) => { + * let l = lightness(col); + * return vec4(l, l, l, 1.0); * }); * }); * } @@ -1644,12 +1635,14 @@ function creatingReading(p5, fn){ * createCanvas(100, 100, WEBGL); * * myShader = baseMaterialShader().modify(() => { - * getPixelInputs((inputs) => { + * getFinalColor((col) => { * let c1 = color('red'); * let c2 = color('blue'); * let mixed = lerpColor(c1, c2, 0.5); - * inputs.color = mixed; - * return inputs; + * let r = red(mixed); + * let g = green(mixed); + * let b = blue(mixed); + * return vec4(r, g, b, 1.0); * }); * }); * } @@ -1759,4 +1752,4 @@ export default creatingReading; if(typeof p5 !== 'undefined'){ creatingReading(p5, p5.prototype); -} +} \ No newline at end of file From 58986c9216733d76b6b299d1895bfc50162cffdc Mon Sep 17 00:00:00 2001 From: limzykenneth Date: Thu, 9 Jul 2026 20:15:23 +0100 Subject: [PATCH 4/6] Rename HDR to P3 --- src/color/creating_reading.js | 10 +++++----- src/color/p5.Color.js | 24 ++++++++++++------------ src/color/setting.js | 18 +++++++++--------- src/core/constants.js | 10 +++++----- src/core/environment.js | 4 ++-- src/core/p5.Graphics.js | 2 +- src/core/p5.Renderer2D.js | 6 +++--- src/core/rendering.js | 2 +- 8 files changed, 38 insertions(+), 38 deletions(-) diff --git a/src/color/creating_reading.js b/src/color/creating_reading.js index fd19556141..2be803b1a8 100644 --- a/src/color/creating_reading.js +++ b/src/color/creating_reading.js @@ -13,11 +13,11 @@ import { Color } from './p5.Color'; */ export const RGB = 'rgb'; /** - * @typedef {'rgbhdr'} RGBHDR - * @property {RGBHDR} RGBHDR + * @typedef {'rgbp3'} RGBP3 + * @property {RGBP3} RGBP3 * @final */ -export const RGBHDR = 'rgbhdr'; +export const RGBP3 = 'rgbp3'; /** * HSB (hue, saturation, brightness) is a type of color model. * You can learn more about it at @@ -73,7 +73,7 @@ export const RGBA = 'rgba'; function creatingReading(p5, fn){ fn.RGB = RGB; - fn.RGBHDR = RGBHDR; + fn.RGBP3 = RGBP3; fn.HSB = HSB; fn.HSL = HSL; fn.HWB = HWB; @@ -90,7 +90,7 @@ function creatingReading(p5, fn){ p5.Renderer.states.colorMode = RGB; p5.Renderer.states.colorMaxes = { [RGB]: [255, 255, 255, 255], - [RGBHDR]: [255, 255, 255, 255], + [RGBP3]: [255, 255, 255, 255], [HSB]: [360, 100, 100, 1], [HSL]: [360, 100, 100, 1], [HWB]: [360, 100, 100, 1], diff --git a/src/color/p5.Color.js b/src/color/p5.Color.js index 29b5996fb3..fb4b62a4f8 100644 --- a/src/color/p5.Color.js +++ b/src/color/p5.Color.js @@ -4,7 +4,7 @@ * @for p5 */ -import { RGB, RGBHDR, HSL, HSB, HWB, LAB, LCH, OKLAB, OKLCH } from './creating_reading'; +import { RGB, RGBP3, HSL, HSB, HWB, LAB, LCH, OKLAB, OKLCH } from './creating_reading'; import { @@ -557,7 +557,7 @@ class Color { const colorjsMax = Color.#colorjsMaxes[RGB][0]; const newval = map(new_red, max[0], max[1], colorjsMax[0], colorjsMax[1]); - if(this.mode === RGB || this.mode === RGBHDR){ + if(this.mode === RGB || this.mode === RGBP3){ this._color.coords[0] = newval; }else{ // Will do an imprecise conversion to 'srgb', not recommended @@ -609,7 +609,7 @@ class Color { const colorjsMax = Color.#colorjsMaxes[RGB][1]; const newval = map(new_green, max[0], max[1], colorjsMax[0], colorjsMax[1]); - if(this.mode === RGB || this.mode === RGBHDR){ + if(this.mode === RGB || this.mode === RGBP3){ this._color.coords[1] = newval; }else{ // Will do an imprecise conversion to 'srgb', not recommended @@ -661,7 +661,7 @@ class Color { const colorjsMax = Color.#colorjsMaxes[RGB][2]; const newval = map(new_blue, max[0], max[1], colorjsMax[0], colorjsMax[1]); - if(this.mode === RGB || this.mode === RGBHDR){ + if(this.mode === RGB || this.mode === RGBP3){ this._color.coords[2] = newval; }else{ // Will do an imprecise conversion to 'srgb', not recommended @@ -753,7 +753,7 @@ class Color { max = [0, max]; } - if(this.mode === RGB || this.mode === RGBHDR){ + if(this.mode === RGB || this.mode === RGBP3){ const colorjsMax = Color.#colorjsMaxes[this.mode][0]; return map( this._color.coords[0], @@ -777,7 +777,7 @@ class Color { max = [0, max]; } - if(this.mode === RGB || this.mode === RGBHDR){ + if(this.mode === RGB || this.mode === RGBP3){ const colorjsMax = Color.#colorjsMaxes[this.mode][1]; return map( this._color.coords[1], @@ -796,7 +796,7 @@ class Color { max = [0, max]; } - if(this.mode === RGB || this.mode === RGBHDR){ + if(this.mode === RGB || this.mode === RGBP3){ const colorjsMax = Color.#colorjsMaxes[this.mode][2]; return map( this._color.coords[2], @@ -1022,7 +1022,7 @@ function color(p5, fn, lifecycles){ // Register color modes and initialize Color maxes to what p5 has set for itself p5.Color.addColorMode(RGB, sRGB); - p5.Color.addColorMode(RGBHDR, P3); + p5.Color.addColorMode(RGBP3, P3); p5.Color.addColorMode(HSB, HSBSpace); p5.Color.addColorMode(HSL, HSLSpace); p5.Color.addColorMode(HWB, HWBSpace); @@ -1068,19 +1068,19 @@ function color(p5, fn, lifecycles){ decorateGet('Red', { [RGB]: 0, - [RGBHDR]: 0 + [RGBP3]: 0 }); decorateGet('Green', { [RGB]: 1, - [RGBHDR]: 1 + [RGBP3]: 1 }); decorateGet('Blue', { [RGB]: 2, - [RGBHDR]: 2 + [RGBP3]: 2 }); decorateGet('Alpha', { [RGB]: 3, - [RGBHDR]: 3, + [RGBP3]: 3, [HSB]: 3, [HSL]: 3, [HWB]: 3, diff --git a/src/color/setting.js b/src/color/setting.js index 04ddb8372f..cf4310fed8 100644 --- a/src/color/setting.js +++ b/src/color/setting.js @@ -5,7 +5,7 @@ */ import * as constants from '../core/constants'; -import { RGB, RGBHDR, HSL, HSB, HWB, LAB, LCH, OKLAB, OKLCH } from './creating_reading'; +import { RGB, RGBP3, HSL, HSB, HWB, LAB, LCH, OKLAB, OKLCH } from './creating_reading'; function setting(p5, fn){ /** @@ -670,9 +670,9 @@ function setting(p5, fn){ * * Some additional color modes that p5.js supports are: * - * `RGBHDR` - High Dynamic Range RGB defined within the Display P3 color space. + * `RGBP3` - High Dynamic Range RGB defined within the Display P3 color space. * Colors are expressed with an extended dynamic range. To render these colors - * accurately, you must use the HDR canvas. + * accurately, you must use the P3 canvas. * * `HWB` - Hue, Whiteness, Blackness. * Similar to HSB and HSL, this mode uses a hue angle. @@ -720,10 +720,10 @@ function setting(p5, fn){ * ranges are currently not handled, so results in those cases may be ambiguous. * * @method colorMode - * @param {RGB|HSB|HSL|RGBHDR|HWB|LAB|LCH|OKLAB|OKLCH} mode either RGB, HSB, HSL, + * @param {RGB|HSB|HSL|RGBP3|HWB|LAB|LCH|OKLAB|OKLCH} mode either RGB, HSB, HSL, * or one of the extended modes described above. * @param {Number} [max] range for all values. - * @return {RGB|HSB|HSL|RGBHDR|HWB|LAB|LCH|OKLAB|OKLCH} The current color mode. + * @return {RGB|HSB|HSL|RGBP3|HWB|LAB|LCH|OKLAB|OKLCH} The current color mode. * * @example * function setup() { @@ -1016,7 +1016,7 @@ function setting(p5, fn){ */ /** * @method colorMode - * @param {RGB|HSB|HSL|RGBHDR|HWB|LAB|LCH|OKLAB|OKLCH} mode + * @param {RGB|HSB|HSL|RGBP3|HWB|LAB|LCH|OKLAB|OKLCH} mode * @param {Number} max1 range for the red or hue depending on the * current color mode. * @param {Number} max2 range for the green or saturation depending @@ -1025,18 +1025,18 @@ function setting(p5, fn){ * depending on the current color mode. * @param {Number} [maxA] range for the alpha. * - * @return {RGB|HSB|HSL|RGBHDR|HWB|LAB|LCH|OKLAB|OKLCH} The current color mode. + * @return {RGB|HSB|HSL|RGBP3|HWB|LAB|LCH|OKLAB|OKLCH} The current color mode. */ /** * @method colorMode - * @return {RGB|HSB|HSL|RGBHDR|HWB|LAB|LCH|OKLAB|OKLCH} The current color mode. + * @return {RGB|HSB|HSL|RGBP3|HWB|LAB|LCH|OKLAB|OKLCH} The current color mode. */ fn.colorMode = function(mode, max1, max2, max3, maxA) { // p5._validateParameters('colorMode', arguments); if ( [ RGB, - RGBHDR, + RGBP3, HSB, HSL, HWB, diff --git a/src/core/constants.js b/src/core/constants.js index 5e889f835c..ea4f3ee76a 100644 --- a/src/core/constants.js +++ b/src/core/constants.js @@ -27,18 +27,18 @@ export const VERSION = 'VERSION_WILL_BE_REPLACED_BY_BUILD'; export const P2D = 'p2d'; /** - * A high-dynamic-range (HDR) variant of the default, two-dimensional renderer. + * An expanded color space (P3) variant of the default, two-dimensional renderer. * * When available, this mode can allow for extended color ranges and more * dynamic color representation. Use it similarly to `P2D`: - * `createCanvas(400, 400, P2DHDR)`. + * `createCanvas(400, 400, P2DP3)`. * - * @typedef {'p2d-hdr'} P2DHDR - * @property {P2DHDR} P2DHDR + * @typedef {'p2d-p3'} P2DP3 + * @property {P2DP3} P2DP3 * @final */ -export const P2DHDR = 'p2d-hdr'; +export const P2DP3 = 'p2d-p3'; /** * One of the two render modes in p5.js, used for computationally intensive tasks like 3D rendering and shaders. diff --git a/src/core/environment.js b/src/core/environment.js index dcac93ad85..0a9001caa3 100644 --- a/src/core/environment.js +++ b/src/core/environment.js @@ -216,7 +216,7 @@ function environment(p5, fn, lifecycles){ * cursor, `x` and `y` set the location pointed to within the image. They are * both 0 by default, so the cursor points to the image's top-left corner. `x` * and `y` must be less than the image's width and height, respectively. - * + * * Calling `cursor()` without an argument returns the current cursor type as a string. * * @method cursor @@ -494,7 +494,7 @@ function environment(p5, fn, lifecycles){ * - `WEBGL2` whose value is `'webgl2'`, * - `WEBGL` whose value is `'webgl'`, or * - `P2D` whose value is `'p2d'`. This is the default for 2D sketches. - * - `P2DHDR` whose value is `'p2d-hdr'` (used for HDR 2D sketches, if available). + * - `P2DP3` whose value is `'p2d-p3'` (used for P3 2D sketches, if available). * * See setAttributes() for ways to set the * WebGL version. diff --git a/src/core/p5.Graphics.js b/src/core/p5.Graphics.js index 736cd59ad0..26f5b2d87b 100644 --- a/src/core/p5.Graphics.js +++ b/src/core/p5.Graphics.js @@ -595,7 +595,7 @@ function graphics(p5, fn){ * @extends p5.Element * @param {Number} w width width of the graphics buffer in pixels. * @param {Number} h height height of the graphics buffer in pixels. - * @param {(P2D|WEBGL|P2DHDR)} renderer the renderer to use, either P2D or WEBGL. + * @param {(P2D|WEBGL|P2DP3)} renderer the renderer to use, either P2D or WEBGL. * @param {p5} [pInst] sketch instance. * @param {HTMLCanvasElement} [canvas] existing `` element to use. * diff --git a/src/core/p5.Renderer2D.js b/src/core/p5.Renderer2D.js index a75456f909..06b199399c 100644 --- a/src/core/p5.Renderer2D.js +++ b/src/core/p5.Renderer2D.js @@ -5,7 +5,7 @@ import { Graphics } from './p5.Graphics'; import { Image } from '../image/p5.Image'; import { Element } from '../dom/p5.Element'; import { MediaElement } from '../dom/p5.MediaElement'; -import { RGBHDR } from '../color/creating_reading'; +import { RGBP3 } from '../color/creating_reading'; import FilterRenderer2D from '../image/filterRenderer2D'; import { Matrix } from '../math/p5.Matrix'; import { PrimitiveToPath2DConverter } from '../shape/custom_shapes'; @@ -67,7 +67,7 @@ class Renderer2D extends Renderer { // Get and store drawing context this.drawingContext = this.canvas.getContext('2d', attributes); if(attributes.colorSpace === 'display-p3'){ - this.states.colorMode = RGBHDR; + this.states.colorMode = RGBP3; } this.scale(this._pixelDensity, this._pixelDensity); @@ -1038,7 +1038,7 @@ function renderer2D(p5, fn){ */ p5.Renderer2D = Renderer2D; p5.renderers[constants.P2D] = Renderer2D; - p5.renderers['p2d-hdr'] = new Proxy(Renderer2D, { + p5.renderers['p2d-p3'] = new Proxy(Renderer2D, { construct(target, [pInst, w, h, isMainCanvas, elt]){ return new target(pInst, w, h, isMainCanvas, elt, { colorSpace: 'display-p3' }); } diff --git a/src/core/rendering.js b/src/core/rendering.js index 984837df61..8185f3b977 100644 --- a/src/core/rendering.js +++ b/src/core/rendering.js @@ -50,7 +50,7 @@ function rendering(p5, fn){ * @method createCanvas * @param {Number} [width] width of the canvas. Defaults to 100. * @param {Number} [height] height of the canvas. Defaults to 100. - * @param {(P2D|WEBGL|P2DHDR)} [renderer] either P2D or WEBGL. Defaults to `P2D`. + * @param {(P2D|WEBGL|P2DP3)} [renderer] either P2D or WEBGL. Defaults to `P2D`. * @param {HTMLCanvasElement} [canvas] existing canvas element that should be used for the sketch. * @return {p5.Renderer} new `p5.Renderer` that holds the canvas. * From 4d7fe8fd5f102108c3a678818ec871daf81ca01e Mon Sep 17 00:00:00 2001 From: limzykenneth Date: Thu, 9 Jul 2026 20:43:55 +0100 Subject: [PATCH 5/6] Update parameterData.json --- docs/parameterData.json | 988 ++++++++++++++++++++-------------------- 1 file changed, 505 insertions(+), 483 deletions(-) diff --git a/docs/parameterData.json b/docs/parameterData.json index 0bdd3fa6da..bee74cb5d6 100644 --- a/docs/parameterData.json +++ b/docs/parameterData.json @@ -243,13 +243,6 @@ [] ] }, - "abs": { - "overloads": [ - [ - "Number" - ] - ] - }, "mult": { "overloads": [ [ @@ -296,13 +289,6 @@ ] ] }, - "ceil": { - "overloads": [ - [ - "Number" - ] - ] - }, "ellipseMode": { "overloads": [ [ @@ -311,6 +297,13 @@ [] ] }, + "abs": { + "overloads": [ + [ + "Number" + ] + ] + }, "nf": { "overloads": [ [ @@ -421,7 +414,7 @@ [ "Number?", "Number?", - "P2D|WEBGL|P2DHDR?", + "P2D|WEBGL|P2DP3?", "HTMLCanvasElement?" ], [ @@ -447,15 +440,6 @@ ] ] }, - "constrain": { - "overloads": [ - [ - "Number", - "Number", - "Number" - ] - ] - }, "createImage": { "overloads": [ [ @@ -464,13 +448,6 @@ ] ] }, - "acos": { - "overloads": [ - [ - "Number" - ] - ] - }, "orbitControl": { "overloads": [ [ @@ -493,6 +470,13 @@ ] ] }, + "ceil": { + "overloads": [ + [ + "Number" + ] + ] + }, "ambientLight": { "overloads": [ [ @@ -552,6 +536,13 @@ ] ] }, + "acos": { + "overloads": [ + [ + "Number" + ] + ] + }, "endClip": { "overloads": [ [] @@ -597,36 +588,6 @@ [] ] }, - "dist": { - "overloads": [ - [ - "Number", - "Number", - "Number", - "Number" - ], - [ - "Number", - "Number", - "Number", - "Number", - "Number", - "Number" - ] - ] - }, - "asin": { - "overloads": [ - [ - "Number" - ] - ] - }, - "millis": { - "overloads": [ - [] - ] - }, "instanceID": { "overloads": [ [] @@ -702,6 +663,15 @@ ] ] }, + "mix": { + "overloads": [ + [ + "Number|p5.Vector", + "Number|p5.Vector", + "Number|Boolean" + ] + ] + }, "applyMatrix": { "overloads": [ [ @@ -747,54 +717,34 @@ ] ] }, - "push": { - "overloads": [ - [] - ] - }, - "noise": { + "constrain": { "overloads": [ [ "Number", - "Number?", - "Number?" + "Number", + "Number" ] ] }, - "describeElement": { + "push": { "overloads": [ - [ - "String", - "String", - "FALLBACK|LABEL?" - ] + [] ] }, - "saveGif": { + "describeElement": { "overloads": [ [ "String", - "Number", - "Object?" + "String", + "FALLBACK|LABEL?" ] ] }, - "month": { + "millis": { "overloads": [ [] ] }, - "random": { - "overloads": [ - [ - "Number?", - "Number?" - ], - [ - "Array" - ] - ] - }, "isLooping": { "overloads": [ [] @@ -816,6 +766,15 @@ ] ] }, + "saveGif": { + "overloads": [ + [ + "String", + "Number", + "Object?" + ] + ] + }, "saveCanvas": { "overloads": [ [ @@ -829,13 +788,6 @@ ] ] }, - "atan": { - "overloads": [ - [ - "Number" - ] - ] - }, "resetMatrix": { "overloads": [ [] @@ -848,24 +800,37 @@ ] ] }, - "exp": { + "noise": { "overloads": [ [ - "Number" + "Number", + "Number?", + "Number?" ] ] }, - "second": { + "rectMode": { + "overloads": [ + [ + "CENTER|RADIUS|CORNER|CORNERS" + ], + [] + ] + }, + "month": { "overloads": [ [] ] }, - "rectMode": { + "random": { "overloads": [ [ - "CENTER|RADIUS|CORNER|CORNERS" + "Number?", + "Number?" ], - [] + [ + "Array" + ] ] }, "loadJSON": { @@ -904,26 +869,39 @@ ] ] }, - "cursor": { + "asin": { "overloads": [ [ - "ARROW|CROSS|HAND|MOVE|TEXT|WAIT|String", - "Number?", - "Number?" - ], - [] + "Number" + ] ] }, - "year": { + "dist": { "overloads": [ - [] + [ + "Number", + "Number", + "Number", + "Number" + ], + [ + "Number", + "Number", + "Number", + "Number", + "Number", + "Number" + ] ] }, - "floor": { + "cursor": { "overloads": [ [ - "Number" - ] + "ARROW|CROSS|HAND|MOVE|TEXT|WAIT|String", + "Number?", + "Number?" + ], + [] ] }, "str": { @@ -933,6 +911,11 @@ ] ] }, + "second": { + "overloads": [ + [] + ] + }, "buildGeometry": { "overloads": [ [ @@ -961,6 +944,15 @@ ] ] }, + "set": { + "overloads": [ + [ + "Number", + "Number", + "Number|Number[]|Object" + ] + ] + }, "loadModel": { "overloads": [ [ @@ -982,14 +974,6 @@ ] ] }, - "randomGaussian": { - "overloads": [ - [ - "Number?", - "Number?" - ] - ] - }, "redraw": { "overloads": [ [ @@ -997,12 +981,9 @@ ] ] }, - "atan2": { + "year": { "overloads": [ - [ - "Number", - "Number" - ] + [] ] }, "nfp": { @@ -1048,11 +1029,27 @@ ] ] }, + "randomGaussian": { + "overloads": [ + [ + "Number?", + "Number?" + ] + ] + }, "addElement": { "overloads": [ [] ] }, + "clip": { + "overloads": [ + [ + "Function", + "Object?" + ] + ] + }, "color": { "overloads": [ [ @@ -1076,32 +1073,14 @@ ] ] }, - "clip": { + "atan": { "overloads": [ [ - "Function", - "Object?" + "Number" ] ] }, - "noiseDetail": { - "overloads": [ - [ - "Number", - "Number?" - ] - ] - }, - "lerp": { - "overloads": [ - [ - "Number", - "Number", - "Number" - ] - ] - }, - "createGraphics": { + "createGraphics": { "overloads": [ [ "Number", @@ -1116,6 +1095,13 @@ ] ] }, + "freeGeometry": { + "overloads": [ + [ + "p5.Geometry" + ] + ] + }, "frameRate": { "overloads": [ [ @@ -1124,24 +1110,25 @@ [] ] }, - "freeGeometry": { + "strokeCap": { "overloads": [ [ - "p5.Geometry" + "ROUND|SQUARE|PROJECT" ] ] }, - "cos": { + "exp": { "overloads": [ [ "Number" ] ] }, - "strokeCap": { + "noiseDetail": { "overloads": [ [ - "ROUND|SQUARE|PROJECT" + "Number", + "Number?" ] ] }, @@ -1207,13 +1194,6 @@ ] ] }, - "setMoveThreshold": { - "overloads": [ - [ - "Number" - ] - ] - }, "bezierTangent": { "overloads": [ [ @@ -1225,7 +1205,7 @@ ] ] }, - "noiseSeed": { + "setMoveThreshold": { "overloads": [ [ "Number" @@ -1249,13 +1229,6 @@ ] ] }, - "log": { - "overloads": [ - [ - "Number" - ] - ] - }, "createP": { "overloads": [ [ @@ -1272,6 +1245,14 @@ ] ] }, + "atan2": { + "overloads": [ + [ + "Number", + "Number" + ] + ] + }, "nfs": { "overloads": [ [ @@ -1298,18 +1279,18 @@ ] ] }, - "saveStl": { + "noiseSeed": { "overloads": [ [ - "String?", - "Object?" + "Number" ] ] }, - "sin": { + "saveStl": { "overloads": [ [ - "Number" + "String?", + "Object?" ] ] }, @@ -1322,10 +1303,9 @@ ] ] }, - "mag": { + "floor": { "overloads": [ [ - "Number", "Number" ] ] @@ -1356,13 +1336,6 @@ ] ] }, - "red": { - "overloads": [ - [ - "p5.Color|Number[]|String" - ] - ] - }, "strokeJoin": { "overloads": [ [ @@ -1383,10 +1356,10 @@ ] ] }, - "tan": { + "red": { "overloads": [ [ - "Number" + "p5.Color|Number[]|String" ] ] }, @@ -1406,13 +1379,6 @@ ] ] }, - "degrees": { - "overloads": [ - [ - "Number" - ] - ] - }, "rotateX": { "overloads": [ [ @@ -1427,18 +1393,6 @@ ] ] }, - "map": { - "overloads": [ - [ - "Number", - "Number", - "Number", - "Number", - "Number", - "Boolean?" - ] - ] - }, "createImg": { "overloads": [ [ @@ -1461,7 +1415,7 @@ [] ] }, - "radians": { + "cos": { "overloads": [ [ "Number" @@ -1547,10 +1501,12 @@ ] ] }, - "green": { + "lerp": { "overloads": [ [ - "p5.Color|Number[]|String" + "Number", + "Number", + "Number" ] ] }, @@ -1579,14 +1535,10 @@ ] ] }, - "max": { + "green": { "overloads": [ [ - "Number", - "Number" - ], - [ - "Number[]" + "p5.Color|Number[]|String" ] ] }, @@ -1645,6 +1597,17 @@ ] ] }, + "clear": { + "overloads": [ + [ + "Number?", + "Number?", + "Number?", + "Number?" + ], + [] + ] + }, "setup": { "overloads": [ [] @@ -1662,17 +1625,6 @@ ] ] }, - "clear": { - "overloads": [ - [ - "Number?", - "Number?", - "Number?", - "Number?" - ], - [] - ] - }, "char": { "overloads": [ [ @@ -1759,6 +1711,13 @@ ] ] }, + "sin": { + "overloads": [ + [ + "Number" + ] + ] + }, "loadXML": { "overloads": [ [ @@ -1783,14 +1742,10 @@ ] ] }, - "min": { + "log": { "overloads": [ [ - "Number", "Number" - ], - [ - "Number[]" ] ] }, @@ -1809,26 +1764,6 @@ ] ] }, - "noDebugMode": { - "overloads": [ - [] - ] - }, - "blue": { - "overloads": [ - [ - "p5.Color|Number[]|String" - ] - ] - }, - "angleMode": { - "overloads": [ - [ - "RADIANS|DEGREES" - ], - [] - ] - }, "unchar": { "overloads": [ [ @@ -1839,6 +1774,11 @@ ] ] }, + "noDebugMode": { + "overloads": [ + [] + ] + }, "sphere": { "overloads": [ [ @@ -1874,6 +1814,13 @@ ] ] }, + "blue": { + "overloads": [ + [ + "p5.Color|Number[]|String" + ] + ] + }, "createSlider": { "overloads": [ [ @@ -1884,33 +1831,31 @@ ] ] }, - "norm": { + "mag": { "overloads": [ [ - "Number", "Number", "Number" ] ] }, - "keyReleased": { + "tan": { "overloads": [ [ - "KeyboardEvent?" + "Number" ] ] }, - "rotateZ": { + "keyReleased": { "overloads": [ [ - "Number" + "KeyboardEvent?" ] ] }, - "pow": { + "rotateZ": { "overloads": [ [ - "Number", "Number" ] ] @@ -1924,6 +1869,25 @@ ] ] }, + "fullscreen": { + "overloads": [ + [ + "Boolean?" + ] + ] + }, + "point": { + "overloads": [ + [ + "Number", + "Number", + "Number?" + ], + [ + "p5.Vector" + ] + ] + }, "pointLight": { "overloads": [ [ @@ -1952,32 +1916,6 @@ ] ] }, - "fullscreen": { - "overloads": [ - [ - "Boolean?" - ] - ] - }, - "point": { - "overloads": [ - [ - "Number", - "Number", - "Number?" - ], - [ - "p5.Vector" - ] - ] - }, - "alpha": { - "overloads": [ - [ - "p5.Color|Number[]|String" - ] - ] - }, "createButton": { "overloads": [ [ @@ -1993,28 +1931,25 @@ ] ] }, - "endShape": { + "alpha": { "overloads": [ [ - "CLOSE?", - "Integer?" + "p5.Color|Number[]|String" ] ] }, - "set": { + "endShape": { "overloads": [ [ - "Number", - "Number", - "Number|Number[]|Object" + "CLOSE?", + "Integer?" ] ] }, - "round": { + "degrees": { "overloads": [ [ - "Number", - "Number?" + "Number" ] ] }, @@ -2041,13 +1976,26 @@ ] ] }, - "imageLight": { + "map": { "overloads": [ [ - "p5.Image" + "Number", + "Number", + "Number", + "Number", + "Number", + "Boolean?" ] ] }, + "pixelDensity": { + "overloads": [ + [ + "Number?" + ], + [] + ] + }, "httpGet": { "overloads": [ [ @@ -2063,12 +2011,11 @@ ] ] }, - "pixelDensity": { + "imageLight": { "overloads": [ [ - "Number?" - ], - [] + "p5.Image" + ] ] }, "updatePixels": { @@ -2082,7 +2029,12 @@ [] ] }, - "sq": { + "displayDensity": { + "overloads": [ + [] + ] + }, + "radians": { "overloads": [ [ "Number" @@ -2104,11 +2056,6 @@ ] ] }, - "displayDensity": { - "overloads": [ - [] - ] - }, "keyTyped": { "overloads": [ [ @@ -2116,13 +2063,6 @@ ] ] }, - "hue": { - "overloads": [ - [ - "p5.Color|Number[]|String" - ] - ] - }, "cylinder": { "overloads": [ [ @@ -2147,6 +2087,13 @@ ] ] }, + "hue": { + "overloads": [ + [ + "p5.Color|Number[]|String" + ] + ] + }, "unhex": { "overloads": [ [ @@ -2189,13 +2136,6 @@ ] ] }, - "sqrt": { - "overloads": [ - [ - "Number" - ] - ] - }, "httpPost": { "overloads": [ [ @@ -2223,27 +2163,20 @@ [] ] }, - "lights": { - "overloads": [ - [] - ] - }, - "fract": { + "max": { "overloads": [ [ + "Number", "Number" + ], + [ + "Number[]" ] ] }, - "splineTangent": { + "lights": { "overloads": [ - [ - "Number", - "Number", - "Number", - "Number", - "Number" - ] + [] ] }, "getURLPath": { @@ -2251,40 +2184,26 @@ [] ] }, - "normal": { + "splineTangent": { "overloads": [ [ - "p5.Vector" - ], - [ + "Number", + "Number", "Number", "Number", "Number" ] ] }, - "image": { + "normal": { "overloads": [ [ - "p5.Image|p5.Element|p5.Texture|p5.Framebuffer|p5.FramebufferTexture|p5.Renderer|p5.Graphics", - "Number", - "Number", - "Number?", - "Number?" + "p5.Vector" ], [ - "p5.Image|p5.Element|p5.Texture|p5.Framebuffer|p5.FramebufferTexture", - "Number", "Number", "Number", - "Number", - "Number", - "Number", - "Number?", - "Number?", - "CONTAIN|COVER?", - "LEFT|RIGHT|CENTER?", - "TOP|BOTTOM|CENTER?" + "Number" ] ] }, @@ -2298,11 +2217,11 @@ "colorMode": { "overloads": [ [ - "RGB|HSB|HSL|RGBHDR|HWB|LAB|LCH|OKLAB|OKLCH", + "RGB|HSB|HSL|RGBP3|HWB|LAB|LCH|OKLAB|OKLCH", "Number?" ], [ - "RGB|HSB|HSL|RGBHDR|HWB|LAB|LCH|OKLAB|OKLCH", + "RGB|HSB|HSL|RGBP3|HWB|LAB|LCH|OKLAB|OKLCH", "Number", "Number", "Number", @@ -2316,6 +2235,31 @@ [] ] }, + "image": { + "overloads": [ + [ + "p5.Image|p5.Element|p5.Texture|p5.Framebuffer|p5.FramebufferTexture|p5.Renderer|p5.Graphics", + "Number", + "Number", + "Number?", + "Number?" + ], + [ + "p5.Image|p5.Element|p5.Texture|p5.Framebuffer|p5.FramebufferTexture", + "Number", + "Number", + "Number", + "Number", + "Number", + "Number", + "Number?", + "Number?", + "CONTAIN|COVER?", + "LEFT|RIGHT|CENTER?", + "TOP|BOTTOM|CENTER?" + ] + ] + }, "lightFalloff": { "overloads": [ [ @@ -2325,24 +2269,24 @@ ] ] }, - "mouseMoved": { + "shader": { "overloads": [ [ - "MouseEvent?" + "p5.Shader" ] ] }, - "mouseDragged": { + "mouseMoved": { "overloads": [ [ "MouseEvent?" ] ] }, - "shader": { + "mouseDragged": { "overloads": [ [ - "p5.Shader" + "MouseEvent?" ] ] }, @@ -2360,6 +2304,14 @@ ] ] }, + "angleMode": { + "overloads": [ + [ + "RADIANS|DEGREES" + ], + [] + ] + }, "rect": { "overloads": [ [ @@ -2389,6 +2341,17 @@ ] ] }, + "min": { + "overloads": [ + [ + "Number", + "Number" + ], + [ + "Number[]" + ] + ] + }, "httpDo": { "overloads": [ [ @@ -2442,6 +2405,15 @@ ] ] }, + "norm": { + "overloads": [ + [ + "Number", + "Number", + "Number" + ] + ] + }, "worldToScreen": { "overloads": [ [ @@ -2472,6 +2444,15 @@ ] ] }, + "screenToWorld": { + "overloads": [ + [ + "Number|p5.Vector", + "Number", + "Number?" + ] + ] + }, "createModel": { "overloads": [ [ @@ -2494,12 +2475,10 @@ ] ] }, - "screenToWorld": { + "strokeShader": { "overloads": [ [ - "Number|p5.Vector", - "Number", - "Number?" + "p5.Shader" ] ] }, @@ -2510,10 +2489,11 @@ ] ] }, - "strokeShader": { + "pow": { "overloads": [ [ - "p5.Shader" + "Number", + "Number" ] ] }, @@ -2524,6 +2504,18 @@ ] ] }, + "translate": { + "overloads": [ + [ + "Number", + "Number", + "Number?" + ], + [ + "p5.Vector" + ] + ] + }, "tint": { "overloads": [ [ @@ -2548,15 +2540,11 @@ [] ] }, - "translate": { - "overloads": [ - [ - "Number", - "Number", - "Number?" - ], + "createWriter": { + "overloads": [ [ - "p5.Vector" + "String", + "String?" ] ] }, @@ -2644,14 +2632,6 @@ ] ] }, - "createWriter": { - "overloads": [ - [ - "String", - "String?" - ] - ] - }, "fill": { "overloads": [ [ @@ -2676,11 +2656,6 @@ [] ] }, - "noTint": { - "overloads": [ - [] - ] - }, "triangle": { "overloads": [ [ @@ -2846,6 +2821,11 @@ [] ] }, + "noTint": { + "overloads": [ + [] + ] + }, "ellipsoid": { "overloads": [ [ @@ -2857,6 +2837,14 @@ ] ] }, + "round": { + "overloads": [ + [ + "Number", + "Number?" + ] + ] + }, "noFill": { "overloads": [ [] @@ -2867,17 +2855,17 @@ [] ] }, - "lightness": { + "imageShader": { "overloads": [ [ - "p5.Color|Number[]|String" + "p5.Shader" ] ] }, - "imageShader": { + "lightness": { "overloads": [ [ - "p5.Shader" + "p5.Color|Number[]|String" ] ] }, @@ -2900,14 +2888,6 @@ [] ] }, - "imageMode": { - "overloads": [ - [ - "CORNER|CORNERS|CENTER" - ], - [] - ] - }, "createRadio": { "overloads": [ [ @@ -2919,6 +2899,13 @@ [] ] }, + "sq": { + "overloads": [ + [ + "Number" + ] + ] + }, "createVideo": { "overloads": [ [ @@ -2927,6 +2914,14 @@ ] ] }, + "imageMode": { + "overloads": [ + [ + "CORNER|CORNERS|CENTER" + ], + [] + ] + }, "loadFont": { "overloads": [ [ @@ -2978,6 +2973,13 @@ ] ] }, + "sqrt": { + "overloads": [ + [ + "Number" + ] + ] + }, "close": { "overloads": [ [] @@ -3002,6 +3004,13 @@ ] ] }, + "fract": { + "overloads": [ + [ + "Number" + ] + ] + }, "createCapture": { "overloads": [ [ @@ -3060,6 +3069,11 @@ ] ] }, + "baseMaterialShader": { + "overloads": [ + [] + ] + }, "doubleClicked": { "overloads": [ [ @@ -3067,11 +3081,6 @@ ] ] }, - "baseMaterialShader": { - "overloads": [ - [] - ] - }, "baseFilterShader": { "overloads": [ [] @@ -3113,13 +3122,6 @@ ] ] }, - "mouseWheel": { - "overloads": [ - [ - "WheelEvent?" - ] - ] - }, "saveJSON": { "overloads": [ [ @@ -3134,6 +3136,13 @@ [] ] }, + "mouseWheel": { + "overloads": [ + [ + "WheelEvent?" + ] + ] + }, "createFileInput": { "overloads": [ [ @@ -3161,19 +3170,6 @@ [] ] }, - "bezierOrder": { - "overloads": [ - [ - "Number" - ], - [] - ] - }, - "exitPointerLock": { - "overloads": [ - [] - ] - }, "saveStrings": { "overloads": [ [ @@ -3184,6 +3180,11 @@ ] ] }, + "exitPointerLock": { + "overloads": [ + [] + ] + }, "buildColorShader": { "overloads": [ [ @@ -3230,6 +3231,14 @@ ] ] }, + "bezierOrder": { + "overloads": [ + [ + "Number" + ], + [] + ] + }, "blendMode": { "overloads": [ [ @@ -3260,11 +3269,6 @@ ] ] }, - "baseComputeShader": { - "overloads": [ - [] - ] - }, "buildStrokeShader": { "overloads": [ [ @@ -3277,30 +3281,9 @@ ] ] }, - "splineVertex": { + "baseComputeShader": { "overloads": [ - [ - "Number", - "Number" - ], - [ - "Number", - "Number", - "Number?" - ], - [ - "Number", - "Number", - "Number?", - "Number?" - ], - [ - "Number", - "Number", - "Number", - "Number?", - "Number?" - ] + [] ] }, "loadStrokeShader": { @@ -3327,6 +3310,11 @@ [] ] }, + "resetShader": { + "overloads": [ + [] + ] + }, "buildComputeShader": { "overloads": [ [ @@ -3334,11 +3322,6 @@ ] ] }, - "resetShader": { - "overloads": [ - [] - ] - }, "linePerspective": { "overloads": [ [ @@ -3347,26 +3330,41 @@ [] ] }, - "ortho": { + "splineVertex": { "overloads": [ [ + "Number", + "Number" + ], + [ + "Number", + "Number", + "Number?" + ], + [ + "Number", + "Number", "Number?", - "Number?", - "Number?", - "Number?", + "Number?" + ], + [ + "Number", + "Number", + "Number", "Number?", "Number?" ] ] }, - "splineProperty": { + "ortho": { "overloads": [ [ - "String", - null - ], - [ - "String" + "Number?", + "Number?", + "Number?", + "Number?", + "Number?", + "Number?" ] ] }, @@ -3406,16 +3404,20 @@ ] ] }, - "splineProperties": { + "createCamera": { "overloads": [ - [ - "Object" - ] + [] ] }, - "createCamera": { + "splineProperty": { "overloads": [ - [] + [ + "String", + null + ], + [ + "String" + ] ] }, "textureMode": { @@ -3433,6 +3435,22 @@ ] ] }, + "splineProperties": { + "overloads": [ + [ + "Object" + ] + ] + }, + "textureWrap": { + "overloads": [ + [ + "CLAMP|REPEAT|MIRROR", + "CLAMP|REPEAT|MIRROR?" + ], + [] + ] + }, "vertex": { "overloads": [ [ @@ -3454,17 +3472,13 @@ ] ] }, - "beginContour": { + "normalMaterial": { "overloads": [ [] ] }, - "textureWrap": { + "beginContour": { "overloads": [ - [ - "CLAMP|REPEAT|MIRROR", - "CLAMP|REPEAT|MIRROR?" - ], [] ] }, @@ -3475,11 +3489,6 @@ ] ] }, - "normalMaterial": { - "overloads": [ - [] - ] - }, "ambientMaterial": { "overloads": [ [ @@ -4587,6 +4596,19 @@ "Number[]|Float32Array|Object[]" ] ] + }, + "read": { + "overloads": [ + [] + ] + }, + "set": { + "overloads": [ + [ + "Number", + "Number|Object" + ] + ] } }, "p5.Geometry": { From 3f21b919d6cf61296e84d8ba0b85b8e4e52de528 Mon Sep 17 00:00:00 2001 From: kit Date: Mon, 13 Jul 2026 22:56:12 +0200 Subject: [PATCH 6/6] 2.3.1-rc.2 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 90e1168ffc..21fc989540 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "p5", - "version": "2.3.1-rc.1", + "version": "2.3.1-rc.2", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "p5", - "version": "2.3.1-rc.1", + "version": "2.3.1-rc.2", "license": "LGPL-2.1", "dependencies": { "@davepagurek/bezier-path": "^0.0.7", diff --git a/package.json b/package.json index 4b12321eca..ca66eb073b 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,7 @@ "test/**/*.js": "eslint", "utils/**/*.{js,mjs}": "eslint" }, - "version": "2.3.1-rc.1", + "version": "2.3.1-rc.2", "dependencies": { "@davepagurek/bezier-path": "^0.0.7", "@japont/unicode-range": "^1.0.0",