Monument v0.14.3
·
113 commits
to master
since this release
Headline Changes
- (#284) Allow scoring of all-the-work compositions, using the
atw_weightparameter. - (#306) Add new option
base_music = "complib", which adds base music which exactly matches that
of CompLib (except that Monument can't count wraps). Thanks, @samuelsenior! - (#319) Remove non-duffer pruning. The non-duffer implementation was fiddly and complex and
difficult to both use and to maintain. It was useful, but just didn't justify its complexity. - (#323) Automatically expand courses which don't exist in other parts. This is particularly
relevant to link-method cyclic compositions, where previously one would have to provide every
cyclic course ("1234567890", "1023456789", "19023456789", etc.). Now, only one is required
and the rest are inferred.
Smaller Changes
- (#205) Remove chunks and links which contribute too much method counts. This should have a small
speed improvement for compositions which include one lead of each method in each part
(e.g. 23-spliced Surprise Major). - (#221) In the guide, always use valid values for
{start,end}_rows. - (#309) Align columns correctly when the maximum composition length is 2-digits long.
- (#314) Don't display "default music" warning if user explicitly asks for Complib music.
- (#314) Add
require_atwoption, which filters out any non-atw compositions in Monument's output. - (#314) Display which order the compositions in the final output were emitted, even in the sorted
summary output.
Internal Improvements
- (#203) Automate the release workflow. Now,
cargo cut-releaseis enough to trigger the
whole release pipeline. - (#204, #304, #310) Implement benchmark runner, and add benchmarks from real use-case (first
contribution; thanks @samuelsenior!). - (#296) Add
ARCHITECTURE.mdto help new contributors getting an idea of the code - (#303) Completely rewrite the interface of Monument's internal library to make it more amenable
to a graphical interface. - (#320) Remove the cached data stored in
Query(and generate it from scratch). This leads to... - (#322) Fully remove
Query. Now, all the composition-parameter data is calculated directly from
Parameters. - (#324) Remove a lot of cached data from
Composition, which was dependent on the specific set of
Parametersused to generate that composition.
Bellframe v0.12.0
- (#221) Add
Bell::MAX, which returns the largestBellpossible (i.e. the 254th) - (#221) Stop bell-path methods (e.g.
Block::path_of) from returningOption. Instead, passing
aBellout of theBlock'sStagewill cause a panic. - (#221) Add
Mask::contains, returningtrueif theMaskconstrains thatBell. - (#321) Almost all operations will panic on
Stagemismatch, rather than returning a
Result<_, IncompatibleStages>.