crates/mrlymath
3 directories and 4 files in crates/mrlymath.
mrlymath
The mathematics of Mrly: design codes, their symmetries, counts, tiles, automata and renderings. A small integer code picks the filled corners of a hypercube, that seed grows level by level into a fractal design, and the same code always unfolds into the same shape, so a design can be named, counted and drawn again from its number alone.
Half the crate generates: bang enumerates the codes and their symmetry classes, the dimension pipelines build designs and random tiles in the plane, the cube and the hexagon, and life steps grids through their generations. The other half measures: censuses count fills, voids and exposed faces, graphs trace cores, edges and tunnels, and formulas gives the same counts in closed form. Everything rests on the tensors and cells of mrlycore and the sequences, censuses and graphs of mrlynum, and name pins one canonical JSON object on every design, rule, tile and word.
Modules
- bang enumerates the design codes, their symmetries and their counts; rules marks the cells of a hypercube whose coordinate residues satisfy a rule.
- dim holds the N-dimensional cell and the pipeline the fixed dimensions share.
- two, three and six run that pipeline for flat cells, cubes and hexagons: designs, tiles, censuses, graphs and renderings.
- life steps, records and renders cellular automata and their stories.
- formulas counts fills, grids and surfaces in closed form, without rendering.
- name prints and parses the one canonical JSON object of every bang, rule, tile and word, and cuts its url, file and prose views.
- space holds the vectors, solids and the packed wire format of 3d scenes.
Running
cargo test -p mrlymathruns the tests.cargo run -p mrlymath --example paintsprints one painted tile per edition as json.