@seatlayer/core 0.85.2 → 0.86.1
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-HEYENCES.js → chunk-D5M3SNMM.js} +1 -1
- package/dist/chunk-GI7ZTQ7C.js +1 -0
- package/dist/chunk-W53J4FJS.js +1 -0
- package/dist/core/chart-ops/index.js +1 -1
- package/dist/core/inventory/index.cjs +1 -1
- package/dist/core/inventory/index.d.cts +2 -2
- package/dist/core/inventory/index.d.ts +2 -2
- package/dist/core/inventory/index.js +1 -1
- package/dist/core/layout/index.d.cts +2 -2
- package/dist/core/layout/index.d.ts +2 -2
- package/dist/core/quality/index.cjs +1 -1
- package/dist/core/quality/index.d.cts +11 -3
- package/dist/core/quality/index.d.ts +11 -3
- package/dist/core/quality/index.js +1 -1
- package/dist/core/sections/index.d.cts +1 -1
- package/dist/core/sections/index.d.ts +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +71 -7
- package/dist/index.d.ts +71 -7
- package/dist/index.js +1 -1
- package/dist/{renderedQuality-CkrbA7iV.d.ts → renderedQuality-Dy7LBzNF.d.ts} +1 -1
- package/dist/{renderedQuality-DL9Nfka1.d.cts → renderedQuality-yRjbcxVe.d.cts} +1 -1
- package/dist/{renderer-D9kIJYmd.d.cts → renderer-DbDQtwIH.d.cts} +2 -0
- package/dist/{renderer-DUko-vky.d.ts → renderer-xE1rZCGy.d.ts} +2 -0
- package/dist/{tableSizing-BGl1e6Bi.d.ts → tableSizing-B3SHwhya.d.ts} +1 -1
- package/dist/{tableSizing-CJbozzMS.d.cts → tableSizing-sUnI2XGD.d.cts} +1 -1
- package/dist/{ticketRestrictions-BD5hvqtL.d.ts → ticketRestrictions-7N9PC4Q6.d.ts} +1 -1
- package/dist/{ticketRestrictions-BEkiPPYg.d.cts → ticketRestrictions-Dtybkrpp.d.cts} +1 -1
- package/dist/view3d/index.cjs +21 -21
- package/dist/view3d/index.d.cts +1 -1
- package/dist/view3d/index.d.ts +1 -1
- package/dist/view3d/index.js +19 -19
- package/package.json +1 -1
- package/dist/chunk-APMDM2YC.js +0 -1
- package/dist/chunk-FQ2MMJMH.js +0 -1
package/dist/index.d.cts
CHANGED
|
@@ -2,14 +2,14 @@ import { A as AccessibilityType, b as SeatCommercialAttributes, C as ChartDoc, F
|
|
|
2
2
|
export { y as ACCESSIBILITY_RING_COLOR, z as ACCESSIBILITY_TYPES, D as AccessibilityMeta, E as AuthoringObjectState, B as BoothObject, q as Category, H as ChartLayoutConstraint, a as ChartObject, p as ChartReferenceImage, I as ChartTheme, J as ConfidenceEvidenceScope, v as CubicPath, K as DecorImageObject, n as Floor, G as GAAreaObject, j as GAInventorySegment, M as LABEL_STYLE_MAX_SIZE, N as LABEL_STYLE_MIN_SIZE, O as LabelPresentation, L as LabelStyle, Q as ObjectEditorState, U as Physical3dEvidence, V as RadialClearanceLayoutConstraint, o as RectTableSeatCounts, m as RectTableSide, W as ReferenceAccessibilitySource, X as ReferenceCalibration, Y as ReferenceCategorySource, Z as ReferenceDerivedScale, _ as ReferenceDirectAnnotationSource, $ as ReferenceDirectLandmarkCandidate, a0 as ReferenceDirectLandmarkDisposition, a1 as ReferenceDirectLandmarkRole, a2 as ReferenceDirectLandmarkSource, a3 as ReferenceDirectSeatGroup, a4 as ReferenceDirectSeatImportSource, a5 as ReferenceDirectSeatPlan, a6 as ReferenceDirectStageSource, a7 as ReferenceEnrichmentStatus, a8 as ReferenceExtractEmptyReason, a9 as ReferenceExtractEnrichment, aa as ReferenceExtractInput, ab as ReferenceExtractProposal, ac as ReferenceExtractRegionSeats, ad as ReferenceInventoryExclusionSource, ae as ReferenceInventorySource, af as ReferenceMatchReport, ag as ReferenceScanProposal, ah as ReferenceScanRowProposal, ai as ReferenceScanSectionProposal, aj as ReferenceSeatSeed, ak as ReferenceSectionTraceBatchInput, al as ReferenceSectionTraceBatchProposal, am as ReferenceSectionTraceInput, an as ReferenceSectionTraceProposal, d as ResolvedSeatConfidenceEvidence, R as RowObject, ao as SEAT_COMMERCIAL_MARKS, ap as STAGE_LABEL_STYLE_MAX_SIZE, aq as SURROUNDINGS_SHAPE_ROLES, S as SeatCommercialMark, ar as SeatCommercialMeta, as as SeatConfidenceCoverage, at as SeatConfidenceEvidence, au as SeatConfidenceModelLevel, av as SeatConfidenceModeledTarget, aw as SeatConfidenceRealityLevel, e as SeatGlyphKind, l as SeatOverride, f as SeatViewCoverage, c as SeatViewMetadata, ax as SeatViewVariant, i as SectionObject, g as SectionOutlinePath, h as SectionPathSegment, ay as SelectionLayer, r as ShapeLineCap, s as ShapeLineEnding, t as ShapeLineJoin, u as ShapeObject, az as StageLabelStyle, T as TableObject, aA as TextAlignment, aB as TextBackground, w as TextObject, aC as TicketTierApplicability, aD as TicketTierEvidence, aE as TicketTierRestriction, aF as Venue3DMaterialPalette, aG as VenueSurveyRegistrationEvidence, aH as ZoneDef, aI as accessibilityMeta, aJ as accessibilityRingColor, aK as layerOf, aL as seatCommercialMeta } from './types-B97dNRwl.cjs';
|
|
3
3
|
import { c as EventConfigurationRef, b as EventConfigurationVersion } from './eventConfigurations-C-LVnEGg.cjs';
|
|
4
4
|
export { d as EVENT_CONFIGURATION_EXPORT_SCHEMA, e as EVENT_CONFIGURATION_SCHEMA, f as EventConfigurationBaseVenue, g as EventConfigurationCompatibilityIssue, h as EventConfigurationCompatibilityIssueCode, i as EventConfigurationCompatibilityResult, j as EventConfigurationExportEnvelope, k as EventConfigurationLifecycleStatus, a as EventConfigurationOcclusion, l as EventConfigurationOverlay, m as EventConfigurationParseIssue, n as EventConfigurationParseIssueCode, o as EventConfigurationParseResult, p as EventConfigurationProductionElement, E as EventConfigurationProductionElementKind, q as EventConfigurationVenueSnapshot, r as EventConfigurationVersionParseResult, s as EventConfigurationVersionSummary, L as LegacyEventConfigurationMigrationResult, t as canTransitionEventConfiguration, u as canonicalEventConfigurationJson, v as inspectEventConfigurationCompatibility, w as migrateLegacyEventConfigurations, x as parseEventConfigurationExport, y as parseEventConfigurationVersion, z as resolveEventConfigurationRollback } from './eventConfigurations-C-LVnEGg.cjs';
|
|
5
|
-
export { A as AUTOMATIC_ROUND_TABLE_RADIUS_MAX, a as AUTOMATIC_ROUND_TABLE_RADIUS_MIN, C as ChartBoundsOptions, E as ExpandChartOptions, F as FLOOR_STACK_GAP_RATIO, b as FLOOR_STACK_MIN_SURFACE_PX, c as FloorStackOptions, d as FloorStackPlacement, R as RowSeatSlot, T as TABLE_SEAT_OFFSET, e as TableSeatSlot, f as allObjects, g as automaticRoundTableRadius, h as chartBounds, i as combinedFloorZoneId, j as expandBooth, k as expandChart, l as expandRow, m as expandRowSlots, n as expandTable, o as expandTableSlots, p as floorObjects, q as floorStackPlacements, r as floorsOf, s as initialFloorMode, t as layoutCombinedFloorPlan, u as layoutFloorStack, v as mainFloorId, w as objectCenter, x as owningSectionForObject, y as pointInPolygon, z as pointInPolygonWithHoles, B as polygonLabelPoint, D as rowInventoryCount, G as rowSeatPositions, H as stackFloors, I as tableInventoryCount, J as tableSeatCountsBySide, K as translateObject } from './tableSizing-
|
|
6
|
-
import { g as TicketSelectionIssue, b as GroupedTableInventoryUnit } from './ticketRestrictions-
|
|
7
|
-
export { M as MAX_EVENT_INVENTORY, d as MAX_GA_CAPACITY, l as gaAreasOf, m as gaInventorySegments, n as gaUnitLabel, o as gaUnitLabels, q as growJoinedGAInventory, s as isGaUnitLabel, x as validGAInventorySegments } from './ticketRestrictions-
|
|
5
|
+
export { A as AUTOMATIC_ROUND_TABLE_RADIUS_MAX, a as AUTOMATIC_ROUND_TABLE_RADIUS_MIN, C as ChartBoundsOptions, E as ExpandChartOptions, F as FLOOR_STACK_GAP_RATIO, b as FLOOR_STACK_MIN_SURFACE_PX, c as FloorStackOptions, d as FloorStackPlacement, R as RowSeatSlot, T as TABLE_SEAT_OFFSET, e as TableSeatSlot, f as allObjects, g as automaticRoundTableRadius, h as chartBounds, i as combinedFloorZoneId, j as expandBooth, k as expandChart, l as expandRow, m as expandRowSlots, n as expandTable, o as expandTableSlots, p as floorObjects, q as floorStackPlacements, r as floorsOf, s as initialFloorMode, t as layoutCombinedFloorPlan, u as layoutFloorStack, v as mainFloorId, w as objectCenter, x as owningSectionForObject, y as pointInPolygon, z as pointInPolygonWithHoles, B as polygonLabelPoint, D as rowInventoryCount, G as rowSeatPositions, H as stackFloors, I as tableInventoryCount, J as tableSeatCountsBySide, K as translateObject } from './tableSizing-sUnI2XGD.cjs';
|
|
6
|
+
import { g as TicketSelectionIssue, b as GroupedTableInventoryUnit } from './ticketRestrictions-Dtybkrpp.cjs';
|
|
7
|
+
export { M as MAX_EVENT_INVENTORY, d as MAX_GA_CAPACITY, l as gaAreasOf, m as gaInventorySegments, n as gaUnitLabel, o as gaUnitLabels, q as growJoinedGAInventory, s as isGaUnitLabel, x as validGAInventorySegments } from './ticketRestrictions-Dtybkrpp.cjs';
|
|
8
8
|
export { S as SEAT_TYPE_ICON_BODY, a as SEAT_TYPE_ICON_VIEWBOX, b as SeatTypeIconKey, c as SeatTypeIconOptions, s as seatTypeIconBody, d as seatTypeIconSvg } from './seatTypeIcons-Bv2xK0xp.cjs';
|
|
9
9
|
export { A as AvailabilityRule, S as SectionNode, T as TIER_HEIGHT_M, U as UNGROUPED_ID, a as applyHidden, c as computeSections, h as hiddenObjectIds, i as isSectionHidden, s as sectionGeometry } from './sections-B1DzCiqs.cjs';
|
|
10
|
-
export { M as MIN_POINTER_TARGET_PX, R as RENDERED_QUALITY_REPORT_VERSION, a as RenderedEvidenceState, b as RenderedQualityFinding, c as RenderedQualityFindingCode, d as RenderedQualityReport, e as RenderedQualitySample, i as inspectRenderedQualityEvidence } from './renderedQuality-
|
|
11
|
-
import { I as ISeatmapRenderer, b as RendererOptions, S as SeatStatus, c as SeatMark, E as ExpandedSeat, G as GAAreaState, d as RendererViewMode, e as RendererMinimapSnapshot, L as LodRung, R as RendererQualityEvidence, f as RendererCallbacks } from './renderer-
|
|
12
|
-
export { C as CHART_STORAGE_KEY, g as RenderedBookableLabelEvidence, a as RenderedFreeTextEvidence, h as RenderedGAAreaEvidence, i as RenderedHierarchyLabelEvidence, j as RenderedLabelHiddenReason, k as RenderedRowLabelEvidence, l as RendererHoverDetails, m as RendererMinimapSeat, n as RendererMinimapSection, o as SeatMarkKind } from './renderer-
|
|
10
|
+
export { M as MIN_POINTER_TARGET_PX, R as RENDERED_QUALITY_REPORT_VERSION, a as RenderedEvidenceState, b as RenderedQualityFinding, c as RenderedQualityFindingCode, d as RenderedQualityReport, e as RenderedQualitySample, i as inspectRenderedQualityEvidence } from './renderedQuality-yRjbcxVe.cjs';
|
|
11
|
+
import { I as ISeatmapRenderer, b as RendererOptions, S as SeatStatus, c as SeatMark, E as ExpandedSeat, G as GAAreaState, d as RendererViewMode, e as RendererMinimapSnapshot, L as LodRung, R as RendererQualityEvidence, f as RendererCallbacks } from './renderer-DbDQtwIH.cjs';
|
|
12
|
+
export { C as CHART_STORAGE_KEY, g as RenderedBookableLabelEvidence, a as RenderedFreeTextEvidence, h as RenderedGAAreaEvidence, i as RenderedHierarchyLabelEvidence, j as RenderedLabelHiddenReason, k as RenderedRowLabelEvidence, l as RendererHoverDetails, m as RendererMinimapSeat, n as RendererMinimapSection, o as SeatMarkKind } from './renderer-DbDQtwIH.cjs';
|
|
13
13
|
import './segmentedRowModel-uu0WfRIz.cjs';
|
|
14
14
|
|
|
15
15
|
/**
|
|
@@ -418,6 +418,8 @@ declare class SeatmapRenderer implements ISeatmapRenderer {
|
|
|
418
418
|
/** Stage pose the last overview fit landed on — see zoomToFit. */
|
|
419
419
|
private fitPose;
|
|
420
420
|
private viewportInsets;
|
|
421
|
+
/** Bottom chrome the fit keeps clear when it can — see camera.clearFitChrome. */
|
|
422
|
+
private fitClearanceBottom;
|
|
421
423
|
/** Effective seat radius (base × theme.seatScale), set per chart in setChart. */
|
|
422
424
|
private seatR;
|
|
423
425
|
/** The radius a marker is actually DRAWN at — the authored radius capped by
|
|
@@ -514,6 +516,13 @@ declare class SeatmapRenderer implements ISeatmapRenderer {
|
|
|
514
516
|
* be overwritten by its next frame.
|
|
515
517
|
*/
|
|
516
518
|
private activateBeacon;
|
|
519
|
+
/** Re-entrancy guard: sectionFrameScale measures labels through the same
|
|
520
|
+
* camera bounds that ask for this, so a nested read answers "no room". */
|
|
521
|
+
private readingFocusedFrame;
|
|
522
|
+
/** The focused section's frame scale for zoomBounds, or 0 without a focus. */
|
|
523
|
+
private focusedFrameScaleForBounds;
|
|
524
|
+
/** Dive to the buyer's own seats in this section; false when it holds none. */
|
|
525
|
+
private focusOwnedSeatsIn;
|
|
517
526
|
/** Rebuild the beacons for this camera, and hand their rings to the breath. */
|
|
518
527
|
private syncBeacons;
|
|
519
528
|
/** The buyer's own seats in a section, in chart order. */
|
|
@@ -705,6 +714,7 @@ declare class SeatmapRenderer implements ISeatmapRenderer {
|
|
|
705
714
|
} | null): void;
|
|
706
715
|
/** In force now; all zero when the host set none. */
|
|
707
716
|
getViewportInsets(): ViewportInsets;
|
|
717
|
+
setFitClearance(bottom: number): void;
|
|
708
718
|
private framingViewport;
|
|
709
719
|
/** Keep a buyer-driven camera move over the venue — see engine/panBounds. */
|
|
710
720
|
private constrainPan;
|
|
@@ -722,7 +732,7 @@ declare class SeatmapRenderer implements ISeatmapRenderer {
|
|
|
722
732
|
* The stage already represents the usable map area (the picker side panel is
|
|
723
733
|
* a sibling), so measuring it here naturally respects open/closed panels.
|
|
724
734
|
*/
|
|
725
|
-
refitCurrentView(): void;
|
|
735
|
+
refitCurrentView(keepBuyerCamera?: boolean): void;
|
|
726
736
|
/** Step factor for the on-screen +/− buttons (B1) — same clamp path as pinch/wheel. */
|
|
727
737
|
private static readonly ZOOM_STEP;
|
|
728
738
|
/** The camera as it stands, for a caller rebuilding the scene under a buyer
|
|
@@ -1214,6 +1224,26 @@ declare class SeatmapRenderer implements ISeatmapRenderer {
|
|
|
1214
1224
|
x: number;
|
|
1215
1225
|
y: number;
|
|
1216
1226
|
}): boolean;
|
|
1227
|
+
/**
|
|
1228
|
+
* May a press or a hover on this logical section DO anything?
|
|
1229
|
+
*
|
|
1230
|
+
* False for a block the buyer cannot buy into: one the operator closed for
|
|
1231
|
+
* this event, and one with no free seat left. Owner report 2026-09-07 — the
|
|
1232
|
+
* two closed strips beside the stage on the Ahoy Rotterdam chart (Fb, Fc)
|
|
1233
|
+
* opened a section card and dived the camera exactly like a sellable block,
|
|
1234
|
+
* so the buyer was taken somewhere there was nothing to take.
|
|
1235
|
+
*
|
|
1236
|
+
* The predicate is the minimap's `inactive` one (see getMinimapSnapshot), so
|
|
1237
|
+
* "inert" and "painted as unavailable" can never drift apart. Asked per
|
|
1238
|
+
* LOGICAL section, because that is what a tap resolves to and an arena
|
|
1239
|
+
* section drawn as several polygons is one place: interactive when ANY of
|
|
1240
|
+
* its components still has something.
|
|
1241
|
+
*
|
|
1242
|
+
* The buyer's OWN seats win over both: a block they hold every remaining
|
|
1243
|
+
* seat in reads as sold out, and it must still be possible to get back to
|
|
1244
|
+
* it. That is also the badge-tap path's destination.
|
|
1245
|
+
*/
|
|
1246
|
+
sectionInteractive(sectionId: string): boolean;
|
|
1217
1247
|
/** Seat ids belonging to a section (Slice 5 section-summary card). */
|
|
1218
1248
|
sectionMembers(id: string): string[];
|
|
1219
1249
|
private isSelectable;
|
|
@@ -1342,6 +1372,16 @@ declare class SeatmapRenderer implements ISeatmapRenderer {
|
|
|
1342
1372
|
private retargetRoamingFocus;
|
|
1343
1373
|
/** rAF-coalesced `onViewChange` — at most one host callback per animation frame. */
|
|
1344
1374
|
private scheduleViewChange;
|
|
1375
|
+
/**
|
|
1376
|
+
* Labels follow the finger, not the lift. The label pass used to run only in
|
|
1377
|
+
* afterViewChange, i.e. when the gesture ended: every seat number and row
|
|
1378
|
+
* letter panned into view stayed blank until the buyer let go, and a slow
|
|
1379
|
+
* drag across a block read as the map struggling (owner, 2026-09-07, phone).
|
|
1380
|
+
* A throttled pass during the move keeps the newly revealed labels coming;
|
|
1381
|
+
* the settle still runs the full pass.
|
|
1382
|
+
*/
|
|
1383
|
+
private movingLabelTimer;
|
|
1384
|
+
private refreshLabelsWhileMoving;
|
|
1345
1385
|
/** Keep focal labels centred while their world font size tracks camera scale. */
|
|
1346
1386
|
private sizeLabel;
|
|
1347
1387
|
private updateLOD;
|
|
@@ -2422,6 +2462,26 @@ declare class PickerController {
|
|
|
2422
2462
|
* a guest-count change silently re-based the countdown on the server default.
|
|
2423
2463
|
*/
|
|
2424
2464
|
replaceTableQuantity(label: string, quantity: number, ttlMs?: number): Promise<HoldInfo | null>;
|
|
2465
|
+
/** Narrow (phone) layout, as reported by the host widget; see setNarrowLayout. */
|
|
2466
|
+
private narrowLayout;
|
|
2467
|
+
/**
|
|
2468
|
+
* The host tells the controller which layout it is in. The row-band rung
|
|
2469
|
+
* (rows drawn as category-coloured lines before the seats appear) is a
|
|
2470
|
+
* desktop treatment (owner call, 2026-09-07): on a phone the lines did not
|
|
2471
|
+
* read as rows, and a section tap should land straight on solid seats.
|
|
2472
|
+
* Optional on older hosts — a widget that never calls this keeps bands on.
|
|
2473
|
+
*/
|
|
2474
|
+
setNarrowLayout(narrow: boolean): void;
|
|
2475
|
+
/**
|
|
2476
|
+
* Bands are wanted where the host asked, the chart allows, and the rung is
|
|
2477
|
+
* switched on at all. The layout gate exists (`ROW_BANDS_ON_NARROW`): the
|
|
2478
|
+
* owner first wanted the lines desktop-only, then, the same evening
|
|
2479
|
+
* (2026-09-07), on the phone as well — so a phone section tap lands on the
|
|
2480
|
+
* category lines like desktop. Flip the constant to make the rung
|
|
2481
|
+
* desktop-only again; the `sectionDetail` theme knob turns it off per chart.
|
|
2482
|
+
*/
|
|
2483
|
+
private rowBandsWanted;
|
|
2484
|
+
private applyRowBandPreview;
|
|
2425
2485
|
private rendererSelectionCap;
|
|
2426
2486
|
private selectionGuestCount;
|
|
2427
2487
|
private handleRendererSelect;
|
|
@@ -2532,6 +2592,10 @@ declare class PickerController {
|
|
|
2532
2592
|
bottom?: number;
|
|
2533
2593
|
left?: number;
|
|
2534
2594
|
} | null): void;
|
|
2595
|
+
private fitClearance;
|
|
2596
|
+
/** Bottom chrome (the phone zoom column) the fit lifts the venue above when
|
|
2597
|
+
* there is room — a soft inset that never shrinks the venue. */
|
|
2598
|
+
setFitClearance(bottom: number): void;
|
|
2535
2599
|
/** In force now; all zero when the host set none. */
|
|
2536
2600
|
getViewportInsets(): {
|
|
2537
2601
|
top: number;
|
package/dist/index.d.ts
CHANGED
|
@@ -2,14 +2,14 @@ import { A as AccessibilityType, b as SeatCommercialAttributes, C as ChartDoc, F
|
|
|
2
2
|
export { y as ACCESSIBILITY_RING_COLOR, z as ACCESSIBILITY_TYPES, D as AccessibilityMeta, E as AuthoringObjectState, B as BoothObject, q as Category, H as ChartLayoutConstraint, a as ChartObject, p as ChartReferenceImage, I as ChartTheme, J as ConfidenceEvidenceScope, v as CubicPath, K as DecorImageObject, n as Floor, G as GAAreaObject, j as GAInventorySegment, M as LABEL_STYLE_MAX_SIZE, N as LABEL_STYLE_MIN_SIZE, O as LabelPresentation, L as LabelStyle, Q as ObjectEditorState, U as Physical3dEvidence, V as RadialClearanceLayoutConstraint, o as RectTableSeatCounts, m as RectTableSide, W as ReferenceAccessibilitySource, X as ReferenceCalibration, Y as ReferenceCategorySource, Z as ReferenceDerivedScale, _ as ReferenceDirectAnnotationSource, $ as ReferenceDirectLandmarkCandidate, a0 as ReferenceDirectLandmarkDisposition, a1 as ReferenceDirectLandmarkRole, a2 as ReferenceDirectLandmarkSource, a3 as ReferenceDirectSeatGroup, a4 as ReferenceDirectSeatImportSource, a5 as ReferenceDirectSeatPlan, a6 as ReferenceDirectStageSource, a7 as ReferenceEnrichmentStatus, a8 as ReferenceExtractEmptyReason, a9 as ReferenceExtractEnrichment, aa as ReferenceExtractInput, ab as ReferenceExtractProposal, ac as ReferenceExtractRegionSeats, ad as ReferenceInventoryExclusionSource, ae as ReferenceInventorySource, af as ReferenceMatchReport, ag as ReferenceScanProposal, ah as ReferenceScanRowProposal, ai as ReferenceScanSectionProposal, aj as ReferenceSeatSeed, ak as ReferenceSectionTraceBatchInput, al as ReferenceSectionTraceBatchProposal, am as ReferenceSectionTraceInput, an as ReferenceSectionTraceProposal, d as ResolvedSeatConfidenceEvidence, R as RowObject, ao as SEAT_COMMERCIAL_MARKS, ap as STAGE_LABEL_STYLE_MAX_SIZE, aq as SURROUNDINGS_SHAPE_ROLES, S as SeatCommercialMark, ar as SeatCommercialMeta, as as SeatConfidenceCoverage, at as SeatConfidenceEvidence, au as SeatConfidenceModelLevel, av as SeatConfidenceModeledTarget, aw as SeatConfidenceRealityLevel, e as SeatGlyphKind, l as SeatOverride, f as SeatViewCoverage, c as SeatViewMetadata, ax as SeatViewVariant, i as SectionObject, g as SectionOutlinePath, h as SectionPathSegment, ay as SelectionLayer, r as ShapeLineCap, s as ShapeLineEnding, t as ShapeLineJoin, u as ShapeObject, az as StageLabelStyle, T as TableObject, aA as TextAlignment, aB as TextBackground, w as TextObject, aC as TicketTierApplicability, aD as TicketTierEvidence, aE as TicketTierRestriction, aF as Venue3DMaterialPalette, aG as VenueSurveyRegistrationEvidence, aH as ZoneDef, aI as accessibilityMeta, aJ as accessibilityRingColor, aK as layerOf, aL as seatCommercialMeta } from './types-B97dNRwl.js';
|
|
3
3
|
import { c as EventConfigurationRef, b as EventConfigurationVersion } from './eventConfigurations-CSuSanij.js';
|
|
4
4
|
export { d as EVENT_CONFIGURATION_EXPORT_SCHEMA, e as EVENT_CONFIGURATION_SCHEMA, f as EventConfigurationBaseVenue, g as EventConfigurationCompatibilityIssue, h as EventConfigurationCompatibilityIssueCode, i as EventConfigurationCompatibilityResult, j as EventConfigurationExportEnvelope, k as EventConfigurationLifecycleStatus, a as EventConfigurationOcclusion, l as EventConfigurationOverlay, m as EventConfigurationParseIssue, n as EventConfigurationParseIssueCode, o as EventConfigurationParseResult, p as EventConfigurationProductionElement, E as EventConfigurationProductionElementKind, q as EventConfigurationVenueSnapshot, r as EventConfigurationVersionParseResult, s as EventConfigurationVersionSummary, L as LegacyEventConfigurationMigrationResult, t as canTransitionEventConfiguration, u as canonicalEventConfigurationJson, v as inspectEventConfigurationCompatibility, w as migrateLegacyEventConfigurations, x as parseEventConfigurationExport, y as parseEventConfigurationVersion, z as resolveEventConfigurationRollback } from './eventConfigurations-CSuSanij.js';
|
|
5
|
-
export { A as AUTOMATIC_ROUND_TABLE_RADIUS_MAX, a as AUTOMATIC_ROUND_TABLE_RADIUS_MIN, C as ChartBoundsOptions, E as ExpandChartOptions, F as FLOOR_STACK_GAP_RATIO, b as FLOOR_STACK_MIN_SURFACE_PX, c as FloorStackOptions, d as FloorStackPlacement, R as RowSeatSlot, T as TABLE_SEAT_OFFSET, e as TableSeatSlot, f as allObjects, g as automaticRoundTableRadius, h as chartBounds, i as combinedFloorZoneId, j as expandBooth, k as expandChart, l as expandRow, m as expandRowSlots, n as expandTable, o as expandTableSlots, p as floorObjects, q as floorStackPlacements, r as floorsOf, s as initialFloorMode, t as layoutCombinedFloorPlan, u as layoutFloorStack, v as mainFloorId, w as objectCenter, x as owningSectionForObject, y as pointInPolygon, z as pointInPolygonWithHoles, B as polygonLabelPoint, D as rowInventoryCount, G as rowSeatPositions, H as stackFloors, I as tableInventoryCount, J as tableSeatCountsBySide, K as translateObject } from './tableSizing-
|
|
6
|
-
import { g as TicketSelectionIssue, b as GroupedTableInventoryUnit } from './ticketRestrictions-
|
|
7
|
-
export { M as MAX_EVENT_INVENTORY, d as MAX_GA_CAPACITY, l as gaAreasOf, m as gaInventorySegments, n as gaUnitLabel, o as gaUnitLabels, q as growJoinedGAInventory, s as isGaUnitLabel, x as validGAInventorySegments } from './ticketRestrictions-
|
|
5
|
+
export { A as AUTOMATIC_ROUND_TABLE_RADIUS_MAX, a as AUTOMATIC_ROUND_TABLE_RADIUS_MIN, C as ChartBoundsOptions, E as ExpandChartOptions, F as FLOOR_STACK_GAP_RATIO, b as FLOOR_STACK_MIN_SURFACE_PX, c as FloorStackOptions, d as FloorStackPlacement, R as RowSeatSlot, T as TABLE_SEAT_OFFSET, e as TableSeatSlot, f as allObjects, g as automaticRoundTableRadius, h as chartBounds, i as combinedFloorZoneId, j as expandBooth, k as expandChart, l as expandRow, m as expandRowSlots, n as expandTable, o as expandTableSlots, p as floorObjects, q as floorStackPlacements, r as floorsOf, s as initialFloorMode, t as layoutCombinedFloorPlan, u as layoutFloorStack, v as mainFloorId, w as objectCenter, x as owningSectionForObject, y as pointInPolygon, z as pointInPolygonWithHoles, B as polygonLabelPoint, D as rowInventoryCount, G as rowSeatPositions, H as stackFloors, I as tableInventoryCount, J as tableSeatCountsBySide, K as translateObject } from './tableSizing-B3SHwhya.js';
|
|
6
|
+
import { g as TicketSelectionIssue, b as GroupedTableInventoryUnit } from './ticketRestrictions-7N9PC4Q6.js';
|
|
7
|
+
export { M as MAX_EVENT_INVENTORY, d as MAX_GA_CAPACITY, l as gaAreasOf, m as gaInventorySegments, n as gaUnitLabel, o as gaUnitLabels, q as growJoinedGAInventory, s as isGaUnitLabel, x as validGAInventorySegments } from './ticketRestrictions-7N9PC4Q6.js';
|
|
8
8
|
export { S as SEAT_TYPE_ICON_BODY, a as SEAT_TYPE_ICON_VIEWBOX, b as SeatTypeIconKey, c as SeatTypeIconOptions, s as seatTypeIconBody, d as seatTypeIconSvg } from './seatTypeIcons-DUEZapsF.js';
|
|
9
9
|
export { A as AvailabilityRule, S as SectionNode, T as TIER_HEIGHT_M, U as UNGROUPED_ID, a as applyHidden, c as computeSections, h as hiddenObjectIds, i as isSectionHidden, s as sectionGeometry } from './sections-DcD6uNuO.js';
|
|
10
|
-
export { M as MIN_POINTER_TARGET_PX, R as RENDERED_QUALITY_REPORT_VERSION, a as RenderedEvidenceState, b as RenderedQualityFinding, c as RenderedQualityFindingCode, d as RenderedQualityReport, e as RenderedQualitySample, i as inspectRenderedQualityEvidence } from './renderedQuality-
|
|
11
|
-
import { I as ISeatmapRenderer, b as RendererOptions, S as SeatStatus, c as SeatMark, E as ExpandedSeat, G as GAAreaState, d as RendererViewMode, e as RendererMinimapSnapshot, L as LodRung, R as RendererQualityEvidence, f as RendererCallbacks } from './renderer-
|
|
12
|
-
export { C as CHART_STORAGE_KEY, g as RenderedBookableLabelEvidence, a as RenderedFreeTextEvidence, h as RenderedGAAreaEvidence, i as RenderedHierarchyLabelEvidence, j as RenderedLabelHiddenReason, k as RenderedRowLabelEvidence, l as RendererHoverDetails, m as RendererMinimapSeat, n as RendererMinimapSection, o as SeatMarkKind } from './renderer-
|
|
10
|
+
export { M as MIN_POINTER_TARGET_PX, R as RENDERED_QUALITY_REPORT_VERSION, a as RenderedEvidenceState, b as RenderedQualityFinding, c as RenderedQualityFindingCode, d as RenderedQualityReport, e as RenderedQualitySample, i as inspectRenderedQualityEvidence } from './renderedQuality-Dy7LBzNF.js';
|
|
11
|
+
import { I as ISeatmapRenderer, b as RendererOptions, S as SeatStatus, c as SeatMark, E as ExpandedSeat, G as GAAreaState, d as RendererViewMode, e as RendererMinimapSnapshot, L as LodRung, R as RendererQualityEvidence, f as RendererCallbacks } from './renderer-xE1rZCGy.js';
|
|
12
|
+
export { C as CHART_STORAGE_KEY, g as RenderedBookableLabelEvidence, a as RenderedFreeTextEvidence, h as RenderedGAAreaEvidence, i as RenderedHierarchyLabelEvidence, j as RenderedLabelHiddenReason, k as RenderedRowLabelEvidence, l as RendererHoverDetails, m as RendererMinimapSeat, n as RendererMinimapSection, o as SeatMarkKind } from './renderer-xE1rZCGy.js';
|
|
13
13
|
import './segmentedRowModel-NH_qhgic.js';
|
|
14
14
|
|
|
15
15
|
/**
|
|
@@ -418,6 +418,8 @@ declare class SeatmapRenderer implements ISeatmapRenderer {
|
|
|
418
418
|
/** Stage pose the last overview fit landed on — see zoomToFit. */
|
|
419
419
|
private fitPose;
|
|
420
420
|
private viewportInsets;
|
|
421
|
+
/** Bottom chrome the fit keeps clear when it can — see camera.clearFitChrome. */
|
|
422
|
+
private fitClearanceBottom;
|
|
421
423
|
/** Effective seat radius (base × theme.seatScale), set per chart in setChart. */
|
|
422
424
|
private seatR;
|
|
423
425
|
/** The radius a marker is actually DRAWN at — the authored radius capped by
|
|
@@ -514,6 +516,13 @@ declare class SeatmapRenderer implements ISeatmapRenderer {
|
|
|
514
516
|
* be overwritten by its next frame.
|
|
515
517
|
*/
|
|
516
518
|
private activateBeacon;
|
|
519
|
+
/** Re-entrancy guard: sectionFrameScale measures labels through the same
|
|
520
|
+
* camera bounds that ask for this, so a nested read answers "no room". */
|
|
521
|
+
private readingFocusedFrame;
|
|
522
|
+
/** The focused section's frame scale for zoomBounds, or 0 without a focus. */
|
|
523
|
+
private focusedFrameScaleForBounds;
|
|
524
|
+
/** Dive to the buyer's own seats in this section; false when it holds none. */
|
|
525
|
+
private focusOwnedSeatsIn;
|
|
517
526
|
/** Rebuild the beacons for this camera, and hand their rings to the breath. */
|
|
518
527
|
private syncBeacons;
|
|
519
528
|
/** The buyer's own seats in a section, in chart order. */
|
|
@@ -705,6 +714,7 @@ declare class SeatmapRenderer implements ISeatmapRenderer {
|
|
|
705
714
|
} | null): void;
|
|
706
715
|
/** In force now; all zero when the host set none. */
|
|
707
716
|
getViewportInsets(): ViewportInsets;
|
|
717
|
+
setFitClearance(bottom: number): void;
|
|
708
718
|
private framingViewport;
|
|
709
719
|
/** Keep a buyer-driven camera move over the venue — see engine/panBounds. */
|
|
710
720
|
private constrainPan;
|
|
@@ -722,7 +732,7 @@ declare class SeatmapRenderer implements ISeatmapRenderer {
|
|
|
722
732
|
* The stage already represents the usable map area (the picker side panel is
|
|
723
733
|
* a sibling), so measuring it here naturally respects open/closed panels.
|
|
724
734
|
*/
|
|
725
|
-
refitCurrentView(): void;
|
|
735
|
+
refitCurrentView(keepBuyerCamera?: boolean): void;
|
|
726
736
|
/** Step factor for the on-screen +/− buttons (B1) — same clamp path as pinch/wheel. */
|
|
727
737
|
private static readonly ZOOM_STEP;
|
|
728
738
|
/** The camera as it stands, for a caller rebuilding the scene under a buyer
|
|
@@ -1214,6 +1224,26 @@ declare class SeatmapRenderer implements ISeatmapRenderer {
|
|
|
1214
1224
|
x: number;
|
|
1215
1225
|
y: number;
|
|
1216
1226
|
}): boolean;
|
|
1227
|
+
/**
|
|
1228
|
+
* May a press or a hover on this logical section DO anything?
|
|
1229
|
+
*
|
|
1230
|
+
* False for a block the buyer cannot buy into: one the operator closed for
|
|
1231
|
+
* this event, and one with no free seat left. Owner report 2026-09-07 — the
|
|
1232
|
+
* two closed strips beside the stage on the Ahoy Rotterdam chart (Fb, Fc)
|
|
1233
|
+
* opened a section card and dived the camera exactly like a sellable block,
|
|
1234
|
+
* so the buyer was taken somewhere there was nothing to take.
|
|
1235
|
+
*
|
|
1236
|
+
* The predicate is the minimap's `inactive` one (see getMinimapSnapshot), so
|
|
1237
|
+
* "inert" and "painted as unavailable" can never drift apart. Asked per
|
|
1238
|
+
* LOGICAL section, because that is what a tap resolves to and an arena
|
|
1239
|
+
* section drawn as several polygons is one place: interactive when ANY of
|
|
1240
|
+
* its components still has something.
|
|
1241
|
+
*
|
|
1242
|
+
* The buyer's OWN seats win over both: a block they hold every remaining
|
|
1243
|
+
* seat in reads as sold out, and it must still be possible to get back to
|
|
1244
|
+
* it. That is also the badge-tap path's destination.
|
|
1245
|
+
*/
|
|
1246
|
+
sectionInteractive(sectionId: string): boolean;
|
|
1217
1247
|
/** Seat ids belonging to a section (Slice 5 section-summary card). */
|
|
1218
1248
|
sectionMembers(id: string): string[];
|
|
1219
1249
|
private isSelectable;
|
|
@@ -1342,6 +1372,16 @@ declare class SeatmapRenderer implements ISeatmapRenderer {
|
|
|
1342
1372
|
private retargetRoamingFocus;
|
|
1343
1373
|
/** rAF-coalesced `onViewChange` — at most one host callback per animation frame. */
|
|
1344
1374
|
private scheduleViewChange;
|
|
1375
|
+
/**
|
|
1376
|
+
* Labels follow the finger, not the lift. The label pass used to run only in
|
|
1377
|
+
* afterViewChange, i.e. when the gesture ended: every seat number and row
|
|
1378
|
+
* letter panned into view stayed blank until the buyer let go, and a slow
|
|
1379
|
+
* drag across a block read as the map struggling (owner, 2026-09-07, phone).
|
|
1380
|
+
* A throttled pass during the move keeps the newly revealed labels coming;
|
|
1381
|
+
* the settle still runs the full pass.
|
|
1382
|
+
*/
|
|
1383
|
+
private movingLabelTimer;
|
|
1384
|
+
private refreshLabelsWhileMoving;
|
|
1345
1385
|
/** Keep focal labels centred while their world font size tracks camera scale. */
|
|
1346
1386
|
private sizeLabel;
|
|
1347
1387
|
private updateLOD;
|
|
@@ -2422,6 +2462,26 @@ declare class PickerController {
|
|
|
2422
2462
|
* a guest-count change silently re-based the countdown on the server default.
|
|
2423
2463
|
*/
|
|
2424
2464
|
replaceTableQuantity(label: string, quantity: number, ttlMs?: number): Promise<HoldInfo | null>;
|
|
2465
|
+
/** Narrow (phone) layout, as reported by the host widget; see setNarrowLayout. */
|
|
2466
|
+
private narrowLayout;
|
|
2467
|
+
/**
|
|
2468
|
+
* The host tells the controller which layout it is in. The row-band rung
|
|
2469
|
+
* (rows drawn as category-coloured lines before the seats appear) is a
|
|
2470
|
+
* desktop treatment (owner call, 2026-09-07): on a phone the lines did not
|
|
2471
|
+
* read as rows, and a section tap should land straight on solid seats.
|
|
2472
|
+
* Optional on older hosts — a widget that never calls this keeps bands on.
|
|
2473
|
+
*/
|
|
2474
|
+
setNarrowLayout(narrow: boolean): void;
|
|
2475
|
+
/**
|
|
2476
|
+
* Bands are wanted where the host asked, the chart allows, and the rung is
|
|
2477
|
+
* switched on at all. The layout gate exists (`ROW_BANDS_ON_NARROW`): the
|
|
2478
|
+
* owner first wanted the lines desktop-only, then, the same evening
|
|
2479
|
+
* (2026-09-07), on the phone as well — so a phone section tap lands on the
|
|
2480
|
+
* category lines like desktop. Flip the constant to make the rung
|
|
2481
|
+
* desktop-only again; the `sectionDetail` theme knob turns it off per chart.
|
|
2482
|
+
*/
|
|
2483
|
+
private rowBandsWanted;
|
|
2484
|
+
private applyRowBandPreview;
|
|
2425
2485
|
private rendererSelectionCap;
|
|
2426
2486
|
private selectionGuestCount;
|
|
2427
2487
|
private handleRendererSelect;
|
|
@@ -2532,6 +2592,10 @@ declare class PickerController {
|
|
|
2532
2592
|
bottom?: number;
|
|
2533
2593
|
left?: number;
|
|
2534
2594
|
} | null): void;
|
|
2595
|
+
private fitClearance;
|
|
2596
|
+
/** Bottom chrome (the phone zoom column) the fit lifts the venue above when
|
|
2597
|
+
* there is room — a soft inset that never shrinks the venue. */
|
|
2598
|
+
setFitClearance(bottom: number): void;
|
|
2535
2599
|
/** In force now; all zero when the host set none. */
|
|
2536
2600
|
getViewportInsets(): {
|
|
2537
2601
|
top: number;
|