Release Notes

Unreleased

  • fbm2: fractal noise with configurable octaves, persistence and lacunarity.
  • SimplePath.length, pointAt, tangentAt and pointsAlong: measure and sample paths by distance. alongPath passes each sampled point and angle to a callback.
  • withSymmetry: repeat a drawing with rotational, mirror or kaleidoscope symmetry.
  • curl2: a vector field derived from noise. SimplePath.flowLine traces paths through vector fields.
  • SimplePath.boundingBox, area, containsPoint and convexHull: measure and query shapes. A standalone convexHull accepts arrays of points.
  • SimplePath.simplified: reduce point count with a configurable tolerance.
  • harmony: create colour schemes. mixColors: blend colours along the shortest route around the hue circle.
  • worley2: cellular noise with configurable distance, metric and jitter. worleyCell2 returns feature-point details and an ID for colouring cells.
  • SimplePath.offset: create parallel paths with mitred corners for ribbons and contours.
  • forRadialTiling: divide rings into sectors, returning a HollowArc for each cell. Supports a centre hole and partial circles.

0.20.0

  • Additional conversions from Arc, HollowArc, Ellipse, Circle and RoundedRect to SimplePath

0.19.0

  • Fragment shader support (see shader examples).
    • Render a fragment shader to a texture (image) via renderShader
    • Render a Solandra sketch to a texture (image) via render
    • Pass images into shaders
    • Draw images in sketches with drawImage
    • Requires OffscreenCanvas; unavailable in Safari 16.x at release
  • Poisson disc sampling iteration
  • Pseudorandom angle generation
  • transformLoopedPoints keeps the first and last points together during non-deterministic transformations
  • rotateAround helper
  • Removed a workaround for Safari text rendering at small font sizes
  • Cached meta

0.18.0

Solandra was made by James Porter.

Check out the GitHub page or install with npm i solandra