@sudobility/music_drawing 0.0.36 → 0.0.38

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 (51) hide show
  1. package/dist/cursor.d.ts +14 -2
  2. package/dist/cursor.d.ts.map +1 -1
  3. package/dist/cursor.js +9 -3
  4. package/dist/cursor.js.map +1 -1
  5. package/dist/index.d.ts +5 -2
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +5 -2
  8. package/dist/index.js.map +1 -1
  9. package/dist/keyboard-geometry.d.ts +6 -18
  10. package/dist/keyboard-geometry.d.ts.map +1 -1
  11. package/dist/keyboard-geometry.js.map +1 -1
  12. package/dist/keyboard-keys.d.ts +2 -2
  13. package/dist/keyboard-keys.d.ts.map +1 -1
  14. package/dist/keyboard-keys.js.map +1 -1
  15. package/dist/pagination.d.ts +1 -7
  16. package/dist/pagination.d.ts.map +1 -1
  17. package/dist/pagination.js +0 -4
  18. package/dist/pagination.js.map +1 -1
  19. package/dist/playback-binding.d.ts +2 -0
  20. package/dist/playback-binding.d.ts.map +1 -1
  21. package/dist/playback-binding.js +13 -0
  22. package/dist/playback-binding.js.map +1 -1
  23. package/dist/playback-scroll.d.ts +33 -2
  24. package/dist/playback-scroll.d.ts.map +1 -1
  25. package/dist/playback-scroll.js +2 -23
  26. package/dist/playback-scroll.js.map +1 -1
  27. package/dist/playing-pitches.d.ts +44 -0
  28. package/dist/playing-pitches.d.ts.map +1 -0
  29. package/dist/playing-pitches.js +50 -0
  30. package/dist/playing-pitches.js.map +1 -0
  31. package/dist/print-plan.d.ts +2 -19
  32. package/dist/print-plan.d.ts.map +1 -1
  33. package/dist/print-plan.js +1 -33
  34. package/dist/print-plan.js.map +1 -1
  35. package/dist/score-canvas.d.ts +38 -23
  36. package/dist/score-canvas.d.ts.map +1 -1
  37. package/dist/score-canvas.js +52 -4
  38. package/dist/score-canvas.js.map +1 -1
  39. package/dist/types.d.ts +5 -13
  40. package/dist/types.d.ts.map +1 -1
  41. package/dist/types.js +0 -17
  42. package/dist/types.js.map +1 -1
  43. package/package.json +3 -3
  44. package/dist/out-of-range.d.ts +0 -67
  45. package/dist/out-of-range.d.ts.map +0 -1
  46. package/dist/out-of-range.js +0 -101
  47. package/dist/out-of-range.js.map +0 -1
  48. package/dist/press.d.ts +0 -66
  49. package/dist/press.d.ts.map +0 -1
  50. package/dist/press.js +0 -64
  51. package/dist/press.js.map +0 -1
@@ -0,0 +1,50 @@
1
+ export function playingPitchesForTrack(sounding, trackId) {
2
+ const pitches = new Set();
3
+ if (!trackId)
4
+ return pitches;
5
+ for (const note of sounding) {
6
+ // Lighting a key for a note the user cannot see would be noise, not
7
+ // information — the keyboard shows one track.
8
+ if (note.trackId === trackId)
9
+ pitches.add(note.midi);
10
+ }
11
+ return pitches;
12
+ }
13
+ /**
14
+ * Whether two sets of lit keys light the same keys.
15
+ *
16
+ * The sounding notes change on every note of every track, and the keyboard
17
+ * shows one: a new set per change is a new value to React even when not one of
18
+ * its keys moved, so on a multi-track score the whole keyboard re-rendered for
19
+ * notes it does not show. Both apps' keyboards keep the set they have when this
20
+ * says nothing changed.
21
+ */
22
+ export function samePitchSet(a, b) {
23
+ if (a === b)
24
+ return true;
25
+ if (a.size !== b.size)
26
+ return false;
27
+ for (const midi of a)
28
+ if (!b.has(midi))
29
+ return false;
30
+ return true;
31
+ }
32
+ /**
33
+ * Every key the keyboard should draw pressed.
34
+ *
35
+ * The active track's sounding pitches — **only while playing** — plus the keys
36
+ * a finger is holding. Gated on the transport rather than on the set being
37
+ * non-empty because the engine clears sounding notes on `stop()` but not on
38
+ * `pause()`, so without the gate a pause left whatever was mid-chord stuck
39
+ * lit. The web keyboard had that gate and the held keys; the native keyboard
40
+ * had neither, so a paused chord stayed lit and a held key did not show.
41
+ */
42
+ export function litKeys(sounding, activeTrackId, transportState, held) {
43
+ const lit = transportState === 'playing'
44
+ ? playingPitchesForTrack(sounding, activeTrackId)
45
+ : new Set();
46
+ for (const midi of held)
47
+ lit.add(midi);
48
+ return lit;
49
+ }
50
+ //# sourceMappingURL=playing-pitches.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"playing-pitches.js","sourceRoot":"","sources":["../src/playing-pitches.ts"],"names":[],"mappings":"AA0BA,MAAM,UAAU,sBAAsB,CACpC,QAAiC,EACjC,OAAoB;IAEpB,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,IAAI,CAAC,OAAO;QAAE,OAAO,OAAO,CAAC;IAC7B,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC5B,oEAAoE;QACpE,8CAA8C;QAC9C,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO;YAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,YAAY,CAC1B,CAAsB,EACtB,CAAsB;IAEtB,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACzB,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IACpC,KAAK,MAAM,IAAI,IAAI,CAAC;QAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,OAAO,KAAK,CAAC;IACrD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,OAAO,CACrB,QAAiC,EACjC,aAA0B,EAC1B,cAA8B,EAC9B,IAAsB;IAEtB,MAAM,GAAG,GACP,cAAc,KAAK,SAAS;QAC1B,CAAC,CAAC,sBAAsB,CAAC,QAAQ,EAAE,aAAa,CAAC;QACjD,CAAC,CAAC,IAAI,GAAG,EAAU,CAAC;IACxB,KAAK,MAAM,IAAI,IAAI,IAAI;QAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACvC,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -1,25 +1,8 @@
1
- import type { Score } from '@sudobility/music_types';
1
+ import type { PaperOrientation, PaperSize, Score } from '@sudobility/music_types';
2
2
  import type { LayoutPlan } from './layout.js';
3
- import type { PaperOrientation, PaperSize, PrintPage } from './pagination.js';
3
+ import type { PrintPage } from './pagination.js';
4
4
  import { printRenderOptions } from './print-layout.js';
5
5
  import type { PrintSystemSlice } from './print-layout.js';
6
- /**
7
- * The paper picker. `css` is the `@page` size keyword; an orientation's value
8
- * is its own CSS keyword already.
9
- *
10
- * A4 has a key like the others even though it reads "A4" in both languages —
11
- * one shape for every entry is what lets a picker map straight through, and the
12
- * locales list it as shared by design.
13
- */
14
- export declare const PAPER_OPTIONS: ReadonlyArray<{
15
- value: PaperSize;
16
- labelKey: string;
17
- css: string;
18
- }>;
19
- export declare const ORIENTATION_OPTIONS: ReadonlyArray<{
20
- value: PaperOrientation;
21
- labelKey: string;
22
- }>;
23
6
  /** The whole score, as against one track's id. */
24
7
  export declare const WHOLE_SCORE = "score";
25
8
  export type PrintPlanOptions = {
@@ -1 +1 @@
1
- {"version":3,"file":"print-plan.d.ts","sourceRoot":"","sources":["../src/print-plan.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAErD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAO9C,OAAO,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC9E,OAAO,EAEL,kBAAkB,EAEnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAoB1D;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,EAAE,aAAa,CAAC;IACxC,KAAK,EAAE,SAAS,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;CACb,CAIE,CAAC;AAEJ,eAAO,MAAM,mBAAmB,EAAE,aAAa,CAAC;IAC9C,KAAK,EAAE,gBAAgB,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAGE,CAAC;AAEJ,kDAAkD;AAClD,eAAO,MAAM,WAAW,UAAU,CAAC;AAEnC,MAAM,MAAM,gBAAgB,GAAG;IAC7B,qEAAqE;IACrE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0FAA0F;IAC1F,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,WAAW,CAAC,EAAE,gBAAgB,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,qIAAqI;IACrI,KAAK,EAAE,KAAK,CAAC;IACb,2EAA2E;IAC3E,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,IAAI,EAAE,UAAU,CAAC;IACjB,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAC3B,2BAA2B;IAC3B,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,wCAAwC;IACxC,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC;IACrD,0EAA0E;IAC1E,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,SAAS,CACvB,KAAK,EAAE,KAAK,EACZ,OAAO,GAAE,gBAAqB,GAC7B,SAAS,GAAG,IAAI,CAiClB"}
1
+ {"version":3,"file":"print-plan.d.ts","sourceRoot":"","sources":["../src/print-plan.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EACV,gBAAgB,EAChB,SAAS,EACT,KAAK,EACN,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAEL,kBAAkB,EAEnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,kDAAkD;AAClD,eAAO,MAAM,WAAW,UAAU,CAAC;AAEnC,MAAM,MAAM,gBAAgB,GAAG;IAC7B,qEAAqE;IACrE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0FAA0F;IAC1F,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,WAAW,CAAC,EAAE,gBAAgB,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,qIAAqI;IACrI,KAAK,EAAE,KAAK,CAAC;IACb,2EAA2E;IAC3E,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,IAAI,EAAE,UAAU,CAAC;IACjB,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAC3B,2BAA2B;IAC3B,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,wCAAwC;IACxC,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC;IACrD,0EAA0E;IAC1E,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,SAAS,CACvB,KAAK,EAAE,KAAK,EACZ,OAAO,GAAE,gBAAqB,GAC7B,SAAS,GAAG,IAAI,CAiClB"}
@@ -17,40 +17,8 @@
17
17
  */
18
18
  import { displayScore, extractPart, withRehearsalMarks, } from '@sudobility/music_types';
19
19
  import { computeLayout } from './layout.js';
20
- import { PAPER_ORIENTATIONS, PAPER_SIZES, paginate, usablePageHeight, } from './pagination.js';
20
+ import { paginate, usablePageHeight } from './pagination.js';
21
21
  import { PRINT_WIDTH, printRenderOptions, printSystems, } from './print-layout.js';
22
- const PAPER_LABEL_KEY = {
23
- a4: 'print.paperA4',
24
- letter: 'print.paperLetter',
25
- legal: 'print.paperLegal',
26
- };
27
- /** The CSS `@page { size }` keyword for each paper. */
28
- const PAPER_CSS = {
29
- a4: 'A4',
30
- letter: 'letter',
31
- legal: 'legal',
32
- };
33
- const ORIENTATION_LABEL_KEY = {
34
- portrait: 'print.portrait',
35
- landscape: 'print.landscape',
36
- };
37
- /**
38
- * The paper picker. `css` is the `@page` size keyword; an orientation's value
39
- * is its own CSS keyword already.
40
- *
41
- * A4 has a key like the others even though it reads "A4" in both languages —
42
- * one shape for every entry is what lets a picker map straight through, and the
43
- * locales list it as shared by design.
44
- */
45
- export const PAPER_OPTIONS = PAPER_SIZES.map(value => ({
46
- value,
47
- labelKey: PAPER_LABEL_KEY[value],
48
- css: PAPER_CSS[value],
49
- }));
50
- export const ORIENTATION_OPTIONS = PAPER_ORIENTATIONS.map(value => ({
51
- value,
52
- labelKey: ORIENTATION_LABEL_KEY[value],
53
- }));
54
22
  /** The whole score, as against one track's id. */
55
23
  export const WHOLE_SCORE = 'score';
56
24
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"print-plan.js","sourceRoot":"","sources":["../src/print-plan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"print-plan.js","sourceRoot":"","sources":["../src/print-plan.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EACL,YAAY,EACZ,WAAW,EACX,kBAAkB,GACnB,MAAM,yBAAyB,CAAC;AAMjC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAE7D,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,YAAY,GACb,MAAM,mBAAmB,CAAC;AAG3B,kDAAkD;AAClD,MAAM,CAAC,MAAM,WAAW,GAAG,OAAO,CAAC;AA2BnC;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,SAAS,CACvB,KAAY,EACZ,UAA4B,EAAE;IAE9B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,WAAW,CAAC;IAC3C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC;IACpC,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,UAAU,CAAC;IACtD,MAAM,MAAM,GAAG,KAAK,KAAK,WAAW,CAAC;IAErC,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAC9E,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACzB,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IAErC,MAAM,QAAQ,GAAsB,MAAM;QACxC,CAAC,CAAC,CAAC,KAAK,CAAC;QACT,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,CAAC;IACzC,MAAM,aAAa,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IACnD,MAAM,IAAI,GAAG,aAAa,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IACnD,MAAM,UAAU,GAAG,gBAAgB,CAAC,KAAK,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;IACrE,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAEzD,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC,MAAM;IACxD,yDAAyD;IACzD,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CACtC,CAAC;IAEF,OAAO;QACL,KAAK,EAAE,OAAO;QACd,QAAQ;QACR,IAAI;QACJ,MAAM,EAAE,YAAY,CAAC,IAAI,CAAC;QAC1B,KAAK;QACL,UAAU;QACV,aAAa;QACb,WAAW,EAAE,SAAS,EAAE,EAAE,IAAI,IAAI;KACnC,CAAC;AACJ,CAAC"}
@@ -9,11 +9,11 @@
9
9
  * apps therefore answer "where is tick N" and "what is under this point" with
10
10
  * the same code.
11
11
  */
12
- import type { Pitch, PitchDisplay, Score, SoundingNote } from '@sudobility/music_types';
12
+ import type { LayoutMode, PitchDisplay, Score, ScoreCanvasHit, SoundingNote } from '@sudobility/music_types';
13
13
  import type { CanvasRenderOptions, CanvasRenderResult } from './canvas-renderer.js';
14
14
  import type { LayoutPlan } from './layout.js';
15
15
  import type { PlaybackScrollTarget } from './playback-scroll.js';
16
- import type { LayoutMode, RenderTheme } from './types.js';
16
+ import type { RenderTheme } from './types.js';
17
17
  import type { CursorGeometry, CursorMotion, CursorPath } from './cursor.js';
18
18
  import type { PaintFrame } from './layered-paint.js';
19
19
  /** What the canvas is showing and at what size. `width`/`height` are view px. */
@@ -25,6 +25,22 @@ export type ScoreCanvasView = {
25
25
  theme: RenderTheme;
26
26
  /** Tracks to draw, top to bottom; omitted means all. */
27
27
  trackIds?: string[];
28
+ /**
29
+ * Whether to reserve and paint the track-info gutter. Default true.
30
+ *
31
+ * `false` gives its `TRACK_INFO_WIDTH` back to the music. This is a *layout*
32
+ * option, not a paint one, so the sheet is not merely un-guttered but wider,
33
+ * and every geometric answer this canvas gives moves with it — which is the
34
+ * point: a canvas that only stopped painting would leave the score inset by
35
+ * an invisible 220px column.
36
+ *
37
+ * It reaches `computeLayout` as `RenderOptions.showTrackInfo`, the one
38
+ * mechanism for this and the same one `printRenderOptions` uses. `renderMode`
39
+ * is pinned to `'screen'` beside it in `layoutOptions`, because `renderModeFor`
40
+ * otherwise reads `showTrackInfo: false` as "this is a printout" and the
41
+ * notation goes monochrome with no other symptom.
42
+ */
43
+ showTrackInfo?: boolean;
28
44
  devicePixelRatio?: number;
29
45
  };
30
46
  /** A point in view px: relative to the visible top-left, scroll not added. */
@@ -32,27 +48,6 @@ export type ViewPoint = {
32
48
  x: number;
33
49
  y: number;
34
50
  };
35
- export type ScoreCanvasHit = {
36
- kind: 'trackGutter';
37
- trackId: string;
38
- } | {
39
- kind: 'measureNumber';
40
- measureIndex: number;
41
- } | {
42
- kind: 'note';
43
- /** Every event sharing the notehead's box: a chord is one target. */
44
- eventIds: string[];
45
- trackId: string;
46
- measureIndex: number;
47
- tick: number;
48
- } | {
49
- kind: 'stave';
50
- trackId: string;
51
- measureIndex: number;
52
- tick: number;
53
- /** The pitch *as drawn* at that point, when the point is on a stave. */
54
- pitch: Pitch | null;
55
- };
56
51
  /** What a platform provides. */
57
52
  export interface ScoreCanvasSurface {
58
53
  /**
@@ -152,6 +147,7 @@ export declare class ScoreCanvas {
152
147
  private path;
153
148
  private shownMotion;
154
149
  private cancelWrap;
150
+ private readonly systemListeners;
155
151
  /** The look-ahead preparation in progress, and the window it is for. */
156
152
  private cancelLookahead;
157
153
  private lookaheadKey;
@@ -235,10 +231,29 @@ export declare class ScoreCanvas {
235
231
  */
236
232
  get highlightLatencySeconds(): number;
237
233
  subscribeHighlightLatency(listener: (seconds: number) => void): () => void;
234
+ /**
235
+ * The moving cursor has crossed into a new system — told at the tick, before
236
+ * the new path is shown.
237
+ *
238
+ * Whoever follows the music has to hear about this *here* rather than from
239
+ * the next position report, because the caret is placed in content
240
+ * coordinates: a path in a system the view has not scrolled to is a caret
241
+ * drawn off screen. The canvas hands the path over on its own timeout, exact
242
+ * to the tick, while the reports arrive about 30 times a second — so the
243
+ * scroll used to land 8–44ms late (measured on the Mac, a dense eleven-track
244
+ * score) and the caret was simply missing for that long at every wrap, once
245
+ * every two seconds.
246
+ *
247
+ * Only the *when* is published: whether to follow at all, and where to, stay
248
+ * with the caller and `followTarget`.
249
+ */
250
+ subscribeCursorSystem(listener: (tick: number) => void): () => void;
238
251
  /** Paint now rather than on the next frame — for a host that must, like a resize. */
239
252
  paintNow(): void;
240
253
  dispose(): void;
241
254
  private layoutOptions;
255
+ /** Whether the gutter is painted for the current view. */
256
+ private get showTrackInfo();
242
257
  private positions;
243
258
  private invalidateLayout;
244
259
  /** Schedules a paint for a colour change; says whether one was needed. */
@@ -1 +1 @@
1
- {"version":3,"file":"score-canvas.d.ts","sourceRoot":"","sources":["../src/score-canvas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"score-canvas.d.ts","sourceRoot":"","sources":["../src/score-canvas.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,8 @@
1
- import { displayScore, measureAtTick, measureIndexOf, } from '@sudobility/music_types';
1
+ import { displayScore, measureAtTick, measureIndexOf, outOfRangeNoteIds, } from '@sudobility/music_types';
2
2
  import { TRACK_INFO_WIDTH, boxForMeasureIndex, computeLayout, resolveZoom, } from './layout.js';
3
3
  import { eventIdAtPoint, eventIdsAtPoint, eventIdsInBox, measureAtPoint, measureIndexAtGutterPoint, pitchAtStavePoint, } from './hit-test.js';
4
4
  import { trackIdAtGutterPoint } from './track-gutter.js';
5
5
  import { noteColorsFor } from './note-colors.js';
6
- import { outOfRangeNoteIds } from './out-of-range.js';
7
6
  import { playbackScrollTarget } from './playback-scroll.js';
8
7
  import { tickForPoint } from './playhead.js';
9
8
  import { shouldShowTrackInfo } from './types.js';
@@ -63,6 +62,7 @@ export class ScoreCanvas {
63
62
  this.path = null;
64
63
  this.shownMotion = null;
65
64
  this.cancelWrap = null;
65
+ this.systemListeners = new Set();
66
66
  /** The look-ahead preparation in progress, and the window it is for. */
67
67
  this.cancelLookahead = null;
68
68
  this.lookaheadKey = null;
@@ -122,6 +122,12 @@ export class ScoreCanvas {
122
122
  previous.zoom === view.zoom &&
123
123
  previous.layoutMode === view.layoutMode &&
124
124
  previous.theme === view.theme &&
125
+ // Layout-affecting: the gutter's 220px comes out of every system's
126
+ // width, so toggling it has to re-lay the score out. Left out of this
127
+ // list it reads as "same layout, new window" and the sheet keeps the
128
+ // width it had — the music stays inset, or overhangs, with nothing else
129
+ // wrong to look at.
130
+ previous.showTrackInfo === view.showTrackInfo &&
125
131
  sameIds(previous.trackIds, view.trackIds)) {
126
132
  // Only the height or the pixel ratio moved: same layout, new window.
127
133
  if (previous.height !== view.height ||
@@ -241,7 +247,7 @@ export class ScoreCanvas {
241
247
  return null;
242
248
  const zoom = this.zoom;
243
249
  // 10. The gutter is pinned to the view, so it is tested in view px.
244
- if (shouldShowTrackInfo(this.layoutOptions(view))) {
250
+ if (this.showTrackInfo) {
245
251
  const trackId = trackIdAtGutterPoint(plan, zoom, this.scrollTop, point);
246
252
  if (trackId)
247
253
  return { kind: 'trackGutter', trackId };
@@ -357,6 +363,7 @@ export class ScoreCanvas {
357
363
  scrollTop: this.scrollTop,
358
364
  viewportHeight: view.height,
359
365
  margin: FOLLOW_MARGIN,
366
+ showTrackInfo: this.showTrackInfo,
360
367
  });
361
368
  }
362
369
  /** Scroll so `tick` is in view: a jump for more than a screen, else smooth. */
@@ -387,6 +394,26 @@ export class ScoreCanvas {
387
394
  this.highlightListeners.add(listener);
388
395
  return () => this.highlightListeners.delete(listener);
389
396
  }
397
+ /**
398
+ * The moving cursor has crossed into a new system — told at the tick, before
399
+ * the new path is shown.
400
+ *
401
+ * Whoever follows the music has to hear about this *here* rather than from
402
+ * the next position report, because the caret is placed in content
403
+ * coordinates: a path in a system the view has not scrolled to is a caret
404
+ * drawn off screen. The canvas hands the path over on its own timeout, exact
405
+ * to the tick, while the reports arrive about 30 times a second — so the
406
+ * scroll used to land 8–44ms late (measured on the Mac, a dense eleven-track
407
+ * score) and the caret was simply missing for that long at every wrap, once
408
+ * every two seconds.
409
+ *
410
+ * Only the *when* is published: whether to follow at all, and where to, stay
411
+ * with the caller and `followTarget`.
412
+ */
413
+ subscribeCursorSystem(listener) {
414
+ this.systemListeners.add(listener);
415
+ return () => this.systemListeners.delete(listener);
416
+ }
390
417
  /** Paint now rather than on the next frame — for a host that must, like a resize. */
391
418
  paintNow() {
392
419
  // A host paints now when its drawing surface itself changed — a resize
@@ -411,9 +438,20 @@ export class ScoreCanvas {
411
438
  layoutMode: view.layoutMode,
412
439
  width: view.width,
413
440
  theme: view.theme,
441
+ // Always, and explicitly: `renderModeFor` infers `'print'` from
442
+ // `showTrackInfo: false`, and this canvas is the screen by definition.
443
+ renderMode: 'screen',
414
444
  ...(view.trackIds ? { trackIds: view.trackIds } : {}),
445
+ ...(view.showTrackInfo === undefined
446
+ ? {}
447
+ : { showTrackInfo: view.showTrackInfo }),
415
448
  };
416
449
  }
450
+ /** Whether the gutter is painted for the current view. */
451
+ get showTrackInfo() {
452
+ const view = this.view;
453
+ return view ? shouldShowTrackInfo(this.layoutOptions(view)) : true;
454
+ }
417
455
  positions() {
418
456
  const frame = this.lastFrame;
419
457
  return frame && frame.plan === this.plan
@@ -665,7 +703,17 @@ export class ScoreCanvas {
665
703
  const systemIndex = systemIndexForTick(plan, this.starts, tick);
666
704
  const path = systemIndex < 0
667
705
  ? null
668
- : cursorPathFor(plan, score, this.zoom, this.starts, systemIndex, this.positions());
706
+ : cursorPathFor(plan, score, this.zoom, this.starts, systemIndex, this.positions(), this.showTrackInfo);
707
+ // 6. The page turn is part of the handover, not a consequence of it: told
708
+ // before the path is shown, a follower scrolls in this same turn and the
709
+ // caret never lands in a system the view is not showing.
710
+ if (path &&
711
+ this.motion.ticksPerSecond > 0 &&
712
+ this.path !== null &&
713
+ this.path.systemIndex !== path.systemIndex) {
714
+ for (const listener of this.systemListeners)
715
+ listener(tick);
716
+ }
669
717
  this.show(path);
670
718
  // 6. Hand over to the next system when the moving cursor gets there.
671
719
  const rate = this.motion.ticksPerSecond;
@@ -1 +1 @@
1
- {"version":3,"file":"score-canvas.js","sourceRoot":"","sources":["../src/score-canvas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"score-canvas.js","sourceRoot":"","sources":["../src/score-canvas.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -1,10 +1,13 @@
1
1
  /**
2
2
  * VexFlow renderer adapter contract (spec §7, §26): the shared shapes the
3
- * layout pass (`layout.ts`), the canvas renderer (`canvas-renderer.ts`),
4
- * and the highlight overlay (`overlay.ts`) all agree on. Downstream apps
3
+ * layout pass (`layout.ts`), the canvas renderer (`canvas-renderer.ts`), the
4
+ * note colouring (`note-color.ts`, `note-colors.ts`) and the score canvas
5
+ * (`score-canvas.ts`) all agree on. There is no highlight overlay: a note's
6
+ * state is its colour. Downstream apps
5
7
  * import these verbatim — keep them stable; add new capabilities alongside
6
8
  * them rather than by editing their fields.
7
9
  */
10
+ import type { LayoutMode } from '@sudobility/music_types';
8
11
  /** How a note is colored, by state. See `note-color.ts`'s `resolveNoteColorRole` for precedence. */
9
12
  export type NoteColorRole = 'normal' | 'selected' | 'regenerated' | 'playing' | 'outOfRange';
10
13
  export type RenderMode = 'screen' | 'print';
@@ -103,17 +106,6 @@ export declare const PRINT_INK = "#000000";
103
106
  export declare const DEFAULT_SCREEN_RENDER_THEME: RenderTheme;
104
107
  /** A monochrome theme for callers that render paper-first surfaces. */
105
108
  export declare const DEFAULT_PRINT_RENDER_THEME: RenderTheme;
106
- /**
107
- * How a score is packed onto the surface it is drawn on.
108
- *
109
- * Declared as an array with the type read off it, not as a bare union: a
110
- * TypeScript union has no runtime form, so a picker offering these — and there
111
- * is one in each app's toolbar — would otherwise have to write the list out
112
- * again, which is how one of them comes to offer a mode the renderer no longer
113
- * has.
114
- */
115
- export declare const LAYOUT_MODES: readonly ["page", "continuous"];
116
- export type LayoutMode = (typeof LAYOUT_MODES)[number];
117
109
  export type RenderOptions = {
118
110
  /** Linear scale factor applied to the whole render (measure width, stave height, font size). */
119
111
  zoom: number;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,oGAAoG;AACpG,MAAM,MAAM,aAAa,GACvB,QAAQ,GAAG,UAAU,GAAG,aAAa,GAAG,SAAS,GAAG,YAAY,CAAC;AAEnE,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,OAAO,CAAC;AAE5C,KAAK,oBAAoB,GAAG;IAC1B,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,UAAU,CAIvE;AAED,yEAAyE;AACzE,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAE1E;AAED;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,4EAA4E;IAC5E,UAAU,EAAE,MAAM,CAAC;IACnB,4CAA4C;IAC5C,UAAU,EAAE,MAAM,CAAC;IACnB;;;;;;;;;;OAUG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB;;;;;;;;;;OAUG;IACH,cAAc,EAAE,MAAM,CAAC;IACvB;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kDAAkD;IAClD,WAAW,EAAE,MAAM,CAAC;IACpB,mDAAmD;IACnD,aAAa,EAAE,MAAM,CAAC;IACtB,oHAAoH;IACpH,KAAK,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;;;;;;OASG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yEAAyE;IACzE,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,uCAAuC;AACvC,eAAO,MAAM,SAAS,YAAY,CAAC;AAEnC;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,EAAE,WAazC,CAAC;AAEF,uEAAuE;AACvE,eAAO,MAAM,0BAA0B,EAAE,WAkBxC,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,YAAY,iCAAkC,CAAC;AAE5D,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AAEvD,MAAM,MAAM,aAAa,GAAG;IAC1B,gGAAgG;IAChG,IAAI,EAAE,MAAM,CAAC;IACb,mGAAmG;IACnG,UAAU,EAAE,UAAU,CAAC;IACvB;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,kGAAkG;IAClG,KAAK,EAAE,MAAM,CAAC;IACd,sHAAsH;IACtH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,4DAA4D;IAC5D,UAAU,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAChD,sGAAsG;IACtG,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,4IAA4I;IAC5I,kBAAkB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACzC;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,KAAK,EAAE,WAAW,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,IAAI,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAE1D,oGAAoG;AACpG,MAAM,MAAM,aAAa,GACvB,QAAQ,GAAG,UAAU,GAAG,aAAa,GAAG,SAAS,GAAG,YAAY,CAAC;AAEnE,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,OAAO,CAAC;AAE5C,KAAK,oBAAoB,GAAG;IAC1B,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,UAAU,CAIvE;AAED,yEAAyE;AACzE,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAE1E;AAED;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,4EAA4E;IAC5E,UAAU,EAAE,MAAM,CAAC;IACnB,4CAA4C;IAC5C,UAAU,EAAE,MAAM,CAAC;IACnB;;;;;;;;;;OAUG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB;;;;;;;;;;OAUG;IACH,cAAc,EAAE,MAAM,CAAC;IACvB;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kDAAkD;IAClD,WAAW,EAAE,MAAM,CAAC;IACpB,mDAAmD;IACnD,aAAa,EAAE,MAAM,CAAC;IACtB,oHAAoH;IACpH,KAAK,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;;;;;;OASG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yEAAyE;IACzE,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,uCAAuC;AACvC,eAAO,MAAM,SAAS,YAAY,CAAC;AAEnC;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,EAAE,WAazC,CAAC;AAEF,uEAAuE;AACvE,eAAO,MAAM,0BAA0B,EAAE,WAkBxC,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,gGAAgG;IAChG,IAAI,EAAE,MAAM,CAAC;IACb,mGAAmG;IACnG,UAAU,EAAE,UAAU,CAAC;IACvB;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,kGAAkG;IAClG,KAAK,EAAE,MAAM,CAAC;IACd,sHAAsH;IACtH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,4DAA4D;IAC5D,UAAU,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAChD,sGAAsG;IACtG,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,4IAA4I;IAC5I,kBAAkB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACzC;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,KAAK,EAAE,WAAW,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,IAAI,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC"}
package/dist/types.js CHANGED
@@ -1,10 +1,3 @@
1
- /**
2
- * VexFlow renderer adapter contract (spec §7, §26): the shared shapes the
3
- * layout pass (`layout.ts`), the canvas renderer (`canvas-renderer.ts`),
4
- * and the highlight overlay (`overlay.ts`) all agree on. Downstream apps
5
- * import these verbatim — keep them stable; add new capabilities alongside
6
- * them rather than by editing their fields.
7
- */
8
1
  /**
9
2
  * The drawing intent for a render.
10
3
  *
@@ -60,14 +53,4 @@ export const DEFAULT_PRINT_RENDER_THEME = {
60
53
  caret: PRINT_INK,
61
54
  printForeground: PRINT_INK,
62
55
  };
63
- /**
64
- * How a score is packed onto the surface it is drawn on.
65
- *
66
- * Declared as an array with the type read off it, not as a bare union: a
67
- * TypeScript union has no runtime form, so a picker offering these — and there
68
- * is one in each app's toolbar — would otherwise have to write the list out
69
- * again, which is how one of them comes to offer a mode the renderer no longer
70
- * has.
71
- */
72
- export const LAYOUT_MODES = ['page', 'continuous'];
73
56
  //# sourceMappingURL=types.js.map
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAaH;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAC,OAA6B;IACzD,OAAO,CACL,OAAO,CAAC,UAAU,IAAI,CAAC,OAAO,CAAC,aAAa,KAAK,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAC7E,CAAC;AACJ,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,mBAAmB,CAAC,OAA6B;IAC/D,OAAO,OAAO,CAAC,aAAa,IAAI,aAAa,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;AACtE,CAAC;AA0ED,uCAAuC;AACvC,MAAM,CAAC,MAAM,SAAS,GAAG,SAAS,CAAC;AAEnC;;;;GAIG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAgB;IACtD,UAAU,EAAE,SAAS;IACrB,UAAU,EAAE,SAAS;IACrB,YAAY,EAAE,SAAS;IACvB,YAAY,EAAE,SAAS;IACvB,eAAe,EAAE,SAAS;IAC1B,WAAW,EAAE,SAAS;IACtB,cAAc,EAAE,SAAS;IACzB,gBAAgB,EAAE,SAAS;IAC3B,WAAW,EAAE,SAAS;IACtB,aAAa,EAAE,SAAS;IACxB,KAAK,EAAE,SAAS;IAChB,eAAe,EAAE,SAAS;CAC3B,CAAC;AAEF,uEAAuE;AACvE,MAAM,CAAC,MAAM,0BAA0B,GAAgB;IACrD,UAAU,EAAE,SAAS;IACrB,UAAU,EAAE,SAAS;IACrB,YAAY,EAAE,SAAS;IACvB,YAAY,EAAE,SAAS;IACvB,eAAe,EAAE,SAAS;IAC1B,WAAW,EAAE,SAAS;IACtB;;;;MAIE;IACF,cAAc,EAAE,SAAS;IACzB,gBAAgB,EAAE,SAAS;IAC3B,WAAW,EAAE,SAAS;IACtB,aAAa,EAAE,SAAS;IACxB,KAAK,EAAE,SAAS;IAChB,eAAe,EAAE,SAAS;CAC3B,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,MAAM,EAAE,YAAY,CAAU,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAsBA;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAC,OAA6B;IACzD,OAAO,CACL,OAAO,CAAC,UAAU,IAAI,CAAC,OAAO,CAAC,aAAa,KAAK,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAC7E,CAAC;AACJ,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,mBAAmB,CAAC,OAA6B;IAC/D,OAAO,OAAO,CAAC,aAAa,IAAI,aAAa,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;AACtE,CAAC;AA0ED,uCAAuC;AACvC,MAAM,CAAC,MAAM,SAAS,GAAG,SAAS,CAAC;AAEnC;;;;GAIG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAgB;IACtD,UAAU,EAAE,SAAS;IACrB,UAAU,EAAE,SAAS;IACrB,YAAY,EAAE,SAAS;IACvB,YAAY,EAAE,SAAS;IACvB,eAAe,EAAE,SAAS;IAC1B,WAAW,EAAE,SAAS;IACtB,cAAc,EAAE,SAAS;IACzB,gBAAgB,EAAE,SAAS;IAC3B,WAAW,EAAE,SAAS;IACtB,aAAa,EAAE,SAAS;IACxB,KAAK,EAAE,SAAS;IAChB,eAAe,EAAE,SAAS;CAC3B,CAAC;AAEF,uEAAuE;AACvE,MAAM,CAAC,MAAM,0BAA0B,GAAgB;IACrD,UAAU,EAAE,SAAS;IACrB,UAAU,EAAE,SAAS;IACrB,YAAY,EAAE,SAAS;IACvB,YAAY,EAAE,SAAS;IACvB,eAAe,EAAE,SAAS;IAC1B,WAAW,EAAE,SAAS;IACtB;;;;MAIE;IACF,cAAc,EAAE,SAAS;IACzB,gBAAgB,EAAE,SAAS;IAC3B,WAAW,EAAE,SAAS;IACtB,aAAa,EAAE,SAAS;IACxB,KAAK,EAAE,SAAS;IAChB,eAAe,EAAE,SAAS;CAC3B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sudobility/music_drawing",
3
- "version": "0.0.36",
3
+ "version": "0.0.38",
4
4
  "description": "Canvas score rendering for Moosiac: layout, VexFlow drawing and the paint loop.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -44,11 +44,11 @@
44
44
  "vexflow": "^4.2.5"
45
45
  },
46
46
  "peerDependencies": {
47
- "@sudobility/music_types": "^0.13.26"
47
+ "@sudobility/music_types": "^0.13.27"
48
48
  },
49
49
  "devDependencies": {
50
50
  "@eslint/js": "^9.38.0",
51
- "@sudobility/music_types": "^0.13.26",
51
+ "@sudobility/music_types": "^0.13.27",
52
52
  "@sudobility/types": "^1.9.67",
53
53
  "@tonejs/midi": "^2.0.28",
54
54
  "@types/jsdom": "^30.0.0",