![]() | Name | Last modified | Size | Description |
---|---|---|---|---|
![]() | Parent Directory | - | ||
![]() | COLOURS/ | 2021-12-22 13:10 | - | |
![]() | EFFECTS/ | 2021-12-22 12:35 | - | |
![]() | Messages/ | 2021-10-20 14:08 | - | |
![]() | README.html | 2022-03-08 09:36 | 7.3K | |
![]() | README.md | 2022-03-08 09:36 | 5.7K | |
![]() | art.zip | 2022-03-10 11:03 | 22M | |
![]() | art/ | 2022-03-08 09:33 | - | |
![]() | art_no_data.zip | 2022-03-10 11:03 | 1.9M | |
![]() | colourspace/ | 2022-03-08 09:02 | - | |
![]() | components/ | 2022-03-08 09:04 | - | |
![]() | core/ | 2022-03-08 09:00 | - | |
![]() | data.zip | 2022-03-10 11:03 | 20M | |
![]() | data/ | 2021-12-22 13:13 | - | |
![]() | examples/ | 2021-12-22 12:19 | - | |
![]() | geo/ | 2022-03-08 09:13 | - | |
![]() | image/ | 2022-03-08 09:14 | - | |
![]() | noise/ | 2021-05-22 11:49 | - | |
![]() | sdf/ | 2021-10-20 13:30 | - | |
![]() | string/ | 2022-03-08 09:17 | - | |
![]() | svg/ | 2022-03-08 09:18 | - | |
![]() | tests/ | 2022-03-08 09:20 | - | |
![]() | tiling/ | 2021-08-27 11:14 | - | |
![]() | types/ | 2022-03-08 09:21 | - | |
API documentation is in the various subdirectories, e.g. string/api.md
.
The code here is generally licensed as CC-BY (https://creativecommons.org/licenses/by/4.0/).
Attribution should be to Mary Holstege and include a link to the code base at http://mathling.com/code/
Some of the same data is based on WordNet 3.0® and is made available under that license (see data
directory).
The noise code is a port of noise-rs which is used under an MIT License (see noise
directory).
The colour space conversion code is a port of hsluv-c which is used under an MIT License (see colourspace
directory).
The SDF code is based in part on code from Inigo Quilez which is used under an MIT License (see sdf
directory).
The gradients are based gradient definitions from a variety of sources used under MIT and BSD Licenses (see COLOURS
directory).
Geometry:
box:max-y
for spacesgeom:project
return typemutate()
Sequences:
Utilities:
util:logK() and
util:log2()` (log base K and log base 2)rand:mutual-prime-pair()
(pair of mutually prime integers)util:modix
handle negative numbers to preserve sequentialitypaths:array()
calculationsDrawing/Colour/Effects:
gradient:random-gradient()
select a random well-known gradient or its reverseComponents:
Additions, extensions, and bug fixes to geometry code:
geo:region-intersects
between most region typesgeo:region-contains
between some region typesgeo:shortest-distance
from point to regiongeo:intersection
between edgesgeo:bounding-circle
of region (Weltz' algorithm)geo:bounding-box
of regiongeo:region-center
geo:regions
edge following to construct polygons from edge graphgraph.xqy
)treemap.xqy
)delaunay.xqy
)Drawing code
draw.xqy
)effect.xqy
)Miscellaneous
tonemap.xqy
)$EDGE-START
and $EDGE-END
in tiling coderoots.xqy
)complex.xqy
)Major refactoring of geospatial code, with some additional operations for splinning and reversing edges, among others. As a consequence of this a number of edge and path functions have shifted from euclidean.xqy
to edge.xqy
or path.xqy
in some cases with a slight renaming. Example: geom:linear-edge-point
is not edge:linear-point
. In addition a few functions have moved to utilities.xqy
(remap-degrees
, remap-radians
).
Handle error cases in edge:quad-length
better.
Change geom:inclination
to define it as 90° not 0° when the points are the same.
Change geom:destination
to avoid small round-off errors in Z values from inclination imprecision.
Add split tree and well-separated pair decomposition and spanning edges on WSPDs. (Depends on bug-fix in Saxon 10.6 to work.)
Add support for dithering of raw images.
Add support for complex numbers.
Add modules for signed distance function calculation, with various rendering and lighting calculations, with tests.
Add SVG gradient collection and module for manipulating SVG gradients.
Add permutation and combination calculations to utilities.xqy
.
Slight refactoring of random distributions code to avoid tangled imports.
ε is now defined globally in config.xqy
util:twixt
will reorder out-of-order arguments.
Bug fix to rand:skewed()
: incorrect calculation of standard deviation.
Bug fix to rand:flip()
: scaling error.
Reimplementation and API change to rand:random-selection()
to give more precise probability mapping.
Additional/cleaned-up randomizer tests: advice on optimizer flags for Saxon EE
util:rangeindex()
+ tests