- General
- Added support for isolated documents (iframes, PiP windows) for both packages
- Resolved a Firefox-specific issue where an empty image prop triggered an error during the initial page load
- General
- Images smaller than 1024x1024 are now upscaled before final rasterization, improving the quality of small SVG image inputs
- Halftone CMYK
- Flood parameters now affect the transparent areas
- Full support of image transparency
- Image Dithering
- Added
invertedoption
- Added
- Halftone CMYK
- Tweaked presets
- New shader: Halftone CMYK
- General
- Minor performance improvements (DotOrbit, GrainGradient, PerlinNoise, SmokeRing, FlutedGlass, HalftoneDots)
- Fluted Glass
- Default
scaleparameter to 1
- Default
- Static Mesh Gradient, Static Radial Gradient
mixingparameter working via smoother curve
- General
- JSDoc comments updated
- Docs updated with refined props definitions, examples added to registry where missing
- GLSL formatting updated and cleaned up; fragment shader sizing code moved from global utilities into individual shaders
- Heatmap
- JS pre-pass updated for Safari support (manual blur used instead of
ctx.filter)
- JS pre-pass updated for Safari support (manual blur used instead of
- GrainGradient
- Several performance improvements
- Halftone Dots
- Restored default cell
sizeafter extension of allowed range
- Restored default cell
- Mesh Gradient
- Fixed a GLSL error that caused shader rendering to fail
- Halftone Dots
- Extended cell
sizerange to allow smaller dots
- Extended cell
- Fluted Glass
- Improved support for transparent images
- Adjusted blending of
grainOverlayso that grain is now visible over transparent backgrounds
- Halftone Dots
- Adjusted blending of
grainOverlayso that grain is now visible over transparent backgrounds
- Adjusted blending of
- Image Dithering
- Improved support for transparent images
- Made sure that the origin point for dithering looks consistent regardless of
size
- Mesh Gradient, Static Mesh Gradient, Static Radial Gradient
- Changed
grainOverlaynoise to monochrome - Fixed edge case issues with
grainOverlaypositioning
- Changed
Halftone Dots
- Renamed the boolean
straightprop togrid = 'hex' | 'square' - Adjusted
sizeandcontrastparameter curves - Fixed an issue where the dot radius would unexpectedly change when resizing the shader canvas
New shader: Halftone Dots
- General
- Removed an unnecessary SSR warning (“Can’t create a texture on the server”)
- Fluted Glass
- Added a new
edgesparameter to control the distortion and blur around the image edges, while theblurparameter now affects only the "inside" of the image - Improved the contour and blending of shadows to make them more versatile with different colors
- Improved color mixing with semi-transparent backgrounds
- Refined the appearance of the glass edges when using
margin - Changed
colorHighlighttransparency to multiply together with thehighlightsvalue
- Added a new
- General
- Accept numeric strings for the
widthandheightprops, e.g.width="600" height="400"
- Accept numeric strings for the
- Fluted Glass
- New parameters:
colorBack,colorShadow,colorHighlights,shadows,highlights,grainMixer,grainOverlay - Changed
angleto go clockwise instead of counterclockwise - Adjusted
distortionso it’s not restricted just to the image boundaries anymore - Adjusted
blurso it also naturally softens the edges of the image - Renamed
edgestostretch - Improved anti-aliasing quality
- New parameters:
- Image Dithering
- Fixed rendering artifacts visible at large dither sizes
- General
- Cross-GPU safety improvements
- Static Radial Gradient
- Changed
angleto go clockwise instead of counterclockwise
- Changed
- Heatmap
- Changed
angleto go clockwise instead of counterclockwise
- Changed
- Image Dithering
- Made sure that the shader works as expected in Firefox
- Liquid Metal
- Fixed rendering for Nvidia GPUs
Minor adjustments to the Liquid Metal edge contour
- General
- Improve anti-aliasing for all image shaders when the images are downscaled
- Liquid Metal
- New reworked version that supports custom images
- New default look and presets
- Added an
angleparameter - Improved contour and edge distortion
- Speed increased 3x, repetition increased 2x
- Reverts the initialization timing changes introduced in 0.0.56
- Shaders are now paused in the background when the browser tab becomes hidden
- Improved shader initialization timing and WebGL resources clean-up
- Fluted Glass
- The
imageparam is now required - The default placeholder image was removed
- Added a shorthand
marginparam to specify all 4 margin sides at once
- The
- Image Dithering
- The
imageparam is now required - The default placeholder image was removed
- Renamed
pxSize→sizefor consistency with Dot Grid’ssize, which is also pixel-based
- The
- Heatmap
- The
imageparam is now required - The default placeholder image was removed
- Fixed an issue that may cause Heatmap initialization failure in Safari and Firefox
- The
- Paper Texture
- Removing the
imageprop no longer loads the default placeholder - The default placeholder image was removed
- Renamed
blur→fade, improved the effect design - Renamed
foldsNumber→foldCount - Replaced
fiberScalewith a normalizedfiberSizeparameter - Replaced
crumplesScalewith a normalizedcrumpleSizeparameter
- Removing the
- Pulsing Border
- Reworked the effect parameter ranges for more creative range and control
- Improved antialiasing quality and the corner rounding shape
- The border is now drawn on the inside at low
softnessvalues - New
aspectRatioparameter to make it easier to create “thinking orb” designs - New margin parameters to control the exact distance from the shader edges
- Water
- Removing the
imageprop no longer loads the default placeholder - The default placeholder image was removed
- Removing the
- Dithering
- Renamed
pxSize→sizefor consistency with Dot Grid’ssize, which is also pixel-based
- Renamed
Parameter renames are backwards-compatible.
- Improve how the final render resolution is computed for all shaders. The new heuristc is now accurate down to physical device pixels and has more reliable behavior across browsers.
- Static Mesh Gradient, Static Radial Gradient
- Change the grain style from the fiber effect to pixel-based grain
- Mesh Gradient
- Add
grainMixerandgrainOverlayparams
- Add
- Water
- Replace
effectScalewith thesizeparam
- Replace
- Fluted Glass
- Replace
countwith a normalizedsizeparam - Rename
highlightstoedges
- Replace
- Add width/height props to shader components
- Add center and proportion params to Swirl shader
- Update shader preset values
- Remove image from image shader presets
- Fix effectScale in Water shader
- Fix first frame not matching for some shaders
- Revert heatmap shader preset param change.
- Add
suspendWhenProcessingImageprop to the heatmap shader component. - Update heatmap shader presets.
- Only heatmap related changes
- Only heatmap related changes
- The
ShaderMountcomponent no longer has a race condition when updating uniforms.
- Paper Texture
- Image blending bugfix for semi-transparent
colorBack(ver46 fix wasn't working properly)
- Image blending bugfix for semi-transparent
- Added Heatmap component (not available in the docs yet)
- Licence changed to PolyForm Shield License 1.0.0
- Shaders documentation added to shaders.paper.design 🎉
- Sizing behaviour changed so graphics don’t crop if
worldBoxsize is larger than canvas
-
Water, FlutedGlass, PaperTexture, PaperTexture
- Fixed default image URL
-
FlutedGlass, PaperTexture, PaperTexture
- Default image sizing changed (
fit)
- Default image sizing changed (
-
Water
highlightColorrenamed tocolorHighlight- Default preset changed (
scale,colorBack)
-
PaperTexture
- Additional presets changed
- Image blending bugfix for semi-transparent
colorBack
-
FlutedGlass
- Additional presets changed
-
ColorPanels
- Default preset changed (
colorBack,scale) - Additional presets changed
- Panels angle now independent from side
blur
- Default preset changed (
-
SmokeRing
- Default preset changed (scale,
colorBack) - Additional presets changed
- Reversed order of colors
- Default preset changed (scale,
-
PulsingBorder
- Default preset changed (scale, colors, pulse)
- Additional presets changed
- Nvidia 3060 bugfix (issue #146)
-
SimplexNoise
- Default preset changed (
stepsPerColor) - Antialiasing bugfix
- Default preset changed (
-
GrainGradient
- Default preset changed (
noise) - Better randomizing on
dotsshape
- Default preset changed (
-
Waves
- Default preset changed (
scale,spacing)
- Default preset changed (
-
Voronoi
- Default preset changed (
gap)
- Default preset changed (
-
LiquidMetal
- Default preset changed (
scale)
- Default preset changed (
-
StaticRadialGradient, Metaballs, GodRays
- Default preset changed (
colorBack)
- Default preset changed (
-
Dithering
- Default preset changed (
scale) - Additional presets changed
- Default preset changed (
-
DotOrbit
- Default preset changed (
speed,colors) - Additional presets changed
- Default preset changed (
-
Swirl, PerlinNoise,
- Additional presets changes
- New default presets for all shaders, with adjusted previews for some shaders
- Replaced procedural randomizer with a more stable hash function
- Switched from
WebGLRenderingContexttoWebGL2RenderingContext - Fixed WebGL texture indexing — now possible to use 2+ texture uniforms in one shader
- Vertex shader now provides
imageUVfor image filters - Shader chunks (
shader-utils.ts) now have clearer naming and unified usage across shaders
-
StaticRadialGradient, StaticMeshGradient
- Fixed fiber-shape noise to make it independent of canvas resolution
-
Dithering
- Fixed Sphere and Dots shapes on certain Android models
- Improved stability of the
randomdithering type
-
DotOrbit, GodRays, Metaballs
- Now use
u_noiseTexturefor better performance and stability across devices
- Now use
-
PerlinNoise
- Fixed randomizer-related issues on some Android models
-
Spiral
- Inverted
strokeWidthbehavior
- Inverted
-
GrainGradient
- Switched to low precision
- Added FlutedGlass component
- Added ImageDithering component
- Added PaperTexture component
- Added Water component
All four new effects work as photo filters. PaperTexture and Water can also be used without an image.
- Added
'use client'to React bundle for better RSC "out of the box" experience. - Improved RSC and SSR handling
- Reduced bundle size by removing unused texture
v_patternUVnow comes from the vertex shader with a×100multiplier to avoid precision errors- Renamed
totalFrameTimetocurrentFrame - Fixed precision errors on Android devices by checking actual device float precision.
highpis now forced ifmediumpfloat has less than 23 bits - Added hash-based caching for texture uniforms
- Updated repo and npm
README.md
-
Antialiasing improved across multiple shaders:
- Waves, Warp, Swirl, Spiral, SimplexNoise, PulsingBorder, LiquidMetal, GrainGradient
-
Voronoi
- Fixed glow color behavior: glow is now fully hidden when
glow = 0
- Fixed glow color behavior: glow is now fully hidden when
-
Swirl
- Improved color distribution
- Renamed
noisePowertonoise - Normalized
noiseFrequency
-
Spiral
- Enhanced algorithm for
lineWidth,strokeTaper,strokeCap,noise, anddistortion - Swapped
colorBackandcolorFront - Renamed
noisePowertonoise - Normalized
noiseFrequency
- Enhanced algorithm for
-
PulsingBorder
- Normalized
thickness,intensity,spotSize, andsmokeSize - Renamed
spotsPerColortospots intensitynow affects only the shape, not color mixing- Added new
bloomparameter to control color mixing and blending - Reduced maximum number of spots, but individual spots stay visible longer
- Improved inner corner masking
- Performance optimizations
- Pulsing signal is now slower and simpler, (a composition of two sine waves instead of a pre-computed speech-mimicking data)
- Normalized
-
MeshGradient
- Minor performance improvements
-
ColorPanels
- Added new
edgesparameter
- Added new
-
Default Presets updated for the following shaders:
- Spiral, SimplexNoise, PulsingBorder, NeuroNoise, GrainGradient, DotGrid, Dithering
- Added
StaticMeshGradientcomponent - Added
StaticRadialGradientcomponent