@sudobility/music_drawing 0.0.22 → 0.0.24

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 (63) hide show
  1. package/dist/canvas-renderer.d.ts +53 -0
  2. package/dist/canvas-renderer.d.ts.map +1 -1
  3. package/dist/canvas-renderer.js +123 -2
  4. package/dist/canvas-renderer.js.map +1 -1
  5. package/dist/hit-test.d.ts +101 -0
  6. package/dist/hit-test.d.ts.map +1 -0
  7. package/dist/hit-test.js +213 -0
  8. package/dist/hit-test.js.map +1 -0
  9. package/dist/index.d.ts +6 -0
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +6 -0
  12. package/dist/index.js.map +1 -1
  13. package/dist/layout.d.ts +15 -1
  14. package/dist/layout.d.ts.map +1 -1
  15. package/dist/layout.js +36 -3
  16. package/dist/layout.js.map +1 -1
  17. package/dist/measure-content.d.ts +3 -1
  18. package/dist/measure-content.d.ts.map +1 -1
  19. package/dist/measure-content.js +2 -2
  20. package/dist/measure-content.js.map +1 -1
  21. package/dist/note-colors.d.ts +55 -0
  22. package/dist/note-colors.d.ts.map +1 -0
  23. package/dist/note-colors.js +31 -0
  24. package/dist/note-colors.js.map +1 -0
  25. package/dist/note-drag.d.ts +29 -0
  26. package/dist/note-drag.d.ts.map +1 -0
  27. package/dist/note-drag.js +27 -0
  28. package/dist/note-drag.js.map +1 -0
  29. package/dist/playback-scroll.d.ts +40 -0
  30. package/dist/playback-scroll.d.ts.map +1 -0
  31. package/dist/playback-scroll.js +128 -0
  32. package/dist/playback-scroll.js.map +1 -0
  33. package/dist/playhead.d.ts +41 -7
  34. package/dist/playhead.d.ts.map +1 -1
  35. package/dist/playhead.js +153 -2
  36. package/dist/playhead.js.map +1 -1
  37. package/dist/render-theme.d.ts +30 -0
  38. package/dist/render-theme.d.ts.map +1 -0
  39. package/dist/render-theme.js +23 -0
  40. package/dist/render-theme.js.map +1 -0
  41. package/dist/skia/index.d.ts +1 -0
  42. package/dist/skia/index.d.ts.map +1 -1
  43. package/dist/skia/index.js +1 -0
  44. package/dist/skia/index.js.map +1 -1
  45. package/dist/skia/skia-api.d.ts +8 -0
  46. package/dist/skia/skia-api.d.ts.map +1 -1
  47. package/dist/skia/skia-context.d.ts +1 -0
  48. package/dist/skia/skia-context.d.ts.map +1 -1
  49. package/dist/skia/skia-context.js +104 -8
  50. package/dist/skia/skia-context.js.map +1 -1
  51. package/dist/stave-header.d.ts +29 -0
  52. package/dist/stave-header.d.ts.map +1 -0
  53. package/dist/stave-header.js +122 -0
  54. package/dist/stave-header.js.map +1 -0
  55. package/dist/test/fake-skia.d.ts +12 -1
  56. package/dist/test/fake-skia.d.ts.map +1 -1
  57. package/dist/test/fake-skia.js +8 -1
  58. package/dist/test/fake-skia.js.map +1 -1
  59. package/dist/track-gutter.d.ts +14 -0
  60. package/dist/track-gutter.d.ts.map +1 -0
  61. package/dist/track-gutter.js +37 -0
  62. package/dist/track-gutter.js.map +1 -0
  63. package/package.json +3 -3
@@ -0,0 +1,213 @@
1
+ /**
2
+ * Pure bounding-box geometry for hit-testing the drawn score: which note is
3
+ * under the pointer, which measure, which track, and what pitch a point on a
4
+ * stave stands for.
5
+ *
6
+ * Free of React, the DOM and any store, so it can be unit-tested with plain
7
+ * constructed `BBox` values — and so that both apps can use it. It lived in
8
+ * music_app until the React Native app needed the same answers: a tap there
9
+ * resolved only to a *measure*, because nothing on that side could ask which
10
+ * note was under it, so tapping a note did not select it at all. Two copies of
11
+ * "which note did the reader point at" is two chances to answer differently.
12
+ *
13
+ * Real coordinates come from `CanvasRenderResult.idToBBox` /
14
+ * `measureIdToBBox`, computed from VexFlow's own layout rather than from the
15
+ * DOM — so they are real values under jsdom too, and every interaction path is
16
+ * exercised geometrically in component tests.
17
+ */
18
+ import { effectiveClef, pitchAtStavePosition } from '@sudobility/music_types';
19
+ import { STAVE_POSITION_HEIGHT, STAVE_TOP_LINE_OFFSET } from './layout.js';
20
+ /** Whether `point` falls within `box`, inclusive of edges. */
21
+ export function pointInBBox(box, point) {
22
+ return (point.x >= box.x &&
23
+ point.x <= box.x + box.width &&
24
+ point.y >= box.y &&
25
+ point.y <= box.y + box.height);
26
+ }
27
+ /** Whether two boxes overlap by a nonzero area (merely touching edges doesn't count). */
28
+ export function bboxesIntersect(a, b) {
29
+ return (a.x < b.x + b.width &&
30
+ a.x + a.width > b.x &&
31
+ a.y < b.y + b.height &&
32
+ a.y + a.height > b.y);
33
+ }
34
+ /** Builds a normalized (non-negative width/height) box spanning two drag corners, in either order. */
35
+ export function boxFromPoints(a, b) {
36
+ return {
37
+ x: Math.min(a.x, b.x),
38
+ y: Math.min(a.y, b.y),
39
+ width: Math.abs(a.x - b.x),
40
+ height: Math.abs(a.y - b.y),
41
+ };
42
+ }
43
+ /**
44
+ * The topmost id whose bbox contains `point`, or `null` if none match.
45
+ * Later map insertions win on overlap — the canvas renderer inserts in
46
+ * draw order, so "later" is "drawn on top" (for the piano roll's
47
+ * non-overlapping note rects, first vs. last is indistinguishable).
48
+ * Linear over the map: the canvas maps only ever hold the drawn window,
49
+ * so this is O(visible), within the no-O(score) interaction rule.
50
+ */
51
+ export function eventIdAtPoint(idToBBox, point) {
52
+ let hit = null;
53
+ for (const [id, box] of idToBBox) {
54
+ if (pointInBBox(box, point))
55
+ hit = id; // keep scanning: last inserted wins
56
+ }
57
+ return hit;
58
+ }
59
+ /**
60
+ * Every event id whose bbox contains `point`.
61
+ *
62
+ * A chord's notes are drawn as one VexFlow `StaveNote`, so the renderer maps
63
+ * all of their ids to the same box — `eventIdAtPoint` therefore returns an
64
+ * arbitrary member of a chord, and no click can reach the others. Selecting
65
+ * the whole chord is the honest answer to a click on overlapping noteheads;
66
+ * picking individual notes out of it is the piano keyboard's job.
67
+ */
68
+ export function eventIdsAtPoint(idToBBox, point) {
69
+ const ids = [];
70
+ for (const [id, box] of idToBBox) {
71
+ if (pointInBBox(box, point))
72
+ ids.push(id);
73
+ }
74
+ return ids;
75
+ }
76
+ /** Every id whose bbox intersects `box` (drag-box/rubber-band selection), in map iteration order. */
77
+ export function eventIdsInBox(idToBBox, box) {
78
+ const ids = [];
79
+ for (const [id, candidate] of idToBBox) {
80
+ if (bboxesIntersect(candidate, box))
81
+ ids.push(id);
82
+ }
83
+ return ids;
84
+ }
85
+ export function measureAtPoint(plan, point) {
86
+ let best = null;
87
+ for (const trackLayout of plan.trackLayouts) {
88
+ for (const measure of trackLayout.measures) {
89
+ const { x, y, width, height } = measure.box;
90
+ if (point.x < x || point.x > x + width)
91
+ continue;
92
+ if (point.y < y || point.y > y + height)
93
+ continue;
94
+ const dx = x + width / 2 - point.x;
95
+ const dy = y + height / 2 - point.y;
96
+ const distance = dx * dx + dy * dy;
97
+ if (best && distance >= best.distance)
98
+ continue;
99
+ best = {
100
+ distance,
101
+ hit: {
102
+ trackId: trackLayout.track.id,
103
+ measureIndex: measure.measureIndex,
104
+ },
105
+ };
106
+ }
107
+ }
108
+ return best?.hit ?? null;
109
+ }
110
+ export function measureIdAtPoint(measureIdToBBox, point) {
111
+ let hit = null;
112
+ for (const [id, box] of measureIdToBBox) {
113
+ if (pointInBBox(box, point))
114
+ hit = id;
115
+ }
116
+ return hit;
117
+ }
118
+ /**
119
+ * The measure index under `point` when it falls in a system's
120
+ * measure-number gutter band, or `null` anywhere else. Logical (unzoomed)
121
+ * content coordinates — the caller divides by zoom, same as `tickForPoint`.
122
+ *
123
+ * Measure geometry is read off track 0: every track shares one measure grid
124
+ * (see `rebuildMeasureTicks`), which is exactly why one gutter can serve the
125
+ * whole system rather than needing one band per stave.
126
+ *
127
+ * The band is half-open at the bottom (`y < system.yTop`) so a click landing
128
+ * exactly on the stave's top line belongs to the stave, not the gutter —
129
+ * otherwise the two hit zones would both claim that row of pixels.
130
+ */
131
+ export function measureIndexAtGutterPoint(plan, point) {
132
+ const measures = plan.trackLayouts[0]?.measures;
133
+ if (!measures)
134
+ return null;
135
+ for (const system of plan.systems) {
136
+ if (point.y < system.gutterTop || point.y >= system.yTop)
137
+ continue;
138
+ for (const measureIndex of system.measureIndices) {
139
+ const box = measures.find(m => m.measureIndex === measureIndex)?.box;
140
+ if (!box)
141
+ continue;
142
+ if (point.x >= box.x && point.x < box.x + box.width)
143
+ return measureIndex;
144
+ }
145
+ return null; // inside this system's band, but past its measures
146
+ }
147
+ return null;
148
+ }
149
+ /**
150
+ * The track whose stave band contains `point`, in **content** coordinates.
151
+ *
152
+ * The sibling of `trackIdAtGutterPoint`, which does the same y-band search but
153
+ * is x-constrained to the gutter and reads *viewport* coordinates — the one
154
+ * place in the editor where the two spaces differ, because the gutter is
155
+ * painted pinned to the viewport's left edge. A drop can land anywhere on the
156
+ * staff, so it needs the ordinary content-space search.
157
+ */
158
+ export function trackIdAtContentPoint(plan, point) {
159
+ for (const system of plan.systems) {
160
+ const measureIndex = system.measureIndices[0];
161
+ if (measureIndex === undefined)
162
+ continue;
163
+ for (const trackLayout of plan.trackLayouts) {
164
+ const box = trackLayout.measures.find(m => m.measureIndex === measureIndex)?.box;
165
+ if (!box)
166
+ continue;
167
+ if (point.y >= box.y && point.y < box.y + box.height)
168
+ return trackLayout.track.id;
169
+ }
170
+ }
171
+ return null;
172
+ }
173
+ /**
174
+ * The pitch a point on a stave lands on, or `null` when it is not over one.
175
+ *
176
+ * A staff position is a line or the space beside it, so the y distance from the
177
+ * top line divided by `STAVE_POSITION_HEIGHT` — rounded, since a click near a
178
+ * line means that line — is how many diatonic steps down from the clef's top
179
+ * note the reader is pointing at. `STAVE_TOP_LINE_OFFSET` is the same constant
180
+ * the renderer draws with, so this agrees with what is on screen by
181
+ * construction rather than by a matched guess.
182
+ *
183
+ * Content coordinates, unzoomed, like every other hit test here except the
184
+ * track gutter.
185
+ */
186
+ export function pitchAtStavePoint(plan, score, point) {
187
+ for (const trackLayout of plan.trackLayouts) {
188
+ for (const placement of trackLayout.measures) {
189
+ const box = placement.box;
190
+ if (point.x < box.x || point.x >= box.x + box.width)
191
+ continue;
192
+ if (point.y < box.y || point.y >= box.y + box.height)
193
+ continue;
194
+ const track = score.tracks.find(t => t.id === trackLayout.track.id);
195
+ if (!track)
196
+ return null;
197
+ const topLineY = box.y + STAVE_TOP_LINE_OFFSET;
198
+ const position = Math.round((point.y - topLineY) / STAVE_POSITION_HEIGHT);
199
+ /*
200
+ The clef *in force at this bar*, not `track.clef`: a part that changes
201
+ clef mid-piece reads in a different one from here on, and using the
202
+ track's would place a clicked note a sixth away from the line under the
203
+ pointer. The renderer resolves the stave's clef through the same
204
+ function, which is what keeps the two in agreement by construction
205
+ rather than by a matched guess.
206
+ */
207
+ const clef = effectiveClef(track, placement.measureIndex);
208
+ return { pitch: pitchAtStavePosition(clef, position), trackId: track.id };
209
+ }
210
+ }
211
+ return null;
212
+ }
213
+ //# sourceMappingURL=hit-test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hit-test.js","sourceRoot":"","sources":["../src/hit-test.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -21,6 +21,12 @@ export * from './drawing-context.js';
21
21
  export * from './layout.js';
22
22
  export * from './pagination.js';
23
23
  export * from './print-layout.js';
24
+ export * from './note-colors.js';
25
+ export * from './hit-test.js';
26
+ export * from './track-gutter.js';
27
+ export * from './note-drag.js';
28
+ export * from './playback-scroll.js';
29
+ export * from './render-theme.js';
24
30
  export * from './display-timing.js';
25
31
  export * from './convert.js';
26
32
  export * from './measure-content.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,cAAc,YAAY,CAAC;AAC3B,cAAc,sBAAsB,CAAC;AACrC,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AAEjC;;;GAGG;AACH,cAAc,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,cAAc,YAAY,CAAC;AAC3B,cAAc,sBAAsB,CAAC;AACrC,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AAEjC;;;GAGG;AACH,cAAc,wBAAwB,CAAC"}
package/dist/index.js CHANGED
@@ -21,6 +21,12 @@ export * from './drawing-context.js';
21
21
  export * from './layout.js';
22
22
  export * from './pagination.js';
23
23
  export * from './print-layout.js';
24
+ export * from './note-colors.js';
25
+ export * from './hit-test.js';
26
+ export * from './track-gutter.js';
27
+ export * from './note-drag.js';
28
+ export * from './playback-scroll.js';
29
+ export * from './render-theme.js';
24
30
  export * from './display-timing.js';
25
31
  export * from './convert.js';
26
32
  export * from './measure-content.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,cAAc,YAAY,CAAC;AAC3B,cAAc,sBAAsB,CAAC;AACrC,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AAEjC;;;GAGG;AACH,cAAc,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,cAAc,YAAY,CAAC;AAC3B,cAAc,sBAAsB,CAAC;AACrC,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AAEjC;;;GAGG;AACH,cAAc,wBAAwB,CAAC"}
package/dist/layout.d.ts CHANGED
@@ -74,7 +74,21 @@ export declare const BASE_MEASURE_WIDTH = 160;
74
74
  export declare const NOTE_SLOT_WIDTH = 28;
75
75
  /** Breathing room added to a density-derived measure width (start padding + last note's stem/flag overhang + barline clearance). */
76
76
  export declare const DENSE_MEASURE_PADDING = 35;
77
- /** Extra width reserved on a system's first measure for clef + key signature + time signature. */
77
+ /**
78
+ * Fall-back room for a stave's clef, key and time signature.
79
+ *
80
+ * Only used when the real width cannot be measured — see `stave-header.ts`,
81
+ * which asks VexFlow what the modifiers a given measure will actually draw
82
+ * cost. This was that number for every measure that began a system, and it was
83
+ * wrong both ways: a key signature's width scales with its accidentals (60
84
+ * logical units for C major's none, 147 for C#'s seven), and a change *within*
85
+ * a system got no reservation at all, which squeezed the bar it landed in to
86
+ * little over half the width of its neighbours.
87
+ *
88
+ * Kept exported because it is the sensible default for a caller with no score
89
+ * to measure against, and because removing a published constant is a separate
90
+ * decision from fixing the layout.
91
+ */
78
92
  export declare const SYSTEM_HEADER_WIDTH = 90;
79
93
  /** The whole vertical row one track occupies in a system. Exported so the renderer can cull staves against the viewport. */
80
94
  export declare const STAVE_HEIGHT = 100;
@@ -1 +1 @@
1
- {"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../src/layout.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../src/layout.ts"],"names":[],"mappings":"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"}
package/dist/layout.js CHANGED
@@ -1,4 +1,5 @@
1
1
  import { snappedOnsetTicks } from './display-timing.js';
2
+ import { headerWidthForMeasure } from './stave-header.js';
2
3
  import { shouldShowTrackInfo } from './types.js';
3
4
  export const BASE_MEASURE_WIDTH = 160;
4
5
  /**
@@ -26,7 +27,21 @@ const MULTI_REST_MEASURE_WIDTH = 320;
26
27
  export const NOTE_SLOT_WIDTH = 28;
27
28
  /** Breathing room added to a density-derived measure width (start padding + last note's stem/flag overhang + barline clearance). */
28
29
  export const DENSE_MEASURE_PADDING = 35;
29
- /** Extra width reserved on a system's first measure for clef + key signature + time signature. */
30
+ /**
31
+ * Fall-back room for a stave's clef, key and time signature.
32
+ *
33
+ * Only used when the real width cannot be measured — see `stave-header.ts`,
34
+ * which asks VexFlow what the modifiers a given measure will actually draw
35
+ * cost. This was that number for every measure that began a system, and it was
36
+ * wrong both ways: a key signature's width scales with its accidentals (60
37
+ * logical units for C major's none, 147 for C#'s seven), and a change *within*
38
+ * a system got no reservation at all, which squeezed the bar it landed in to
39
+ * little over half the width of its neighbours.
40
+ *
41
+ * Kept exported because it is the sensible default for a caller with no score
42
+ * to measure against, and because removing a published constant is a separate
43
+ * decision from fixing the layout.
44
+ */
30
45
  export const SYSTEM_HEADER_WIDTH = 90;
31
46
  /**
32
47
  * The least room the music is ever given, whatever the window does.
@@ -142,7 +157,6 @@ export function computeLayout(score, options) {
142
157
  const zoom = resolveZoom(options.zoom);
143
158
  const tracks = selectTracks(score, options);
144
159
  const measureCount = tracks.reduce((max, t) => Math.max(max, t.measures.length), 0);
145
- const headerWidth = SYSTEM_HEADER_WIDTH;
146
160
  const staveHeight = STAVE_HEIGHT;
147
161
  const trackGap = TRACK_GAP;
148
162
  const systemGap = SYSTEM_GAP;
@@ -188,8 +202,27 @@ export function computeLayout(score, options) {
188
202
  return MULTI_REST_MEASURE_WIDTH;
189
203
  return Math.max(BASE_MEASURE_WIDTH, maxEvents * NOTE_SLOT_WIDTH + DENSE_MEASURE_PADDING);
190
204
  });
205
+ /*
206
+ The room this measure spends on clef, key and time before its first note.
207
+
208
+ Measured, not assumed, and keyed on what the measure will *draw* rather
209
+ than on where it sits — a key or time signature change lands mid-system as
210
+ often as at the start of one, and pricing only the system start left those
211
+ bars squeezed. Memoized inside `staveHeaderWidth`, so a score with one key
212
+ signature measures it once however many systems it has.
213
+ */
214
+ const headerCache = new Map();
215
+ const headerWidth = (measureIndex, isFirstInSystem) => {
216
+ const cacheKey = `${measureIndex}:${isFirstInSystem ? 1 : 0}`;
217
+ const cached = headerCache.get(cacheKey);
218
+ if (cached !== undefined)
219
+ return cached;
220
+ const width = headerWidthForMeasure(tracks, measureIndex, isFirstInSystem);
221
+ headerCache.set(cacheKey, width);
222
+ return width;
223
+ };
191
224
  const widthOf = (measureIndex, isFirstInSystem) => (contentWidths[measureIndex] ?? BASE_MEASURE_WIDTH) +
192
- (isFirstInSystem ? headerWidth : 0);
225
+ headerWidth(measureIndex, isFirstInSystem);
193
226
  // `options.width` is a screen-pixel budget; convert to the equivalent
194
227
  // logical-unit budget by dividing out zoom (a more zoomed-in view fits
195
228
  // fewer logical pixels in the same screen width) before packing systems.
@@ -1 +1 @@
1
- {"version":3,"file":"layout.js","sourceRoot":"","sources":["../src/layout.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"layout.js","sourceRoot":"","sources":["../src/layout.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@
9
9
  */
10
10
  import { Beam, MultiMeasureRest, Stave, Curve, StaveHairpin, StaveLine, TextBracket, StaveTie, Tuplet, Voice } from 'vexflow';
11
11
  import type { StaveNote, StemmableNote } from 'vexflow';
12
- import type { Measure, Track, BeamOverride } from '@sudobility/music_types';
12
+ import type { KeySignature, Measure, TimeSignature, Track, BeamOverride } from '@sudobility/music_types';
13
13
  import type { NoteMeta } from './convert.js';
14
14
  import type { MeasureLayout } from './layout.js';
15
15
  /**
@@ -20,6 +20,8 @@ import type { MeasureLayout } from './layout.js';
20
20
  export declare const CUE_GLYPH_SCALE = 26;
21
21
  /** Cue labels are small italic by convention, and must not crowd the bar number. */
22
22
  export declare const CUE_LABEL_FONT_SIZE = 9;
23
+ export declare function sameTimeSignature(a: TimeSignature, b: TimeSignature): boolean;
24
+ export declare function sameKeySignature(a: KeySignature, b: KeySignature): boolean;
23
25
  /** A single note/rest "channel" (spec §25 voice-ordinal convention, mirrored from `domain/score/ties.ts`) accumulated across a track's measures, for cross-measure/cross-decomposition tie detection. */
24
26
  export type Channel = Array<{
25
27
  note: StaveNote;
@@ -1 +1 @@
1
- {"version":3,"file":"measure-content.d.ts","sourceRoot":"","sources":["../src/measure-content.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAEL,IAAI,EACJ,gBAAgB,EAChB,KAAK,EAGL,KAAK,EAGL,YAAY,EACZ,SAAS,EACT,WAAW,EACX,QAAQ,EACR,MAAM,EAIN,KAAK,EAEN,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExD,OAAO,KAAK,EAEV,OAAO,EAGP,KAAK,EACL,YAAY,EACb,MAAM,yBAAyB,CAAC;AAUjC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD;;;;GAIG;AACH,eAAO,MAAM,eAAe,KAAK,CAAC;AAElC,oFAAoF;AACpF,eAAO,MAAM,mBAAmB,IAAI,CAAC;AAUrC,yMAAyM;AACzM,MAAM,MAAM,OAAO,GAAG,KAAK,CAAC;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC,CAAC;AAEjE;;;;;;;;;GASG;AACH,gFAAgF;AAChF,wBAAgB,YAAY,CAC1B,SAAS,EAAE,aAAa,EAAE,EAC1B,SAAS,CAAC,EAAE,CAAC,YAAY,GAAG,SAAS,CAAC,EAAE,GACvC,IAAI,EAAE,CAER;AAgID,yHAAyH;AACzH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,KAAK;AACZ;;;;;;;GAOG;AACH,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,aAAa,EACxB,WAAW,EAAE,OAAO,GAAG,SAAS;AAChC,uEAAuE;AACvE,WAAW,EAAE,OAAO,GAAG,SAAS,EAChC,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,QAAQ,EAAE,QAAQ,EAAE,GACnB;IACD,KAAK,EAAE,KAAK,CAAC;IACb,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,4EAA4E;IAC5E,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACrC,CAiTA;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,SAAS,CACvB,OAAO,EAAE,OAAO;AAChB;;;;;;;;GAQG;AACH,OAAO,GAAE,CAAC,IAAI,EAAE,SAAS,KAAK,OAAoB,GACjD,QAAQ,EAAE,CAsCZ;AAED;;;;;;;;;;;;GAYG;AACH;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,OAAO,EAChB,OAAO,GAAE,CAAC,IAAI,EAAE,SAAS,KAAK,OAAoB,GACjD,YAAY,EAAE,CA8BhB;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,OAAO,EAChB,OAAO,GAAE,CAAC,IAAI,EAAE,SAAS,KAAK,OAAoB,GACjD,WAAW,EAAE,CAgCf;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,OAAO,EAChB,OAAO,GAAE,CAAC,IAAI,EAAE,SAAS,KAAK,OAAoB,GACjD,SAAS,EAAE,CAyBb;AAED,wBAAgB,UAAU,CACxB,OAAO,EAAE,OAAO,EAChB,OAAO,GAAE,CAAC,IAAI,EAAE,SAAS,KAAK,OAAoB,GACjD,KAAK,EAAE,CAoBT"}
1
+ {"version":3,"file":"measure-content.d.ts","sourceRoot":"","sources":["../src/measure-content.ts"],"names":[],"mappings":"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"}
@@ -22,10 +22,10 @@ import { pitchToMidi } from '@sudobility/music_types';
22
22
  export const CUE_GLYPH_SCALE = 26;
23
23
  /** Cue labels are small italic by convention, and must not crowd the bar number. */
24
24
  export const CUE_LABEL_FONT_SIZE = 9;
25
- function sameTimeSignature(a, b) {
25
+ export function sameTimeSignature(a, b) {
26
26
  return a.numerator === b.numerator && a.denominator === b.denominator;
27
27
  }
28
- function sameKeySignature(a, b) {
28
+ export function sameKeySignature(a, b) {
29
29
  return a.fifths === b.fifths && a.mode === b.mode;
30
30
  }
31
31
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"measure-content.js","sourceRoot":"","sources":["../src/measure-content.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"measure-content.js","sourceRoot":"","sources":["../src/measure-content.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * The `eventId -> NoteColorRole` map the renderer colours noteheads from.
3
+ *
4
+ * Note state is the notehead's own colour; there is no highlight overlay. Pure
5
+ * and store-free, so the precedence is testable without rendering anything.
6
+ *
7
+ * A map holds one role per id, so precedence is applied by write order:
8
+ * selected/regenerated first, then playing overwrites. That is a different
9
+ * problem from the renderer's own `resolveNoteColorRole`, which resolves one
10
+ * drawn note standing for *several* event ids (a chord, or one segment of a
11
+ * duration-decomposed long note).
12
+ *
13
+ * It lives here rather than in an app because two apps draw this score, and a
14
+ * second copy of "which notes are lit, and why" is a second set of answers to
15
+ * a question the reader expects one answer to. The React Native app had no
16
+ * copy at all, which is a version of the same problem: nothing lit up there
17
+ * during playback.
18
+ */
19
+ import type { SoundingNote } from '@sudobility/music_types';
20
+ import type { NoteColorRole } from './types.js';
21
+ export type BuildNoteColorsParams = {
22
+ selectedIds: readonly string[];
23
+ playingIds: readonly string[];
24
+ /** When true, selected notes colour as `regenerated` rather than `selected`. */
25
+ regenerated: boolean;
26
+ };
27
+ export declare function buildNoteColors({ selectedIds, playingIds, regenerated, }: BuildNoteColorsParams): Map<string, NoteColorRole>;
28
+ export type NoteColorsForParams = {
29
+ selectedIds: readonly string[];
30
+ /** What the engine reports as sounding right now, across every track. */
31
+ sounding: readonly SoundingNote[];
32
+ /**
33
+ * The track being read, or null when none is set.
34
+ *
35
+ * Null lights **nothing**, matching the "with no active track nothing dims"
36
+ * rule the renderer follows: a score with no active track has no one part
37
+ * the reader is following, so there is no playhead to draw in the noteheads.
38
+ */
39
+ activeTrackId: string | null;
40
+ regenerated: boolean;
41
+ };
42
+ /**
43
+ * The colours actually painted: the selection with the sounding notes over it.
44
+ *
45
+ * **Only the active track's sounding notes light up.** Every track's used to,
46
+ * on the reasoning that a state colour marks a note as needing attention
47
+ * wherever it is — which is right for selection, where a cross-track selection
48
+ * is something the reader made on purpose. It is wrong for playback: on a
49
+ * large score the lit notes then scatter across whichever parts happen to be
50
+ * sounding, which reads as random rather than as a playhead, and the one track
51
+ * being read goes dark whenever it rests. The piano keyboard already showed
52
+ * the active track alone, and this is what makes the notation agree with it.
53
+ */
54
+ export declare function noteColorsFor({ selectedIds, sounding, activeTrackId, regenerated, }: NoteColorsForParams): Map<string, NoteColorRole>;
55
+ //# sourceMappingURL=note-colors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"note-colors.d.ts","sourceRoot":"","sources":["../src/note-colors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,MAAM,MAAM,qBAAqB,GAAG;IAClC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/B,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9B,gFAAgF;IAChF,WAAW,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,wBAAgB,eAAe,CAAC,EAC9B,WAAW,EACX,UAAU,EACV,WAAW,GACZ,EAAE,qBAAqB,GAAG,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAMpD;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/B,yEAAyE;IACzE,QAAQ,EAAE,SAAS,YAAY,EAAE,CAAC;IAClC;;;;;;OAMG;IACH,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,WAAW,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,EAC5B,WAAW,EACX,QAAQ,EACR,aAAa,EACb,WAAW,GACZ,EAAE,mBAAmB,GAAG,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAQlD"}