Skip to content

Releases: q5js/q5.js

v3.0 beta

15 Mar 03:40
Compare
Choose a tag to compare

2.23.10

disablePreloadSystem() changed to usePreloadSystem(false). In the future, when using p5 v2 with q5play, users will be able to set usePreloadSystem() or simply define a preload function to automatically use the preload system.

2.23.9

Fixed regression with _isTouchAware an internal prop used to check if the user defined touch functions. Somehow this included mouseReleased and not touchEnded, unit tests would catch these types of issues.

2.23.8

q5 WebGPU: fixed translate which now works properly when x, y scaling is not 1.

2.23.7

Included _colorMode, _colorFormat, and Color in pushStyles and popStyles.

WebGPU renderer improvements:

  • colorMode(RGB, 255) now works
  • added quadraticVertex, bezierVertex, curve, and bezier functions
  • stroke caps are now properly added to custom shapes
  • arc rendered upside down, fixed this with proper y position calculations

p5 v2 API parity additions:

  • textWeight function (only in C2D mode)
  • lineMode(SIMPLE) shim for existing strokeJoin('none')

2.23.6

Updated docs and bug fixes.

2.23.0 (3.0 beta0)

Run Q5.WebGPU() to start using the q5.js WebGPU renderer! It'll be officially released in v3.0.

v2.22

11 Mar 16:37
Compare
Choose a tag to compare

2.22.4

createGraphics now accepts as a third parameter, a renderer constant C2D or WEBGPU.

For aesthetics you can now do createCanvas(200, 200, WEBGPU) as well, but note that an instance of q5 webgpu must be created and loaded before a webgpu canvas can be created.

2.22.3

Audio recording capability added to q5-record. It works with the built-in q5-sound module and the p5.sound library!

2.22.2

  • colorMode bug fixes
  • loadFont bug fixes

2.22.0

  • updated color documentation
  • support for HSL and HSB color modes #106
  • q5 webgpu renderer now supports all of q5's color modes
  • added gamut as third param to colorMode function
  • removed askAI as the default error handler, since Chrome and many online editors now integrate this feature in the dev console
  • previous frame can be used as a frame buffer in frame shaders if myShader.applyBeforeDraw = true, demo coming soon

v2.21

20 Feb 13:15
Compare
Choose a tag to compare

2.21.6

Added support for frame rates higher than the display rate.

For better organization, moved background function from shapes module to canvas module for each of the renderers respectively.

webgpu: fixed regression that caused previous frames to be drawn with normal blending

2.21.1

Added support for custom shaders to q5 WebGPU.
https://q5js.org/learn/#shadersSection

v2.20

05 Feb 20:30
Compare
Choose a tag to compare

2.20.7

In q5 WebGPU, text can now have strokes.

2.20.0

Video can now be played on the webgpu canvas using importExternalTexture. This functionality was added in q5-webgpu-image.js because the shader for video is nearly the same as the one for displaying images, and it uses the same vertex buffer.

createCapture implemented in q5-dom.js

v2.19

04 Feb 15:37
Compare
Choose a tag to compare

2.19.4

q5-record recorder video quality can now be set by adjusting the video bitrate directly. A certain bitrate may be enough to capture a particular sketch at a "high" visual quality, but it may be far too low for another.

2.19.2

Implemented save/saveCanvas in q5 WebGPU #92

2.19.1

Implemented canvas drawing permanence and background with alpha in q5 WebGPU #99

In q5 WebGPU images are just c2d images that get converted to gpu textures on load and modification.

Various bug fixes.

v2.18

30 Jan 22:02
Compare
Choose a tag to compare

2.18.2

q5-record added to q5.js! Big thanks to @Tezumie for his work on this.

https://q5js.org/learn/#recordSection

v2.17

25 Jan 17:17
Compare
Choose a tag to compare

2.17.4

Implemented q5-dom and added it to the main bundle!

https://q5js.substack.com/p/q5-dom-html-creation-tools-added

v2.16

25 Jan 14:15
Compare
Choose a tag to compare

2.16.5

Added async load function while keeping the preload system enabled by default. It can now be disabled with disablePreloadSystem.

https://q5js.substack.com/p/p5js-preload-system-removed-from

v2.15

17 Jan 16:02
Compare
Choose a tag to compare

2.15.4

Added sound.pause() capability, which pauses all instances of sound playback. If sound.play() is called while sound.paused is true, then all instances of sound playback are resumed.

Also added getters for the sound's properties.

Documentation for q5-sound is now available:
https://q5js.org/learn/#sound-section

2.15.3

Q5.Sound objects, created in loadSound, are now fully backed by the WebAudio API, which has low latency and that's better for interactive art. Also if a sound is playing and the play function is called again, layered playback will occur over any previous playback of the sound.

The tradeoff is that q5 sounds have to load completely to be considered loaded. Use loadAudio for quicker preloading of long audio files, since it marks the audio file as loaded after the canplaythrough event triggers. Also note that q5 sounds can not be played on mobile with silent mode on (aka ringer off) but Audio elements can.

Fixed issues where errors or the audio context being in an interrupted state (when silence mode is on), caused audio to fail to load and not decrement the preloadCount, causing q5 to be stuck in the preloading state.

2.15.0

The default renderer of q5.js, based on CanvasRenderingContext2D (aka Canvas2D), will now be consistently referred to as the c2d renderer instead of q2d. Source files for this renderer were renamed, the "2d" prefix was replaced with "c2d". This is to avoid confusion because the webgpu renderer is also 2D.

v2.14

07 Jan 21:14
Compare
Choose a tag to compare

2.14.6

color will accept css strings without throwing an error, it just won't parse their color components

2.14.5

q5 webgpu: Fixed the background function

2.14.4

q5 webgpu: scaling taken into account to determine how many triangles that arcs and ellipses have

2.14.0

New default font system in q5 WebGPU for lazy loading msdf fonts from q5js.org when the user tries to set textFont to a generic font family like "sans-serif" or "monospace".

The q5 npm package now includes a builtinFonts folder which has msdf fonts that can be used offline.