Releases: q5js/q5.js
v3.0 beta
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
, andbezier
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 existingstrokeJoin('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
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 fixesloadFont
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
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
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
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
2.18.2
q5-record added to q5.js! Big thanks to @Tezumie for his work on this.
v2.17
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
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
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
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.