XQuery Code Page

A collection of cleaned up code used in my art projects available here. The code has been tested on Saxon 10.6 (HE/PE/EE). Some modules require EXPath binary and file module implementations.

Main components:

  1. Randomizers: parameterized random distributions of various kinds
  2. Noise: various noise function implementations and modifiers
  3. Core utilities: Error handling, vectors, sparse matrixes, various basic operations, wrappers, and convenience functions
  4. Strings: Aho-Corasick implementation with higher-level "entity" matching API
  5. Geometry: basic geometric types (points, edges, ellipses, polygons, etc.) and some operations over them
  6. Colour spaces: colour space points, conversions and interpolations
  7. Images: raw (PPM) image manipulation (requires EXPath modules)
  8. Tiling: isohedral tiling
  9. SDF: signed distance function, plus some rendering/lighting functions
  10. Gradients: Various gradients in SVG format (and wrapped in XSLT). These gradients are mostly designed to be perceptual uniform and ordered, often with preservation of these properties for various colour-vision deficiencies. There are also some isoluminant gradients.
  11. Effects: Various SVG filter effects shown as exemplars plus code for munipulating and combining them. If you have Inkscape installed you can set up to use those as well; see `effects.xqy`.

Last update 20220308: Solid geometry, graph layout, more geometric code and refactoring, higher level components, various utility operations, matrix math, etc.

20211222: Extensive additions to geometric code; additional SVG support; various tests, small additions, bug fixes.

20211110: Major refactoring of geometric code, add SDF, gradients, complex numbers; more tests, examples, various small additions and bug fixes.

20210827: Port of tactile-js

20210814: Fixes to some random distributions, more tests for same; advice of Saxon optimizer flags.


Visualization of Exoplanet catalog (hover over signature for more information).

Your Hosts

Mary Holstege

Dan Ford

Bonus: Ian's Snake.