@seatlayer/core 0.34.0 → 0.36.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-MGC5BVAD.js → chunk-5MRJCIZP.js} +116 -97
- package/dist/chunk-5MRJCIZP.js.map +1 -0
- package/dist/index.cjs +452 -135
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +87 -8
- package/dist/index.d.ts +87 -8
- package/dist/index.js +338 -41
- package/dist/index.js.map +1 -1
- package/dist/{types-DO_J5DtX.d.cts → types-DBnRO2hX.d.cts} +13 -1
- package/dist/{types-DO_J5DtX.d.ts → types-DBnRO2hX.d.ts} +13 -1
- package/dist/view3d/index.cjs.map +1 -1
- package/dist/view3d/index.d.cts +1 -1
- package/dist/view3d/index.d.ts +1 -1
- package/dist/view3d/index.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-MGC5BVAD.js.map +0 -1
package/dist/index.d.cts
CHANGED
|
@@ -1,5 +1,40 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export { o as ACCESSIBILITY_RING_COLOR, p as ACCESSIBILITY_TYPES, q as AccessibilityMeta, r as CHART_STORAGE_KEY, s as Category, t as ChartReferenceImage, u as ChartTheme, v as CubicPath, D as DecorImageObject, w as LABEL_STYLE_MAX_SIZE, x as LABEL_STYLE_MIN_SIZE, y as LabelPresentation, z as ReferenceAccessibilitySource, H as ReferenceCalibration, J as ReferenceCategorySource, K as ReferenceDerivedScale, M as ReferenceInventoryExclusionSource, N as ReferenceInventorySource, O as ReferenceScanProposal, Q as ReferenceScanRowProposal, U as ReferenceScanSectionProposal, V as ReferenceSeatSeed, W as ReferenceSectionTraceBatchInput, X as ReferenceSectionTraceBatchProposal, Y as ReferenceSectionTraceInput, Z as ReferenceSectionTraceProposal, _ as RenderedBookableLabelEvidence, $ as RenderedGAAreaEvidence, a0 as RenderedHierarchyLabelEvidence, a1 as RenderedLabelHiddenReason, a2 as SEAT_COMMERCIAL_MARKS, a3 as SURROUNDINGS_SHAPE_ROLES, a4 as SeatCommercialMark, a5 as SeatCommercialMeta, a6 as SectionOutlinePath, a7 as SectionPathSegment, a8 as SelectionLayer, a9 as ShapeLineCap, aa as ShapeLineEnding, ab as ShapeLineJoin, ac as ShapeObject, ad as TextObject, ae as ZoneDef, af as accessibilityMeta, ag as accessibilityRingColor, ah as layerOf, ai as seatCommercialMeta } from './types-
|
|
1
|
+
import { R as RowObject, A as AccessibilityType, S as SeatOverride, L as LabelStyle, a as RectTableSide, C as ChartDoc, b as ChartObject, B as BoothObject, E as ExpandedSeat, T as TableObject, F as Floor, P as Point, c as SectionObject, d as RectTableSeatCounts, G as GAAreaObject, e as GAInventorySegment, f as RendererQualityEvidence, g as RenderedFreeTextEvidence, I as ISeatmapRenderer, h as RendererOptions, i as SeatStatus, j as RendererViewMode, k as LodRung, l as CategoryTier, m as SeatCommercialAttributes, n as RendererCallbacks } from './types-DBnRO2hX.cjs';
|
|
2
|
+
export { o as ACCESSIBILITY_RING_COLOR, p as ACCESSIBILITY_TYPES, q as AccessibilityMeta, r as CHART_STORAGE_KEY, s as Category, t as ChartReferenceImage, u as ChartTheme, v as CubicPath, D as DecorImageObject, w as LABEL_STYLE_MAX_SIZE, x as LABEL_STYLE_MIN_SIZE, y as LabelPresentation, z as ReferenceAccessibilitySource, H as ReferenceCalibration, J as ReferenceCategorySource, K as ReferenceDerivedScale, M as ReferenceInventoryExclusionSource, N as ReferenceInventorySource, O as ReferenceScanProposal, Q as ReferenceScanRowProposal, U as ReferenceScanSectionProposal, V as ReferenceSeatSeed, W as ReferenceSectionTraceBatchInput, X as ReferenceSectionTraceBatchProposal, Y as ReferenceSectionTraceInput, Z as ReferenceSectionTraceProposal, _ as RenderedBookableLabelEvidence, $ as RenderedGAAreaEvidence, a0 as RenderedHierarchyLabelEvidence, a1 as RenderedLabelHiddenReason, a2 as SEAT_COMMERCIAL_MARKS, a3 as SURROUNDINGS_SHAPE_ROLES, a4 as SeatCommercialMark, a5 as SeatCommercialMeta, a6 as SectionOutlinePath, a7 as SectionPathSegment, a8 as SelectionLayer, a9 as ShapeLineCap, aa as ShapeLineEnding, ab as ShapeLineJoin, ac as ShapeObject, ad as TextObject, ae as ZoneDef, af as accessibilityMeta, ag as accessibilityRingColor, ah as layerOf, ai as seatCommercialMeta } from './types-DBnRO2hX.cjs';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* The segmented-row model — one logical row made of several physical rows.
|
|
6
|
+
*
|
|
7
|
+
* A segmented row is drawn as a chain of nodes and stored as N physical
|
|
8
|
+
* `RowObject`s tied together by `segmentedRow` metadata. Two questions have to
|
|
9
|
+
* be answered consistently or the feature lies to somebody:
|
|
10
|
+
*
|
|
11
|
+
* 1. **At draft time** — given the author's nodes, exactly which components,
|
|
12
|
+
* seat counts and pitches will be committed? (`segmentedRowComponents`)
|
|
13
|
+
* 2. **At read time** — given stored physical rows, what is the logical row they
|
|
14
|
+
* form, and where does each component sit inside its numbering?
|
|
15
|
+
* (`resolveSegmentedRowGroups`)
|
|
16
|
+
*
|
|
17
|
+
* These lived apart — (1) in `rowDraft.ts` next to the ghost preview, (2) in
|
|
18
|
+
* `layout.ts` next to buyer expansion — which is precisely how the canvas came
|
|
19
|
+
* to number a segmented row `1-7` / `1-6` while buyers correctly saw
|
|
20
|
+
* `A-1…A-13`. They are two halves of one rule, so they live in one module.
|
|
21
|
+
*
|
|
22
|
+
* The standing rule this module exists to enforce: **the ghost preview and the
|
|
23
|
+
* commit share one resolver.** A preview that can lie is a bug.
|
|
24
|
+
*/
|
|
25
|
+
|
|
26
|
+
/** Resolved logical placement of one physical component inside a segmented row. */
|
|
27
|
+
interface SegmentedRowPlacement {
|
|
28
|
+
groupId: string;
|
|
29
|
+
/** Buyer adjacency index base (a declared aisle break costs one index). */
|
|
30
|
+
adjacencyOffset: number;
|
|
31
|
+
/** Continuous seat-numbering base across the whole logical row. */
|
|
32
|
+
displayOffset: number;
|
|
33
|
+
displayLabel: string;
|
|
34
|
+
totalSeats: number;
|
|
35
|
+
canonical: RowObject;
|
|
36
|
+
viewFromSeatUrl?: string;
|
|
37
|
+
}
|
|
3
38
|
|
|
4
39
|
/**
|
|
5
40
|
* Pure geometry helpers — no Konva, no DOM. Turns the parametric chart
|
|
@@ -54,12 +89,13 @@ interface TableSeatSlot extends RowSeatSlot {
|
|
|
54
89
|
side?: RectTableSide;
|
|
55
90
|
}
|
|
56
91
|
/**
|
|
57
|
-
*
|
|
58
|
-
*
|
|
59
|
-
*
|
|
92
|
+
* Seat slots for one physical row.
|
|
93
|
+
*
|
|
94
|
+
* `placement` makes the slots read as part of a logical segmented row: labels
|
|
95
|
+
* continue across components (`A-8`, not a second `A-1`) using the logical row's
|
|
96
|
+
* numbering scheme and total seat count.
|
|
60
97
|
*/
|
|
61
|
-
declare function
|
|
62
|
-
declare function expandRowSlots(row: RowObject): RowSeatSlot[];
|
|
98
|
+
declare function expandRowSlots(row: RowObject, placement?: SegmentedRowPlacement): RowSeatSlot[];
|
|
63
99
|
declare function expandRow(row: RowObject): ExpandedSeat[];
|
|
64
100
|
/**
|
|
65
101
|
* Expand a table into its perimeter seats.
|
|
@@ -408,6 +444,7 @@ declare function inspectRenderedQualityEvidence(evidence: RendererQualityEvidenc
|
|
|
408
444
|
declare class SeatmapRenderer implements ISeatmapRenderer {
|
|
409
445
|
private container;
|
|
410
446
|
private opts;
|
|
447
|
+
private readonly exportMode;
|
|
411
448
|
private stage;
|
|
412
449
|
private bgLayer;
|
|
413
450
|
private seatLayer;
|
|
@@ -566,6 +603,11 @@ declare class SeatmapRenderer implements ISeatmapRenderer {
|
|
|
566
603
|
private bounds;
|
|
567
604
|
private cached;
|
|
568
605
|
private dpr;
|
|
606
|
+
/** Current chart's buyer-visible image work. Failures are retained until ready(). */
|
|
607
|
+
private assetGeneration;
|
|
608
|
+
private assetPromises;
|
|
609
|
+
private assetErrors;
|
|
610
|
+
private assetCancels;
|
|
569
611
|
private rafId;
|
|
570
612
|
private frames;
|
|
571
613
|
private lastFpsAt;
|
|
@@ -915,6 +957,14 @@ declare class SeatmapRenderer implements ISeatmapRenderer {
|
|
|
915
957
|
/** Legend hover: highlight one category (dim the rest), or null to clear. */
|
|
916
958
|
setCategoryHighlight(key: string | null): void;
|
|
917
959
|
private renderBackground;
|
|
960
|
+
/**
|
|
961
|
+
* Track an image through decode without ever leaving a rejected promise
|
|
962
|
+
* unobserved. Ordinary picker rendering remains best-effort; export ready()
|
|
963
|
+
* turns the retained failures into one actionable error.
|
|
964
|
+
*/
|
|
965
|
+
private trackAssetImage;
|
|
966
|
+
/** Cancel and release every image retained by the previous chart/export. */
|
|
967
|
+
private cancelAssetLoads;
|
|
918
968
|
/** Organizer floor-plan photo, dimmed, at the very bottom of the bg layer. */
|
|
919
969
|
private renderBackgroundImage;
|
|
920
970
|
/**
|
|
@@ -1138,6 +1188,21 @@ declare class SeatmapRenderer implements ISeatmapRenderer {
|
|
|
1138
1188
|
* byte-identical.
|
|
1139
1189
|
*/
|
|
1140
1190
|
forceDraw(): void;
|
|
1191
|
+
/**
|
|
1192
|
+
* Resolve every buyer-visible image requested by the current chart. Export
|
|
1193
|
+
* callers get a hard error with the affected layer name; the interactive
|
|
1194
|
+
* renderer never calls this and retains its existing best-effort behaviour.
|
|
1195
|
+
*/
|
|
1196
|
+
ready(): Promise<void>;
|
|
1197
|
+
/** Exact visible scene bounds in chart coordinates after fonts/assets exist. */
|
|
1198
|
+
private exportSceneBounds;
|
|
1199
|
+
/** Fit exact rendered nodes, including rotated text/decor, with pixel padding. */
|
|
1200
|
+
private fitExportContent;
|
|
1201
|
+
/**
|
|
1202
|
+
* Capture a clean, opaque fixed-size canvas. The CSS host background is
|
|
1203
|
+
* painted explicitly because Konva layers themselves are transparent.
|
|
1204
|
+
*/
|
|
1205
|
+
captureCanvas(): HTMLCanvasElement;
|
|
1141
1206
|
private updateFreeTextVisibility;
|
|
1142
1207
|
/** OV-45(a): resolve authored row-letter labels for the buyer/preview map, in
|
|
1143
1208
|
* world space, matching the Designer's placement contract (start/end/both/none
|
|
@@ -1145,6 +1210,16 @@ declare class SeatmapRenderer implements ISeatmapRenderer {
|
|
|
1145
1210
|
* labelStyle colour/size fed through the same auto-contrast guard). Segmented
|
|
1146
1211
|
* rows keep their own logical-label handling and are resolved by their owner. */
|
|
1147
1212
|
private buildRowLabelPlan;
|
|
1213
|
+
/** Axis-aligned world bounds of a centred, potentially rotated row label. */
|
|
1214
|
+
private rowLabelBox;
|
|
1215
|
+
/**
|
|
1216
|
+
* Keep an automatic start/end label out of seat markers and already-painted
|
|
1217
|
+
* text. The authored point is never altered. Candidates are deliberately
|
|
1218
|
+
* bounded and deterministic: the closest clear offset wins; if a chart is so
|
|
1219
|
+
* dense that none is clear, the least-colliding candidate wins so the required
|
|
1220
|
+
* row label remains present rather than being silently dropped.
|
|
1221
|
+
*/
|
|
1222
|
+
private resolveAutomaticRowLabelPosition;
|
|
1148
1223
|
/** Row labels never carry status; the buyer just dims them under the same
|
|
1149
1224
|
* category/price filters that dim their seats. */
|
|
1150
1225
|
private objectFilteredOut;
|
|
@@ -1334,6 +1409,10 @@ interface PickerTransport {
|
|
|
1334
1409
|
extends?: number;
|
|
1335
1410
|
}>;
|
|
1336
1411
|
socketUrl(key: string): string;
|
|
1412
|
+
/** Optional — WebSocket subprotocols for the live feed (e.g. a one-use
|
|
1413
|
+
* subscribe ticket via `Sec-WebSocket-Protocol`, realtime-protocol v1).
|
|
1414
|
+
* Absent or empty means today's plain connection. */
|
|
1415
|
+
socketProtocols?(key: string): string[];
|
|
1337
1416
|
}
|
|
1338
1417
|
interface PickerCallbacks extends RendererCallbacks {
|
|
1339
1418
|
/** Selection changed (manual clicks or a server best-available pick). */
|
|
@@ -1859,4 +1938,4 @@ declare function formatMoney(amount: number, currency?: string, fractionDigits?:
|
|
|
1859
1938
|
/** Bare symbol for input adornments ("€", "$", "₹"). */
|
|
1860
1939
|
declare function currencySymbol(currency?: string): string;
|
|
1861
1940
|
|
|
1862
|
-
export { AccessibilityType, type AvailabilityRule, BoothObject, CategoryTier, ChartDoc, ChartObject, DEFAULT_CURRENCY, type Dict, type ExpandChartOptions, ExpandedSeat, Floor, GAAreaObject, GAInventorySegment, type HoldConflict, type HoldInfo, type HoldSelectionRequest, type HoldServerItem, ISeatmapRenderer, LabelStyle, type Locale, LodRung, MAX_EVENT_INVENTORY, MAX_GA_CAPACITY, type PanoramaResult, type PickerCallbacks, PickerController, type PickerGAArea, type PickerOptions, type PickerSeat, type PickerTransport, Point, RENDERED_QUALITY_REPORT_VERSION, RectTableSeatCounts, RectTableSide, type RenderedEvidenceState, RenderedFreeTextEvidence, type RenderedQualityFinding, type RenderedQualityFindingCode, type RenderedQualityReport, type RenderedQualitySample, RendererCallbacks, RendererOptions, RendererQualityEvidence, RendererViewMode, RowObject, type RowSeatSlot, SUPPORTED_LOCALES, SeatCommercialAttributes, type SeatHoverDetails, SeatOverride, SeatStatus, SeatmapRenderer, type SectionCategory, type SectionNode, SectionObject, type SectionSummary, TIER_HEIGHT_M, TableObject, type TableSeatSlot, type TableSelectionDetails, UNGROUPED_ID, allObjects, applyHidden, chartBounds, computeSections, createRenderer, currencySymbol, expandBooth, expandChart, expandRow, expandRowSlots, expandTable, expandTableSlots, floorObjects, floorsOf, formatDate, formatMoney, gaAreasOf, gaInventorySegments, gaUnitLabel, gaUnitLabels, generateSeatPanorama, generateSeatThumb, getLocale, growJoinedGAInventory, hiddenObjectIds, inspectRenderedQualityEvidence, isGaUnitLabel, isSectionHidden, loadLocale, objectCenter, owningSectionForObject, pointInPolygon, pointInPolygonWithHoles, polygonLabelPoint, resolveLocale, rowInventoryCount, rowSeatPositions,
|
|
1941
|
+
export { AccessibilityType, type AvailabilityRule, BoothObject, CategoryTier, ChartDoc, ChartObject, DEFAULT_CURRENCY, type Dict, type ExpandChartOptions, ExpandedSeat, Floor, GAAreaObject, GAInventorySegment, type HoldConflict, type HoldInfo, type HoldSelectionRequest, type HoldServerItem, ISeatmapRenderer, LabelStyle, type Locale, LodRung, MAX_EVENT_INVENTORY, MAX_GA_CAPACITY, type PanoramaResult, type PickerCallbacks, PickerController, type PickerGAArea, type PickerOptions, type PickerSeat, type PickerTransport, Point, RENDERED_QUALITY_REPORT_VERSION, RectTableSeatCounts, RectTableSide, type RenderedEvidenceState, RenderedFreeTextEvidence, type RenderedQualityFinding, type RenderedQualityFindingCode, type RenderedQualityReport, type RenderedQualitySample, RendererCallbacks, RendererOptions, RendererQualityEvidence, RendererViewMode, RowObject, type RowSeatSlot, SUPPORTED_LOCALES, SeatCommercialAttributes, type SeatHoverDetails, SeatOverride, SeatStatus, SeatmapRenderer, type SectionCategory, type SectionNode, SectionObject, type SectionSummary, TIER_HEIGHT_M, TableObject, type TableSeatSlot, type TableSelectionDetails, UNGROUPED_ID, allObjects, applyHidden, chartBounds, computeSections, createRenderer, currencySymbol, expandBooth, expandChart, expandRow, expandRowSlots, expandTable, expandTableSlots, floorObjects, floorsOf, formatDate, formatMoney, gaAreasOf, gaInventorySegments, gaUnitLabel, gaUnitLabels, generateSeatPanorama, generateSeatThumb, getLocale, growJoinedGAInventory, hiddenObjectIds, inspectRenderedQualityEvidence, isGaUnitLabel, isSectionHidden, loadLocale, objectCenter, owningSectionForObject, pointInPolygon, pointInPolygonWithHoles, polygonLabelPoint, resolveLocale, rowInventoryCount, rowSeatPositions, sectionGeometry, setLocale, setMoneyLocale, setStringOverrides, stackFloors, t, tCount, tableInventoryCount, tableSeatCountsBySide, validGAInventorySegments };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,40 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export { o as ACCESSIBILITY_RING_COLOR, p as ACCESSIBILITY_TYPES, q as AccessibilityMeta, r as CHART_STORAGE_KEY, s as Category, t as ChartReferenceImage, u as ChartTheme, v as CubicPath, D as DecorImageObject, w as LABEL_STYLE_MAX_SIZE, x as LABEL_STYLE_MIN_SIZE, y as LabelPresentation, z as ReferenceAccessibilitySource, H as ReferenceCalibration, J as ReferenceCategorySource, K as ReferenceDerivedScale, M as ReferenceInventoryExclusionSource, N as ReferenceInventorySource, O as ReferenceScanProposal, Q as ReferenceScanRowProposal, U as ReferenceScanSectionProposal, V as ReferenceSeatSeed, W as ReferenceSectionTraceBatchInput, X as ReferenceSectionTraceBatchProposal, Y as ReferenceSectionTraceInput, Z as ReferenceSectionTraceProposal, _ as RenderedBookableLabelEvidence, $ as RenderedGAAreaEvidence, a0 as RenderedHierarchyLabelEvidence, a1 as RenderedLabelHiddenReason, a2 as SEAT_COMMERCIAL_MARKS, a3 as SURROUNDINGS_SHAPE_ROLES, a4 as SeatCommercialMark, a5 as SeatCommercialMeta, a6 as SectionOutlinePath, a7 as SectionPathSegment, a8 as SelectionLayer, a9 as ShapeLineCap, aa as ShapeLineEnding, ab as ShapeLineJoin, ac as ShapeObject, ad as TextObject, ae as ZoneDef, af as accessibilityMeta, ag as accessibilityRingColor, ah as layerOf, ai as seatCommercialMeta } from './types-
|
|
1
|
+
import { R as RowObject, A as AccessibilityType, S as SeatOverride, L as LabelStyle, a as RectTableSide, C as ChartDoc, b as ChartObject, B as BoothObject, E as ExpandedSeat, T as TableObject, F as Floor, P as Point, c as SectionObject, d as RectTableSeatCounts, G as GAAreaObject, e as GAInventorySegment, f as RendererQualityEvidence, g as RenderedFreeTextEvidence, I as ISeatmapRenderer, h as RendererOptions, i as SeatStatus, j as RendererViewMode, k as LodRung, l as CategoryTier, m as SeatCommercialAttributes, n as RendererCallbacks } from './types-DBnRO2hX.js';
|
|
2
|
+
export { o as ACCESSIBILITY_RING_COLOR, p as ACCESSIBILITY_TYPES, q as AccessibilityMeta, r as CHART_STORAGE_KEY, s as Category, t as ChartReferenceImage, u as ChartTheme, v as CubicPath, D as DecorImageObject, w as LABEL_STYLE_MAX_SIZE, x as LABEL_STYLE_MIN_SIZE, y as LabelPresentation, z as ReferenceAccessibilitySource, H as ReferenceCalibration, J as ReferenceCategorySource, K as ReferenceDerivedScale, M as ReferenceInventoryExclusionSource, N as ReferenceInventorySource, O as ReferenceScanProposal, Q as ReferenceScanRowProposal, U as ReferenceScanSectionProposal, V as ReferenceSeatSeed, W as ReferenceSectionTraceBatchInput, X as ReferenceSectionTraceBatchProposal, Y as ReferenceSectionTraceInput, Z as ReferenceSectionTraceProposal, _ as RenderedBookableLabelEvidence, $ as RenderedGAAreaEvidence, a0 as RenderedHierarchyLabelEvidence, a1 as RenderedLabelHiddenReason, a2 as SEAT_COMMERCIAL_MARKS, a3 as SURROUNDINGS_SHAPE_ROLES, a4 as SeatCommercialMark, a5 as SeatCommercialMeta, a6 as SectionOutlinePath, a7 as SectionPathSegment, a8 as SelectionLayer, a9 as ShapeLineCap, aa as ShapeLineEnding, ab as ShapeLineJoin, ac as ShapeObject, ad as TextObject, ae as ZoneDef, af as accessibilityMeta, ag as accessibilityRingColor, ah as layerOf, ai as seatCommercialMeta } from './types-DBnRO2hX.js';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* The segmented-row model — one logical row made of several physical rows.
|
|
6
|
+
*
|
|
7
|
+
* A segmented row is drawn as a chain of nodes and stored as N physical
|
|
8
|
+
* `RowObject`s tied together by `segmentedRow` metadata. Two questions have to
|
|
9
|
+
* be answered consistently or the feature lies to somebody:
|
|
10
|
+
*
|
|
11
|
+
* 1. **At draft time** — given the author's nodes, exactly which components,
|
|
12
|
+
* seat counts and pitches will be committed? (`segmentedRowComponents`)
|
|
13
|
+
* 2. **At read time** — given stored physical rows, what is the logical row they
|
|
14
|
+
* form, and where does each component sit inside its numbering?
|
|
15
|
+
* (`resolveSegmentedRowGroups`)
|
|
16
|
+
*
|
|
17
|
+
* These lived apart — (1) in `rowDraft.ts` next to the ghost preview, (2) in
|
|
18
|
+
* `layout.ts` next to buyer expansion — which is precisely how the canvas came
|
|
19
|
+
* to number a segmented row `1-7` / `1-6` while buyers correctly saw
|
|
20
|
+
* `A-1…A-13`. They are two halves of one rule, so they live in one module.
|
|
21
|
+
*
|
|
22
|
+
* The standing rule this module exists to enforce: **the ghost preview and the
|
|
23
|
+
* commit share one resolver.** A preview that can lie is a bug.
|
|
24
|
+
*/
|
|
25
|
+
|
|
26
|
+
/** Resolved logical placement of one physical component inside a segmented row. */
|
|
27
|
+
interface SegmentedRowPlacement {
|
|
28
|
+
groupId: string;
|
|
29
|
+
/** Buyer adjacency index base (a declared aisle break costs one index). */
|
|
30
|
+
adjacencyOffset: number;
|
|
31
|
+
/** Continuous seat-numbering base across the whole logical row. */
|
|
32
|
+
displayOffset: number;
|
|
33
|
+
displayLabel: string;
|
|
34
|
+
totalSeats: number;
|
|
35
|
+
canonical: RowObject;
|
|
36
|
+
viewFromSeatUrl?: string;
|
|
37
|
+
}
|
|
3
38
|
|
|
4
39
|
/**
|
|
5
40
|
* Pure geometry helpers — no Konva, no DOM. Turns the parametric chart
|
|
@@ -54,12 +89,13 @@ interface TableSeatSlot extends RowSeatSlot {
|
|
|
54
89
|
side?: RectTableSide;
|
|
55
90
|
}
|
|
56
91
|
/**
|
|
57
|
-
*
|
|
58
|
-
*
|
|
59
|
-
*
|
|
92
|
+
* Seat slots for one physical row.
|
|
93
|
+
*
|
|
94
|
+
* `placement` makes the slots read as part of a logical segmented row: labels
|
|
95
|
+
* continue across components (`A-8`, not a second `A-1`) using the logical row's
|
|
96
|
+
* numbering scheme and total seat count.
|
|
60
97
|
*/
|
|
61
|
-
declare function
|
|
62
|
-
declare function expandRowSlots(row: RowObject): RowSeatSlot[];
|
|
98
|
+
declare function expandRowSlots(row: RowObject, placement?: SegmentedRowPlacement): RowSeatSlot[];
|
|
63
99
|
declare function expandRow(row: RowObject): ExpandedSeat[];
|
|
64
100
|
/**
|
|
65
101
|
* Expand a table into its perimeter seats.
|
|
@@ -408,6 +444,7 @@ declare function inspectRenderedQualityEvidence(evidence: RendererQualityEvidenc
|
|
|
408
444
|
declare class SeatmapRenderer implements ISeatmapRenderer {
|
|
409
445
|
private container;
|
|
410
446
|
private opts;
|
|
447
|
+
private readonly exportMode;
|
|
411
448
|
private stage;
|
|
412
449
|
private bgLayer;
|
|
413
450
|
private seatLayer;
|
|
@@ -566,6 +603,11 @@ declare class SeatmapRenderer implements ISeatmapRenderer {
|
|
|
566
603
|
private bounds;
|
|
567
604
|
private cached;
|
|
568
605
|
private dpr;
|
|
606
|
+
/** Current chart's buyer-visible image work. Failures are retained until ready(). */
|
|
607
|
+
private assetGeneration;
|
|
608
|
+
private assetPromises;
|
|
609
|
+
private assetErrors;
|
|
610
|
+
private assetCancels;
|
|
569
611
|
private rafId;
|
|
570
612
|
private frames;
|
|
571
613
|
private lastFpsAt;
|
|
@@ -915,6 +957,14 @@ declare class SeatmapRenderer implements ISeatmapRenderer {
|
|
|
915
957
|
/** Legend hover: highlight one category (dim the rest), or null to clear. */
|
|
916
958
|
setCategoryHighlight(key: string | null): void;
|
|
917
959
|
private renderBackground;
|
|
960
|
+
/**
|
|
961
|
+
* Track an image through decode without ever leaving a rejected promise
|
|
962
|
+
* unobserved. Ordinary picker rendering remains best-effort; export ready()
|
|
963
|
+
* turns the retained failures into one actionable error.
|
|
964
|
+
*/
|
|
965
|
+
private trackAssetImage;
|
|
966
|
+
/** Cancel and release every image retained by the previous chart/export. */
|
|
967
|
+
private cancelAssetLoads;
|
|
918
968
|
/** Organizer floor-plan photo, dimmed, at the very bottom of the bg layer. */
|
|
919
969
|
private renderBackgroundImage;
|
|
920
970
|
/**
|
|
@@ -1138,6 +1188,21 @@ declare class SeatmapRenderer implements ISeatmapRenderer {
|
|
|
1138
1188
|
* byte-identical.
|
|
1139
1189
|
*/
|
|
1140
1190
|
forceDraw(): void;
|
|
1191
|
+
/**
|
|
1192
|
+
* Resolve every buyer-visible image requested by the current chart. Export
|
|
1193
|
+
* callers get a hard error with the affected layer name; the interactive
|
|
1194
|
+
* renderer never calls this and retains its existing best-effort behaviour.
|
|
1195
|
+
*/
|
|
1196
|
+
ready(): Promise<void>;
|
|
1197
|
+
/** Exact visible scene bounds in chart coordinates after fonts/assets exist. */
|
|
1198
|
+
private exportSceneBounds;
|
|
1199
|
+
/** Fit exact rendered nodes, including rotated text/decor, with pixel padding. */
|
|
1200
|
+
private fitExportContent;
|
|
1201
|
+
/**
|
|
1202
|
+
* Capture a clean, opaque fixed-size canvas. The CSS host background is
|
|
1203
|
+
* painted explicitly because Konva layers themselves are transparent.
|
|
1204
|
+
*/
|
|
1205
|
+
captureCanvas(): HTMLCanvasElement;
|
|
1141
1206
|
private updateFreeTextVisibility;
|
|
1142
1207
|
/** OV-45(a): resolve authored row-letter labels for the buyer/preview map, in
|
|
1143
1208
|
* world space, matching the Designer's placement contract (start/end/both/none
|
|
@@ -1145,6 +1210,16 @@ declare class SeatmapRenderer implements ISeatmapRenderer {
|
|
|
1145
1210
|
* labelStyle colour/size fed through the same auto-contrast guard). Segmented
|
|
1146
1211
|
* rows keep their own logical-label handling and are resolved by their owner. */
|
|
1147
1212
|
private buildRowLabelPlan;
|
|
1213
|
+
/** Axis-aligned world bounds of a centred, potentially rotated row label. */
|
|
1214
|
+
private rowLabelBox;
|
|
1215
|
+
/**
|
|
1216
|
+
* Keep an automatic start/end label out of seat markers and already-painted
|
|
1217
|
+
* text. The authored point is never altered. Candidates are deliberately
|
|
1218
|
+
* bounded and deterministic: the closest clear offset wins; if a chart is so
|
|
1219
|
+
* dense that none is clear, the least-colliding candidate wins so the required
|
|
1220
|
+
* row label remains present rather than being silently dropped.
|
|
1221
|
+
*/
|
|
1222
|
+
private resolveAutomaticRowLabelPosition;
|
|
1148
1223
|
/** Row labels never carry status; the buyer just dims them under the same
|
|
1149
1224
|
* category/price filters that dim their seats. */
|
|
1150
1225
|
private objectFilteredOut;
|
|
@@ -1334,6 +1409,10 @@ interface PickerTransport {
|
|
|
1334
1409
|
extends?: number;
|
|
1335
1410
|
}>;
|
|
1336
1411
|
socketUrl(key: string): string;
|
|
1412
|
+
/** Optional — WebSocket subprotocols for the live feed (e.g. a one-use
|
|
1413
|
+
* subscribe ticket via `Sec-WebSocket-Protocol`, realtime-protocol v1).
|
|
1414
|
+
* Absent or empty means today's plain connection. */
|
|
1415
|
+
socketProtocols?(key: string): string[];
|
|
1337
1416
|
}
|
|
1338
1417
|
interface PickerCallbacks extends RendererCallbacks {
|
|
1339
1418
|
/** Selection changed (manual clicks or a server best-available pick). */
|
|
@@ -1859,4 +1938,4 @@ declare function formatMoney(amount: number, currency?: string, fractionDigits?:
|
|
|
1859
1938
|
/** Bare symbol for input adornments ("€", "$", "₹"). */
|
|
1860
1939
|
declare function currencySymbol(currency?: string): string;
|
|
1861
1940
|
|
|
1862
|
-
export { AccessibilityType, type AvailabilityRule, BoothObject, CategoryTier, ChartDoc, ChartObject, DEFAULT_CURRENCY, type Dict, type ExpandChartOptions, ExpandedSeat, Floor, GAAreaObject, GAInventorySegment, type HoldConflict, type HoldInfo, type HoldSelectionRequest, type HoldServerItem, ISeatmapRenderer, LabelStyle, type Locale, LodRung, MAX_EVENT_INVENTORY, MAX_GA_CAPACITY, type PanoramaResult, type PickerCallbacks, PickerController, type PickerGAArea, type PickerOptions, type PickerSeat, type PickerTransport, Point, RENDERED_QUALITY_REPORT_VERSION, RectTableSeatCounts, RectTableSide, type RenderedEvidenceState, RenderedFreeTextEvidence, type RenderedQualityFinding, type RenderedQualityFindingCode, type RenderedQualityReport, type RenderedQualitySample, RendererCallbacks, RendererOptions, RendererQualityEvidence, RendererViewMode, RowObject, type RowSeatSlot, SUPPORTED_LOCALES, SeatCommercialAttributes, type SeatHoverDetails, SeatOverride, SeatStatus, SeatmapRenderer, type SectionCategory, type SectionNode, SectionObject, type SectionSummary, TIER_HEIGHT_M, TableObject, type TableSeatSlot, type TableSelectionDetails, UNGROUPED_ID, allObjects, applyHidden, chartBounds, computeSections, createRenderer, currencySymbol, expandBooth, expandChart, expandRow, expandRowSlots, expandTable, expandTableSlots, floorObjects, floorsOf, formatDate, formatMoney, gaAreasOf, gaInventorySegments, gaUnitLabel, gaUnitLabels, generateSeatPanorama, generateSeatThumb, getLocale, growJoinedGAInventory, hiddenObjectIds, inspectRenderedQualityEvidence, isGaUnitLabel, isSectionHidden, loadLocale, objectCenter, owningSectionForObject, pointInPolygon, pointInPolygonWithHoles, polygonLabelPoint, resolveLocale, rowInventoryCount, rowSeatPositions,
|
|
1941
|
+
export { AccessibilityType, type AvailabilityRule, BoothObject, CategoryTier, ChartDoc, ChartObject, DEFAULT_CURRENCY, type Dict, type ExpandChartOptions, ExpandedSeat, Floor, GAAreaObject, GAInventorySegment, type HoldConflict, type HoldInfo, type HoldSelectionRequest, type HoldServerItem, ISeatmapRenderer, LabelStyle, type Locale, LodRung, MAX_EVENT_INVENTORY, MAX_GA_CAPACITY, type PanoramaResult, type PickerCallbacks, PickerController, type PickerGAArea, type PickerOptions, type PickerSeat, type PickerTransport, Point, RENDERED_QUALITY_REPORT_VERSION, RectTableSeatCounts, RectTableSide, type RenderedEvidenceState, RenderedFreeTextEvidence, type RenderedQualityFinding, type RenderedQualityFindingCode, type RenderedQualityReport, type RenderedQualitySample, RendererCallbacks, RendererOptions, RendererQualityEvidence, RendererViewMode, RowObject, type RowSeatSlot, SUPPORTED_LOCALES, SeatCommercialAttributes, type SeatHoverDetails, SeatOverride, SeatStatus, SeatmapRenderer, type SectionCategory, type SectionNode, SectionObject, type SectionSummary, TIER_HEIGHT_M, TableObject, type TableSeatSlot, type TableSelectionDetails, UNGROUPED_ID, allObjects, applyHidden, chartBounds, computeSections, createRenderer, currencySymbol, expandBooth, expandChart, expandRow, expandRowSlots, expandTable, expandTableSlots, floorObjects, floorsOf, formatDate, formatMoney, gaAreasOf, gaInventorySegments, gaUnitLabel, gaUnitLabels, generateSeatPanorama, generateSeatThumb, getLocale, growJoinedGAInventory, hiddenObjectIds, inspectRenderedQualityEvidence, isGaUnitLabel, isSectionHidden, loadLocale, objectCenter, owningSectionForObject, pointInPolygon, pointInPolygonWithHoles, polygonLabelPoint, resolveLocale, rowInventoryCount, rowSeatPositions, sectionGeometry, setLocale, setMoneyLocale, setStringOverrides, stackFloors, t, tCount, tableInventoryCount, tableSeatCountsBySide, validGAInventorySegments };
|