Crates.io | monument |
lib.rs | monument |
version | 0.14.5 |
source | src |
created_at | 2022-01-04 16:39:45.012641 |
updated_at | 2024-02-24 19:20:13.46636 |
description | A fast and flexible composition generator. |
homepage | |
repository | https://github.com/kneasle/ringing-monorepo |
max_upload_size | |
id | 507881 |
size | 260,494 |
A fast, flexible and human-friendly composition generator.
Monument can be thought of as a computer composer: you provide it with a description of what compositions you want and it generates the best compositions it can, according to your definition of 'good'.
Monument is currently in an alpha state of readiness (see the known issues).
A guide to Monument can be found here.
The ultimate goal of Monument is to get you compositions that you want to ring, as quickly and easily as possible. Monument should also be correct and performant, but this should be a goal of all software.
Note that this doesn't necessarily mean generating the perfect composition, or generating every possible composition. Monument guarantees neither of these but in return, Monument is orders of magnitude faster than any other composing program I'm aware of (if anyone knows of any faster generally-available program, then please let me know!).
If you do want to run exhaustive searches or want guaranteed optimal results, then Monument isn't for you - SMC is extremely good at exhaustive searching to get optimal results. If you want to exhaustively search spliced, I think you need to write your own generator. I wish you the best of luck getting results before the inevitable heat death of the universe.
If you want a graphical user interface, Monument isn't for you (yet).
If you want a generator who's user interface doesn't change often, Monument isn't for you (yet).
part_head = "134265"
will allow 134265
or 142365
(but not 123465
or 134256
).length = "peal"
or length = "QP"
, or adding runs
front/back as music:
[[music]]
run_lengths = [4, 5, 6, 7, 8]
*6578
courses (but not necessarily all
the 6578s).-Q <number>
to the end of a command will limit the queue length to <number>
(the
default limit is 10,000,000).Finally, it's worth pointing out that generating compositions is, in general, really hard (NP hard, in fact). There will always be queries which are simply too hard for Monument (or any other generator) to complete, so any promise of speed is a best-effort not a guarantee.
If you want to understand how Monument works at a high level, check out the 'Under the Hood' post.
If you want to understand the code in its gory details (e.g. to contribute), the
ARCHITECTURE.md
file
provides a high-level overview of Monument's code and internal workings.