tonus 0.11.0 → 0.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +33 -0
- package/dist/data/kyriale.d.ts +16 -0
- package/dist/data/kyriale.js +387 -26
- package/dist/engines/chant/chant.js +13 -1
- package/dist/engines/chant/ordinary.js +54 -20
- package/dist/engines/chant/types.d.ts +7 -0
- package/docs/api/chant.md +25 -6
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,39 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to tonus. Newest first.
|
|
4
4
|
|
|
5
|
+
## 0.12.0 — 2026-09-24
|
|
6
|
+
|
|
7
|
+
A mass number is a Mass.
|
|
8
|
+
|
|
9
|
+
### Changed
|
|
10
|
+
|
|
11
|
+
- **Breaking: `mass` is one of Masses I–XVIII, or 0.** The Kyriale's appendix
|
|
12
|
+
carried its Graduale page as a mass number, so Clemens Rector read as mass
|
|
13
|
+
75 and the Requiem as 94, 101 and 102. Two ad libitum Kyries whose incipits
|
|
14
|
+
carry a numeral were worse: they read as Masses VI and X, so
|
|
15
|
+
`ordinarium({ mass: 6 })` returned an appendix Kyrie beside Mass VI's own,
|
|
16
|
+
and the era rule dated it by Mass VI's century. Every entry now carries a
|
|
17
|
+
`section` (`mass`, `credo`, `sprinkling`, `ad-libitum`, `requiem`), and only
|
|
18
|
+
the `mass` section is numbered. `ordinarium({ section: "requiem" })` replaces
|
|
19
|
+
`ordinarium({ mass: 102 })`. The appendix still rotates in the book's order,
|
|
20
|
+
now read from its Graduale pages.
|
|
21
|
+
|
|
22
|
+
## 0.11.1 — 2026-09-10
|
|
23
|
+
|
|
24
|
+
The Kyriale says where it is printed.
|
|
25
|
+
|
|
26
|
+
### Changed
|
|
27
|
+
|
|
28
|
+
- **The Kyriale can be cited.** Its 120 chants shipped with `books: ["ky"]` and
|
|
29
|
+
no page at all, so nothing downstream could say where to find one — `ky` is a
|
|
30
|
+
category, not a volume, and a citation drawn from `SOURCES` had nothing to
|
|
31
|
+
draw on. They are printed all the same, and twice over: every one carries
|
|
32
|
+
`books: ["lu", "gr"]` and the Liber Usualis's and the Graduale's own pages, so
|
|
33
|
+
`cantus({ id, source: "lu" })` and `cantus({ id, source: "gr" })` each answer
|
|
34
|
+
with that book's leaf number. `ky` remains outside `SOURCES`, the shelf's row
|
|
35
|
+
counts are unchanged, and a bare book query still does not sweep the ordinary
|
|
36
|
+
in: you ask for a Kyrie, you do not stumble onto one.
|
|
37
|
+
|
|
5
38
|
## 0.11.0 — 2026-09-06
|
|
6
39
|
|
|
7
40
|
One cadence catalogue.
|
package/dist/data/kyriale.d.ts
CHANGED
|
@@ -1,11 +1,27 @@
|
|
|
1
1
|
export type KyrialeOffice = "ke" | "gl" | "cr" | "sa" | "ag" | "be" | "it" | "as" | "va";
|
|
2
|
+
/** Where the Kyriale prints an entry. Only `mass` entries carry a mass number. */
|
|
3
|
+
export type KyrialeSection = "mass" | "credo" | "sprinkling" | "ad-libitum" | "requiem";
|
|
2
4
|
export interface KyrialeEntry {
|
|
3
5
|
id: string;
|
|
4
6
|
office: KyrialeOffice;
|
|
7
|
+
section: KyrialeSection;
|
|
8
|
+
/** One of Masses I–XVIII, or null outside the numbered Masses. */
|
|
5
9
|
mass: number | null;
|
|
6
10
|
mode: string | null;
|
|
7
11
|
incipit: string;
|
|
8
12
|
gabc: string;
|
|
13
|
+
/**
|
|
14
|
+
* Every book that PRINTS this ordinary chant, owner first — `gr` and `lu`,
|
|
15
|
+
* never `ky`. The Kyriale is a category, not a volume, so it is not in the
|
|
16
|
+
* book registry; these are the volumes a citation can name.
|
|
17
|
+
*/
|
|
18
|
+
books: string[];
|
|
19
|
+
/** Page citations keyed by book code — the same shape as ChantData.pages. */
|
|
20
|
+
pages: Record<string, {
|
|
21
|
+
page: string;
|
|
22
|
+
sequence: number;
|
|
23
|
+
extent: number;
|
|
24
|
+
}[]>;
|
|
9
25
|
}
|
|
10
26
|
export declare const KYRIALE: KyrialeEntry[];
|
|
11
27
|
//# sourceMappingURL=kyriale.d.ts.map
|