@sudobility/music_types 0.11.29 → 0.11.31

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.
Files changed (229) hide show
  1. package/dist/domain/commands/edit-commands.d.ts +3 -3
  2. package/dist/domain/commands/edit-commands.d.ts.map +1 -1
  3. package/dist/domain/commands/edit-commands.js +25 -25
  4. package/dist/domain/commands/edit-commands.js.map +1 -1
  5. package/dist/domain/commands/history.d.ts +32 -0
  6. package/dist/domain/commands/history.d.ts.map +1 -0
  7. package/dist/domain/commands/history.js +63 -0
  8. package/dist/domain/commands/history.js.map +1 -0
  9. package/dist/domain/commands/note-commands.d.ts +147 -3
  10. package/dist/domain/commands/note-commands.d.ts.map +1 -1
  11. package/dist/domain/commands/note-commands.js +438 -46
  12. package/dist/domain/commands/note-commands.js.map +1 -1
  13. package/dist/domain/commands/reflow.d.ts +1 -1
  14. package/dist/domain/commands/reflow.js +17 -17
  15. package/dist/domain/commands/reflow.js.map +1 -1
  16. package/dist/domain/commands/region-commands.d.ts +4 -4
  17. package/dist/domain/commands/region-commands.d.ts.map +1 -1
  18. package/dist/domain/commands/region-commands.js +7 -7
  19. package/dist/domain/commands/region-commands.js.map +1 -1
  20. package/dist/domain/commands/relocate-commands.d.ts +3 -3
  21. package/dist/domain/commands/relocate-commands.js +15 -15
  22. package/dist/domain/commands/relocate-commands.js.map +1 -1
  23. package/dist/domain/commands/ripple-commands.d.ts +2 -2
  24. package/dist/domain/commands/ripple-commands.js +13 -13
  25. package/dist/domain/commands/ripple-commands.js.map +1 -1
  26. package/dist/domain/commands/snapshot.d.ts +3 -3
  27. package/dist/domain/commands/snapshot.js +5 -5
  28. package/dist/domain/commands/snapshot.js.map +1 -1
  29. package/dist/domain/commands/structure-commands.d.ts +86 -5
  30. package/dist/domain/commands/structure-commands.d.ts.map +1 -1
  31. package/dist/domain/commands/structure-commands.js +272 -36
  32. package/dist/domain/commands/structure-commands.js.map +1 -1
  33. package/dist/domain/commands/track-commands.d.ts +2 -2
  34. package/dist/domain/commands/track-commands.js +7 -7
  35. package/dist/domain/commands/track-commands.js.map +1 -1
  36. package/dist/domain/commands/types.d.ts +2 -2
  37. package/dist/domain/generation/replacement-region.d.ts +32 -0
  38. package/dist/domain/generation/replacement-region.d.ts.map +1 -0
  39. package/dist/domain/generation/replacement-region.js +79 -0
  40. package/dist/domain/generation/replacement-region.js.map +1 -0
  41. package/dist/domain/instruments/gm-icon.d.ts +12 -0
  42. package/dist/domain/instruments/gm-icon.d.ts.map +1 -0
  43. package/dist/domain/instruments/gm-icon.js +327 -0
  44. package/dist/domain/instruments/gm-icon.js.map +1 -0
  45. package/dist/domain/instruments/gm-kit.js +9 -9
  46. package/dist/domain/instruments/gm-kit.js.map +1 -1
  47. package/dist/domain/instruments/gm-percussion.js +48 -48
  48. package/dist/domain/instruments/gm-percussion.js.map +1 -1
  49. package/dist/domain/instruments/gm-polyphony.js +6 -6
  50. package/dist/domain/instruments/gm-range.js +6 -6
  51. package/dist/domain/instruments/gm-transposition.js +1 -1
  52. package/dist/domain/instruments/gm.d.ts +1 -1
  53. package/dist/domain/instruments/gm.js +161 -161
  54. package/dist/domain/instruments/gm.js.map +1 -1
  55. package/dist/domain/instruments/icon-art.d.ts +75 -0
  56. package/dist/domain/instruments/icon-art.d.ts.map +1 -0
  57. package/dist/domain/instruments/icon-art.js +93 -0
  58. package/dist/domain/instruments/icon-art.js.map +1 -0
  59. package/dist/domain/instruments/instrument-fit.d.ts +31 -0
  60. package/dist/domain/instruments/instrument-fit.d.ts.map +1 -0
  61. package/dist/domain/instruments/instrument-fit.js +117 -0
  62. package/dist/domain/instruments/instrument-fit.js.map +1 -0
  63. package/dist/domain/instruments/instrument-options.d.ts +62 -0
  64. package/dist/domain/instruments/instrument-options.d.ts.map +1 -0
  65. package/dist/domain/instruments/instrument-options.js +69 -0
  66. package/dist/domain/instruments/instrument-options.js.map +1 -0
  67. package/dist/domain/instruments/track-instrument.d.ts +80 -0
  68. package/dist/domain/instruments/track-instrument.d.ts.map +1 -0
  69. package/dist/domain/instruments/track-instrument.js +102 -0
  70. package/dist/domain/instruments/track-instrument.js.map +1 -0
  71. package/dist/domain/notation/chord-symbol.d.ts +26 -0
  72. package/dist/domain/notation/chord-symbol.d.ts.map +1 -0
  73. package/dist/domain/notation/chord-symbol.js +32 -0
  74. package/dist/domain/notation/chord-symbol.js.map +1 -0
  75. package/dist/domain/notation/lyric-syllables.d.ts +15 -0
  76. package/dist/domain/notation/lyric-syllables.d.ts.map +1 -0
  77. package/dist/domain/notation/lyric-syllables.js +15 -0
  78. package/dist/domain/notation/lyric-syllables.js.map +1 -0
  79. package/dist/domain/notation/music-vocabulary.d.ts +59 -0
  80. package/dist/domain/notation/music-vocabulary.d.ts.map +1 -0
  81. package/dist/domain/notation/music-vocabulary.js +164 -0
  82. package/dist/domain/notation/music-vocabulary.js.map +1 -0
  83. package/dist/domain/pitch/pitch.d.ts +1 -1
  84. package/dist/domain/pitch/pitch.js +29 -29
  85. package/dist/domain/pitch/transpose.d.ts +1 -1
  86. package/dist/domain/pitch/transpose.js +2 -2
  87. package/dist/domain/quantization/quantize.d.ts +2 -2
  88. package/dist/domain/quantization/quantize.js +9 -9
  89. package/dist/domain/quantization/quantize.js.map +1 -1
  90. package/dist/domain/score/articulation.d.ts +56 -0
  91. package/dist/domain/score/articulation.d.ts.map +1 -0
  92. package/dist/domain/score/articulation.js +56 -0
  93. package/dist/domain/score/articulation.js.map +1 -0
  94. package/dist/domain/score/bar-numbers.d.ts +38 -0
  95. package/dist/domain/score/bar-numbers.d.ts.map +1 -0
  96. package/dist/domain/score/bar-numbers.js +49 -0
  97. package/dist/domain/score/bar-numbers.js.map +1 -0
  98. package/dist/domain/score/collapse-rests.d.ts +23 -0
  99. package/dist/domain/score/collapse-rests.d.ts.map +1 -0
  100. package/dist/domain/score/collapse-rests.js +78 -0
  101. package/dist/domain/score/collapse-rests.js.map +1 -0
  102. package/dist/domain/score/cue-notes.d.ts +24 -0
  103. package/dist/domain/score/cue-notes.d.ts.map +1 -0
  104. package/dist/domain/score/cue-notes.js +105 -0
  105. package/dist/domain/score/cue-notes.js.map +1 -0
  106. package/dist/domain/score/dynamics.d.ts +62 -0
  107. package/dist/domain/score/dynamics.d.ts.map +1 -0
  108. package/dist/domain/score/dynamics.js +142 -0
  109. package/dist/domain/score/dynamics.js.map +1 -0
  110. package/dist/domain/score/effective-clef.d.ts +42 -0
  111. package/dist/domain/score/effective-clef.d.ts.map +1 -0
  112. package/dist/domain/score/effective-clef.js +39 -0
  113. package/dist/domain/score/effective-clef.js.map +1 -0
  114. package/dist/domain/score/extract-part.d.ts +10 -0
  115. package/dist/domain/score/extract-part.d.ts.map +1 -0
  116. package/dist/domain/score/extract-part.js +44 -0
  117. package/dist/domain/score/extract-part.js.map +1 -0
  118. package/dist/domain/score/factory.d.ts +1 -1
  119. package/dist/domain/score/factory.js +12 -12
  120. package/dist/domain/score/factory.js.map +1 -1
  121. package/dist/domain/score/fermata-tempo.d.ts +40 -0
  122. package/dist/domain/score/fermata-tempo.d.ts.map +1 -0
  123. package/dist/domain/score/fermata-tempo.js +95 -0
  124. package/dist/domain/score/fermata-tempo.js.map +1 -0
  125. package/dist/domain/score/flatten.d.ts +32 -0
  126. package/dist/domain/score/flatten.d.ts.map +1 -0
  127. package/dist/domain/score/flatten.js +132 -0
  128. package/dist/domain/score/flatten.js.map +1 -0
  129. package/dist/domain/score/fragment.d.ts +3 -3
  130. package/dist/domain/score/fragment.js +8 -8
  131. package/dist/domain/score/fragment.js.map +1 -1
  132. package/dist/domain/score/ids.d.ts +1 -1
  133. package/dist/domain/score/ids.js +6 -6
  134. package/dist/domain/score/ottava.d.ts +41 -0
  135. package/dist/domain/score/ottava.d.ts.map +1 -0
  136. package/dist/domain/score/ottava.js +98 -0
  137. package/dist/domain/score/ottava.js.map +1 -0
  138. package/dist/domain/score/performance-timeline.d.ts +42 -0
  139. package/dist/domain/score/performance-timeline.d.ts.map +1 -0
  140. package/dist/domain/score/performance-timeline.js +78 -0
  141. package/dist/domain/score/performance-timeline.js.map +1 -0
  142. package/dist/domain/score/queries.d.ts +2 -2
  143. package/dist/domain/score/queries.js +7 -7
  144. package/dist/domain/score/queries.js.map +1 -1
  145. package/dist/domain/score/rehearsal-marks.d.ts +30 -0
  146. package/dist/domain/score/rehearsal-marks.d.ts.map +1 -0
  147. package/dist/domain/score/rehearsal-marks.js +126 -0
  148. package/dist/domain/score/rehearsal-marks.js.map +1 -0
  149. package/dist/domain/score/repeat-order.d.ts +21 -0
  150. package/dist/domain/score/repeat-order.d.ts.map +1 -0
  151. package/dist/domain/score/repeat-order.js +123 -0
  152. package/dist/domain/score/repeat-order.js.map +1 -0
  153. package/dist/domain/score/snapshot-tree.d.ts +23 -0
  154. package/dist/domain/score/snapshot-tree.d.ts.map +1 -0
  155. package/dist/domain/score/snapshot-tree.js +45 -0
  156. package/dist/domain/score/snapshot-tree.js.map +1 -0
  157. package/dist/domain/score/ties.d.ts +1 -1
  158. package/dist/domain/score/ties.js +7 -7
  159. package/dist/domain/score/ties.js.map +1 -1
  160. package/dist/domain/score/written-pitch.d.ts +33 -0
  161. package/dist/domain/score/written-pitch.d.ts.map +1 -0
  162. package/dist/domain/score/written-pitch.js +110 -0
  163. package/dist/domain/score/written-pitch.js.map +1 -0
  164. package/dist/domain/selection/range-select.d.ts +13 -0
  165. package/dist/domain/selection/range-select.d.ts.map +1 -0
  166. package/dist/domain/selection/range-select.js +40 -0
  167. package/dist/domain/selection/range-select.js.map +1 -0
  168. package/dist/domain/selection/selection-editing.d.ts +30 -0
  169. package/dist/domain/selection/selection-editing.d.ts.map +1 -0
  170. package/dist/domain/selection/selection-editing.js +31 -0
  171. package/dist/domain/selection/selection-editing.js.map +1 -0
  172. package/dist/domain/selection/selection.d.ts +2 -2
  173. package/dist/domain/selection/selection.js +7 -7
  174. package/dist/domain/selection/selection.js.map +1 -1
  175. package/dist/domain/selection/types.d.ts +2 -2
  176. package/dist/domain/time/duration-modifiers.d.ts +40 -0
  177. package/dist/domain/time/duration-modifiers.d.ts.map +1 -0
  178. package/dist/domain/time/duration-modifiers.js +50 -0
  179. package/dist/domain/time/duration-modifiers.js.map +1 -0
  180. package/dist/domain/time/duration-selection.d.ts +23 -0
  181. package/dist/domain/time/duration-selection.d.ts.map +1 -0
  182. package/dist/domain/time/duration-selection.js +50 -0
  183. package/dist/domain/time/duration-selection.js.map +1 -0
  184. package/dist/domain/time/durations.js +6 -6
  185. package/dist/domain/time/durations.js.map +1 -1
  186. package/dist/domain/time/fraction.d.ts +1 -1
  187. package/dist/domain/time/fraction.js +1 -1
  188. package/dist/domain/time/tap-to-note.d.ts +21 -0
  189. package/dist/domain/time/tap-to-note.d.ts.map +1 -0
  190. package/dist/domain/time/tap-to-note.js +43 -0
  191. package/dist/domain/time/tap-to-note.js.map +1 -0
  192. package/dist/domain/time/tempo-map.d.ts +1 -1
  193. package/dist/domain/time/ticks.d.ts +1 -1
  194. package/dist/domain/time/ticks.d.ts.map +1 -1
  195. package/dist/domain/time/ticks.js +14 -14
  196. package/dist/domain/time/ticks.js.map +1 -1
  197. package/dist/domain/time/tuplets.d.ts +42 -0
  198. package/dist/domain/time/tuplets.d.ts.map +1 -0
  199. package/dist/domain/time/tuplets.js +53 -0
  200. package/dist/domain/time/tuplets.js.map +1 -0
  201. package/dist/domain/validation/issues.d.ts +1 -1
  202. package/dist/domain/validation/issues.js +20 -20
  203. package/dist/domain/validation/validator.d.ts +2 -2
  204. package/dist/domain/validation/validator.d.ts.map +1 -1
  205. package/dist/domain/validation/validator.js +31 -31
  206. package/dist/domain/validation/validator.js.map +1 -1
  207. package/dist/domain/voicing/allocate.d.ts +2 -2
  208. package/dist/domain/voicing/allocate.js +6 -6
  209. package/dist/domain/voicing/allocate.js.map +1 -1
  210. package/dist/index.d.ts +756 -56
  211. package/dist/index.d.ts.map +1 -1
  212. package/dist/index.js +164 -75
  213. package/dist/index.js.map +1 -1
  214. package/dist/platform/audio.d.ts.map +1 -1
  215. package/dist/platform/file.d.ts.map +1 -1
  216. package/dist/platform/index.d.ts +7 -7
  217. package/dist/platform/index.js +7 -7
  218. package/dist/platform/midi-input.d.ts +2 -2
  219. package/dist/platform/midi.d.ts.map +1 -1
  220. package/dist/platform/mod.d.ts +2 -2
  221. package/dist/platform/playback.d.ts +7 -7
  222. package/dist/platform/xml.js +1 -1
  223. package/dist/services/regeneration/controller.d.ts +6 -6
  224. package/dist/services/regeneration/controller.js +12 -12
  225. package/dist/services/regeneration/controller.js.map +1 -1
  226. package/dist/test/fixtures.d.ts +1 -1
  227. package/dist/test/fixtures.js +103 -103
  228. package/dist/test/fixtures.js.map +1 -1
  229. package/package.json +1 -1
package/dist/index.d.ts CHANGED
@@ -22,13 +22,13 @@
22
22
  * `@sudobility/music_codecs`; `music_lib` keeps what is frontend-only (store,
23
23
  * commands, rendering, playback).
24
24
  */
25
- import { z } from 'zod';
25
+ import { z } from "zod";
26
26
  export type UUID = string;
27
27
  export type Fraction = {
28
28
  numerator: number;
29
29
  denominator: number;
30
30
  };
31
- export type PitchStep = 'C' | 'D' | 'E' | 'F' | 'G' | 'A' | 'B';
31
+ export type PitchStep = "C" | "D" | "E" | "F" | "G" | "A" | "B";
32
32
  /** -2 = double flat, -1 = flat, 0 = natural, 1 = sharp, 2 = double sharp. */
33
33
  export type Accidental = -2 | -1 | 0 | 1 | 2;
34
34
  export type Pitch = {
@@ -42,7 +42,7 @@ export type TimeSignature = {
42
42
  };
43
43
  export type KeySignature = {
44
44
  fifths: number;
45
- mode: 'major' | 'minor';
45
+ mode: "major" | "minor";
46
46
  };
47
47
  export type TempoEvent = {
48
48
  id: UUID;
@@ -53,8 +53,8 @@ export type TempoEvent = {
53
53
  * Renderable note-duration names: base values (whole down to thirty-second),
54
54
  * their dotted (1.5x) variants, and their triplet (2/3x) variants.
55
55
  */
56
- export type DurationName = 'whole' | 'half' | 'quarter' | 'eighth' | 'sixteenth' | 'thirtysecond' | 'dotted-whole' | 'dotted-half' | 'dotted-quarter' | 'dotted-eighth' | 'dotted-sixteenth' | 'dotted-thirtysecond' | 'triplet-whole' | 'triplet-half' | 'triplet-quarter' | 'triplet-eighth' | 'triplet-sixteenth' | 'triplet-thirtysecond';
57
- export type Articulation = 'staccato' | 'accent' | 'tenuto' | 'marcato';
56
+ export type DurationName = "whole" | "half" | "quarter" | "eighth" | "sixteenth" | "thirtysecond" | "dotted-whole" | "dotted-half" | "dotted-quarter" | "dotted-eighth" | "dotted-sixteenth" | "dotted-thirtysecond" | "triplet-whole" | "triplet-half" | "triplet-quarter" | "triplet-eighth" | "triplet-sixteenth" | "triplet-thirtysecond";
57
+ export type Articulation = "staccato" | "accent" | "tenuto" | "marcato";
58
58
  /**
59
59
  * An ornament sign written over a note.
60
60
  *
@@ -68,7 +68,7 @@ export type Articulation = 'staccato' | 'accent' | 'tenuto' | 'marcato';
68
68
  * vertical stroke and `inverted-mordent` the one without. (VexFlow's own codes
69
69
  * use these two words the other way round — see `convert.ts`.)
70
70
  */
71
- export type Ornament = 'trill' | 'mordent' | 'inverted-mordent' | 'turn';
71
+ export type Ornament = "trill" | "mordent" | "inverted-mordent" | "turn";
72
72
  /**
73
73
  * A gradual change of loudness, written as a wedge under the stave.
74
74
  *
@@ -77,7 +77,39 @@ export type Ornament = 'trill' | 'mordent' | 'inverted-mordent' | 'turn';
77
77
  * writing is hairpins, so a score that had only levels could say "loud here"
78
78
  * but never "get louder".
79
79
  */
80
- export type Hairpin = 'crescendo' | 'diminuendo';
80
+ export type Hairpin = "crescendo" | "diminuendo";
81
+ /**
82
+ * An octave-displacement bracket: play the written notes an octave (or two)
83
+ * away from where they sit.
84
+ *
85
+ * `8va`/`15ma` are above, `8vb`/`15mb` below. The model stores **sounding**
86
+ * pitch as it always has, so the bracket is purely a display instruction — it
87
+ * says "these were written an octave lower to keep them on the stave", and the
88
+ * display lens moves them there. That is the only way it can work here: a
89
+ * model that stored written pitch would make an ottava change what a note
90
+ * *sounds* like, which is the opposite of what the mark means.
91
+ */
92
+ export type Ottava = "8va" | "8vb" | "15ma" | "15mb";
93
+ /**
94
+ * The line drawn at the end of a bar, where it is not an ordinary single one.
95
+ *
96
+ * Only the two that carry meaning a reader acts on: `double` marks a section
97
+ * break, and `final` ends the piece. The repeat barlines are deliberately not
98
+ * in here — they live on `repeatStart`/`repeatEnd` because they are two
99
+ * independent flags rather than one choice, and a bar can both end a repeat
100
+ * and end the piece.
101
+ */
102
+ export type BarlineStyle = "double" | "final";
103
+ /**
104
+ * A jump instruction written at the end of a bar.
105
+ *
106
+ * The six a player actually meets. Each says two things — where to go back to
107
+ * (the start for a *capo*, the sign for a *segno*) and where to stop or leave
108
+ * (the end, `fine`, or the coda) — which is why they are one enum rather than
109
+ * a direction and a target composed separately: only these combinations are
110
+ * written, and the pairs that are not written should not be expressible.
111
+ */
112
+ export type RepeatJump = "da-capo" | "da-capo-al-fine" | "da-capo-al-coda" | "dal-segno" | "dal-segno-al-fine" | "dal-segno-al-coda";
81
113
  /**
82
114
  * A dynamic marking, from softest to loudest.
83
115
  *
@@ -87,7 +119,7 @@ export type Hairpin = 'crescendo' | 'diminuendo';
87
119
  * score says; the velocity a player gives it is derived (`velocityForDynamic`
88
120
  * in music_lib) and stays adjustable per note on top.
89
121
  */
90
- export type Dynamic = 'ppp' | 'pp' | 'p' | 'mp' | 'mf' | 'f' | 'ff' | 'fff';
122
+ export type Dynamic = "ppp" | "pp" | "p" | "mp" | "mf" | "f" | "ff" | "fff";
91
123
  /**
92
124
  * How a sung syllable joins its neighbours.
93
125
  *
@@ -95,7 +127,7 @@ export type Dynamic = 'ppp' | 'pp' | 'p' | 'mp' | 'mf' | 'f' | 'ff' | 'fff';
95
127
  * whether a hyphen is drawn to the next note. "beau-ti-ful" over three notes
96
128
  * is `begin`, `middle`, `end`; a one-syllable word is `single`.
97
129
  */
98
- export type Syllabic = 'single' | 'begin' | 'middle' | 'end';
130
+ export type Syllabic = "single" | "begin" | "middle" | "end";
99
131
  /**
100
132
  * A small ornamental note played just before the note it decorates.
101
133
  *
@@ -127,7 +159,7 @@ export type Lyric = {
127
159
  };
128
160
  /** Softest first, which is the order a picker should offer them in. */
129
161
  export declare const DYNAMICS: readonly Dynamic[];
130
- export type Clef = 'treble' | 'bass' | 'alto' | 'tenor' | 'percussion';
162
+ export type Clef = "treble" | "bass" | "alto" | "tenor" | "percussion";
131
163
  export type NoteEvent = {
132
164
  id: UUID;
133
165
  pitch: Pitch;
@@ -202,6 +234,31 @@ export type NoteEvent = {
202
234
  * notehead to roll through.
203
235
  */
204
236
  arpeggiate?: boolean;
237
+ /**
238
+ * The ends of an octave bracket, shaped like the hairpin and the slur.
239
+ *
240
+ * The start carries the displacement; the stop only says where it closes.
241
+ */
242
+ ottavaStart?: Ottava;
243
+ ottavaStop?: boolean;
244
+ /**
245
+ * The ends of a slide between two notes.
246
+ *
247
+ * A span like a slur rather than a flag meaning "slide to the next note",
248
+ * so that an exported `<glissando type="start"/>`/`stop` pair round-trips as
249
+ * what it is, and so a slide across a rest cannot be expressed by accident.
250
+ */
251
+ glissandoStart?: boolean;
252
+ glissandoStop?: boolean;
253
+ /**
254
+ * The finger to play this note with.
255
+ *
256
+ * A string, not a number: piano writing uses `1`-`5`, guitar adds `T` for
257
+ * the thumb, and editions write `1-2` for a substitution. Storing what the
258
+ * engraver typed keeps all three, and nothing here needs to do arithmetic
259
+ * on it.
260
+ */
261
+ fingering?: string;
205
262
  /**
206
263
  * The syllable sung on this note.
207
264
  *
@@ -311,6 +368,30 @@ export type Measure = {
311
368
  endingNumbers?: number[];
312
369
  /** Cue notes printed in this measure. Print-only. */
313
370
  cue?: MeasureCue;
371
+ /**
372
+ * A heavier line at the end of this bar: a section break, or the end.
373
+ *
374
+ * Absent means the ordinary single barline, which is almost every bar — so
375
+ * the field is the exception rather than a value repeated on every measure.
376
+ */
377
+ barline?: BarlineStyle;
378
+ /**
379
+ * The navigation marks a player follows, each on the bar that carries it.
380
+ *
381
+ * `segno` and `coda` are *places* — the sign to come back to, and where the
382
+ * closing section begins. `toCoda` is the place you **leave** from on the
383
+ * way to the coda, which is a different bar from the coda itself and is why
384
+ * the two cannot be one flag. `fine` is where the piece ends on a later
385
+ * pass, which is usually not the last bar.
386
+ *
387
+ * `jump` is the *instruction*, and it sits on the bar at whose end it is
388
+ * obeyed. Everything else here is a target it may name.
389
+ */
390
+ segno?: boolean;
391
+ coda?: boolean;
392
+ toCoda?: boolean;
393
+ fine?: boolean;
394
+ jump?: RepeatJump;
314
395
  /**
315
396
  * Whether this bar is a pickup — an anacrusis, not counted in the numbering.
316
397
  *
@@ -445,6 +526,24 @@ export declare const hairpinSchema: z.ZodEnum<{
445
526
  crescendo: "crescendo";
446
527
  diminuendo: "diminuendo";
447
528
  }>;
529
+ export declare const ottavaSchema: z.ZodEnum<{
530
+ "8va": "8va";
531
+ "8vb": "8vb";
532
+ "15ma": "15ma";
533
+ "15mb": "15mb";
534
+ }>;
535
+ export declare const barlineStyleSchema: z.ZodEnum<{
536
+ double: "double";
537
+ final: "final";
538
+ }>;
539
+ export declare const repeatJumpSchema: z.ZodEnum<{
540
+ "da-capo": "da-capo";
541
+ "da-capo-al-fine": "da-capo-al-fine";
542
+ "da-capo-al-coda": "da-capo-al-coda";
543
+ "dal-segno": "dal-segno";
544
+ "dal-segno-al-fine": "dal-segno-al-fine";
545
+ "dal-segno-al-coda": "dal-segno-al-coda";
546
+ }>;
448
547
  export declare const ornamentSchema: z.ZodEnum<{
449
548
  trill: "trill";
450
549
  mordent: "mordent";
@@ -521,6 +620,16 @@ export declare const noteEventSchema: z.ZodObject<{
521
620
  }>>;
522
621
  hairpinStop: z.ZodOptional<z.ZodBoolean>;
523
622
  arpeggiate: z.ZodOptional<z.ZodBoolean>;
623
+ ottavaStart: z.ZodOptional<z.ZodEnum<{
624
+ "8va": "8va";
625
+ "8vb": "8vb";
626
+ "15ma": "15ma";
627
+ "15mb": "15mb";
628
+ }>>;
629
+ ottavaStop: z.ZodOptional<z.ZodBoolean>;
630
+ glissandoStart: z.ZodOptional<z.ZodBoolean>;
631
+ glissandoStop: z.ZodOptional<z.ZodBoolean>;
632
+ fingering: z.ZodOptional<z.ZodString>;
524
633
  chordSymbol: z.ZodOptional<z.ZodString>;
525
634
  graceNotes: z.ZodOptional<z.ZodArray<z.ZodObject<{
526
635
  pitch: z.ZodObject<{
@@ -609,6 +718,16 @@ export declare const musicalEventSchema: z.ZodUnion<readonly [z.ZodObject<{
609
718
  }>>;
610
719
  hairpinStop: z.ZodOptional<z.ZodBoolean>;
611
720
  arpeggiate: z.ZodOptional<z.ZodBoolean>;
721
+ ottavaStart: z.ZodOptional<z.ZodEnum<{
722
+ "8va": "8va";
723
+ "8vb": "8vb";
724
+ "15ma": "15ma";
725
+ "15mb": "15mb";
726
+ }>>;
727
+ ottavaStop: z.ZodOptional<z.ZodBoolean>;
728
+ glissandoStart: z.ZodOptional<z.ZodBoolean>;
729
+ glissandoStop: z.ZodOptional<z.ZodBoolean>;
730
+ fingering: z.ZodOptional<z.ZodString>;
612
731
  chordSymbol: z.ZodOptional<z.ZodString>;
613
732
  graceNotes: z.ZodOptional<z.ZodArray<z.ZodObject<{
614
733
  pitch: z.ZodObject<{
@@ -699,6 +818,16 @@ export declare const voiceSchema: z.ZodObject<{
699
818
  }>>;
700
819
  hairpinStop: z.ZodOptional<z.ZodBoolean>;
701
820
  arpeggiate: z.ZodOptional<z.ZodBoolean>;
821
+ ottavaStart: z.ZodOptional<z.ZodEnum<{
822
+ "8va": "8va";
823
+ "8vb": "8vb";
824
+ "15ma": "15ma";
825
+ "15mb": "15mb";
826
+ }>>;
827
+ ottavaStop: z.ZodOptional<z.ZodBoolean>;
828
+ glissandoStart: z.ZodOptional<z.ZodBoolean>;
829
+ glissandoStop: z.ZodOptional<z.ZodBoolean>;
830
+ fingering: z.ZodOptional<z.ZodString>;
702
831
  chordSymbol: z.ZodOptional<z.ZodString>;
703
832
  graceNotes: z.ZodOptional<z.ZodArray<z.ZodObject<{
704
833
  pitch: z.ZodObject<{
@@ -806,6 +935,16 @@ export declare const measureSchema: z.ZodObject<{
806
935
  }>>;
807
936
  hairpinStop: z.ZodOptional<z.ZodBoolean>;
808
937
  arpeggiate: z.ZodOptional<z.ZodBoolean>;
938
+ ottavaStart: z.ZodOptional<z.ZodEnum<{
939
+ "8va": "8va";
940
+ "8vb": "8vb";
941
+ "15ma": "15ma";
942
+ "15mb": "15mb";
943
+ }>>;
944
+ ottavaStop: z.ZodOptional<z.ZodBoolean>;
945
+ glissandoStart: z.ZodOptional<z.ZodBoolean>;
946
+ glissandoStop: z.ZodOptional<z.ZodBoolean>;
947
+ fingering: z.ZodOptional<z.ZodString>;
809
948
  chordSymbol: z.ZodOptional<z.ZodString>;
810
949
  graceNotes: z.ZodOptional<z.ZodArray<z.ZodObject<{
811
950
  pitch: z.ZodObject<{
@@ -901,6 +1040,16 @@ export declare const measureSchema: z.ZodObject<{
901
1040
  }>>;
902
1041
  hairpinStop: z.ZodOptional<z.ZodBoolean>;
903
1042
  arpeggiate: z.ZodOptional<z.ZodBoolean>;
1043
+ ottavaStart: z.ZodOptional<z.ZodEnum<{
1044
+ "8va": "8va";
1045
+ "8vb": "8vb";
1046
+ "15ma": "15ma";
1047
+ "15mb": "15mb";
1048
+ }>>;
1049
+ ottavaStop: z.ZodOptional<z.ZodBoolean>;
1050
+ glissandoStart: z.ZodOptional<z.ZodBoolean>;
1051
+ glissandoStop: z.ZodOptional<z.ZodBoolean>;
1052
+ fingering: z.ZodOptional<z.ZodString>;
904
1053
  chordSymbol: z.ZodOptional<z.ZodString>;
905
1054
  graceNotes: z.ZodOptional<z.ZodArray<z.ZodObject<{
906
1055
  pitch: z.ZodObject<{
@@ -944,6 +1093,22 @@ export declare const measureSchema: z.ZodObject<{
944
1093
  percussion: "percussion";
945
1094
  }>>;
946
1095
  pickup: z.ZodOptional<z.ZodBoolean>;
1096
+ barline: z.ZodOptional<z.ZodEnum<{
1097
+ double: "double";
1098
+ final: "final";
1099
+ }>>;
1100
+ segno: z.ZodOptional<z.ZodBoolean>;
1101
+ coda: z.ZodOptional<z.ZodBoolean>;
1102
+ toCoda: z.ZodOptional<z.ZodBoolean>;
1103
+ fine: z.ZodOptional<z.ZodBoolean>;
1104
+ jump: z.ZodOptional<z.ZodEnum<{
1105
+ "da-capo": "da-capo";
1106
+ "da-capo-al-fine": "da-capo-al-fine";
1107
+ "da-capo-al-coda": "da-capo-al-coda";
1108
+ "dal-segno": "dal-segno";
1109
+ "dal-segno-al-fine": "dal-segno-al-fine";
1110
+ "dal-segno-al-coda": "dal-segno-al-coda";
1111
+ }>>;
947
1112
  }, z.core.$strip>;
948
1113
  export declare const trackSchema: z.ZodObject<{
949
1114
  id: z.ZodString;
@@ -1034,6 +1199,16 @@ export declare const trackSchema: z.ZodObject<{
1034
1199
  }>>;
1035
1200
  hairpinStop: z.ZodOptional<z.ZodBoolean>;
1036
1201
  arpeggiate: z.ZodOptional<z.ZodBoolean>;
1202
+ ottavaStart: z.ZodOptional<z.ZodEnum<{
1203
+ "8va": "8va";
1204
+ "8vb": "8vb";
1205
+ "15ma": "15ma";
1206
+ "15mb": "15mb";
1207
+ }>>;
1208
+ ottavaStop: z.ZodOptional<z.ZodBoolean>;
1209
+ glissandoStart: z.ZodOptional<z.ZodBoolean>;
1210
+ glissandoStop: z.ZodOptional<z.ZodBoolean>;
1211
+ fingering: z.ZodOptional<z.ZodString>;
1037
1212
  chordSymbol: z.ZodOptional<z.ZodString>;
1038
1213
  graceNotes: z.ZodOptional<z.ZodArray<z.ZodObject<{
1039
1214
  pitch: z.ZodObject<{
@@ -1129,6 +1304,16 @@ export declare const trackSchema: z.ZodObject<{
1129
1304
  }>>;
1130
1305
  hairpinStop: z.ZodOptional<z.ZodBoolean>;
1131
1306
  arpeggiate: z.ZodOptional<z.ZodBoolean>;
1307
+ ottavaStart: z.ZodOptional<z.ZodEnum<{
1308
+ "8va": "8va";
1309
+ "8vb": "8vb";
1310
+ "15ma": "15ma";
1311
+ "15mb": "15mb";
1312
+ }>>;
1313
+ ottavaStop: z.ZodOptional<z.ZodBoolean>;
1314
+ glissandoStart: z.ZodOptional<z.ZodBoolean>;
1315
+ glissandoStop: z.ZodOptional<z.ZodBoolean>;
1316
+ fingering: z.ZodOptional<z.ZodString>;
1132
1317
  chordSymbol: z.ZodOptional<z.ZodString>;
1133
1318
  graceNotes: z.ZodOptional<z.ZodArray<z.ZodObject<{
1134
1319
  pitch: z.ZodObject<{
@@ -1172,6 +1357,22 @@ export declare const trackSchema: z.ZodObject<{
1172
1357
  percussion: "percussion";
1173
1358
  }>>;
1174
1359
  pickup: z.ZodOptional<z.ZodBoolean>;
1360
+ barline: z.ZodOptional<z.ZodEnum<{
1361
+ double: "double";
1362
+ final: "final";
1363
+ }>>;
1364
+ segno: z.ZodOptional<z.ZodBoolean>;
1365
+ coda: z.ZodOptional<z.ZodBoolean>;
1366
+ toCoda: z.ZodOptional<z.ZodBoolean>;
1367
+ fine: z.ZodOptional<z.ZodBoolean>;
1368
+ jump: z.ZodOptional<z.ZodEnum<{
1369
+ "da-capo": "da-capo";
1370
+ "da-capo-al-fine": "da-capo-al-fine";
1371
+ "da-capo-al-coda": "da-capo-al-coda";
1372
+ "dal-segno": "dal-segno";
1373
+ "dal-segno-al-fine": "dal-segno-al-fine";
1374
+ "dal-segno-al-coda": "dal-segno-al-coda";
1375
+ }>>;
1175
1376
  }, z.core.$strip>>;
1176
1377
  }, z.core.$strip>;
1177
1378
  export declare const scoreMetadataSchema: z.ZodObject<{
@@ -1286,6 +1487,16 @@ export declare const scoreSchema: z.ZodObject<{
1286
1487
  }>>;
1287
1488
  hairpinStop: z.ZodOptional<z.ZodBoolean>;
1288
1489
  arpeggiate: z.ZodOptional<z.ZodBoolean>;
1490
+ ottavaStart: z.ZodOptional<z.ZodEnum<{
1491
+ "8va": "8va";
1492
+ "8vb": "8vb";
1493
+ "15ma": "15ma";
1494
+ "15mb": "15mb";
1495
+ }>>;
1496
+ ottavaStop: z.ZodOptional<z.ZodBoolean>;
1497
+ glissandoStart: z.ZodOptional<z.ZodBoolean>;
1498
+ glissandoStop: z.ZodOptional<z.ZodBoolean>;
1499
+ fingering: z.ZodOptional<z.ZodString>;
1289
1500
  chordSymbol: z.ZodOptional<z.ZodString>;
1290
1501
  graceNotes: z.ZodOptional<z.ZodArray<z.ZodObject<{
1291
1502
  pitch: z.ZodObject<{
@@ -1381,6 +1592,16 @@ export declare const scoreSchema: z.ZodObject<{
1381
1592
  }>>;
1382
1593
  hairpinStop: z.ZodOptional<z.ZodBoolean>;
1383
1594
  arpeggiate: z.ZodOptional<z.ZodBoolean>;
1595
+ ottavaStart: z.ZodOptional<z.ZodEnum<{
1596
+ "8va": "8va";
1597
+ "8vb": "8vb";
1598
+ "15ma": "15ma";
1599
+ "15mb": "15mb";
1600
+ }>>;
1601
+ ottavaStop: z.ZodOptional<z.ZodBoolean>;
1602
+ glissandoStart: z.ZodOptional<z.ZodBoolean>;
1603
+ glissandoStop: z.ZodOptional<z.ZodBoolean>;
1604
+ fingering: z.ZodOptional<z.ZodString>;
1384
1605
  chordSymbol: z.ZodOptional<z.ZodString>;
1385
1606
  graceNotes: z.ZodOptional<z.ZodArray<z.ZodObject<{
1386
1607
  pitch: z.ZodObject<{
@@ -1424,6 +1645,22 @@ export declare const scoreSchema: z.ZodObject<{
1424
1645
  percussion: "percussion";
1425
1646
  }>>;
1426
1647
  pickup: z.ZodOptional<z.ZodBoolean>;
1648
+ barline: z.ZodOptional<z.ZodEnum<{
1649
+ double: "double";
1650
+ final: "final";
1651
+ }>>;
1652
+ segno: z.ZodOptional<z.ZodBoolean>;
1653
+ coda: z.ZodOptional<z.ZodBoolean>;
1654
+ toCoda: z.ZodOptional<z.ZodBoolean>;
1655
+ fine: z.ZodOptional<z.ZodBoolean>;
1656
+ jump: z.ZodOptional<z.ZodEnum<{
1657
+ "da-capo": "da-capo";
1658
+ "da-capo-al-fine": "da-capo-al-fine";
1659
+ "da-capo-al-coda": "da-capo-al-coda";
1660
+ "dal-segno": "dal-segno";
1661
+ "dal-segno-al-fine": "dal-segno-al-fine";
1662
+ "dal-segno-al-coda": "dal-segno-al-coda";
1663
+ }>>;
1427
1664
  }, z.core.$strip>>;
1428
1665
  }, z.core.$strip>>;
1429
1666
  }, z.core.$strip>;
@@ -1433,7 +1670,7 @@ export type GenerateScoreRequestTrack = {
1433
1670
  name: string;
1434
1671
  instrumentName: string;
1435
1672
  midiProgram: number;
1436
- clef: Track['clef'];
1673
+ clef: Track["clef"];
1437
1674
  range?: {
1438
1675
  lowestMidi: number;
1439
1676
  highestMidi: number;
@@ -1450,7 +1687,7 @@ export type GenerateScoreRequest = {
1450
1687
  timeSignature?: TimeSignature;
1451
1688
  keySignature?: KeySignature;
1452
1689
  tracks: GenerateScoreRequestTrack[];
1453
- complexity?: 'simple' | 'moderate' | 'complex';
1690
+ complexity?: "simple" | "moderate" | "complex";
1454
1691
  };
1455
1692
  /** Never a rendered/notation payload and never raw MIDI: always a structured `Score`. */
1456
1693
  export type GenerateScoreResult = {
@@ -1489,7 +1726,7 @@ export type RegenerateRegionRequest = {
1489
1726
  /** Same three dials whole-score generation has; the prompt builder emits them identically. */
1490
1727
  style?: string;
1491
1728
  mood?: string;
1492
- complexity?: 'simple' | 'moderate' | 'complex';
1729
+ complexity?: "simple" | "moderate" | "complex";
1493
1730
  };
1494
1731
  export type RegenerationCandidate = {
1495
1732
  id: string;
@@ -1596,6 +1833,16 @@ export declare const scoreFragmentSchema: z.ZodObject<{
1596
1833
  }>>;
1597
1834
  hairpinStop: z.ZodOptional<z.ZodBoolean>;
1598
1835
  arpeggiate: z.ZodOptional<z.ZodBoolean>;
1836
+ ottavaStart: z.ZodOptional<z.ZodEnum<{
1837
+ "8va": "8va";
1838
+ "8vb": "8vb";
1839
+ "15ma": "15ma";
1840
+ "15mb": "15mb";
1841
+ }>>;
1842
+ ottavaStop: z.ZodOptional<z.ZodBoolean>;
1843
+ glissandoStart: z.ZodOptional<z.ZodBoolean>;
1844
+ glissandoStop: z.ZodOptional<z.ZodBoolean>;
1845
+ fingering: z.ZodOptional<z.ZodString>;
1599
1846
  chordSymbol: z.ZodOptional<z.ZodString>;
1600
1847
  graceNotes: z.ZodOptional<z.ZodArray<z.ZodObject<{
1601
1848
  pitch: z.ZodObject<{
@@ -1691,6 +1938,16 @@ export declare const scoreFragmentSchema: z.ZodObject<{
1691
1938
  }>>;
1692
1939
  hairpinStop: z.ZodOptional<z.ZodBoolean>;
1693
1940
  arpeggiate: z.ZodOptional<z.ZodBoolean>;
1941
+ ottavaStart: z.ZodOptional<z.ZodEnum<{
1942
+ "8va": "8va";
1943
+ "8vb": "8vb";
1944
+ "15ma": "15ma";
1945
+ "15mb": "15mb";
1946
+ }>>;
1947
+ ottavaStop: z.ZodOptional<z.ZodBoolean>;
1948
+ glissandoStart: z.ZodOptional<z.ZodBoolean>;
1949
+ glissandoStop: z.ZodOptional<z.ZodBoolean>;
1950
+ fingering: z.ZodOptional<z.ZodString>;
1694
1951
  chordSymbol: z.ZodOptional<z.ZodString>;
1695
1952
  graceNotes: z.ZodOptional<z.ZodArray<z.ZodObject<{
1696
1953
  pitch: z.ZodObject<{
@@ -1734,6 +1991,22 @@ export declare const scoreFragmentSchema: z.ZodObject<{
1734
1991
  percussion: "percussion";
1735
1992
  }>>;
1736
1993
  pickup: z.ZodOptional<z.ZodBoolean>;
1994
+ barline: z.ZodOptional<z.ZodEnum<{
1995
+ double: "double";
1996
+ final: "final";
1997
+ }>>;
1998
+ segno: z.ZodOptional<z.ZodBoolean>;
1999
+ coda: z.ZodOptional<z.ZodBoolean>;
2000
+ toCoda: z.ZodOptional<z.ZodBoolean>;
2001
+ fine: z.ZodOptional<z.ZodBoolean>;
2002
+ jump: z.ZodOptional<z.ZodEnum<{
2003
+ "da-capo": "da-capo";
2004
+ "da-capo-al-fine": "da-capo-al-fine";
2005
+ "da-capo-al-coda": "da-capo-al-coda";
2006
+ "dal-segno": "dal-segno";
2007
+ "dal-segno-al-fine": "dal-segno-al-fine";
2008
+ "dal-segno-al-coda": "dal-segno-al-coda";
2009
+ }>>;
1737
2010
  }, z.core.$strip>>;
1738
2011
  }, z.core.$strip>>;
1739
2012
  }, z.core.$strip>;
@@ -1901,6 +2174,16 @@ export declare const generateScoreResultSchema: z.ZodObject<{
1901
2174
  }>>;
1902
2175
  hairpinStop: z.ZodOptional<z.ZodBoolean>;
1903
2176
  arpeggiate: z.ZodOptional<z.ZodBoolean>;
2177
+ ottavaStart: z.ZodOptional<z.ZodEnum<{
2178
+ "8va": "8va";
2179
+ "8vb": "8vb";
2180
+ "15ma": "15ma";
2181
+ "15mb": "15mb";
2182
+ }>>;
2183
+ ottavaStop: z.ZodOptional<z.ZodBoolean>;
2184
+ glissandoStart: z.ZodOptional<z.ZodBoolean>;
2185
+ glissandoStop: z.ZodOptional<z.ZodBoolean>;
2186
+ fingering: z.ZodOptional<z.ZodString>;
1904
2187
  chordSymbol: z.ZodOptional<z.ZodString>;
1905
2188
  graceNotes: z.ZodOptional<z.ZodArray<z.ZodObject<{
1906
2189
  pitch: z.ZodObject<{
@@ -1996,6 +2279,16 @@ export declare const generateScoreResultSchema: z.ZodObject<{
1996
2279
  }>>;
1997
2280
  hairpinStop: z.ZodOptional<z.ZodBoolean>;
1998
2281
  arpeggiate: z.ZodOptional<z.ZodBoolean>;
2282
+ ottavaStart: z.ZodOptional<z.ZodEnum<{
2283
+ "8va": "8va";
2284
+ "8vb": "8vb";
2285
+ "15ma": "15ma";
2286
+ "15mb": "15mb";
2287
+ }>>;
2288
+ ottavaStop: z.ZodOptional<z.ZodBoolean>;
2289
+ glissandoStart: z.ZodOptional<z.ZodBoolean>;
2290
+ glissandoStop: z.ZodOptional<z.ZodBoolean>;
2291
+ fingering: z.ZodOptional<z.ZodString>;
1999
2292
  chordSymbol: z.ZodOptional<z.ZodString>;
2000
2293
  graceNotes: z.ZodOptional<z.ZodArray<z.ZodObject<{
2001
2294
  pitch: z.ZodObject<{
@@ -2039,6 +2332,22 @@ export declare const generateScoreResultSchema: z.ZodObject<{
2039
2332
  percussion: "percussion";
2040
2333
  }>>;
2041
2334
  pickup: z.ZodOptional<z.ZodBoolean>;
2335
+ barline: z.ZodOptional<z.ZodEnum<{
2336
+ double: "double";
2337
+ final: "final";
2338
+ }>>;
2339
+ segno: z.ZodOptional<z.ZodBoolean>;
2340
+ coda: z.ZodOptional<z.ZodBoolean>;
2341
+ toCoda: z.ZodOptional<z.ZodBoolean>;
2342
+ fine: z.ZodOptional<z.ZodBoolean>;
2343
+ jump: z.ZodOptional<z.ZodEnum<{
2344
+ "da-capo": "da-capo";
2345
+ "da-capo-al-fine": "da-capo-al-fine";
2346
+ "da-capo-al-coda": "da-capo-al-coda";
2347
+ "dal-segno": "dal-segno";
2348
+ "dal-segno-al-fine": "dal-segno-al-fine";
2349
+ "dal-segno-al-coda": "dal-segno-al-coda";
2350
+ }>>;
2042
2351
  }, z.core.$strip>>;
2043
2352
  }, z.core.$strip>>;
2044
2353
  }, z.core.$strip>;
@@ -2147,6 +2456,16 @@ export declare const regenerateRegionRequestSchema: z.ZodObject<{
2147
2456
  }>>;
2148
2457
  hairpinStop: z.ZodOptional<z.ZodBoolean>;
2149
2458
  arpeggiate: z.ZodOptional<z.ZodBoolean>;
2459
+ ottavaStart: z.ZodOptional<z.ZodEnum<{
2460
+ "8va": "8va";
2461
+ "8vb": "8vb";
2462
+ "15ma": "15ma";
2463
+ "15mb": "15mb";
2464
+ }>>;
2465
+ ottavaStop: z.ZodOptional<z.ZodBoolean>;
2466
+ glissandoStart: z.ZodOptional<z.ZodBoolean>;
2467
+ glissandoStop: z.ZodOptional<z.ZodBoolean>;
2468
+ fingering: z.ZodOptional<z.ZodString>;
2150
2469
  chordSymbol: z.ZodOptional<z.ZodString>;
2151
2470
  graceNotes: z.ZodOptional<z.ZodArray<z.ZodObject<{
2152
2471
  pitch: z.ZodObject<{
@@ -2242,6 +2561,16 @@ export declare const regenerateRegionRequestSchema: z.ZodObject<{
2242
2561
  }>>;
2243
2562
  hairpinStop: z.ZodOptional<z.ZodBoolean>;
2244
2563
  arpeggiate: z.ZodOptional<z.ZodBoolean>;
2564
+ ottavaStart: z.ZodOptional<z.ZodEnum<{
2565
+ "8va": "8va";
2566
+ "8vb": "8vb";
2567
+ "15ma": "15ma";
2568
+ "15mb": "15mb";
2569
+ }>>;
2570
+ ottavaStop: z.ZodOptional<z.ZodBoolean>;
2571
+ glissandoStart: z.ZodOptional<z.ZodBoolean>;
2572
+ glissandoStop: z.ZodOptional<z.ZodBoolean>;
2573
+ fingering: z.ZodOptional<z.ZodString>;
2245
2574
  chordSymbol: z.ZodOptional<z.ZodString>;
2246
2575
  graceNotes: z.ZodOptional<z.ZodArray<z.ZodObject<{
2247
2576
  pitch: z.ZodObject<{
@@ -2285,6 +2614,22 @@ export declare const regenerateRegionRequestSchema: z.ZodObject<{
2285
2614
  percussion: "percussion";
2286
2615
  }>>;
2287
2616
  pickup: z.ZodOptional<z.ZodBoolean>;
2617
+ barline: z.ZodOptional<z.ZodEnum<{
2618
+ double: "double";
2619
+ final: "final";
2620
+ }>>;
2621
+ segno: z.ZodOptional<z.ZodBoolean>;
2622
+ coda: z.ZodOptional<z.ZodBoolean>;
2623
+ toCoda: z.ZodOptional<z.ZodBoolean>;
2624
+ fine: z.ZodOptional<z.ZodBoolean>;
2625
+ jump: z.ZodOptional<z.ZodEnum<{
2626
+ "da-capo": "da-capo";
2627
+ "da-capo-al-fine": "da-capo-al-fine";
2628
+ "da-capo-al-coda": "da-capo-al-coda";
2629
+ "dal-segno": "dal-segno";
2630
+ "dal-segno-al-fine": "dal-segno-al-fine";
2631
+ "dal-segno-al-coda": "dal-segno-al-coda";
2632
+ }>>;
2288
2633
  }, z.core.$strip>>;
2289
2634
  }, z.core.$strip>>;
2290
2635
  }, z.core.$strip>;
@@ -2369,6 +2714,16 @@ export declare const regenerateRegionRequestSchema: z.ZodObject<{
2369
2714
  }>>;
2370
2715
  hairpinStop: z.ZodOptional<z.ZodBoolean>;
2371
2716
  arpeggiate: z.ZodOptional<z.ZodBoolean>;
2717
+ ottavaStart: z.ZodOptional<z.ZodEnum<{
2718
+ "8va": "8va";
2719
+ "8vb": "8vb";
2720
+ "15ma": "15ma";
2721
+ "15mb": "15mb";
2722
+ }>>;
2723
+ ottavaStop: z.ZodOptional<z.ZodBoolean>;
2724
+ glissandoStart: z.ZodOptional<z.ZodBoolean>;
2725
+ glissandoStop: z.ZodOptional<z.ZodBoolean>;
2726
+ fingering: z.ZodOptional<z.ZodString>;
2372
2727
  chordSymbol: z.ZodOptional<z.ZodString>;
2373
2728
  graceNotes: z.ZodOptional<z.ZodArray<z.ZodObject<{
2374
2729
  pitch: z.ZodObject<{
@@ -2464,6 +2819,16 @@ export declare const regenerateRegionRequestSchema: z.ZodObject<{
2464
2819
  }>>;
2465
2820
  hairpinStop: z.ZodOptional<z.ZodBoolean>;
2466
2821
  arpeggiate: z.ZodOptional<z.ZodBoolean>;
2822
+ ottavaStart: z.ZodOptional<z.ZodEnum<{
2823
+ "8va": "8va";
2824
+ "8vb": "8vb";
2825
+ "15ma": "15ma";
2826
+ "15mb": "15mb";
2827
+ }>>;
2828
+ ottavaStop: z.ZodOptional<z.ZodBoolean>;
2829
+ glissandoStart: z.ZodOptional<z.ZodBoolean>;
2830
+ glissandoStop: z.ZodOptional<z.ZodBoolean>;
2831
+ fingering: z.ZodOptional<z.ZodString>;
2467
2832
  chordSymbol: z.ZodOptional<z.ZodString>;
2468
2833
  graceNotes: z.ZodOptional<z.ZodArray<z.ZodObject<{
2469
2834
  pitch: z.ZodObject<{
@@ -2507,6 +2872,22 @@ export declare const regenerateRegionRequestSchema: z.ZodObject<{
2507
2872
  percussion: "percussion";
2508
2873
  }>>;
2509
2874
  pickup: z.ZodOptional<z.ZodBoolean>;
2875
+ barline: z.ZodOptional<z.ZodEnum<{
2876
+ double: "double";
2877
+ final: "final";
2878
+ }>>;
2879
+ segno: z.ZodOptional<z.ZodBoolean>;
2880
+ coda: z.ZodOptional<z.ZodBoolean>;
2881
+ toCoda: z.ZodOptional<z.ZodBoolean>;
2882
+ fine: z.ZodOptional<z.ZodBoolean>;
2883
+ jump: z.ZodOptional<z.ZodEnum<{
2884
+ "da-capo": "da-capo";
2885
+ "da-capo-al-fine": "da-capo-al-fine";
2886
+ "da-capo-al-coda": "da-capo-al-coda";
2887
+ "dal-segno": "dal-segno";
2888
+ "dal-segno-al-fine": "dal-segno-al-fine";
2889
+ "dal-segno-al-coda": "dal-segno-al-coda";
2890
+ }>>;
2510
2891
  }, z.core.$strip>>;
2511
2892
  }, z.core.$strip>>;
2512
2893
  }, z.core.$strip>;
@@ -2591,6 +2972,16 @@ export declare const regenerateRegionRequestSchema: z.ZodObject<{
2591
2972
  }>>;
2592
2973
  hairpinStop: z.ZodOptional<z.ZodBoolean>;
2593
2974
  arpeggiate: z.ZodOptional<z.ZodBoolean>;
2975
+ ottavaStart: z.ZodOptional<z.ZodEnum<{
2976
+ "8va": "8va";
2977
+ "8vb": "8vb";
2978
+ "15ma": "15ma";
2979
+ "15mb": "15mb";
2980
+ }>>;
2981
+ ottavaStop: z.ZodOptional<z.ZodBoolean>;
2982
+ glissandoStart: z.ZodOptional<z.ZodBoolean>;
2983
+ glissandoStop: z.ZodOptional<z.ZodBoolean>;
2984
+ fingering: z.ZodOptional<z.ZodString>;
2594
2985
  chordSymbol: z.ZodOptional<z.ZodString>;
2595
2986
  graceNotes: z.ZodOptional<z.ZodArray<z.ZodObject<{
2596
2987
  pitch: z.ZodObject<{
@@ -2686,6 +3077,16 @@ export declare const regenerateRegionRequestSchema: z.ZodObject<{
2686
3077
  }>>;
2687
3078
  hairpinStop: z.ZodOptional<z.ZodBoolean>;
2688
3079
  arpeggiate: z.ZodOptional<z.ZodBoolean>;
3080
+ ottavaStart: z.ZodOptional<z.ZodEnum<{
3081
+ "8va": "8va";
3082
+ "8vb": "8vb";
3083
+ "15ma": "15ma";
3084
+ "15mb": "15mb";
3085
+ }>>;
3086
+ ottavaStop: z.ZodOptional<z.ZodBoolean>;
3087
+ glissandoStart: z.ZodOptional<z.ZodBoolean>;
3088
+ glissandoStop: z.ZodOptional<z.ZodBoolean>;
3089
+ fingering: z.ZodOptional<z.ZodString>;
2689
3090
  chordSymbol: z.ZodOptional<z.ZodString>;
2690
3091
  graceNotes: z.ZodOptional<z.ZodArray<z.ZodObject<{
2691
3092
  pitch: z.ZodObject<{
@@ -2729,6 +3130,22 @@ export declare const regenerateRegionRequestSchema: z.ZodObject<{
2729
3130
  percussion: "percussion";
2730
3131
  }>>;
2731
3132
  pickup: z.ZodOptional<z.ZodBoolean>;
3133
+ barline: z.ZodOptional<z.ZodEnum<{
3134
+ double: "double";
3135
+ final: "final";
3136
+ }>>;
3137
+ segno: z.ZodOptional<z.ZodBoolean>;
3138
+ coda: z.ZodOptional<z.ZodBoolean>;
3139
+ toCoda: z.ZodOptional<z.ZodBoolean>;
3140
+ fine: z.ZodOptional<z.ZodBoolean>;
3141
+ jump: z.ZodOptional<z.ZodEnum<{
3142
+ "da-capo": "da-capo";
3143
+ "da-capo-al-fine": "da-capo-al-fine";
3144
+ "da-capo-al-coda": "da-capo-al-coda";
3145
+ "dal-segno": "dal-segno";
3146
+ "dal-segno-al-fine": "dal-segno-al-fine";
3147
+ "dal-segno-al-coda": "dal-segno-al-coda";
3148
+ }>>;
2732
3149
  }, z.core.$strip>>;
2733
3150
  }, z.core.$strip>>;
2734
3151
  }, z.core.$strip>;
@@ -2839,6 +3256,16 @@ export declare const regenerationCandidateSchema: z.ZodObject<{
2839
3256
  }>>;
2840
3257
  hairpinStop: z.ZodOptional<z.ZodBoolean>;
2841
3258
  arpeggiate: z.ZodOptional<z.ZodBoolean>;
3259
+ ottavaStart: z.ZodOptional<z.ZodEnum<{
3260
+ "8va": "8va";
3261
+ "8vb": "8vb";
3262
+ "15ma": "15ma";
3263
+ "15mb": "15mb";
3264
+ }>>;
3265
+ ottavaStop: z.ZodOptional<z.ZodBoolean>;
3266
+ glissandoStart: z.ZodOptional<z.ZodBoolean>;
3267
+ glissandoStop: z.ZodOptional<z.ZodBoolean>;
3268
+ fingering: z.ZodOptional<z.ZodString>;
2842
3269
  chordSymbol: z.ZodOptional<z.ZodString>;
2843
3270
  graceNotes: z.ZodOptional<z.ZodArray<z.ZodObject<{
2844
3271
  pitch: z.ZodObject<{
@@ -2934,6 +3361,16 @@ export declare const regenerationCandidateSchema: z.ZodObject<{
2934
3361
  }>>;
2935
3362
  hairpinStop: z.ZodOptional<z.ZodBoolean>;
2936
3363
  arpeggiate: z.ZodOptional<z.ZodBoolean>;
3364
+ ottavaStart: z.ZodOptional<z.ZodEnum<{
3365
+ "8va": "8va";
3366
+ "8vb": "8vb";
3367
+ "15ma": "15ma";
3368
+ "15mb": "15mb";
3369
+ }>>;
3370
+ ottavaStop: z.ZodOptional<z.ZodBoolean>;
3371
+ glissandoStart: z.ZodOptional<z.ZodBoolean>;
3372
+ glissandoStop: z.ZodOptional<z.ZodBoolean>;
3373
+ fingering: z.ZodOptional<z.ZodString>;
2937
3374
  chordSymbol: z.ZodOptional<z.ZodString>;
2938
3375
  graceNotes: z.ZodOptional<z.ZodArray<z.ZodObject<{
2939
3376
  pitch: z.ZodObject<{
@@ -2977,6 +3414,22 @@ export declare const regenerationCandidateSchema: z.ZodObject<{
2977
3414
  percussion: "percussion";
2978
3415
  }>>;
2979
3416
  pickup: z.ZodOptional<z.ZodBoolean>;
3417
+ barline: z.ZodOptional<z.ZodEnum<{
3418
+ double: "double";
3419
+ final: "final";
3420
+ }>>;
3421
+ segno: z.ZodOptional<z.ZodBoolean>;
3422
+ coda: z.ZodOptional<z.ZodBoolean>;
3423
+ toCoda: z.ZodOptional<z.ZodBoolean>;
3424
+ fine: z.ZodOptional<z.ZodBoolean>;
3425
+ jump: z.ZodOptional<z.ZodEnum<{
3426
+ "da-capo": "da-capo";
3427
+ "da-capo-al-fine": "da-capo-al-fine";
3428
+ "da-capo-al-coda": "da-capo-al-coda";
3429
+ "dal-segno": "dal-segno";
3430
+ "dal-segno-al-fine": "dal-segno-al-fine";
3431
+ "dal-segno-al-coda": "dal-segno-al-coda";
3432
+ }>>;
2980
3433
  }, z.core.$strip>>;
2981
3434
  }, z.core.$strip>>;
2982
3435
  }, z.core.$strip>;
@@ -3066,6 +3519,16 @@ export declare const regenerateRegionResultSchema: z.ZodObject<{
3066
3519
  }>>;
3067
3520
  hairpinStop: z.ZodOptional<z.ZodBoolean>;
3068
3521
  arpeggiate: z.ZodOptional<z.ZodBoolean>;
3522
+ ottavaStart: z.ZodOptional<z.ZodEnum<{
3523
+ "8va": "8va";
3524
+ "8vb": "8vb";
3525
+ "15ma": "15ma";
3526
+ "15mb": "15mb";
3527
+ }>>;
3528
+ ottavaStop: z.ZodOptional<z.ZodBoolean>;
3529
+ glissandoStart: z.ZodOptional<z.ZodBoolean>;
3530
+ glissandoStop: z.ZodOptional<z.ZodBoolean>;
3531
+ fingering: z.ZodOptional<z.ZodString>;
3069
3532
  chordSymbol: z.ZodOptional<z.ZodString>;
3070
3533
  graceNotes: z.ZodOptional<z.ZodArray<z.ZodObject<{
3071
3534
  pitch: z.ZodObject<{
@@ -3161,6 +3624,16 @@ export declare const regenerateRegionResultSchema: z.ZodObject<{
3161
3624
  }>>;
3162
3625
  hairpinStop: z.ZodOptional<z.ZodBoolean>;
3163
3626
  arpeggiate: z.ZodOptional<z.ZodBoolean>;
3627
+ ottavaStart: z.ZodOptional<z.ZodEnum<{
3628
+ "8va": "8va";
3629
+ "8vb": "8vb";
3630
+ "15ma": "15ma";
3631
+ "15mb": "15mb";
3632
+ }>>;
3633
+ ottavaStop: z.ZodOptional<z.ZodBoolean>;
3634
+ glissandoStart: z.ZodOptional<z.ZodBoolean>;
3635
+ glissandoStop: z.ZodOptional<z.ZodBoolean>;
3636
+ fingering: z.ZodOptional<z.ZodString>;
3164
3637
  chordSymbol: z.ZodOptional<z.ZodString>;
3165
3638
  graceNotes: z.ZodOptional<z.ZodArray<z.ZodObject<{
3166
3639
  pitch: z.ZodObject<{
@@ -3204,6 +3677,22 @@ export declare const regenerateRegionResultSchema: z.ZodObject<{
3204
3677
  percussion: "percussion";
3205
3678
  }>>;
3206
3679
  pickup: z.ZodOptional<z.ZodBoolean>;
3680
+ barline: z.ZodOptional<z.ZodEnum<{
3681
+ double: "double";
3682
+ final: "final";
3683
+ }>>;
3684
+ segno: z.ZodOptional<z.ZodBoolean>;
3685
+ coda: z.ZodOptional<z.ZodBoolean>;
3686
+ toCoda: z.ZodOptional<z.ZodBoolean>;
3687
+ fine: z.ZodOptional<z.ZodBoolean>;
3688
+ jump: z.ZodOptional<z.ZodEnum<{
3689
+ "da-capo": "da-capo";
3690
+ "da-capo-al-fine": "da-capo-al-fine";
3691
+ "da-capo-al-coda": "da-capo-al-coda";
3692
+ "dal-segno": "dal-segno";
3693
+ "dal-segno-al-fine": "dal-segno-al-fine";
3694
+ "dal-segno-al-coda": "dal-segno-al-coda";
3695
+ }>>;
3207
3696
  }, z.core.$strip>>;
3208
3697
  }, z.core.$strip>>;
3209
3698
  }, z.core.$strip>;
@@ -3219,14 +3708,14 @@ export declare const regenerateRegionResultSchema: z.ZodObject<{
3219
3708
  * editor can say which is happening, since one takes seconds of model time and
3220
3709
  * the other minutes of audio.
3221
3710
  */
3222
- export type ProjectStatus = 'ready' | 'generating' | 'transcribing';
3711
+ export type ProjectStatus = "ready" | "generating" | "transcribing";
3223
3712
  export declare const projectStatusSchema: z.ZodEnum<{
3224
3713
  ready: "ready";
3225
3714
  generating: "generating";
3226
3715
  transcribing: "transcribing";
3227
3716
  }>;
3228
3717
  /** Which of the five generation entry points produced a job. */
3229
- export type GenerationJobKind = 'generate-score' | 'generate-track' | 'replace-notes' | 'replace-measures' | 'replace-track';
3718
+ export type GenerationJobKind = "generate-score" | "generate-track" | "replace-notes" | "replace-measures" | "replace-track";
3230
3719
  export declare const generationJobKindSchema: z.ZodEnum<{
3231
3720
  "generate-score": "generate-score";
3232
3721
  "generate-track": "generate-track";
@@ -3245,7 +3734,7 @@ export declare const generationJobKindSchema: z.ZodEnum<{
3245
3734
  * project is already `generating` — the request is built against the stored
3246
3735
  * score, so that score must not move underneath it while it waits.
3247
3736
  */
3248
- export type GenerationJobStatus = 'queued' | 'running' | 'done' | 'failed' | 'cancelled';
3737
+ export type GenerationJobStatus = "queued" | "running" | "done" | "failed" | "cancelled";
3249
3738
  export declare const generationJobStatusSchema: z.ZodEnum<{
3250
3739
  failed: "failed";
3251
3740
  done: "done";
@@ -3386,7 +3875,7 @@ export type ProjectRecord = ProjectSummary & {
3386
3875
  * sent. On a debounced autosave that echo doubled the cost of every edit, so
3387
3876
  * reads return the score and writes return metadata about it.
3388
3877
  */
3389
- export type ProjectSaveResult = Omit<ProjectRecord, 'score'>;
3878
+ export type ProjectSaveResult = Omit<ProjectRecord, "score">;
3390
3879
  /**
3391
3880
  * What a status poll returns. Deliberately small: an open editor asks for this
3392
3881
  * every few seconds for the whole session.
@@ -3454,9 +3943,9 @@ export type PublishedSnapshot = {
3454
3943
  createdAt: string;
3455
3944
  };
3456
3945
  /** One row of the Community list. No score — the list would be enormous. */
3457
- export type CommunityItem = Omit<PublishedSnapshot, 'score'>;
3946
+ export type CommunityItem = Omit<PublishedSnapshot, "score">;
3458
3947
  /** A snapshot without its score — what the picker lists, so it stays cheap. */
3459
- export type SnapshotSummary = Omit<Snapshot, 'score' | 'uiPrefs'>;
3948
+ export type SnapshotSummary = Omit<Snapshot, "score" | "uiPrefs">;
3460
3949
  export type ProjectCreateRequest = {
3461
3950
  name: string;
3462
3951
  score: Score;
@@ -3477,7 +3966,7 @@ export type ProjectDuplicateRequest = {
3477
3966
  };
3478
3967
  export type ProjectListQuery = {
3479
3968
  search?: string;
3480
- sort?: 'updatedAt' | 'name';
3969
+ sort?: "updatedAt" | "name";
3481
3970
  };
3482
3971
  export declare const projectUiPrefsSchema: z.ZodObject<{
3483
3972
  zoom: z.ZodNumber;
@@ -3618,6 +4107,16 @@ export declare const projectRecordSchema: z.ZodObject<{
3618
4107
  }>>;
3619
4108
  hairpinStop: z.ZodOptional<z.ZodBoolean>;
3620
4109
  arpeggiate: z.ZodOptional<z.ZodBoolean>;
4110
+ ottavaStart: z.ZodOptional<z.ZodEnum<{
4111
+ "8va": "8va";
4112
+ "8vb": "8vb";
4113
+ "15ma": "15ma";
4114
+ "15mb": "15mb";
4115
+ }>>;
4116
+ ottavaStop: z.ZodOptional<z.ZodBoolean>;
4117
+ glissandoStart: z.ZodOptional<z.ZodBoolean>;
4118
+ glissandoStop: z.ZodOptional<z.ZodBoolean>;
4119
+ fingering: z.ZodOptional<z.ZodString>;
3621
4120
  chordSymbol: z.ZodOptional<z.ZodString>;
3622
4121
  graceNotes: z.ZodOptional<z.ZodArray<z.ZodObject<{
3623
4122
  pitch: z.ZodObject<{
@@ -3713,6 +4212,16 @@ export declare const projectRecordSchema: z.ZodObject<{
3713
4212
  }>>;
3714
4213
  hairpinStop: z.ZodOptional<z.ZodBoolean>;
3715
4214
  arpeggiate: z.ZodOptional<z.ZodBoolean>;
4215
+ ottavaStart: z.ZodOptional<z.ZodEnum<{
4216
+ "8va": "8va";
4217
+ "8vb": "8vb";
4218
+ "15ma": "15ma";
4219
+ "15mb": "15mb";
4220
+ }>>;
4221
+ ottavaStop: z.ZodOptional<z.ZodBoolean>;
4222
+ glissandoStart: z.ZodOptional<z.ZodBoolean>;
4223
+ glissandoStop: z.ZodOptional<z.ZodBoolean>;
4224
+ fingering: z.ZodOptional<z.ZodString>;
3716
4225
  chordSymbol: z.ZodOptional<z.ZodString>;
3717
4226
  graceNotes: z.ZodOptional<z.ZodArray<z.ZodObject<{
3718
4227
  pitch: z.ZodObject<{
@@ -3756,6 +4265,22 @@ export declare const projectRecordSchema: z.ZodObject<{
3756
4265
  percussion: "percussion";
3757
4266
  }>>;
3758
4267
  pickup: z.ZodOptional<z.ZodBoolean>;
4268
+ barline: z.ZodOptional<z.ZodEnum<{
4269
+ double: "double";
4270
+ final: "final";
4271
+ }>>;
4272
+ segno: z.ZodOptional<z.ZodBoolean>;
4273
+ coda: z.ZodOptional<z.ZodBoolean>;
4274
+ toCoda: z.ZodOptional<z.ZodBoolean>;
4275
+ fine: z.ZodOptional<z.ZodBoolean>;
4276
+ jump: z.ZodOptional<z.ZodEnum<{
4277
+ "da-capo": "da-capo";
4278
+ "da-capo-al-fine": "da-capo-al-fine";
4279
+ "da-capo-al-coda": "da-capo-al-coda";
4280
+ "dal-segno": "dal-segno";
4281
+ "dal-segno-al-fine": "dal-segno-al-fine";
4282
+ "dal-segno-al-coda": "dal-segno-al-coda";
4283
+ }>>;
3759
4284
  }, z.core.$strip>>;
3760
4285
  }, z.core.$strip>>;
3761
4286
  }, z.core.$strip>;
@@ -3882,6 +4407,16 @@ export declare const snapshotSchema: z.ZodObject<{
3882
4407
  }>>;
3883
4408
  hairpinStop: z.ZodOptional<z.ZodBoolean>;
3884
4409
  arpeggiate: z.ZodOptional<z.ZodBoolean>;
4410
+ ottavaStart: z.ZodOptional<z.ZodEnum<{
4411
+ "8va": "8va";
4412
+ "8vb": "8vb";
4413
+ "15ma": "15ma";
4414
+ "15mb": "15mb";
4415
+ }>>;
4416
+ ottavaStop: z.ZodOptional<z.ZodBoolean>;
4417
+ glissandoStart: z.ZodOptional<z.ZodBoolean>;
4418
+ glissandoStop: z.ZodOptional<z.ZodBoolean>;
4419
+ fingering: z.ZodOptional<z.ZodString>;
3885
4420
  chordSymbol: z.ZodOptional<z.ZodString>;
3886
4421
  graceNotes: z.ZodOptional<z.ZodArray<z.ZodObject<{
3887
4422
  pitch: z.ZodObject<{
@@ -3977,6 +4512,16 @@ export declare const snapshotSchema: z.ZodObject<{
3977
4512
  }>>;
3978
4513
  hairpinStop: z.ZodOptional<z.ZodBoolean>;
3979
4514
  arpeggiate: z.ZodOptional<z.ZodBoolean>;
4515
+ ottavaStart: z.ZodOptional<z.ZodEnum<{
4516
+ "8va": "8va";
4517
+ "8vb": "8vb";
4518
+ "15ma": "15ma";
4519
+ "15mb": "15mb";
4520
+ }>>;
4521
+ ottavaStop: z.ZodOptional<z.ZodBoolean>;
4522
+ glissandoStart: z.ZodOptional<z.ZodBoolean>;
4523
+ glissandoStop: z.ZodOptional<z.ZodBoolean>;
4524
+ fingering: z.ZodOptional<z.ZodString>;
3980
4525
  chordSymbol: z.ZodOptional<z.ZodString>;
3981
4526
  graceNotes: z.ZodOptional<z.ZodArray<z.ZodObject<{
3982
4527
  pitch: z.ZodObject<{
@@ -4020,6 +4565,22 @@ export declare const snapshotSchema: z.ZodObject<{
4020
4565
  percussion: "percussion";
4021
4566
  }>>;
4022
4567
  pickup: z.ZodOptional<z.ZodBoolean>;
4568
+ barline: z.ZodOptional<z.ZodEnum<{
4569
+ double: "double";
4570
+ final: "final";
4571
+ }>>;
4572
+ segno: z.ZodOptional<z.ZodBoolean>;
4573
+ coda: z.ZodOptional<z.ZodBoolean>;
4574
+ toCoda: z.ZodOptional<z.ZodBoolean>;
4575
+ fine: z.ZodOptional<z.ZodBoolean>;
4576
+ jump: z.ZodOptional<z.ZodEnum<{
4577
+ "da-capo": "da-capo";
4578
+ "da-capo-al-fine": "da-capo-al-fine";
4579
+ "da-capo-al-coda": "da-capo-al-coda";
4580
+ "dal-segno": "dal-segno";
4581
+ "dal-segno-al-fine": "dal-segno-al-fine";
4582
+ "dal-segno-al-coda": "dal-segno-al-coda";
4583
+ }>>;
4023
4584
  }, z.core.$strip>>;
4024
4585
  }, z.core.$strip>>;
4025
4586
  }, z.core.$strip>;
@@ -4138,6 +4699,16 @@ export declare const publishedSnapshotSchema: z.ZodObject<{
4138
4699
  }>>;
4139
4700
  hairpinStop: z.ZodOptional<z.ZodBoolean>;
4140
4701
  arpeggiate: z.ZodOptional<z.ZodBoolean>;
4702
+ ottavaStart: z.ZodOptional<z.ZodEnum<{
4703
+ "8va": "8va";
4704
+ "8vb": "8vb";
4705
+ "15ma": "15ma";
4706
+ "15mb": "15mb";
4707
+ }>>;
4708
+ ottavaStop: z.ZodOptional<z.ZodBoolean>;
4709
+ glissandoStart: z.ZodOptional<z.ZodBoolean>;
4710
+ glissandoStop: z.ZodOptional<z.ZodBoolean>;
4711
+ fingering: z.ZodOptional<z.ZodString>;
4141
4712
  chordSymbol: z.ZodOptional<z.ZodString>;
4142
4713
  graceNotes: z.ZodOptional<z.ZodArray<z.ZodObject<{
4143
4714
  pitch: z.ZodObject<{
@@ -4233,6 +4804,16 @@ export declare const publishedSnapshotSchema: z.ZodObject<{
4233
4804
  }>>;
4234
4805
  hairpinStop: z.ZodOptional<z.ZodBoolean>;
4235
4806
  arpeggiate: z.ZodOptional<z.ZodBoolean>;
4807
+ ottavaStart: z.ZodOptional<z.ZodEnum<{
4808
+ "8va": "8va";
4809
+ "8vb": "8vb";
4810
+ "15ma": "15ma";
4811
+ "15mb": "15mb";
4812
+ }>>;
4813
+ ottavaStop: z.ZodOptional<z.ZodBoolean>;
4814
+ glissandoStart: z.ZodOptional<z.ZodBoolean>;
4815
+ glissandoStop: z.ZodOptional<z.ZodBoolean>;
4816
+ fingering: z.ZodOptional<z.ZodString>;
4236
4817
  chordSymbol: z.ZodOptional<z.ZodString>;
4237
4818
  graceNotes: z.ZodOptional<z.ZodArray<z.ZodObject<{
4238
4819
  pitch: z.ZodObject<{
@@ -4276,6 +4857,22 @@ export declare const publishedSnapshotSchema: z.ZodObject<{
4276
4857
  percussion: "percussion";
4277
4858
  }>>;
4278
4859
  pickup: z.ZodOptional<z.ZodBoolean>;
4860
+ barline: z.ZodOptional<z.ZodEnum<{
4861
+ double: "double";
4862
+ final: "final";
4863
+ }>>;
4864
+ segno: z.ZodOptional<z.ZodBoolean>;
4865
+ coda: z.ZodOptional<z.ZodBoolean>;
4866
+ toCoda: z.ZodOptional<z.ZodBoolean>;
4867
+ fine: z.ZodOptional<z.ZodBoolean>;
4868
+ jump: z.ZodOptional<z.ZodEnum<{
4869
+ "da-capo": "da-capo";
4870
+ "da-capo-al-fine": "da-capo-al-fine";
4871
+ "da-capo-al-coda": "da-capo-al-coda";
4872
+ "dal-segno": "dal-segno";
4873
+ "dal-segno-al-fine": "dal-segno-al-fine";
4874
+ "dal-segno-al-coda": "dal-segno-al-coda";
4875
+ }>>;
4279
4876
  }, z.core.$strip>>;
4280
4877
  }, z.core.$strip>>;
4281
4878
  }, z.core.$strip>;
@@ -4401,6 +4998,16 @@ export declare const projectCreateRequestSchema: z.ZodObject<{
4401
4998
  }>>;
4402
4999
  hairpinStop: z.ZodOptional<z.ZodBoolean>;
4403
5000
  arpeggiate: z.ZodOptional<z.ZodBoolean>;
5001
+ ottavaStart: z.ZodOptional<z.ZodEnum<{
5002
+ "8va": "8va";
5003
+ "8vb": "8vb";
5004
+ "15ma": "15ma";
5005
+ "15mb": "15mb";
5006
+ }>>;
5007
+ ottavaStop: z.ZodOptional<z.ZodBoolean>;
5008
+ glissandoStart: z.ZodOptional<z.ZodBoolean>;
5009
+ glissandoStop: z.ZodOptional<z.ZodBoolean>;
5010
+ fingering: z.ZodOptional<z.ZodString>;
4404
5011
  chordSymbol: z.ZodOptional<z.ZodString>;
4405
5012
  graceNotes: z.ZodOptional<z.ZodArray<z.ZodObject<{
4406
5013
  pitch: z.ZodObject<{
@@ -4496,6 +5103,16 @@ export declare const projectCreateRequestSchema: z.ZodObject<{
4496
5103
  }>>;
4497
5104
  hairpinStop: z.ZodOptional<z.ZodBoolean>;
4498
5105
  arpeggiate: z.ZodOptional<z.ZodBoolean>;
5106
+ ottavaStart: z.ZodOptional<z.ZodEnum<{
5107
+ "8va": "8va";
5108
+ "8vb": "8vb";
5109
+ "15ma": "15ma";
5110
+ "15mb": "15mb";
5111
+ }>>;
5112
+ ottavaStop: z.ZodOptional<z.ZodBoolean>;
5113
+ glissandoStart: z.ZodOptional<z.ZodBoolean>;
5114
+ glissandoStop: z.ZodOptional<z.ZodBoolean>;
5115
+ fingering: z.ZodOptional<z.ZodString>;
4499
5116
  chordSymbol: z.ZodOptional<z.ZodString>;
4500
5117
  graceNotes: z.ZodOptional<z.ZodArray<z.ZodObject<{
4501
5118
  pitch: z.ZodObject<{
@@ -4539,6 +5156,22 @@ export declare const projectCreateRequestSchema: z.ZodObject<{
4539
5156
  percussion: "percussion";
4540
5157
  }>>;
4541
5158
  pickup: z.ZodOptional<z.ZodBoolean>;
5159
+ barline: z.ZodOptional<z.ZodEnum<{
5160
+ double: "double";
5161
+ final: "final";
5162
+ }>>;
5163
+ segno: z.ZodOptional<z.ZodBoolean>;
5164
+ coda: z.ZodOptional<z.ZodBoolean>;
5165
+ toCoda: z.ZodOptional<z.ZodBoolean>;
5166
+ fine: z.ZodOptional<z.ZodBoolean>;
5167
+ jump: z.ZodOptional<z.ZodEnum<{
5168
+ "da-capo": "da-capo";
5169
+ "da-capo-al-fine": "da-capo-al-fine";
5170
+ "da-capo-al-coda": "da-capo-al-coda";
5171
+ "dal-segno": "dal-segno";
5172
+ "dal-segno-al-fine": "dal-segno-al-fine";
5173
+ "dal-segno-al-coda": "dal-segno-al-coda";
5174
+ }>>;
4542
5175
  }, z.core.$strip>>;
4543
5176
  }, z.core.$strip>>;
4544
5177
  }, z.core.$strip>;
@@ -4654,6 +5287,16 @@ export declare const projectUpdateRequestSchema: z.ZodObject<{
4654
5287
  }>>;
4655
5288
  hairpinStop: z.ZodOptional<z.ZodBoolean>;
4656
5289
  arpeggiate: z.ZodOptional<z.ZodBoolean>;
5290
+ ottavaStart: z.ZodOptional<z.ZodEnum<{
5291
+ "8va": "8va";
5292
+ "8vb": "8vb";
5293
+ "15ma": "15ma";
5294
+ "15mb": "15mb";
5295
+ }>>;
5296
+ ottavaStop: z.ZodOptional<z.ZodBoolean>;
5297
+ glissandoStart: z.ZodOptional<z.ZodBoolean>;
5298
+ glissandoStop: z.ZodOptional<z.ZodBoolean>;
5299
+ fingering: z.ZodOptional<z.ZodString>;
4657
5300
  chordSymbol: z.ZodOptional<z.ZodString>;
4658
5301
  graceNotes: z.ZodOptional<z.ZodArray<z.ZodObject<{
4659
5302
  pitch: z.ZodObject<{
@@ -4749,6 +5392,16 @@ export declare const projectUpdateRequestSchema: z.ZodObject<{
4749
5392
  }>>;
4750
5393
  hairpinStop: z.ZodOptional<z.ZodBoolean>;
4751
5394
  arpeggiate: z.ZodOptional<z.ZodBoolean>;
5395
+ ottavaStart: z.ZodOptional<z.ZodEnum<{
5396
+ "8va": "8va";
5397
+ "8vb": "8vb";
5398
+ "15ma": "15ma";
5399
+ "15mb": "15mb";
5400
+ }>>;
5401
+ ottavaStop: z.ZodOptional<z.ZodBoolean>;
5402
+ glissandoStart: z.ZodOptional<z.ZodBoolean>;
5403
+ glissandoStop: z.ZodOptional<z.ZodBoolean>;
5404
+ fingering: z.ZodOptional<z.ZodString>;
4752
5405
  chordSymbol: z.ZodOptional<z.ZodString>;
4753
5406
  graceNotes: z.ZodOptional<z.ZodArray<z.ZodObject<{
4754
5407
  pitch: z.ZodObject<{
@@ -4792,6 +5445,22 @@ export declare const projectUpdateRequestSchema: z.ZodObject<{
4792
5445
  percussion: "percussion";
4793
5446
  }>>;
4794
5447
  pickup: z.ZodOptional<z.ZodBoolean>;
5448
+ barline: z.ZodOptional<z.ZodEnum<{
5449
+ double: "double";
5450
+ final: "final";
5451
+ }>>;
5452
+ segno: z.ZodOptional<z.ZodBoolean>;
5453
+ coda: z.ZodOptional<z.ZodBoolean>;
5454
+ toCoda: z.ZodOptional<z.ZodBoolean>;
5455
+ fine: z.ZodOptional<z.ZodBoolean>;
5456
+ jump: z.ZodOptional<z.ZodEnum<{
5457
+ "da-capo": "da-capo";
5458
+ "da-capo-al-fine": "da-capo-al-fine";
5459
+ "da-capo-al-coda": "da-capo-al-coda";
5460
+ "dal-segno": "dal-segno";
5461
+ "dal-segno-al-fine": "dal-segno-al-fine";
5462
+ "dal-segno-al-coda": "dal-segno-al-coda";
5463
+ }>>;
4795
5464
  }, z.core.$strip>>;
4796
5465
  }, z.core.$strip>>;
4797
5466
  }, z.core.$strip>>;
@@ -4852,40 +5521,71 @@ export type ApiResponse<T> = {
4852
5521
  export declare function successResponse<T>(data: T): ApiResponse<T>;
4853
5522
  /** Wraps an error message (and optional typed code) in the standard error envelope. */
4854
5523
  export declare function errorResponse(message: string, code?: ApiErrorCode): ApiResponse<never>;
4855
- export * from './platform/index.js';
4856
- export * from './domain/pitch/pitch.js';
4857
- export * from './domain/pitch/transpose.js';
4858
- export * from './domain/quantization/options.js';
4859
- export * from './domain/quantization/quantize.js';
4860
- export * from './domain/score/factory.js';
4861
- export * from './domain/score/fragment.js';
4862
- export * from './domain/score/ids.js';
4863
- export * from './domain/score/queries.js';
4864
- export * from './domain/score/ties.js';
4865
- export * from './domain/selection/types.js';
4866
- export * from './domain/time/durations.js';
4867
- export * from './domain/time/fraction.js';
4868
- export * from './domain/time/tempo-map.js';
4869
- export * from './domain/time/ticks.js';
4870
- export * from './domain/voicing/allocate.js';
4871
- export * from './domain/validation/issues.js';
4872
- export * from './domain/validation/validator.js';
4873
- export * from './domain/commands/types.js';
4874
- export * from './domain/commands/reflow.js';
4875
- export * from './domain/commands/snapshot.js';
4876
- export * from './domain/commands/structure-commands.js';
4877
- export * from './domain/commands/track-commands.js';
4878
- export * from './domain/commands/region-commands.js';
4879
- export * from './domain/commands/note-commands.js';
4880
- export * from './domain/commands/edit-commands.js';
4881
- export * from './domain/commands/relocate-commands.js';
4882
- export * from './domain/commands/ripple-commands.js';
4883
- export * from './domain/instruments/gm.js';
4884
- export * from './domain/instruments/gm-kit.js';
4885
- export * from './domain/instruments/gm-range.js';
4886
- export * from './domain/instruments/gm-polyphony.js';
4887
- export * from './domain/instruments/gm-transposition.js';
4888
- export * from './domain/instruments/gm-percussion.js';
4889
- export * from './domain/selection/selection.js';
4890
- export * from './services/regeneration/controller.js';
5524
+ export * from "./platform/index.js";
5525
+ export * from "./domain/pitch/pitch.js";
5526
+ export * from "./domain/pitch/transpose.js";
5527
+ export * from "./domain/quantization/options.js";
5528
+ export * from "./domain/quantization/quantize.js";
5529
+ export * from "./domain/score/factory.js";
5530
+ export * from "./domain/score/fragment.js";
5531
+ export * from "./domain/score/ids.js";
5532
+ export * from "./domain/score/queries.js";
5533
+ export * from "./domain/score/ties.js";
5534
+ export * from "./domain/selection/types.js";
5535
+ export * from "./domain/time/durations.js";
5536
+ export * from "./domain/time/fraction.js";
5537
+ export * from "./domain/time/tempo-map.js";
5538
+ export * from "./domain/time/ticks.js";
5539
+ export * from "./domain/voicing/allocate.js";
5540
+ export * from "./domain/validation/issues.js";
5541
+ export * from "./domain/validation/validator.js";
5542
+ export * from "./domain/commands/types.js";
5543
+ export * from "./domain/commands/reflow.js";
5544
+ export * from "./domain/commands/snapshot.js";
5545
+ export * from "./domain/commands/structure-commands.js";
5546
+ export * from "./domain/commands/track-commands.js";
5547
+ export * from "./domain/commands/region-commands.js";
5548
+ export * from "./domain/commands/note-commands.js";
5549
+ export * from "./domain/commands/edit-commands.js";
5550
+ export * from "./domain/commands/relocate-commands.js";
5551
+ export * from "./domain/commands/ripple-commands.js";
5552
+ export * from "./domain/instruments/gm.js";
5553
+ export * from "./domain/instruments/gm-kit.js";
5554
+ export * from "./domain/instruments/gm-range.js";
5555
+ export * from "./domain/instruments/gm-polyphony.js";
5556
+ export * from "./domain/instruments/gm-transposition.js";
5557
+ export * from "./domain/instruments/gm-percussion.js";
5558
+ export * from "./domain/selection/selection.js";
5559
+ export * from "./services/regeneration/controller.js";
5560
+ export * from "./domain/commands/history.js";
5561
+ export * from "./domain/generation/replacement-region.js";
5562
+ export * from "./domain/instruments/gm-icon.js";
5563
+ export * from "./domain/instruments/icon-art.js";
5564
+ export * from "./domain/instruments/instrument-fit.js";
5565
+ export * from "./domain/instruments/instrument-options.js";
5566
+ export * from "./domain/instruments/track-instrument.js";
5567
+ export * from "./domain/notation/chord-symbol.js";
5568
+ export * from "./domain/notation/lyric-syllables.js";
5569
+ export * from "./domain/notation/music-vocabulary.js";
5570
+ export * from "./domain/score/articulation.js";
5571
+ export * from "./domain/score/bar-numbers.js";
5572
+ export * from "./domain/score/collapse-rests.js";
5573
+ export * from "./domain/score/cue-notes.js";
5574
+ export * from "./domain/score/dynamics.js";
5575
+ export * from "./domain/score/effective-clef.js";
5576
+ export * from "./domain/score/extract-part.js";
5577
+ export * from "./domain/score/fermata-tempo.js";
5578
+ export * from "./domain/score/flatten.js";
5579
+ export * from "./domain/score/ottava.js";
5580
+ export * from "./domain/score/performance-timeline.js";
5581
+ export * from "./domain/score/rehearsal-marks.js";
5582
+ export * from "./domain/score/repeat-order.js";
5583
+ export * from "./domain/score/snapshot-tree.js";
5584
+ export * from "./domain/score/written-pitch.js";
5585
+ export * from "./domain/selection/range-select.js";
5586
+ export * from "./domain/selection/selection-editing.js";
5587
+ export * from "./domain/time/duration-modifiers.js";
5588
+ export * from "./domain/time/duration-selection.js";
5589
+ export * from "./domain/time/tap-to-note.js";
5590
+ export * from "./domain/time/tuplets.js";
4891
5591
  //# sourceMappingURL=index.d.ts.map