@kerusiweb/core 2.2.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. package/LICENSE +22 -22
  2. package/README.md +70 -68
  3. package/dist/kerusi/index.d.ts +4 -3
  4. package/dist/kerusi/index.d.ts.map +1 -1
  5. package/dist/kerusi/index.js +4 -3
  6. package/dist/kerusi/index.js.map +1 -1
  7. package/dist/kerusi/kerusi-geometry.d.ts +47 -0
  8. package/dist/kerusi/kerusi-geometry.d.ts.map +1 -0
  9. package/dist/kerusi/kerusi-geometry.js +111 -0
  10. package/dist/kerusi/kerusi-geometry.js.map +1 -0
  11. package/dist/kerusi/kerusi-map.model.d.ts +121 -68
  12. package/dist/kerusi/kerusi-map.model.d.ts.map +1 -1
  13. package/dist/kerusi/kerusi-map.model.js +6 -2
  14. package/dist/kerusi/kerusi-map.model.js.map +1 -1
  15. package/dist/kerusi/kerusi-rows.d.ts +2 -2
  16. package/dist/kerusi/kerusi-rows.js +2 -2
  17. package/dist/kerusi/kerusi-validator.d.ts +18 -9
  18. package/dist/kerusi/kerusi-validator.d.ts.map +1 -1
  19. package/dist/kerusi/kerusi-validator.js +301 -122
  20. package/dist/kerusi/kerusi-validator.js.map +1 -1
  21. package/dist/render/build-render-model.d.ts +8 -4
  22. package/dist/render/build-render-model.d.ts.map +1 -1
  23. package/dist/render/build-render-model.js +147 -45
  24. package/dist/render/build-render-model.js.map +1 -1
  25. package/dist/render/index.d.ts +1 -1
  26. package/dist/render/index.d.ts.map +1 -1
  27. package/dist/render/index.js +1 -1
  28. package/dist/render/index.js.map +1 -1
  29. package/dist/render/map-layout.d.ts +92 -0
  30. package/dist/render/map-layout.d.ts.map +1 -0
  31. package/dist/render/map-layout.js +93 -0
  32. package/dist/render/map-layout.js.map +1 -0
  33. package/dist/render/navigation-order.d.ts +20 -10
  34. package/dist/render/navigation-order.d.ts.map +1 -1
  35. package/dist/render/navigation-order.js +72 -57
  36. package/dist/render/navigation-order.js.map +1 -1
  37. package/dist/render/render-model.d.ts +48 -26
  38. package/dist/render/render-model.d.ts.map +1 -1
  39. package/dist/render/seat-shapes.d.ts +36 -3
  40. package/dist/render/seat-shapes.d.ts.map +1 -1
  41. package/dist/render/seat-shapes.js +50 -3
  42. package/dist/render/seat-shapes.js.map +1 -1
  43. package/dist/view/index.d.ts +2 -0
  44. package/dist/view/index.d.ts.map +1 -1
  45. package/dist/view/index.js +2 -0
  46. package/dist/view/index.js.map +1 -1
  47. package/dist/view/kerusi-seat-style.d.ts +58 -0
  48. package/dist/view/kerusi-seat-style.d.ts.map +1 -0
  49. package/dist/view/kerusi-seat-style.js +32 -0
  50. package/dist/view/kerusi-seat-style.js.map +1 -0
  51. package/dist/view/kerusi-seatmap-colors.d.ts +41 -5
  52. package/dist/view/kerusi-seatmap-colors.d.ts.map +1 -1
  53. package/dist/view/kerusi-seatmap-colors.js +67 -8
  54. package/dist/view/kerusi-seatmap-colors.js.map +1 -1
  55. package/dist/view/rtl.d.ts +1 -1
  56. package/dist/view/rtl.js +1 -1
  57. package/dist/view/seat-aria.d.ts +6 -0
  58. package/dist/view/seat-aria.d.ts.map +1 -1
  59. package/dist/view/seat-aria.js +8 -0
  60. package/dist/view/seat-aria.js.map +1 -1
  61. package/dist/view/seat-glyph.d.ts +137 -0
  62. package/dist/view/seat-glyph.d.ts.map +1 -0
  63. package/dist/view/seat-glyph.js +130 -0
  64. package/dist/view/seat-glyph.js.map +1 -0
  65. package/dist/view/viewport.d.ts +35 -7
  66. package/dist/view/viewport.d.ts.map +1 -1
  67. package/dist/view/viewport.js +56 -7
  68. package/dist/view/viewport.js.map +1 -1
  69. package/package.json +42 -42
  70. package/dist/kerusi/kerusi-layout-mode.d.ts +0 -58
  71. package/dist/kerusi/kerusi-layout-mode.d.ts.map +0 -1
  72. package/dist/kerusi/kerusi-layout-mode.js +0 -117
  73. package/dist/kerusi/kerusi-layout-mode.js.map +0 -1
  74. package/dist/render/section-layout.d.ts +0 -66
  75. package/dist/render/section-layout.d.ts.map +0 -1
  76. package/dist/render/section-layout.js +0 -186
  77. package/dist/render/section-layout.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"kerusi-validator.js","sourceRoot":"","sources":["../../src/kerusi/kerusi-validator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kerusi-validator.js","sourceRoot":"","sources":["../../src/kerusi/kerusi-validator.ts"],"names":[],"mappings":"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"}
@@ -17,17 +17,21 @@ export interface BuildRenderModelOptions {
17
17
  * Builds the renderer's view of a `KerusiMap` with its `KerusiState` merged in.
18
18
  *
19
19
  * Everything the standard makes a consumer resolve happens here, once:
20
- * - sections ordered by `Section.index`, and each given its own layout mode
21
- * per §4.5 — this is what lets a grid balcony and a freeform orchestra
22
- * coexist in one map;
20
+ * - sections ordered by `Section.index`, each with its seat size (§4.5) and
21
+ * its extent on the canvas resolved;
23
22
  * - every row a section declares materialized, empty rows included, in the
24
23
  * §4.2.1 order, with seats grouped into them by `Seat.row` and ordered by
25
- * `col` (grid, mixed) or `x` (freeform);
24
+ * `col`, then `x`;
25
+ * - each element's missing `width`/`height` defaulted to the seat size
26
+ * (§4.4.1);
26
27
  * - availability merged by `Seat.id`, honoring §5.1's sparse rule that an
27
28
  * absent seat is available;
28
29
  * - price resolved through the §4.9 precedence order;
29
30
  * - `Section.label` and `SeatType.label` localized against the map's locale.
30
31
  *
32
+ * Positions are copied, never computed: every seat and element keeps the
33
+ * document's `x`/`y` in canvas units (§4.5).
34
+ *
31
35
  * It does NOT validate — call `validateKerusiMap` or `checkKerusiMap` first.
32
36
  * Given an invalid document it builds the best model it can rather than
33
37
  * throwing, so a caller in "collect" mode can render and report at once.
@@ -1 +1 @@
1
- {"version":3,"file":"build-render-model.d.ts","sourceRoot":"","sources":["../../src/render/build-render-model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAA0B,MAAM,+BAA+B,CAAC;AAClF,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAK9D,OAAO,EAIL,SAAS,EAET,UAAU,EAEV,gBAAgB,EACjB,MAAM,mBAAmB,CAAC;AAK3B,gFAAgF;AAChF,eAAO,MAAM,2BAA2B,EAAE,SAAS,gBAAgB,EAAkB,CAAC;AAEtF,MAAM,WAAW,uBAAuB;IACtC,yDAAyD;IACzD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mFAAmF;IACnF,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/B,wEAAwE;IACxE,kBAAkB,CAAC,EAAE,SAAS,gBAAgB,EAAE,CAAC;IACjD,kFAAkF;IAClF,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,OAAO,CAAC;CAChD;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,SAAS,EACd,KAAK,CAAC,EAAE,WAAW,EACnB,OAAO,GAAE,uBAA4B,GACpC,SAAS,CA6CX"}
1
+ {"version":3,"file":"build-render-model.d.ts","sourceRoot":"","sources":["../../src/render/build-render-model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,SAAS,EAA0B,MAAM,+BAA+B,CAAC;AAClG,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAK9D,OAAO,EAIL,SAAS,EAET,UAAU,EAEV,gBAAgB,EACjB,MAAM,mBAAmB,CAAC;AAQ3B,gFAAgF;AAChF,eAAO,MAAM,2BAA2B,EAAE,SAAS,gBAAgB,EAAkB,CAAC;AAEtF,MAAM,WAAW,uBAAuB;IACtC,yDAAyD;IACzD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mFAAmF;IACnF,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/B,wEAAwE;IACxE,kBAAkB,CAAC,EAAE,SAAS,gBAAgB,EAAE,CAAC;IACjD,kFAAkF;IAClF,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,OAAO,CAAC;CAChD;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,SAAS,EACd,KAAK,CAAC,EAAE,WAAW,EACnB,OAAO,GAAE,uBAA4B,GACpC,SAAS,CAmDX"}
@@ -1,26 +1,33 @@
1
- import { resolveSectionLayoutMode } from '../kerusi/kerusi-layout-mode.js';
1
+ import { areNeighbours, seatSizeOf } from '../kerusi/kerusi-geometry.js';
2
2
  import { resolveLocalizedText, resolveMapLocale } from '../kerusi/kerusi-locale.js';
3
3
  import { resolveSeatPrice, resolveTierPrice } from '../kerusi/kerusi-price.js';
4
4
  import { orderRowMeta } from '../kerusi/kerusi-rows.js';
5
- /** The default section proportions when none is declared (§4.5). */
6
- const DEFAULT_ASPECT_RATIO = '1:1';
5
+ /**
6
+ * The seat size used when a document gives none at all. Only an invalid
7
+ * document lacks `KerusiMap.seatSize`; this lets it draw something anyway.
8
+ */
9
+ const FALLBACK_SEAT_SIZE = 28;
7
10
  /** Which statuses a seat may be picked in, unless the caller says otherwise. */
8
11
  export const DEFAULT_SELECTABLE_STATUSES = ['available'];
9
12
  /**
10
13
  * Builds the renderer's view of a `KerusiMap` with its `KerusiState` merged in.
11
14
  *
12
15
  * Everything the standard makes a consumer resolve happens here, once:
13
- * - sections ordered by `Section.index`, and each given its own layout mode
14
- * per §4.5 — this is what lets a grid balcony and a freeform orchestra
15
- * coexist in one map;
16
+ * - sections ordered by `Section.index`, each with its seat size (§4.5) and
17
+ * its extent on the canvas resolved;
16
18
  * - every row a section declares materialized, empty rows included, in the
17
19
  * §4.2.1 order, with seats grouped into them by `Seat.row` and ordered by
18
- * `col` (grid, mixed) or `x` (freeform);
20
+ * `col`, then `x`;
21
+ * - each element's missing `width`/`height` defaulted to the seat size
22
+ * (§4.4.1);
19
23
  * - availability merged by `Seat.id`, honoring §5.1's sparse rule that an
20
24
  * absent seat is available;
21
25
  * - price resolved through the §4.9 precedence order;
22
26
  * - `Section.label` and `SeatType.label` localized against the map's locale.
23
27
  *
28
+ * Positions are copied, never computed: every seat and element keeps the
29
+ * document's `x`/`y` in canvas units (§4.5).
30
+ *
24
31
  * It does NOT validate — call `validateKerusiMap` or `checkKerusiMap` first.
25
32
  * Given an invalid document it builds the best model it can rather than
26
33
  * throwing, so a caller in "collect" mode can render and report at once.
@@ -32,8 +39,12 @@ export function buildRenderModel(map, state, options = {}) {
32
39
  const seatsById = new Map();
33
40
  const typeCounts = new Map();
34
41
  const currencies = new Set();
42
+ const seatSize = seatSizeOf(map) ?? FALLBACK_SEAT_SIZE;
43
+ const canvas = resolveCanvas(map, seatSize);
35
44
  const sections = selectSections(map, options.sectionIds).map((section) => buildSection(section, {
36
45
  map,
46
+ canvas,
47
+ seatSize,
37
48
  state,
38
49
  locale,
39
50
  selectableStatuses,
@@ -59,6 +70,8 @@ export function buildRenderModel(map, state, options = {}) {
59
70
  name: map.name,
60
71
  locale,
61
72
  domain: map.domain,
73
+ canvas,
74
+ seatSize,
62
75
  sections,
63
76
  legend,
64
77
  // §4.9 forbids mixing currencies, so the first is the map's.
@@ -67,16 +80,22 @@ export function buildRenderModel(map, state, options = {}) {
67
80
  };
68
81
  }
69
82
  function buildSection(section, ctx) {
70
- const layoutMode = resolveSectionLayoutMode(section);
71
- const rows = buildRows(section, layoutMode, ctx);
83
+ const seatSize = seatSizeOf({ seatSize: ctx.seatSize }, section) ?? ctx.seatSize;
84
+ const rows = buildRows(section, seatSize, ctx);
85
+ const seats = rows.flatMap((r) => r.seats);
86
+ const elements = buildElements(section, seatSize);
87
+ const declared = isBounds(section.bounds) ? section.bounds : undefined;
72
88
  return {
73
89
  id: section.id,
74
90
  label: resolveLocalizedText(section.label, ctx.locale),
75
- layoutMode,
76
- aspectRatio: section.aspectRatio ?? DEFAULT_ASPECT_RATIO,
91
+ seatSize,
92
+ // A section with nothing in it and no declared bounds has no extent of its
93
+ // own; the whole canvas is the least surprising thing to zoom to.
94
+ bounds: declared ?? contentBounds(seats, elements) ?? { x: 0, y: 0, ...ctx.canvas },
95
+ boundsDeclared: declared !== undefined,
77
96
  rows,
78
- seats: rows.flatMap((r) => r.seats),
79
- elements: buildElements(section, rows),
97
+ seats,
98
+ elements,
80
99
  directions: buildDirections(section, ctx.locale),
81
100
  source: section,
82
101
  };
@@ -105,16 +124,15 @@ function buildDirections(section, locale) {
105
124
  * `Section.rows` is not a container (§4.2) — seats never live inside a row — but
106
125
  * where it is present it *is* the section's complete row registry (§4.2.2), so
107
126
  * the rows come from it rather than from the seats that happen to reference
108
- * one. That is what makes an **empty row** real: a `RowMeta` no seat mentions
109
- * still takes a slot, and the grid layout reserves a row of vertical space for
110
- * it. Without that, a document could not open the throw between a cinema screen
111
- * and row A, because rows would exist only where seats did.
127
+ * one. An **empty row**, a `RowMeta` no seat mentions, still takes its place in
128
+ * the order. It reserves no space: where seats are drawn is up to their own
129
+ * `x`/`y`.
112
130
  *
113
131
  * With no registry, a seat's `row` is opaque free text (§4.6) and the rows are
114
132
  * exactly those the seats name, in first-appearance order — a document that
115
133
  * declares no row metadata still renders in the order its author wrote it.
116
134
  */
117
- function buildRows(section, layoutMode, ctx) {
135
+ function buildRows(section, seatSize, ctx) {
118
136
  const byRowKey = new Map();
119
137
  const firstSeen = new Map();
120
138
  (section.seats ?? []).forEach((seat, i) => {
@@ -143,39 +161,61 @@ function buildRows(section, layoutMode, ctx) {
143
161
  }
144
162
  }
145
163
  return ordered.map(({ key, meta }, rowIndex) => {
146
- const seats = byRowKey.get(key) ?? [];
164
+ const seats = sortSeats(byRowKey.get(key) ?? []);
147
165
  const label = meta?.label ?? (key || undefined);
166
+ const aisles = aisleSeats(seats);
148
167
  const row = {
149
168
  id: key,
150
169
  label,
151
170
  index: rowIndex,
152
- seats: sortSeats(seats, layoutMode).map((seat) => buildSeat(seat, section, { rowIndex, rowLabel: label }, ctx)),
171
+ seats: seats.map((seat) => buildSeat(seat, section, { rowIndex, rowLabel: label, seatSize }, aisles.has(seat), ctx)),
153
172
  empty: seats.length === 0,
154
173
  };
155
174
  return row;
156
175
  });
157
176
  }
158
177
  /**
159
- * Orders seats within a row. `col` is the adjacency ordinal in grid and mixed
160
- * sections — including mixed, where `x`/`y` places the seat but `col` is what
161
- * "the seat to the right" means (§4.3.1). Freeform rows have no columns, so
162
- * they order by `x`.
178
+ * Orders seats within a row: by `col`, the adjacency ordinal that says what
179
+ * "the next seat" means (§4.3.5), then by `x`. Seats with no `col` follow the
180
+ * ones that have one, ordered by `x` alone. Declaration order breaks any tie
181
+ * left.
163
182
  */
164
- function sortSeats(seats, layoutMode) {
165
- const byCol = layoutMode !== 'freeform';
183
+ function sortSeats(seats) {
184
+ const colKey = (seat) => (isFiniteNumber(seat.col) ? seat.col : Number.POSITIVE_INFINITY);
166
185
  return [...seats]
167
186
  .map((seat, order) => ({ seat, order }))
168
187
  .sort((a, b) => {
169
- const left = byCol ? a.seat.col : a.seat.x;
170
- const right = byCol ? b.seat.col : b.seat.x;
171
- if (left === undefined || right === undefined || left === right) {
172
- return (a.seat.y ?? 0) - (b.seat.y ?? 0) || a.order - b.order;
188
+ const left = colKey(a.seat);
189
+ const right = colKey(b.seat);
190
+ if (left !== right) {
191
+ return left < right ? -1 : 1;
173
192
  }
174
- return left - right;
193
+ return coord(a.seat.x) - coord(b.seat.x) || a.order - b.order;
175
194
  })
176
195
  .map((entry) => entry.seat);
177
196
  }
178
- function buildSeat(seat, section, row, ctx) {
197
+ /**
198
+ * The seats of one ordered row that sit beside an aisle: two seats next to
199
+ * each other in the row's order that are not neighbours (§4.3.5), because the
200
+ * `col` between them is skipped. Both sides of the gap are beside it. A row's
201
+ * ends are not aisles, and a seat without a `col` says nothing about adjacency.
202
+ */
203
+ function aisleSeats(seats) {
204
+ const beside = new Set();
205
+ for (let i = 1; i < seats.length; i++) {
206
+ const a = seats[i - 1];
207
+ const b = seats[i];
208
+ if (Number.isInteger(a.col) &&
209
+ Number.isInteger(b.col) &&
210
+ a.col !== b.col &&
211
+ !areNeighbours(a, b)) {
212
+ beside.add(a);
213
+ beside.add(b);
214
+ }
215
+ }
216
+ return beside;
217
+ }
218
+ function buildSeat(seat, section, row, besideAisle, ctx) {
179
219
  const type = ctx.legendById.get(seat.type) ?? { id: seat.type };
180
220
  const price = resolveSeatPrice(seat, ctx.map);
181
221
  if (price?.currency) {
@@ -192,9 +232,11 @@ function buildSeat(seat, section, row, ctx) {
192
232
  rowLabel: row.rowLabel,
193
233
  rowIndex: row.rowIndex,
194
234
  col: seat.col,
195
- x: seat.x,
196
- y: seat.y,
235
+ x: coord(seat.x),
236
+ y: coord(seat.y),
237
+ size: row.seatSize,
197
238
  rotation: seat.rotation,
239
+ besideAisle,
198
240
  type,
199
241
  typeLabel: resolveLocalizedText(type.label, ctx.locale) ?? type.id,
200
242
  typeColor: type.color,
@@ -214,26 +256,86 @@ function buildSeat(seat, section, row, ctx) {
214
256
  }
215
257
  /**
216
258
  * Carries elements through with their `id` intact — the pre-1.0 adapter dropped
217
- * it, leaving the render model with no element identity. A grid-addressed
218
- * element gets its row's index so the layout can place it in the cell grid.
259
+ * it, leaving the render model with no element identity. A missing `width` or
260
+ * `height` becomes the section's seat size (§4.4.1).
219
261
  */
220
- function buildElements(section, rows) {
221
- const rowIndexById = new Map(rows.map((r) => [r.id, r.index]));
262
+ function buildElements(section, seatSize) {
222
263
  return (section.elements ?? []).map((element) => ({
223
264
  id: element.id,
224
265
  kind: element.kind,
225
266
  label: element.label,
226
- row: element.row,
227
- rowIndex: element.row !== undefined ? rowIndexById.get(element.row) : undefined,
228
- col: element.col,
229
- x: element.x,
230
- y: element.y,
231
- width: element.width,
232
- height: element.height,
267
+ x: coord(element.x),
268
+ y: coord(element.y),
269
+ width: positiveOr(element.width, seatSize),
270
+ height: positiveOr(element.height, seatSize),
233
271
  rotation: element.rotation,
234
272
  source: element,
235
273
  }));
236
274
  }
275
+ /**
276
+ * The box around a section's seat and element footprints, each turned by its
277
+ * rotation. `undefined` for a section with nothing in it.
278
+ */
279
+ function contentBounds(seats, elements) {
280
+ const boxes = [
281
+ ...seats.map((s) => rotatedBox(s.x, s.y, s.size, s.size, s.rotation)),
282
+ ...elements.map((e) => rotatedBox(e.x, e.y, e.width, e.height, e.rotation)),
283
+ ];
284
+ if (boxes.length === 0) {
285
+ return undefined;
286
+ }
287
+ const left = Math.min(...boxes.map((b) => b.left));
288
+ const top = Math.min(...boxes.map((b) => b.top));
289
+ const right = Math.max(...boxes.map((b) => b.right));
290
+ const bottom = Math.max(...boxes.map((b) => b.bottom));
291
+ return { x: left, y: top, width: right - left, height: bottom - top };
292
+ }
293
+ /** The axis-aligned box around a `width` × `height` rectangle centred on `x`/`y` and turned. */
294
+ function rotatedBox(x, y, width, height, rotation) {
295
+ const theta = ((isFiniteNumber(rotation) ? rotation : 0) * Math.PI) / 180;
296
+ const cos = Math.abs(Math.cos(theta));
297
+ const sin = Math.abs(Math.sin(theta));
298
+ const halfWidth = (width * cos + height * sin) / 2;
299
+ const halfHeight = (width * sin + height * cos) / 2;
300
+ return { left: x - halfWidth, top: y - halfHeight, right: x + halfWidth, bottom: y + halfHeight };
301
+ }
302
+ /**
303
+ * `KerusiMap.canvas`, or — for an invalid document missing it — the smallest
304
+ * canvas from the origin that holds every seat, so it still draws.
305
+ */
306
+ function resolveCanvas(map, seatSize) {
307
+ const canvas = map.canvas;
308
+ if (canvas && isPositive(canvas.width) && isPositive(canvas.height)) {
309
+ return { width: canvas.width, height: canvas.height };
310
+ }
311
+ const seats = (map.sections ?? []).flatMap((s) => s.seats ?? []);
312
+ const extent = (axis) => Math.max(seatSize, ...seats.map((seat) => coord(seat[axis]) + seatSize / 2));
313
+ return { width: extent('x'), height: extent('y') };
314
+ }
315
+ function isBounds(bounds) {
316
+ return (!!bounds &&
317
+ isFiniteNumber(bounds.x) &&
318
+ isFiniteNumber(bounds.y) &&
319
+ isPositive(bounds.width) &&
320
+ isPositive(bounds.height));
321
+ }
322
+ function isFiniteNumber(value) {
323
+ return typeof value === 'number' && Number.isFinite(value);
324
+ }
325
+ function isPositive(value) {
326
+ return isFiniteNumber(value) && value > 0;
327
+ }
328
+ function positiveOr(value, fallback) {
329
+ return isPositive(value) ? value : fallback;
330
+ }
331
+ /**
332
+ * A coordinate, or the canvas origin when an invalid document omits it. `x`
333
+ * and `y` are required (§4.3.1, §4.4.1); this only keeps such a document
334
+ * drawable while the validator reports it.
335
+ */
336
+ function coord(value) {
337
+ return isFiniteNumber(value) ? value : 0;
338
+ }
237
339
  /** Sections in `Section.index` order, optionally filtered to an explicit set. */
238
340
  function selectSections(map, sectionIds) {
239
341
  const all = map.sections ?? [];
@@ -1 +1 @@
1
- {"version":3,"file":"build-render-model.js","sourceRoot":"","sources":["../../src/render/build-render-model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build-render-model.js","sourceRoot":"","sources":["../../src/render/build-render-model.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@
7
7
  */
8
8
  export * from './render-model.js';
9
9
  export * from './build-render-model.js';
10
- export * from './section-layout.js';
10
+ export * from './map-layout.js';
11
11
  export * from './navigation-order.js';
12
12
  export * from './element-shapes.js';
13
13
  export * from './seat-shapes.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/render/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/render/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC"}
@@ -7,7 +7,7 @@
7
7
  */
8
8
  export * from './render-model.js';
9
9
  export * from './build-render-model.js';
10
- export * from './section-layout.js';
10
+ export * from './map-layout.js';
11
11
  export * from './navigation-order.js';
12
12
  export * from './element-shapes.js';
13
13
  export * from './seat-shapes.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/render/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/render/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC"}
@@ -0,0 +1,92 @@
1
+ import { Bounds } from '../kerusi/kerusi-map.model.js';
2
+ import { RenderElement, RenderMap, RenderSeat, RenderSection } from './render-model.js';
3
+ /**
4
+ * Map geometry: turning a `RenderMap` into placed rectangles on its canvas.
5
+ *
6
+ * Kerusi rev 15 puts every section on one canvas (§4.5) and fixes every seat's
7
+ * centre, size and rotation in canvas units, so placing is copying: a seat's
8
+ * top-left corner is its `x`/`y` less half its size. There are no cells, no row
9
+ * pitch and no percentages here, and nothing reads `row`, `col`, a row's index
10
+ * or a row shape to decide where to draw.
11
+ *
12
+ * The one transform allowed is the whole-canvas mirror for right-to-left
13
+ * locales (§2, §4.5): `x' = canvas.width − x`, with every rotation negated.
14
+ * Mirroring each section or row on its own would move things relative to each
15
+ * other, which §4.5 forbids.
16
+ *
17
+ * The result is in canvas units; a binding hands `width`/`height` to the SVG as
18
+ * its `viewBox` and lets CSS pick the scale.
19
+ */
20
+ export interface PlacedSeat {
21
+ seat: RenderSeat;
22
+ /** Top-left corner, in canvas units, before rotation. */
23
+ x: number;
24
+ y: number;
25
+ width: number;
26
+ height: number;
27
+ centerX: number;
28
+ centerY: number;
29
+ fontSize: number;
30
+ /** Degrees about the seat centre, clockwise on screen; negated when mirrored. */
31
+ rotation: number;
32
+ }
33
+ export interface PlacedElement {
34
+ element: RenderElement;
35
+ /** Top-left corner, in canvas units, before rotation. */
36
+ x: number;
37
+ y: number;
38
+ width: number;
39
+ height: number;
40
+ centerX: number;
41
+ centerY: number;
42
+ fontSize: number;
43
+ /** Degrees about the element centre, clockwise on screen; negated when mirrored. */
44
+ rotation: number;
45
+ }
46
+ /** One section's placed seats and elements. */
47
+ export interface PlacedSection {
48
+ section: RenderSection;
49
+ seats: readonly PlacedSeat[];
50
+ elements: readonly PlacedElement[];
51
+ /**
52
+ * `RenderSection.bounds` as drawn: mirrored with everything else in RTL, so
53
+ * a binding can zoom to it or put a label at its top-left as is.
54
+ */
55
+ bounds: Bounds;
56
+ /**
57
+ * Where a section label goes when one is drawn (D5), sized from the section's
58
+ * seat size: just above the leading top corner of `bounds`, clear of the
59
+ * seats that sit inside them, or inset inside that corner when the canvas
60
+ * has no room above. `y` is the top of the text. Draw it with
61
+ * `text-anchor="start"` and `dominant-baseline="hanging"`; in RTL the anchor
62
+ * is at the top-right, and the inherited `direction` runs the text leftward
63
+ * from it, so it stays readable.
64
+ */
65
+ labelAnchor: SectionLabelAnchor;
66
+ }
67
+ export interface SectionLabelAnchor {
68
+ x: number;
69
+ y: number;
70
+ fontSize: number;
71
+ }
72
+ export interface MapLayout {
73
+ /** The canvas width: the `viewBox` width. */
74
+ width: number;
75
+ /** The canvas height: the `viewBox` height. */
76
+ height: number;
77
+ /** Every section in the render model, in its order. */
78
+ sections: readonly PlacedSection[];
79
+ }
80
+ export interface MapLayoutOptions {
81
+ /** Mirrors the whole canvas horizontally, for right-to-left locales (D3). */
82
+ rtl?: boolean;
83
+ }
84
+ /**
85
+ * Places every seat and element of a map on its canvas.
86
+ *
87
+ * The canvas never shrinks to fit what is drawn: a section left out of the
88
+ * render model, or hidden by a binding, leaves its space empty, because closing
89
+ * the gap would move the sections around it.
90
+ */
91
+ export declare function computeMapLayout(map: RenderMap, options?: MapLayoutOptions): MapLayout;
92
+ //# sourceMappingURL=map-layout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"map-layout.d.ts","sourceRoot":"","sources":["../../src/render/map-layout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AAEvD,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAExF;;;;;;;;;;;;;;;;GAgBG;AAEH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,UAAU,CAAC;IACjB,yDAAyD;IACzD,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,iFAAiF;IACjF,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,aAAa,CAAC;IACvB,yDAAyD;IACzD,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,oFAAoF;IACpF,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,+CAA+C;AAC/C,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,aAAa,CAAC;IACvB,KAAK,EAAE,SAAS,UAAU,EAAE,CAAC;IAC7B,QAAQ,EAAE,SAAS,aAAa,EAAE,CAAC;IACnC;;;OAGG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;;;;;;;OAQG;IACH,WAAW,EAAE,kBAAkB,CAAC;CACjC;AAED,MAAM,WAAW,kBAAkB;IACjC,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,SAAS;IACxB,6CAA6C;IAC7C,KAAK,EAAE,MAAM,CAAC;IACd,+CAA+C;IAC/C,MAAM,EAAE,MAAM,CAAC;IACf,uDAAuD;IACvD,QAAQ,EAAE,SAAS,aAAa,EAAE,CAAC;CACpC;AAED,MAAM,WAAW,gBAAgB;IAC/B,6EAA6E;IAC7E,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO,GAAE,gBAAqB,GAAG,SAAS,CA4B1F"}