Improvements since previous project
While the aim remains the same, Tessella is radically different from the previous and now deprecated project at github.com/mcallisto/tessella.
Main improvements
Logic
Most of the algorithms have been rewritten from scratch. In particular tessellations are always treated recursively, from the outmost elements to the inner ones or vice-versa.
Scala 3
Taking advantage of new features introduced in Scala 3, like extension and opaque type.
Expanded features
- Conversion to SVG:
cleaner Scalable Vector Graphics images, with SMIL animation too.
- Circular sequences:
they are ubiquitous in tessellations (examples: graph paths describing a perimeter, or adjacent polygons at a full vertex), so the project is now depending on a separate dedicated library, named RingSeq, to deal with the most common operations.
- Creation algorithms
added methods for growing both random and symmetric tessellations
New features
- Support for Scala.js:
opening up a new world of possibilities for browsers, Node.js, and serverless apps
- Conversion to DOT:
a graph description language, see DOT
- Uniformity:
the vertices (nodes) of a tessellation can be now grouped by transitivity class, see Uniform tessellation
Differences
Tessella no longer depends, for the time being, on the excellent Graph for Scala library by Peter Empen, which is still highly recommended for its completeness and depth.