@seatlayer/core 0.76.0 → 0.77.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/ar-ESLFQEY3.js +1 -0
- package/dist/be-7WI4WG2B.js +1 -0
- package/dist/bg-KKEOOUYL.js +1 -0
- package/dist/ca-L36KKI76.js +1 -0
- package/dist/{categoryInventory-Cy5pQ0KW.d.ts → categoryInventory-C_NIm0jr.d.ts} +1 -1
- package/dist/{categoryInventory-CBuJy9KM.d.cts → categoryInventory-IgpsH6KG.d.cts} +1 -1
- package/dist/chunk-QJXSZT3H.js +1 -0
- package/dist/chunk-SGYNM3SG.js +1 -0
- package/dist/core/chart-ops/index.d.cts +5 -5
- package/dist/core/chart-ops/index.d.ts +5 -5
- package/dist/core/inventory/index.cjs +1 -1
- package/dist/core/inventory/index.d.cts +4 -4
- package/dist/core/inventory/index.d.ts +4 -4
- package/dist/core/layout/index.d.cts +5 -5
- package/dist/core/layout/index.d.ts +5 -5
- package/dist/core/quality/index.d.cts +3 -3
- package/dist/core/quality/index.d.ts +3 -3
- package/dist/core/render-assets/index.d.cts +1 -1
- package/dist/core/render-assets/index.d.ts +1 -1
- package/dist/core/seatConfidence.d.cts +1 -1
- package/dist/core/seatConfidence.d.ts +1 -1
- package/dist/core/sections/index.d.cts +5 -5
- package/dist/core/sections/index.d.ts +5 -5
- package/dist/cs-2IEWVOHA.js +1 -0
- package/dist/cy-A5YBQD5Q.js +1 -0
- package/dist/da-IDXUY3QI.js +1 -0
- package/dist/de-L5PFY4CY.js +1 -0
- package/dist/el-4DPNHJGB.js +1 -0
- package/dist/es-IMADA3UR.js +1 -0
- package/dist/et-G6PPK4SF.js +1 -0
- package/dist/{eventConfigurations-CqfrYWAb.d.cts → eventConfigurations-71rHjKl7.d.ts} +5 -5
- package/dist/{eventConfigurations-Dhauc9V3.d.ts → eventConfigurations-vOMFVz7c.d.cts} +5 -5
- package/dist/fa-3RYGYXBU.js +1 -0
- package/dist/fi-KRSYZSV4.js +1 -0
- package/dist/fr-FOSKFLMV.js +1 -0
- package/dist/he-RXSGTRSH.js +1 -0
- package/dist/hr-IMBN4Z7O.js +1 -0
- package/dist/hu-UYWLVBH3.js +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +198 -148
- package/dist/index.d.ts +198 -148
- package/dist/index.js +1 -1
- package/dist/it-ZAWFQCOM.js +1 -0
- package/dist/ja-QZGXTROI.js +1 -0
- package/dist/ku-ZCTX4KKG.js +1 -0
- package/dist/{labeling-BwPEI5JN.d.ts → labeling-BnjyAEbI.d.ts} +1 -1
- package/dist/{labeling-B1xsmowB.d.cts → labeling-pdEv7UN1.d.cts} +1 -1
- package/dist/localeLoaders-BZZWN35C.js +1 -0
- package/dist/lt-N2OMHLDZ.js +1 -0
- package/dist/lv-WLIXXNIX.js +1 -0
- package/dist/nl-LZILGXRW.js +1 -0
- package/dist/no-2OJ4BSZI.js +1 -0
- package/dist/pl-FZUMWN56.js +1 -0
- package/dist/pt-R4XWF7UT.js +1 -0
- package/dist/{renderedQuality-1E9KuJvY.d.cts → renderedQuality-CRLkEGf8.d.cts} +1 -1
- package/dist/{renderedQuality-ChAZNV2N.d.ts → renderedQuality-DN8SFFjk.d.ts} +1 -1
- package/dist/{renderer-BRmVrITG.d.cts → renderer-B6kkgOHz.d.cts} +43 -1
- package/dist/{renderer-q7viZLGZ.d.ts → renderer-ByLmyQe_.d.ts} +43 -1
- package/dist/ro-WK3CNXGW.js +1 -0
- package/dist/ru-AGP7UPXQ.js +1 -0
- package/dist/{sections-CA-bBex5.d.cts → sections-CQ0sd37E.d.cts} +1 -1
- package/dist/{sections-ByTMouG8.d.ts → sections-F6wMlVqx.d.ts} +1 -1
- package/dist/{segmentedRowModel-DcvJVKLD.d.ts → segmentedRowModel-D-CEgxg7.d.ts} +1 -1
- package/dist/{segmentedRowModel-C7XOEjHk.d.cts → segmentedRowModel-DqFhb-7Q.d.cts} +1 -1
- package/dist/sk-LNR3ENI4.js +1 -0
- package/dist/sl-UG367TMJ.js +1 -0
- package/dist/sr-IHG5CL3F.js +1 -0
- package/dist/sv-RIFQBC5U.js +1 -0
- package/dist/{tableSizing-D8e8QAJ-.d.ts → tableSizing-B0JegL6B.d.ts} +3 -3
- package/dist/{tableSizing-BdCyNeqX.d.cts → tableSizing-DKygWd7z.d.cts} +3 -3
- package/dist/{ticketRestrictions-CorjMY49.d.ts → ticketRestrictions-Bp7ET0j4.d.ts} +2 -2
- package/dist/{ticketRestrictions-CPZglNvw.d.cts → ticketRestrictions-CvGDnGS8.d.cts} +2 -2
- package/dist/tr-LWSQYBXN.js +1 -0
- package/dist/{types-CqaNLbU6.d.ts → types-Dq-ipTBG.d.cts} +13 -15
- package/dist/{types-CqaNLbU6.d.cts → types-Dq-ipTBG.d.ts} +13 -15
- package/dist/uk-ZSWFWCW7.js +1 -0
- package/dist/view3d/crossfade/panorama.d.cts +1 -1
- package/dist/view3d/crossfade/panorama.d.ts +1 -1
- package/dist/view3d/index.cjs +27 -27
- package/dist/view3d/index.d.cts +3 -3
- package/dist/view3d/index.d.ts +3 -3
- package/dist/view3d/index.js +25 -25
- package/dist/view3d/scene/scene.worker.cjs +1 -1
- package/dist/view3d/scene/scene.worker.js +1 -1
- package/dist/zh-Hans-P4CJH4VJ.js +1 -0
- package/dist/zh-Hant-X7CHEXML.js +1 -0
- package/package.json +1 -1
- package/dist/ar-JOSU54ZZ.js +0 -1
- package/dist/be-UDIVAZGH.js +0 -1
- package/dist/bg-AJX2SNK4.js +0 -1
- package/dist/ca-MC23KMQH.js +0 -1
- package/dist/chunk-JQL77POQ.js +0 -1
- package/dist/cs-Q4OEV3NE.js +0 -1
- package/dist/cy-TPDRMPTK.js +0 -1
- package/dist/da-U6XXTCII.js +0 -1
- package/dist/de-ZV54ZWHR.js +0 -1
- package/dist/el-5VQKNNQV.js +0 -1
- package/dist/es-Y3BNIAEW.js +0 -1
- package/dist/et-HCCA6TE3.js +0 -1
- package/dist/fa-SZ3EAODM.js +0 -1
- package/dist/fi-S34TMT35.js +0 -1
- package/dist/fr-RQIXNHQ5.js +0 -1
- package/dist/he-PPNABESI.js +0 -1
- package/dist/hr-IZOGRWC5.js +0 -1
- package/dist/hu-K7EOGFAB.js +0 -1
- package/dist/it-PD5WJDNR.js +0 -1
- package/dist/ja-3CFZ2KK6.js +0 -1
- package/dist/ku-MQJTRLDV.js +0 -1
- package/dist/localeLoaders-ETY2H7H3.js +0 -1
- package/dist/lt-6Q5DJHXR.js +0 -1
- package/dist/lv-BQ3LWGW6.js +0 -1
- package/dist/nl-ZPVH2YGT.js +0 -1
- package/dist/no-R7I6YW7N.js +0 -1
- package/dist/pl-EU2O5DYI.js +0 -1
- package/dist/pt-UMSFOY5P.js +0 -1
- package/dist/ro-GR35LU2L.js +0 -1
- package/dist/ru-CXYAZQEV.js +0 -1
- package/dist/sk-GUB52YMC.js +0 -1
- package/dist/sl-J7N6LDON.js +0 -1
- package/dist/sr-A7GQEH7K.js +0 -1
- package/dist/sv-ARLHHSPZ.js +0 -1
- package/dist/tr-6TE3U7WM.js +0 -1
- package/dist/uk-RMVPSRMH.js +0 -1
- package/dist/zh-Hans-SNO4DA32.js +0 -1
- package/dist/zh-Hant-TVIKBD5S.js +0 -1
package/dist/index.d.cts
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { C as ChartDoc, F as FloorLabelStyle, P as Point, A as AccessibilityType, i as CategoryTier, S as SeatCommercialAttributes, w as ChartDeliveryPerformance } from './types-
|
|
2
|
-
export { x as ACCESSIBILITY_RING_COLOR, y as ACCESSIBILITY_TYPES, z as AccessibilityMeta, D as AuthoringObjectState, B as BoothObject, p as Category, E as ChartLayoutConstraint, a as ChartObject, o as ChartReferenceImage, H as ChartTheme, I as ConfidenceEvidenceScope, u as CubicPath, J as DecorImageObject, m as Floor, G as GAAreaObject, h as GAInventorySegment, K as LABEL_STYLE_MAX_SIZE, M as LABEL_STYLE_MIN_SIZE, N as LabelPresentation, L as LabelStyle, O as ObjectEditorState, Q as Physical3dEvidence, U as RadialClearanceLayoutConstraint, n as RectTableSeatCounts, l as RectTableSide, V as ReferenceAccessibilitySource, W as ReferenceCalibration, X as ReferenceCategorySource, Y as ReferenceDerivedScale, Z as ReferenceDirectAnnotationSource, _ as ReferenceDirectLandmarkCandidate, $ as ReferenceDirectLandmarkDisposition, a0 as ReferenceDirectLandmarkRole, a1 as ReferenceDirectLandmarkSource, a2 as ReferenceDirectSeatGroup, a3 as ReferenceDirectSeatImportSource, a4 as ReferenceDirectSeatPlan, a5 as ReferenceDirectStageSource, a6 as ReferenceEnrichmentStatus, a7 as ReferenceExtractEmptyReason, a8 as ReferenceExtractEnrichment, a9 as ReferenceExtractInput, aa as ReferenceExtractProposal, ab as ReferenceExtractRegionSeats, ac as ReferenceInventoryExclusionSource, ad as ReferenceInventorySource, ae as ReferenceMatchReport, af as ReferenceScanProposal, ag as ReferenceScanRowProposal, ah as ReferenceScanSectionProposal, ai as ReferenceSeatSeed, aj as ReferenceSectionTraceBatchInput, ak as ReferenceSectionTraceBatchProposal, al as ReferenceSectionTraceInput, am as ReferenceSectionTraceProposal, c as ResolvedSeatConfidenceEvidence, R as RowObject, an as SEAT_COMMERCIAL_MARKS, ao as STAGE_LABEL_STYLE_MAX_SIZE, ap as SURROUNDINGS_SHAPE_ROLES, aq as SeatCommercialMark, ar as SeatCommercialMeta, as as SeatConfidenceCoverage, at as SeatConfidenceEvidence, au as SeatConfidenceModelLevel, av as SeatConfidenceModeledTarget, aw as SeatConfidenceRealityLevel, d as SeatGlyphKind, k as SeatOverride, e as SeatViewCoverage, b as SeatViewMetadata, ax as SeatViewVariant, j as SectionObject, f as SectionOutlinePath, g as SectionPathSegment, ay as SelectionLayer, q as ShapeLineCap, r as ShapeLineEnding, s as ShapeLineJoin, t as ShapeObject, az as StageLabelStyle, T as TableObject, aA as TextAlignment, aB as TextBackground, v 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-
|
|
3
|
-
import {
|
|
4
|
-
export {
|
|
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 expandBooth, j as expandChart, k as expandRow, l as expandRowSlots, m as expandTable, n as expandTableSlots, o as floorObjects, p as floorStackPlacements, q as floorsOf, r as initialFloorMode, s as layoutFloorStack, t as mainFloorId, u as objectCenter, v as owningSectionForObject, w as pointInPolygon, x as pointInPolygonWithHoles, y as polygonLabelPoint, z as rowInventoryCount, B as rowSeatPositions, D as stackFloors, G as tableInventoryCount, H as tableSeatCountsBySide, I as translateObject } from './tableSizing-
|
|
6
|
-
import { c as TicketSelectionIssue } from './ticketRestrictions-
|
|
7
|
-
export { M as MAX_EVENT_INVENTORY, a as MAX_GA_CAPACITY, g as gaAreasOf, h as gaInventorySegments, i as gaUnitLabel, j as gaUnitLabels, k as growJoinedGAInventory, l as isGaUnitLabel, v as validGAInventorySegments } from './ticketRestrictions-
|
|
8
|
-
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-
|
|
9
|
-
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-
|
|
10
|
-
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-
|
|
11
|
-
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-
|
|
12
|
-
import './segmentedRowModel-
|
|
1
|
+
import { C as ChartDoc, F as FloorLabelStyle, P as Point, A as AccessibilityType, i as CategoryTier, S as SeatCommercialAttributes, w as ChartDeliveryPerformance } from './types-Dq-ipTBG.cjs';
|
|
2
|
+
export { x as ACCESSIBILITY_RING_COLOR, y as ACCESSIBILITY_TYPES, z as AccessibilityMeta, D as AuthoringObjectState, B as BoothObject, p as Category, E as ChartLayoutConstraint, a as ChartObject, o as ChartReferenceImage, H as ChartTheme, I as ConfidenceEvidenceScope, u as CubicPath, J as DecorImageObject, m as Floor, G as GAAreaObject, h as GAInventorySegment, K as LABEL_STYLE_MAX_SIZE, M as LABEL_STYLE_MIN_SIZE, N as LabelPresentation, L as LabelStyle, O as ObjectEditorState, Q as Physical3dEvidence, U as RadialClearanceLayoutConstraint, n as RectTableSeatCounts, l as RectTableSide, V as ReferenceAccessibilitySource, W as ReferenceCalibration, X as ReferenceCategorySource, Y as ReferenceDerivedScale, Z as ReferenceDirectAnnotationSource, _ as ReferenceDirectLandmarkCandidate, $ as ReferenceDirectLandmarkDisposition, a0 as ReferenceDirectLandmarkRole, a1 as ReferenceDirectLandmarkSource, a2 as ReferenceDirectSeatGroup, a3 as ReferenceDirectSeatImportSource, a4 as ReferenceDirectSeatPlan, a5 as ReferenceDirectStageSource, a6 as ReferenceEnrichmentStatus, a7 as ReferenceExtractEmptyReason, a8 as ReferenceExtractEnrichment, a9 as ReferenceExtractInput, aa as ReferenceExtractProposal, ab as ReferenceExtractRegionSeats, ac as ReferenceInventoryExclusionSource, ad as ReferenceInventorySource, ae as ReferenceMatchReport, af as ReferenceScanProposal, ag as ReferenceScanRowProposal, ah as ReferenceScanSectionProposal, ai as ReferenceSeatSeed, aj as ReferenceSectionTraceBatchInput, ak as ReferenceSectionTraceBatchProposal, al as ReferenceSectionTraceInput, am as ReferenceSectionTraceProposal, c as ResolvedSeatConfidenceEvidence, R as RowObject, an as SEAT_COMMERCIAL_MARKS, ao as STAGE_LABEL_STYLE_MAX_SIZE, ap as SURROUNDINGS_SHAPE_ROLES, aq as SeatCommercialMark, ar as SeatCommercialMeta, as as SeatConfidenceCoverage, at as SeatConfidenceEvidence, au as SeatConfidenceModelLevel, av as SeatConfidenceModeledTarget, aw as SeatConfidenceRealityLevel, d as SeatGlyphKind, k as SeatOverride, e as SeatViewCoverage, b as SeatViewMetadata, ax as SeatViewVariant, j as SectionObject, f as SectionOutlinePath, g as SectionPathSegment, ay as SelectionLayer, q as ShapeLineCap, r as ShapeLineEnding, s as ShapeLineJoin, t as ShapeObject, az as StageLabelStyle, T as TableObject, aA as TextAlignment, aB as TextBackground, v 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-Dq-ipTBG.cjs';
|
|
3
|
+
import { c as EventConfigurationRef, b as EventConfigurationVersion } from './eventConfigurations-vOMFVz7c.cjs';
|
|
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-vOMFVz7c.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 expandBooth, j as expandChart, k as expandRow, l as expandRowSlots, m as expandTable, n as expandTableSlots, o as floorObjects, p as floorStackPlacements, q as floorsOf, r as initialFloorMode, s as layoutFloorStack, t as mainFloorId, u as objectCenter, v as owningSectionForObject, w as pointInPolygon, x as pointInPolygonWithHoles, y as polygonLabelPoint, z as rowInventoryCount, B as rowSeatPositions, D as stackFloors, G as tableInventoryCount, H as tableSeatCountsBySide, I as translateObject } from './tableSizing-DKygWd7z.cjs';
|
|
6
|
+
import { c as TicketSelectionIssue } from './ticketRestrictions-CvGDnGS8.cjs';
|
|
7
|
+
export { M as MAX_EVENT_INVENTORY, a as MAX_GA_CAPACITY, g as gaAreasOf, h as gaInventorySegments, i as gaUnitLabel, j as gaUnitLabels, k as growJoinedGAInventory, l as isGaUnitLabel, v as validGAInventorySegments } from './ticketRestrictions-CvGDnGS8.cjs';
|
|
8
|
+
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-CQ0sd37E.cjs';
|
|
9
|
+
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-CRLkEGf8.cjs';
|
|
10
|
+
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-B6kkgOHz.cjs';
|
|
11
|
+
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-B6kkgOHz.cjs';
|
|
12
|
+
import './segmentedRowModel-DqFhb-7Q.cjs';
|
|
13
13
|
|
|
14
14
|
/**
|
|
15
15
|
* Half-width of the band around a legibility threshold, in rendered pixels.
|
|
@@ -91,6 +91,31 @@ interface CameraPose {
|
|
|
91
91
|
scale: number;
|
|
92
92
|
}
|
|
93
93
|
|
|
94
|
+
/** One named section a buyer's accessibility filter can actually send them to. */
|
|
95
|
+
interface AccessibleSectionSummary {
|
|
96
|
+
/** The logical section id — what `focusSection` and the dock bar both use. */
|
|
97
|
+
id: string;
|
|
98
|
+
/** The section's own name, as painted on the block. */
|
|
99
|
+
label: string;
|
|
100
|
+
/** Free seats in it that match the filter. */
|
|
101
|
+
free: number;
|
|
102
|
+
}
|
|
103
|
+
/** What the filter matched, and the SHAPE of it — see {@link accessibleSpread}. */
|
|
104
|
+
interface AccessibleSpread {
|
|
105
|
+
/** Free matching seats anywhere on the active floor. */
|
|
106
|
+
spaces: number;
|
|
107
|
+
/** The named sections holding them. */
|
|
108
|
+
sections: AccessibleSectionSummary[];
|
|
109
|
+
/**
|
|
110
|
+
* The matches are scattered across (nearly) the whole venue.
|
|
111
|
+
*
|
|
112
|
+
* The camera answer and the words the widget says both hang off this: a tight
|
|
113
|
+
* cluster is dived into and needs no explanation, a bowl-wide scatter is
|
|
114
|
+
* already on screen and needs to be told apart from "nothing happened".
|
|
115
|
+
*/
|
|
116
|
+
wholeVenue: boolean;
|
|
117
|
+
}
|
|
118
|
+
|
|
94
119
|
declare class SeatmapRenderer implements ISeatmapRenderer {
|
|
95
120
|
private container;
|
|
96
121
|
private opts;
|
|
@@ -206,6 +231,8 @@ declare class SeatmapRenderer implements ISeatmapRenderer {
|
|
|
206
231
|
* a type list = dim free seats lacking any of those accommodations.
|
|
207
232
|
*/
|
|
208
233
|
private accessFilter;
|
|
234
|
+
/** Memoised free-matching-space counts, keyed by SectionRender id. */
|
|
235
|
+
private readonly accessFreeBySection;
|
|
209
236
|
/** Category highlight (legend hover): dims free seats NOT of this category. */
|
|
210
237
|
private categoryHighlight;
|
|
211
238
|
/** Price-band filter (F4): dim free seats whose category is NOT in this set. */
|
|
@@ -624,48 +651,22 @@ declare class SeatmapRenderer implements ISeatmapRenderer {
|
|
|
624
651
|
setGAStates(states: Record<string, GAAreaState>): void;
|
|
625
652
|
setGAState(areaId: string, state: GAAreaState): void;
|
|
626
653
|
/**
|
|
627
|
-
*
|
|
628
|
-
*
|
|
629
|
-
* Cluster the matches, then answer the question their SHAPE asks:
|
|
630
|
-
*
|
|
631
|
-
* - **One contiguous block** (and, on a sectioned chart, one section) — dive
|
|
632
|
-
* into it, to the depth where its seats are both pickable and numbered.
|
|
633
|
-
* Nothing to choose between, so showing it from far away only costs a tap.
|
|
634
|
-
* This also closes the dead zone the validator found: a 30-seat band framed
|
|
635
|
-
* at ~1.35 has 24px markers and NOT ONE number, the chart's authored 7-unit
|
|
636
|
-
* font rendering at 9.5px against a 12px floor — `minScale` re-asks that.
|
|
637
|
-
* - **Several blocks** — frame the union so every block is on screen, diving
|
|
638
|
-
* into none. Mobile audit finding 6: a phone price chip teleported into a
|
|
639
|
-
* close-up of the dominant block, answering "where are the $42 seats?" with
|
|
640
|
-
* a handful and no sign there were more. The buyer picks; the tap dives.
|
|
641
|
-
*
|
|
642
|
-
* `null`/empty keeps the camera exactly where it is: clearing a band removes
|
|
643
|
-
* a constraint, and re-fitting the venue threw away the buyer's own zoom.
|
|
654
|
+
* The state the framing rules read — rebuilt per call so camera, filter and
|
|
655
|
+
* status changes are always seen fresh. See ./render/focusFraming.
|
|
644
656
|
*/
|
|
657
|
+
private get focusFramingContext();
|
|
658
|
+
/** Take the buyer to a price band's seats — see ./render/focusFraming. */
|
|
645
659
|
focusCategories(keys: string[] | null, opts?: {
|
|
646
660
|
animate?: boolean;
|
|
647
661
|
}): void;
|
|
648
|
-
/**
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
* Deliberately NOT {@link focusCategories}. A price band is thousands of
|
|
652
|
-
* seats forming blocks, so that path clusters them and, on a phone, dives
|
|
653
|
-
* into a seat-detail window showing the dominant block. An accessibility
|
|
654
|
-
* filter is a handful of spaces scattered around the venue: the phone
|
|
655
|
-
* validator's uber-arena has TWELVE, one or two per tier. Diving into a
|
|
656
|
-
* detail window there shows the buyer none of them, and jumping to the seats
|
|
657
|
-
* rung — which is what the widget did before this existed — put all twelve
|
|
658
|
-
* off-screen in the middle of a 14k arena.
|
|
659
|
-
*
|
|
660
|
-
* So the rule is the union, always: bounding box of the matching seats plus a
|
|
661
|
-
* margin, clamped to the zoom bounds. When that box fits at a scale where the
|
|
662
|
-
* seats are already tappable, the buyer lands on tappable seats; when it does
|
|
663
|
-
* not, they still SEE all twelve and can zoom into the one they want. Framing
|
|
664
|
-
* fewer than all of them is never the answer.
|
|
665
|
-
*
|
|
666
|
-
* Returns false when there is nothing to frame, so a caller can fall back.
|
|
667
|
-
*/
|
|
662
|
+
/** The ceiling for a camera move the ENGINE decided to make. */
|
|
663
|
+
private diveCeiling;
|
|
664
|
+
/** Frame every seat matching the accessibility filter — ALL of them. */
|
|
668
665
|
focusAccessibleSeats(types?: AccessibilityType[] | null): boolean;
|
|
666
|
+
/** Take the camera to the free matching spaces INSIDE one section. */
|
|
667
|
+
focusAccessibleSection(sectionId: string, types?: AccessibilityType[] | null): boolean;
|
|
668
|
+
/** What the filter matched, and how it is spread over the venue. */
|
|
669
|
+
accessibleSpread(types?: AccessibilityType[] | null): AccessibleSpread | null;
|
|
669
670
|
/**
|
|
670
671
|
* Switch the projection between flat top-down and the isometric "3D" view
|
|
671
672
|
* (rotate + y-squash about the chart centre, plus per-elevation lift). Tweens
|
|
@@ -853,6 +854,20 @@ declare class SeatmapRenderer implements ISeatmapRenderer {
|
|
|
853
854
|
focusSection(id: string, opts?: {
|
|
854
855
|
anchor?: Point;
|
|
855
856
|
}): void;
|
|
857
|
+
/**
|
|
858
|
+
* Enter a section's focus state WITHOUT moving the camera.
|
|
859
|
+
*
|
|
860
|
+
* Split out because "which section is the buyer in" and "what is the camera
|
|
861
|
+
* framing" are not always the same answer: a best-available pick frames the
|
|
862
|
+
* SEATS it found, which may be a corner of the section, while the dock bar,
|
|
863
|
+
* the dim and the backdrop still have to belong to the section around them.
|
|
864
|
+
* Returns false for an id this chart has no section for.
|
|
865
|
+
*/
|
|
866
|
+
private markSectionFocus;
|
|
867
|
+
/** Frame THESE seats, close enough to take one — see ./render/focusFraming. */
|
|
868
|
+
focusSeats(ids: readonly string[], opts?: {
|
|
869
|
+
animate?: boolean;
|
|
870
|
+
}): boolean;
|
|
856
871
|
private focusSectionCamera;
|
|
857
872
|
/**
|
|
858
873
|
* Release only the focus dim + backdrop, keeping the focused-section state
|
|
@@ -939,23 +954,22 @@ declare class SeatmapRenderer implements ISeatmapRenderer {
|
|
|
939
954
|
private renderShape;
|
|
940
955
|
private renderGA;
|
|
941
956
|
/**
|
|
942
|
-
*
|
|
943
|
-
*
|
|
944
|
-
*
|
|
945
|
-
* • one readable, contained section name.
|
|
946
|
-
* Category, row, seat, and availability detail belongs to section focus/zoom.
|
|
947
|
-
* Membership and category mix are still precomputed for the detailed state.
|
|
957
|
+
* Build one section's scene nodes (see ./render/sectionBuild), then register
|
|
958
|
+
* it: seat→section membership, the memoised unsectioned partition it
|
|
959
|
+
* invalidates, its first fill/heat paint, and the section list itself.
|
|
948
960
|
*/
|
|
949
961
|
private renderSection;
|
|
962
|
+
private get sectionBuildContext();
|
|
950
963
|
private refreshSectionHeat;
|
|
951
964
|
private refreshSectionFill;
|
|
952
965
|
private isSectionClosed;
|
|
953
966
|
/**
|
|
954
967
|
* The hue an overview block is tinted with; see ./render/overviewPalette. */
|
|
955
968
|
private dominantSellableColor;
|
|
956
|
-
/**
|
|
957
|
-
* Free seats here matching the accessibility filter; see ./render/sectionLod. */
|
|
969
|
+
/** Free matching seats in this section — memoised; see ./render/focusFraming. */
|
|
958
970
|
private sectionAccessibleFree;
|
|
971
|
+
/** The named sections holding a FREE matching space — see ./render/focusFraming. */
|
|
972
|
+
accessibleSections(types?: AccessibilityType[] | null): AccessibleSectionSummary[];
|
|
959
973
|
private get sectionLodPaintContext();
|
|
960
974
|
/** Build the zone pills (name + FROM price) — see render/zoneScene.ts. */
|
|
961
975
|
private renderZones;
|
|
@@ -1084,6 +1098,7 @@ declare class SeatmapRenderer implements ISeatmapRenderer {
|
|
|
1084
1098
|
}, opts?: {
|
|
1085
1099
|
animate?: boolean;
|
|
1086
1100
|
minScale?: number;
|
|
1101
|
+
maxScale?: number;
|
|
1087
1102
|
durationMs?: number;
|
|
1088
1103
|
}): void;
|
|
1089
1104
|
/**
|
|
@@ -1183,16 +1198,6 @@ declare class SeatmapRenderer implements ISeatmapRenderer {
|
|
|
1183
1198
|
}
|
|
1184
1199
|
declare function createRenderer(container: HTMLDivElement, opts?: RendererOptions): ISeatmapRenderer;
|
|
1185
1200
|
|
|
1186
|
-
/**
|
|
1187
|
-
* Automatic row-letter label planning: where each authored row label wants to
|
|
1188
|
-
* sit in world space, and how an automatic start/end label steps out of the way
|
|
1189
|
-
* of seats and already-painted text.
|
|
1190
|
-
*
|
|
1191
|
-
* Moved verbatim out of SeatmapRenderer (2026-08-15 refactor, Phase 2B pass B);
|
|
1192
|
-
* `this.` became either a `ctx` field or an explicit parameter, and
|
|
1193
|
-
* `buildRowLabelPlan` returns the plan instead of assigning `this.rowLabelPlan`.
|
|
1194
|
-
*/
|
|
1195
|
-
|
|
1196
1201
|
/**
|
|
1197
1202
|
* Reduce a globally-unique authored row name to the local identity a buyer
|
|
1198
1203
|
* needs, given the section that already names itself on screen.
|
|
@@ -1217,42 +1222,6 @@ declare function createRenderer(container: HTMLDivElement, opts?: RendererOption
|
|
|
1217
1222
|
*/
|
|
1218
1223
|
declare function compactRowLabel(rowLabel: string, sectionLabel: string | undefined): string;
|
|
1219
1224
|
|
|
1220
|
-
/**
|
|
1221
|
-
* The access needs THIS chart actually offers, with live free counts.
|
|
1222
|
-
*
|
|
1223
|
-
* The accessibility sheet used to render the whole twelve-key taxonomy on
|
|
1224
|
-
* every event, so a buyer at a venue with nothing but wheelchair bays was
|
|
1225
|
-
* offered "CART live-caption view" and "Sign-language view" — chips that
|
|
1226
|
-
* filter to an empty map. Offering a provision that does not exist is worse
|
|
1227
|
-
* than a short list: it reads as a venue that has it and has sold out of it.
|
|
1228
|
-
*
|
|
1229
|
-
* So the list is derived from the seats the chart authored. A key appears
|
|
1230
|
-
* because at least one seat carries it — including a key whose seats are all
|
|
1231
|
-
* gone, which is shown at zero and disabled rather than dropped, so the
|
|
1232
|
-
* difference between "this venue has none" and "this venue's are taken" stays
|
|
1233
|
-
* visible.
|
|
1234
|
-
*
|
|
1235
|
-
* `count` is FREE seats only, and is counted exactly the way
|
|
1236
|
-
* `sectionAccessibleFreeCount` counts them (status `free`, then the seat's own
|
|
1237
|
-
* accommodation set) — one definition of "available accessible seating" across
|
|
1238
|
-
* the overview blocks, the section card and this list.
|
|
1239
|
-
*/
|
|
1240
|
-
|
|
1241
|
-
/** One provision the event offers, and how many of it are still free. */
|
|
1242
|
-
interface PickerAccessNeed {
|
|
1243
|
-
key: AccessibilityType;
|
|
1244
|
-
/** Free seats carrying this accommodation right now. May be 0. */
|
|
1245
|
-
count: number;
|
|
1246
|
-
}
|
|
1247
|
-
/**
|
|
1248
|
-
* The provisions on this chart, in the taxonomy's own order.
|
|
1249
|
-
*
|
|
1250
|
-
* Taxonomy order rather than count order on purpose: the sheet is a stable
|
|
1251
|
-
* control, and a list that reshuffles itself as other buyers take seats is one
|
|
1252
|
-
* the returning buyer has to re-read every time.
|
|
1253
|
-
*/
|
|
1254
|
-
declare function accessNeedsFor(seats: Iterable<ExpandedSeat>, statusOf: (seatId: string) => string): PickerAccessNeed[];
|
|
1255
|
-
|
|
1256
1225
|
/**
|
|
1257
1226
|
* What an availability refresh means for the buyer who is looking at the map.
|
|
1258
1227
|
*
|
|
@@ -1611,8 +1580,20 @@ interface PickerRealtimeSink {
|
|
|
1611
1580
|
default: string;
|
|
1612
1581
|
exceptions: Record<string, string>;
|
|
1613
1582
|
}): void;
|
|
1614
|
-
/**
|
|
1615
|
-
|
|
1583
|
+
/**
|
|
1584
|
+
* Re-pull authoritative state over HTTP (a frame that cannot be diffed).
|
|
1585
|
+
*
|
|
1586
|
+
* `reason: 'connect'` marks the pull a fresh socket makes for parity rather
|
|
1587
|
+
* than because anything said the map is stale. A sink that has just booted
|
|
1588
|
+
* from an authoritative read is entitled to skip that one — the connection
|
|
1589
|
+
* itself is not evidence of a change, and on a real event page the boot read
|
|
1590
|
+
* and the connect read were landing 400ms apart, both of them full snapshots.
|
|
1591
|
+
* Any other reason (an undiffable frame, a resume the server never answered)
|
|
1592
|
+
* is a real "I do not know the state" and is never skipped.
|
|
1593
|
+
*/
|
|
1594
|
+
resync(opts?: {
|
|
1595
|
+
reason?: 'connect' | 'frame';
|
|
1596
|
+
}): void | Promise<void>;
|
|
1616
1597
|
/** Section availability changed (hidden = stripped, closed = greyed). */
|
|
1617
1598
|
onSections?(hidden: string[], closed: string[]): void;
|
|
1618
1599
|
/** Scope-projected presence counters. Unused by the picker today. */
|
|
@@ -1729,8 +1710,19 @@ interface PickerCallbacks extends RendererCallbacks {
|
|
|
1729
1710
|
onHoldExpired?: () => void;
|
|
1730
1711
|
/** A booking completed with this ref. */
|
|
1731
1712
|
onBook?: (bookingRef: string) => void;
|
|
1732
|
-
/**
|
|
1733
|
-
|
|
1713
|
+
/**
|
|
1714
|
+
* A seat-status batch was painted (delta or snapshot) — e.g. to recount "N left".
|
|
1715
|
+
*
|
|
1716
|
+
* `changed` says whether that batch moved anything. A re-stated snapshot —
|
|
1717
|
+
* what a fresh socket, a resume answer or a section rebuild produces — paints
|
|
1718
|
+
* the identical map, and a listener that treats every paint as news does real
|
|
1719
|
+
* work for it: the buyer widget was pulling live offer availability over the
|
|
1720
|
+
* network once per repaint. Absent on an older engine, so read it as
|
|
1721
|
+
* "assume changed" when it is not there.
|
|
1722
|
+
*/
|
|
1723
|
+
onStatusChange?: (info?: {
|
|
1724
|
+
changed: boolean;
|
|
1725
|
+
}) => void;
|
|
1734
1726
|
/**
|
|
1735
1727
|
* An availability refresh finished — what it changed for THIS buyer.
|
|
1736
1728
|
*
|
|
@@ -1893,6 +1885,62 @@ interface PickerMapTheme {
|
|
|
1893
1885
|
selectionColor?: string;
|
|
1894
1886
|
}
|
|
1895
1887
|
|
|
1888
|
+
/**
|
|
1889
|
+
* The buyer picker's FILTER-DRIVEN camera rules.
|
|
1890
|
+
*
|
|
1891
|
+
* Two filters — accessibility and price band — each answer "take me to what I
|
|
1892
|
+
* asked for", and both have to solve the same multi-floor trap first: the
|
|
1893
|
+
* renderer only knows the active floor's seats, so a match on another deck is
|
|
1894
|
+
* a silent no-op unless the floor is switched before the camera is asked to
|
|
1895
|
+
* move. Those decisions moved out of PickerController verbatim behind an
|
|
1896
|
+
* explicit context; they own no state and touch the renderer only through the
|
|
1897
|
+
* interface the controller already used.
|
|
1898
|
+
*/
|
|
1899
|
+
|
|
1900
|
+
/** One step of the accessibility section tour — see {@link focusNextAccessibleSection}. */
|
|
1901
|
+
interface AccessibleSectionStep extends AccessibleSectionSummary {
|
|
1902
|
+
/** 0-based position in the tour. */
|
|
1903
|
+
index: number;
|
|
1904
|
+
/** How many sections the tour has. */
|
|
1905
|
+
total: number;
|
|
1906
|
+
}
|
|
1907
|
+
|
|
1908
|
+
/**
|
|
1909
|
+
* The access needs THIS chart actually offers, with live free counts.
|
|
1910
|
+
*
|
|
1911
|
+
* The accessibility sheet used to render the whole twelve-key taxonomy on
|
|
1912
|
+
* every event, so a buyer at a venue with nothing but wheelchair bays was
|
|
1913
|
+
* offered "CART live-caption view" and "Sign-language view" — chips that
|
|
1914
|
+
* filter to an empty map. Offering a provision that does not exist is worse
|
|
1915
|
+
* than a short list: it reads as a venue that has it and has sold out of it.
|
|
1916
|
+
*
|
|
1917
|
+
* So the list is derived from the seats the chart authored. A key appears
|
|
1918
|
+
* because at least one seat carries it — including a key whose seats are all
|
|
1919
|
+
* gone, which is shown at zero and disabled rather than dropped, so the
|
|
1920
|
+
* difference between "this venue has none" and "this venue's are taken" stays
|
|
1921
|
+
* visible.
|
|
1922
|
+
*
|
|
1923
|
+
* `count` is FREE seats only, and is counted exactly the way
|
|
1924
|
+
* `sectionAccessibleFreeCount` counts them (status `free`, then the seat's own
|
|
1925
|
+
* accommodation set) — one definition of "available accessible seating" across
|
|
1926
|
+
* the overview blocks, the section card and this list.
|
|
1927
|
+
*/
|
|
1928
|
+
|
|
1929
|
+
/** One provision the event offers, and how many of it are still free. */
|
|
1930
|
+
interface PickerAccessNeed {
|
|
1931
|
+
key: AccessibilityType;
|
|
1932
|
+
/** Free seats carrying this accommodation right now. May be 0. */
|
|
1933
|
+
count: number;
|
|
1934
|
+
}
|
|
1935
|
+
/**
|
|
1936
|
+
* The provisions on this chart, in the taxonomy's own order.
|
|
1937
|
+
*
|
|
1938
|
+
* Taxonomy order rather than count order on purpose: the sheet is a stable
|
|
1939
|
+
* control, and a list that reshuffles itself as other buyers take seats is one
|
|
1940
|
+
* the returning buyer has to re-read every time.
|
|
1941
|
+
*/
|
|
1942
|
+
declare function accessNeedsFor(seats: Iterable<ExpandedSeat>, statusOf: (seatId: string) => string): PickerAccessNeed[];
|
|
1943
|
+
|
|
1896
1944
|
declare class PickerController {
|
|
1897
1945
|
private readonly opts;
|
|
1898
1946
|
private readonly api;
|
|
@@ -1936,6 +1984,8 @@ declare class PickerController {
|
|
|
1936
1984
|
private confirmedVariableTables;
|
|
1937
1985
|
private groupedSelectionOverhead;
|
|
1938
1986
|
private ws;
|
|
1987
|
+
/** Standby snapshot pull for a socket that connected and then said nothing. */
|
|
1988
|
+
private connectFallback;
|
|
1939
1989
|
/** Transport-owned v1 client; mutually exclusive with `ws`. */
|
|
1940
1990
|
private realtime;
|
|
1941
1991
|
private reconnectTimer;
|
|
@@ -2227,41 +2277,21 @@ declare class PickerController {
|
|
|
2227
2277
|
setAccessibilityFilter(types: string[] | null): void;
|
|
2228
2278
|
/** The buyer's active accessibility filter, or null. */
|
|
2229
2279
|
getAccessibilityFilter(): AccessibilityType[] | null;
|
|
2280
|
+
/** Where {@link focusNextAccessibleSection} last stopped. */
|
|
2281
|
+
private accessStepAt;
|
|
2230
2282
|
/**
|
|
2231
|
-
*
|
|
2232
|
-
*
|
|
2233
|
-
*
|
|
2234
|
-
* camera rule (see the renderer's `focusAccessibleSeats`). Switching the
|
|
2235
|
-
* filter on used to jump to the seats rung, which on the validator's
|
|
2236
|
-
* uber-arena — twelve wheelchair spaces spread over a 14k-seat venue — put
|
|
2237
|
-
* every single match off-screen: the buyer asked "where can I sit?" and got
|
|
2238
|
-
* a close-up of a block with no accessible seats in it.
|
|
2239
|
-
*
|
|
2240
|
-
* Frames the union of the matches instead, so all twelve are on screen. No-op
|
|
2241
|
-
* when the filter is off or matched nothing; returns whether it moved, so a
|
|
2242
|
-
* host can keep its old behaviour as a fallback.
|
|
2283
|
+
* The state the filter-driven camera rules read and change — see
|
|
2284
|
+
* ./pickerFocus. Rebuilt per call; the accessor pair keeps the controller
|
|
2285
|
+
* the owner of the filter and of the section-tour cursor.
|
|
2243
2286
|
*/
|
|
2287
|
+
private get pickerFocusContext();
|
|
2288
|
+
/** Take the buyer to the seats their accessibility filter matched. */
|
|
2244
2289
|
focusAccessibilityFilter(types?: AccessibilityType[] | null): boolean;
|
|
2245
|
-
/**
|
|
2246
|
-
|
|
2247
|
-
|
|
2248
|
-
|
|
2249
|
-
|
|
2250
|
-
private floorForAccessibility;
|
|
2251
|
-
/**
|
|
2252
|
-
* Does the active accessibility filter RECEDE this seat?
|
|
2253
|
-
*
|
|
2254
|
-
* The 2D map answers this with Konva opacity, which the GL view never sees —
|
|
2255
|
-
* so a buyer who filtered for wheelchair spaces and then switched to 3D got
|
|
2256
|
-
* the unfiltered venue back, every zone in normal colour, with no sign the
|
|
2257
|
-
* filter was still on. The widget's 3D snapshot builder already asks the same
|
|
2258
|
-
* question of the price band and the limited-view toggle; this is the third,
|
|
2259
|
-
* and it is answered HERE rather than in the widget so the rule cannot drift
|
|
2260
|
-
* from the one the canvas paints (renderer `hiddenByAccessFilter`).
|
|
2261
|
-
*
|
|
2262
|
-
* Presentation only, exactly as in 2D: a dimmed seat is not an unselectable
|
|
2263
|
-
* one.
|
|
2264
|
-
*/
|
|
2290
|
+
/** What the accessibility filter matched, and how it is spread. */
|
|
2291
|
+
accessibilitySpread(types?: AccessibilityType[] | null): AccessibleSpread | null;
|
|
2292
|
+
/** Step to the next section holding a free matching space. */
|
|
2293
|
+
focusNextAccessibleSection(types?: AccessibilityType[] | null): AccessibleSectionStep | null;
|
|
2294
|
+
/** Does the active accessibility filter RECEDE this seat? See ./pickerFocus. */
|
|
2265
2295
|
accessibilityFilterDims(seat: ExpandedSeat): boolean;
|
|
2266
2296
|
/**
|
|
2267
2297
|
* "Hide limited-view seats" toggle — dims free seats flagged
|
|
@@ -2304,15 +2334,8 @@ declare class PickerController {
|
|
|
2304
2334
|
/** Price-band filter (F4): dim free seats whose category is outside `keys`
|
|
2305
2335
|
* (null clears). The widget resolves which categories fall in the band. */
|
|
2306
2336
|
setCategoryFilter(keys: string[] | null): void;
|
|
2307
|
-
/**
|
|
2308
|
-
* chart: clear any older section drill-in and guide the camera to the seats
|
|
2309
|
-
* that remain relevant. Clearing the filter glides back to the full chart. */
|
|
2337
|
+
/** Guide the camera to the seats a price band left — see ./pickerFocus. */
|
|
2310
2338
|
focusCategoryFilter(keys: string[] | null): void;
|
|
2311
|
-
/** The floor a buyer means when filtering to `keys`: the active floor when it
|
|
2312
|
-
* carries any of those categories, else the first floor that does (null =
|
|
2313
|
-
* stay put). Row overrides and GA areas count — a category can exist on a
|
|
2314
|
-
* floor only via a per-seat override. */
|
|
2315
|
-
private floorForCategories;
|
|
2316
2339
|
/** World-space rect currently visible + full chart bounds (F3 minimap frame). */
|
|
2317
2340
|
getViewport(): {
|
|
2318
2341
|
visible: {
|
|
@@ -2343,6 +2366,19 @@ declare class PickerController {
|
|
|
2343
2366
|
x: number;
|
|
2344
2367
|
y: number;
|
|
2345
2368
|
}): void;
|
|
2369
|
+
/**
|
|
2370
|
+
* Take the camera to seats the ENGINE picked, and name the section they are in.
|
|
2371
|
+
*
|
|
2372
|
+
* Best-available's arrival used to frame the section of the first seat found,
|
|
2373
|
+
* which on a large stand showed the buyer everything except which seats they
|
|
2374
|
+
* had been given. The renderer frames the seats themselves; the summary
|
|
2375
|
+
* emitted here is what renames the dock bar, so the two halves of "you are
|
|
2376
|
+
* here" still agree. False when the renderer could not frame them — the
|
|
2377
|
+
* caller falls back to the section.
|
|
2378
|
+
*/
|
|
2379
|
+
focusSeats(ids: readonly string[], opts?: {
|
|
2380
|
+
animate?: boolean;
|
|
2381
|
+
}): boolean;
|
|
2346
2382
|
/** Live seat membership count used by buyer section-navigation controls. */
|
|
2347
2383
|
getSectionSeatCount(id: string): number;
|
|
2348
2384
|
/** Zoom back out to the whole chart and clear the section-summary card + focus. */
|
|
@@ -2357,6 +2393,7 @@ declare class PickerController {
|
|
|
2357
2393
|
* object owns beyond four values, and this file is at its size cap.
|
|
2358
2394
|
*/
|
|
2359
2395
|
private sectionSummary;
|
|
2396
|
+
private clearConnectFallback;
|
|
2360
2397
|
destroy(): void;
|
|
2361
2398
|
private toSeat;
|
|
2362
2399
|
private toTableSeat;
|
|
@@ -2410,6 +2447,17 @@ declare class PickerController {
|
|
|
2410
2447
|
* a parameter rather than a constant.
|
|
2411
2448
|
*/
|
|
2412
2449
|
private applySeatsMap;
|
|
2450
|
+
/**
|
|
2451
|
+
* When an authoritative map was last painted, and whether one is recent.
|
|
2452
|
+
*
|
|
2453
|
+
* A socket opening is not news. The boot read and the connect read were
|
|
2454
|
+
* landing within half a second of each other on a real event page — two full
|
|
2455
|
+
* snapshots of the same venue, the second answering a question nobody asked.
|
|
2456
|
+
* Five seconds is comfortably longer than a boot takes and far shorter than
|
|
2457
|
+
* any window in which a silent server could leave the map wrong.
|
|
2458
|
+
*/
|
|
2459
|
+
private lastSnapshotAt;
|
|
2460
|
+
private snapshotIsFresh;
|
|
2413
2461
|
/** The live status of one unit, honouring the projection's default. */
|
|
2414
2462
|
private statusOf;
|
|
2415
2463
|
private clearBookedHoldIfSettled;
|
|
@@ -2459,6 +2507,8 @@ declare class PickerController {
|
|
|
2459
2507
|
* callbacks in the same order whichever path is live.
|
|
2460
2508
|
*/
|
|
2461
2509
|
private realtimeSink;
|
|
2510
|
+
/** Does this authoritative map say anything the last one did not? */
|
|
2511
|
+
private seatsMapDiffers;
|
|
2462
2512
|
/** Paint one delta batch. Shared by the v1 sink and the plain-socket handler. */
|
|
2463
2513
|
private applyStatusChanges;
|
|
2464
2514
|
private connect;
|
|
@@ -2739,4 +2789,4 @@ declare function formatMinor(minor: number, currency?: string, locale?: string):
|
|
|
2739
2789
|
/** Bare symbol for input adornments ("€", "$", "₹"). */
|
|
2740
2790
|
declare function currencySymbol(currency?: string): string;
|
|
2741
2791
|
|
|
2742
|
-
export { AccessibilityType, type AvailabilityRefreshInput, type AvailabilityRefreshOutcome, CURRENCY_CHOICES, CategoryTier, ChartDeliveryPerformance, ChartDoc, DEFAULT_CURRENCY, type Dict, type Direction, EMPTY_AVAILABILITY_REFRESH, EventConfigurationRef, EventConfigurationVersion, ExpandedSeat, FloorLabelStyle, GAAreaState, HOLD_CLOCK_SKEW_MS, type HoldConflict, type HoldInfo, type HoldRecoveryShape, type HoldSelectionRequest, type HoldServerItem, ISeatmapRenderer, LABEL_FADE_MS, LEGIBILITY_HYSTERESIS_PX, LOCALE_NAMES, type Locale, LodRung, type MoneyFormatOptions, type PanoramaResult, type PickerAccessNeed, type PickerCallbacks, PickerController, type PickerGAArea, type PickerMapTheme, type PickerOptions, type PickerRealtimeConnection, type PickerRealtimeSink, type PickerRenderPerformanceProfile, type PickerSeat, PickerSelectionError, type PickerSelectionValidator, type PickerSelectionValidity, type PickerSelectionViolation, type PickerStatusChange, type PickerTransport, Point, RendererCallbacks, RendererMinimapSnapshot, RendererOptions, RendererQualityEvidence, RendererViewMode, SUPPORTED_LOCALES, SeatCommercialAttributes, type SeatHoverDetails, SeatMark, SeatStatus, SeatmapRenderer, type SectionCategory, type SectionSummary, TRANSLATED_LOCALES, type TableSelectionDetails, accessNeedsFor, attachVisibilityCatchUp, compactRowLabel, createRenderer, crossesThreshold, currencyExponent, currencySymbol, formatDate, formatMinor, formatMoney, fromMinorUnits, generateSeatPanorama, generateSeatThumb, getLocale, holdHasLapsed, holdRecoveryShape, hysteresisScale, isLocaleLoaded, loadLocale, localeDirection, reconcileAvailability, refreshChangedSomething, renderedPx, resolveLocale, setLocale, setMoneyLocale, setStringOverrides, shouldWaitForHoldExpiry, t, tCount, zoomTowardPoint };
|
|
2792
|
+
export { AccessibilityType, type AccessibleSectionStep, type AccessibleSectionSummary, type AccessibleSpread, type AvailabilityRefreshInput, type AvailabilityRefreshOutcome, CURRENCY_CHOICES, CategoryTier, ChartDeliveryPerformance, ChartDoc, DEFAULT_CURRENCY, type Dict, type Direction, EMPTY_AVAILABILITY_REFRESH, EventConfigurationRef, EventConfigurationVersion, ExpandedSeat, FloorLabelStyle, GAAreaState, HOLD_CLOCK_SKEW_MS, type HoldConflict, type HoldInfo, type HoldRecoveryShape, type HoldSelectionRequest, type HoldServerItem, ISeatmapRenderer, LABEL_FADE_MS, LEGIBILITY_HYSTERESIS_PX, LOCALE_NAMES, type Locale, LodRung, type MoneyFormatOptions, type PanoramaResult, type PickerAccessNeed, type PickerCallbacks, PickerController, type PickerGAArea, type PickerMapTheme, type PickerOptions, type PickerRealtimeConnection, type PickerRealtimeSink, type PickerRenderPerformanceProfile, type PickerSeat, PickerSelectionError, type PickerSelectionValidator, type PickerSelectionValidity, type PickerSelectionViolation, type PickerStatusChange, type PickerTransport, Point, RendererCallbacks, RendererMinimapSnapshot, RendererOptions, RendererQualityEvidence, RendererViewMode, SUPPORTED_LOCALES, SeatCommercialAttributes, type SeatHoverDetails, SeatMark, SeatStatus, SeatmapRenderer, type SectionCategory, type SectionSummary, TRANSLATED_LOCALES, type TableSelectionDetails, accessNeedsFor, attachVisibilityCatchUp, compactRowLabel, createRenderer, crossesThreshold, currencyExponent, currencySymbol, formatDate, formatMinor, formatMoney, fromMinorUnits, generateSeatPanorama, generateSeatThumb, getLocale, holdHasLapsed, holdRecoveryShape, hysteresisScale, isLocaleLoaded, loadLocale, localeDirection, reconcileAvailability, refreshChangedSomething, renderedPx, resolveLocale, setLocale, setMoneyLocale, setStringOverrides, shouldWaitForHoldExpiry, t, tCount, zoomTowardPoint };
|