New release of mathling art support XQuery libraries
March 8, 2022
Submitted by Mary Holstege.
Announcing the 20220308 release of my art support XQuery libraries.
Full details here: https://mathling.com/code/art/README.html
Licensing: Generally licensed as CC-BY (https://creativecommons.org/licenses/by/4.0/) although some of the code is ports of BSD/MIT libraries.
What's in it? There's a lot, and I've been steadily porting/cleaning up more of my older code to share, and adding more tests and docs.
Random distributions: uniform, normal, skewed normal, Zipf, Bernoulli, Poisson, binomial Poisson, adhoc weighted, simple Markov chains
Basic geometric objects (points, ellipses, Bezier paths, polygons, etc) and basic operations over them (affines, projections, some containment/intersection, areas, lengths, splines). Some limited support for solid geometry as well.
Arrangements: grids, arcs, spirals, helixes; simple graph layout, Delaunay/Voronoi triangulation, binary split trees, treemaps
Isohedral tiling (port of tactile.js)
Raw image read/write/dither.
Drawing of geometric objects to SVG (or my domain-specific language, but I'm not sharing the rats nest that is my stylesheets yet, so that will be of limited value to anyone else)
Standard collection of SVG gradients and filters (plus hooks to Inkscape filters, but you have to install Inkscape yourself for that) and libraries for combining/altering them.
Colour space conversions, tonemapping
Noise functions: Open Simplex, Perlin, Worley, value, various flavours of fractal noise, various noise modifiers
Signed distance functions for various 2D and 3D shapes plus ray casting support based on SDF functions plus rendering functions
Some higher-level components such as L-systems, flow fields, modulated torus knots
Aho-Corasick string matching
Tested on Saxon 10.6 (some advanced stuff depends on Saxon-PE, although I've tried to encapsulate those parts)
Definitely requires XQuery 3.1