@seatlayer/core 0.74.0 → 0.75.2
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/README.md +3 -2
- package/dist/ar-JOSU54ZZ.js +1 -0
- package/dist/be-UDIVAZGH.js +1 -0
- package/dist/bg-AJX2SNK4.js +1 -0
- package/dist/ca-MC23KMQH.js +1 -0
- package/dist/{categoryInventory-DueSAIBX.d.cts → categoryInventory-CBuJy9KM.d.cts} +1 -1
- package/dist/{categoryInventory-Bcmnr6ZH.d.ts → categoryInventory-Cy5pQ0KW.d.ts} +1 -1
- package/dist/chunk-24O23MNB.js +1 -0
- package/dist/chunk-BT2KJXQC.js +1 -0
- package/dist/{chunk-3L4M7L5I.js → chunk-BXU5D2Q5.js} +1 -1
- package/dist/chunk-FGMGDTMR.js +1 -0
- package/dist/chunk-JQL77POQ.js +1 -0
- package/dist/{chunk-ZMYRXJOA.js → chunk-NQZAZFAC.js} +1 -1
- package/dist/{chunk-JLYR66MT.js → chunk-O5UH442K.js} +1 -1
- package/dist/{chunk-N5NRM4NW.js → chunk-PRED5KHO.js} +1 -1
- package/dist/{chunk-UX67GDLV.js → chunk-Q3U3F4YJ.js} +1 -1
- package/dist/chunk-SPM2LMKI.js +1 -0
- package/dist/{chunk-BAWUBGWY.js → chunk-WXGW2SYC.js} +1 -1
- package/dist/{chunk-FMZ6HLDH.js → chunk-XD2P4ZS4.js} +1 -1
- package/dist/core/chart-ops/index.cjs +1 -1
- package/dist/core/chart-ops/index.d.cts +7 -5
- package/dist/core/chart-ops/index.d.ts +7 -5
- package/dist/core/chart-ops/index.js +1 -1
- 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/inventory/index.js +1 -1
- package/dist/core/layout/index.cjs +1 -1
- package/dist/core/layout/index.d.cts +5 -5
- package/dist/core/layout/index.d.ts +5 -5
- package/dist/core/layout/index.js +1 -1
- package/dist/core/quality/index.cjs +1 -1
- package/dist/core/quality/index.d.cts +18 -14
- package/dist/core/quality/index.d.ts +18 -14
- package/dist/core/quality/index.js +1 -1
- 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.cjs +1 -1
- package/dist/core/sections/index.d.cts +5 -5
- package/dist/core/sections/index.d.ts +5 -5
- package/dist/core/sections/index.js +1 -1
- package/dist/cs-Q4OEV3NE.js +1 -0
- package/dist/cy-TPDRMPTK.js +1 -0
- package/dist/da-U6XXTCII.js +1 -0
- package/dist/de-ZV54ZWHR.js +1 -0
- package/dist/el-5VQKNNQV.js +1 -0
- package/dist/es-Y3BNIAEW.js +1 -0
- package/dist/et-HCCA6TE3.js +1 -0
- package/dist/{eventConfigurations-DwXdrjqj.d.cts → eventConfigurations-CqfrYWAb.d.cts} +1 -1
- package/dist/{eventConfigurations-C7YAqkFR.d.ts → eventConfigurations-Dhauc9V3.d.ts} +1 -1
- package/dist/fa-SZ3EAODM.js +1 -0
- package/dist/fi-S34TMT35.js +1 -0
- package/dist/fr-RQIXNHQ5.js +1 -0
- package/dist/he-PPNABESI.js +1 -0
- package/dist/hr-IZOGRWC5.js +1 -0
- package/dist/hu-K7EOGFAB.js +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +152 -18
- package/dist/index.d.ts +152 -18
- package/dist/index.js +1 -1
- package/dist/it-PD5WJDNR.js +1 -0
- package/dist/ja-3CFZ2KK6.js +1 -0
- package/dist/ku-MQJTRLDV.js +1 -0
- package/dist/{labeling-iugoy25P.d.cts → labeling-B1xsmowB.d.cts} +1 -1
- package/dist/{labeling-BUCj-kHU.d.ts → labeling-BwPEI5JN.d.ts} +1 -1
- package/dist/localeLoaders-ETY2H7H3.js +1 -0
- package/dist/lt-6Q5DJHXR.js +1 -0
- package/dist/lv-BQ3LWGW6.js +1 -0
- package/dist/nl-ZPVH2YGT.js +1 -0
- package/dist/no-R7I6YW7N.js +1 -0
- package/dist/openPanorama-6FMXAJ6O.js +20 -0
- package/dist/pl-EU2O5DYI.js +1 -0
- package/dist/pt-UMSFOY5P.js +1 -0
- package/dist/{renderedQuality-CSHrmnHf.d.cts → renderedQuality-1E9KuJvY.d.cts} +1 -1
- package/dist/{renderedQuality-CfonzUpl.d.ts → renderedQuality-ChAZNV2N.d.ts} +1 -1
- package/dist/{renderer-Dn4Plcv9.d.cts → renderer-BRmVrITG.d.cts} +17 -1
- package/dist/{renderer-C5avrVLy.d.ts → renderer-q7viZLGZ.d.ts} +17 -1
- package/dist/ro-GR35LU2L.js +1 -0
- package/dist/ru-CXYAZQEV.js +1 -0
- package/dist/{sections-uV7vqDHj.d.ts → sections-ByTMouG8.d.ts} +1 -1
- package/dist/{sections-DhJ7TukF.d.cts → sections-CA-bBex5.d.cts} +1 -1
- package/dist/{segmentedRowModel-DWOjcPrU.d.cts → segmentedRowModel-C7XOEjHk.d.cts} +1 -1
- package/dist/{segmentedRowModel-DgSEzAYd.d.ts → segmentedRowModel-DcvJVKLD.d.ts} +1 -1
- package/dist/sk-GUB52YMC.js +1 -0
- package/dist/sl-J7N6LDON.js +1 -0
- package/dist/sr-A7GQEH7K.js +1 -0
- package/dist/sv-ARLHHSPZ.js +1 -0
- package/dist/{layout-DPJX6D9k.d.cts → tableSizing-BdCyNeqX.d.cts} +23 -4
- package/dist/{layout-Dv3R0Mpw.d.ts → tableSizing-D8e8QAJ-.d.ts} +23 -4
- package/dist/{ticketRestrictions-JT87K45q.d.cts → ticketRestrictions-CPZglNvw.d.cts} +2 -2
- package/dist/{ticketRestrictions-DIh61MqE.d.ts → ticketRestrictions-CorjMY49.d.ts} +2 -2
- package/dist/tr-6TE3U7WM.js +1 -0
- package/dist/{types-Dx4jA8aI.d.cts → types-CqaNLbU6.d.cts} +25 -4
- package/dist/{types-Dx4jA8aI.d.ts → types-CqaNLbU6.d.ts} +25 -4
- package/dist/uk-RMVPSRMH.js +1 -0
- package/dist/view3d/crossfade/panorama.cjs +1 -1
- package/dist/view3d/crossfade/panorama.d.cts +20 -2
- package/dist/view3d/crossfade/panorama.d.ts +20 -2
- package/dist/view3d/crossfade/panorama.js +1 -1
- package/dist/view3d/index.cjs +31 -31
- package/dist/view3d/index.d.cts +30 -3
- package/dist/view3d/index.d.ts +30 -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-SNO4DA32.js +1 -0
- package/dist/zh-Hant-TVIKBD5S.js +1 -0
- package/package.json +2 -2
- package/dist/ar-JP4VPYJ2.js +0 -1
- package/dist/be-ROTFZNMH.js +0 -1
- package/dist/bg-YMQ3B5NS.js +0 -1
- package/dist/ca-L2OMCHWL.js +0 -1
- package/dist/chunk-52MZJZMW.js +0 -1
- package/dist/chunk-5JB4VW6B.js +0 -1
- package/dist/chunk-6TIKEDC4.js +0 -1
- package/dist/chunk-BLPBTW6I.js +0 -1
- package/dist/chunk-KN7GLEAI.js +0 -1
- package/dist/chunk-YFV4DSSX.js +0 -1
- package/dist/cs-CHBOZAYY.js +0 -1
- package/dist/cy-ZIVBYZBX.js +0 -1
- package/dist/da-PUY5IIER.js +0 -1
- package/dist/de-ILFIEU77.js +0 -1
- package/dist/el-5EG3QS5T.js +0 -1
- package/dist/es-YXZQB5VZ.js +0 -1
- package/dist/et-FZIUC4FC.js +0 -1
- package/dist/fa-KKBNUDRE.js +0 -1
- package/dist/fi-B6JSP5Z5.js +0 -1
- package/dist/fr-T5LHFRKG.js +0 -1
- package/dist/he-JF4HU75D.js +0 -1
- package/dist/hr-S5OXZ3NI.js +0 -1
- package/dist/hu-ZZDYG6ZF.js +0 -1
- package/dist/it-A5VCFTQP.js +0 -1
- package/dist/ja-PAJD5HFJ.js +0 -1
- package/dist/ku-KV2AIB6I.js +0 -1
- package/dist/localeLoaders-VULFUGJH.js +0 -1
- package/dist/lt-OSFNYQ2L.js +0 -1
- package/dist/lv-5INNWEN5.js +0 -1
- package/dist/nl-YOLY3DXM.js +0 -1
- package/dist/no-C5MG5NPH.js +0 -1
- package/dist/openPanorama-HGRYMWKC.js +0 -20
- package/dist/pl-ERGM2HA3.js +0 -1
- package/dist/pt-S6SBTHES.js +0 -1
- package/dist/ro-NQ4LIATX.js +0 -1
- package/dist/ru-ICFP6U3S.js +0 -1
- package/dist/sk-VYH6WIZ2.js +0 -1
- package/dist/sl-AA54VE5P.js +0 -1
- package/dist/sr-Z27ZL5ZE.js +0 -1
- package/dist/sv-BT4MNMB5.js +0 -1
- package/dist/tr-3TSE3BBR.js +0 -1
- package/dist/uk-YD2PBENU.js +0 -1
- package/dist/zh-Hans-VPQE6LWU.js +0 -1
- package/dist/zh-Hant-PUKPX45I.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,
|
|
3
|
-
import { E as EventConfigurationRef, a as EventConfigurationVersion } from './eventConfigurations-
|
|
4
|
-
export { b as EVENT_CONFIGURATION_EXPORT_SCHEMA, c as EVENT_CONFIGURATION_SCHEMA, d as EventConfigurationBaseVenue, e as EventConfigurationCompatibilityIssue, f as EventConfigurationCompatibilityIssueCode, g as EventConfigurationCompatibilityResult, h as EventConfigurationExportEnvelope, i as EventConfigurationLifecycleStatus, j as EventConfigurationOcclusion, k as EventConfigurationOverlay, l as EventConfigurationParseIssue, m as EventConfigurationParseIssueCode, n as EventConfigurationParseResult, o as EventConfigurationProductionElement, p 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-
|
|
5
|
-
export { C as ChartBoundsOptions, E as ExpandChartOptions, F as FLOOR_STACK_GAP_RATIO,
|
|
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-CqaNLbU6.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-CqaNLbU6.cjs';
|
|
3
|
+
import { E as EventConfigurationRef, a as EventConfigurationVersion } from './eventConfigurations-CqfrYWAb.cjs';
|
|
4
|
+
export { b as EVENT_CONFIGURATION_EXPORT_SCHEMA, c as EVENT_CONFIGURATION_SCHEMA, d as EventConfigurationBaseVenue, e as EventConfigurationCompatibilityIssue, f as EventConfigurationCompatibilityIssueCode, g as EventConfigurationCompatibilityResult, h as EventConfigurationExportEnvelope, i as EventConfigurationLifecycleStatus, j as EventConfigurationOcclusion, k as EventConfigurationOverlay, l as EventConfigurationParseIssue, m as EventConfigurationParseIssueCode, n as EventConfigurationParseResult, o as EventConfigurationProductionElement, p 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-CqfrYWAb.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-BdCyNeqX.cjs';
|
|
6
|
+
import { c as TicketSelectionIssue } from './ticketRestrictions-CPZglNvw.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-CPZglNvw.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-CA-bBex5.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-1E9KuJvY.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-BRmVrITG.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-BRmVrITG.cjs';
|
|
12
|
+
import './segmentedRowModel-C7XOEjHk.cjs';
|
|
13
13
|
|
|
14
14
|
/**
|
|
15
15
|
* Half-width of the band around a legibility threshold, in rendered pixels.
|
|
@@ -21,7 +21,7 @@ import './segmentedRowModel-DWOjcPrU.cjs';
|
|
|
21
21
|
*/
|
|
22
22
|
declare const LEGIBILITY_HYSTERESIS_PX = 1;
|
|
23
23
|
/** Opacity ease applied when the label layer is revealed, in milliseconds. */
|
|
24
|
-
declare const LABEL_FADE_MS =
|
|
24
|
+
declare const LABEL_FADE_MS = 90;
|
|
25
25
|
/** Rendered size of a chart-unit measurement at the current camera scale. */
|
|
26
26
|
declare function renderedPx(chartUnits: number, scale: number): number;
|
|
27
27
|
/**
|
|
@@ -172,8 +172,12 @@ declare class SeatmapRenderer implements ISeatmapRenderer {
|
|
|
172
172
|
private selectionMarkers;
|
|
173
173
|
/** Selection markers, the pick moment and the touch loupe — see seatMoments. */
|
|
174
174
|
private momentsCache;
|
|
175
|
+
/** The slow halo a picked seat keeps breathing — see selectionBreath. */
|
|
176
|
+
private breathCache;
|
|
175
177
|
/** Overview marks for the sections the buyer holds seats in — see ownedSections. */
|
|
176
178
|
private ownedCache;
|
|
179
|
+
/** The pressable "your seats are in here" marks below the seats rung. */
|
|
180
|
+
private beaconsCache;
|
|
177
181
|
/** Held by this picker instance, not by another buyer. */
|
|
178
182
|
private ownedHold;
|
|
179
183
|
private seatMarks;
|
|
@@ -216,6 +220,11 @@ declare class SeatmapRenderer implements ISeatmapRenderer {
|
|
|
216
220
|
private closedSections;
|
|
217
221
|
/** AXS section-focus: the currently-focused section id (others dim), or null. */
|
|
218
222
|
private focusedSectionId;
|
|
223
|
+
/** Annotation/icon node → "inside the focused section?", memoised per focus.
|
|
224
|
+
* See {@link nodeBelongsToFocusedSection}: the answer only changes when the
|
|
225
|
+
* focus (or the chart) does, but the question is asked on every view change. */
|
|
226
|
+
private focusMembership;
|
|
227
|
+
private focusMembershipKey;
|
|
219
228
|
/** Tap point the focus was entered on (replayed on a resize refit), and
|
|
220
229
|
* whether a manual pan has since put the locator on the buyer's camera. */
|
|
221
230
|
private focusAnchor;
|
|
@@ -227,6 +236,9 @@ declare class SeatmapRenderer implements ISeatmapRenderer {
|
|
|
227
236
|
private focusDimOverlay;
|
|
228
237
|
/** Object id → floor id (multi-floor only) — resolves a deck tap in the 3D stack. */
|
|
229
238
|
private objectFloor;
|
|
239
|
+
/** Seats with no owning section, computed once per chart — see
|
|
240
|
+
* {@link updateSeatGroupVisibility}. Null until first asked. */
|
|
241
|
+
private unsectionedSeatIds;
|
|
230
242
|
/** Zone id → colour (drives extruded side faces in iso view). */
|
|
231
243
|
private zoneColor;
|
|
232
244
|
private hasSections;
|
|
@@ -330,6 +342,8 @@ declare class SeatmapRenderer implements ISeatmapRenderer {
|
|
|
330
342
|
private resizeObs;
|
|
331
343
|
/** Coalesces bursty view-change sources (pointermove, wheel) into ≤1 callback/frame. */
|
|
332
344
|
private viewChangeRaf;
|
|
345
|
+
/** Coalesces the full post-zoom pass (LOD/labels/free text) for a wheel fling. */
|
|
346
|
+
private zoomSettleRaf;
|
|
333
347
|
/**
|
|
334
348
|
* Pan/pinch state machine (`render/interaction/pointer`). Raw pointer events
|
|
335
349
|
* on the container, not Konva stage dragging — its touch pipeline proved
|
|
@@ -347,6 +361,35 @@ declare class SeatmapRenderer implements ISeatmapRenderer {
|
|
|
347
361
|
* paid for on exactly the device that can least afford it.
|
|
348
362
|
*/
|
|
349
363
|
private get moments();
|
|
364
|
+
/**
|
|
365
|
+
* The breathing halo on the buyer's own seats. Built on first use — a map
|
|
366
|
+
* nobody has picked a seat on never allocates it, and never registers a
|
|
367
|
+
* frame loop.
|
|
368
|
+
*/
|
|
369
|
+
private get breath();
|
|
370
|
+
/**
|
|
371
|
+
* The selection beacons. Built on first use, like every other overlay family:
|
|
372
|
+
* a map nobody has picked a seat on allocates nothing and appends no DOM.
|
|
373
|
+
*/
|
|
374
|
+
private get beacons();
|
|
375
|
+
/**
|
|
376
|
+
* A beacon was pressed (or Entered): take the buyer to their seats.
|
|
377
|
+
*
|
|
378
|
+
* The SAME path a badge tap has always taken — focus the section, anchored on
|
|
379
|
+
* the centroid of the buyer's own seats there, so the entrance crop lands on
|
|
380
|
+
* their seats rather than on the middle of the block. A zone beacon resolves
|
|
381
|
+
* through the seat: what the buyer wants is the seat, and its section is the
|
|
382
|
+
* thing the camera and the host chrome both understand.
|
|
383
|
+
*
|
|
384
|
+
* Then the seat is ringed and announced WITHOUT moving the camera: the glide
|
|
385
|
+
* above is already travelling, and a synchronous `ensureVisible` snap would
|
|
386
|
+
* be overwritten by its next frame.
|
|
387
|
+
*/
|
|
388
|
+
private activateBeacon;
|
|
389
|
+
/** Rebuild the beacons for this camera, and hand their rings to the breath. */
|
|
390
|
+
private syncBeacons;
|
|
391
|
+
/** The buyer's own seats in a section, in chart order. */
|
|
392
|
+
private ownedSeatIds;
|
|
350
393
|
/** The buyer's seats, still visible once the seats have melted into blocks. */
|
|
351
394
|
private get owned();
|
|
352
395
|
/**
|
|
@@ -486,6 +529,12 @@ declare class SeatmapRenderer implements ISeatmapRenderer {
|
|
|
486
529
|
private onKeyDown;
|
|
487
530
|
/** Nearest seat from `fromId` in a cardinal direction (aligned + close wins). */
|
|
488
531
|
private nearestSeat;
|
|
532
|
+
/**
|
|
533
|
+
* Ring a seat and announce it. `move: false` leaves the camera alone — for a
|
|
534
|
+
* caller that is ALREADY gliding somewhere (the selection beacon focuses the
|
|
535
|
+
* section first, and `ensureVisible`'s synchronous snap would be overwritten
|
|
536
|
+
* by the glide's very next frame anyway).
|
|
537
|
+
*/
|
|
489
538
|
private focusSeat;
|
|
490
539
|
/** Pan/zoom so a seat sits on-screen at a legible scale (for keyboard focus). */
|
|
491
540
|
private ensureVisible;
|
|
@@ -564,6 +613,27 @@ declare class SeatmapRenderer implements ISeatmapRenderer {
|
|
|
564
613
|
focusCategories(keys: string[] | null, opts?: {
|
|
565
614
|
animate?: boolean;
|
|
566
615
|
}): void;
|
|
616
|
+
/**
|
|
617
|
+
* Frame every seat matching the accessibility filter — ALL of them.
|
|
618
|
+
*
|
|
619
|
+
* Deliberately NOT {@link focusCategories}. A price band is thousands of
|
|
620
|
+
* seats forming blocks, so that path clusters them and, on a phone, dives
|
|
621
|
+
* into a seat-detail window showing the dominant block. An accessibility
|
|
622
|
+
* filter is a handful of spaces scattered around the venue: the phone
|
|
623
|
+
* validator's uber-arena has TWELVE, one or two per tier. Diving into a
|
|
624
|
+
* detail window there shows the buyer none of them, and jumping to the seats
|
|
625
|
+
* rung — which is what the widget did before this existed — put all twelve
|
|
626
|
+
* off-screen in the middle of a 14k arena.
|
|
627
|
+
*
|
|
628
|
+
* So the rule is the union, always: bounding box of the matching seats plus a
|
|
629
|
+
* margin, clamped to the zoom bounds. When that box fits at a scale where the
|
|
630
|
+
* seats are already tappable, the buyer lands on tappable seats; when it does
|
|
631
|
+
* not, they still SEE all twelve and can zoom into the one they want. Framing
|
|
632
|
+
* fewer than all of them is never the answer.
|
|
633
|
+
*
|
|
634
|
+
* Returns false when there is nothing to frame, so a caller can fall back.
|
|
635
|
+
*/
|
|
636
|
+
focusAccessibleSeats(types?: AccessibilityType[] | null): boolean;
|
|
567
637
|
/**
|
|
568
638
|
* Switch the projection between flat top-down and the isometric "3D" view
|
|
569
639
|
* (rotate + y-squash about the chart centre, plus per-elevation lift). Tweens
|
|
@@ -712,11 +782,11 @@ declare class SeatmapRenderer implements ISeatmapRenderer {
|
|
|
712
782
|
* mirroring the section convention (labelStyle.size ?? 18) / 18. Only real
|
|
713
783
|
* seats carry labelStyle, so booths and unstyled seats resolve to 1. */
|
|
714
784
|
private seatLabelScale;
|
|
715
|
-
/** Preferred label ink for a seat: the
|
|
716
|
-
* otherwise today's theme default.
|
|
785
|
+
/** Preferred label ink for a seat: the exact per-seat colour when set,
|
|
786
|
+
* otherwise today's automatic theme default. */
|
|
717
787
|
private seatPreferredLabelInk;
|
|
718
|
-
/**
|
|
719
|
-
*
|
|
788
|
+
/** Preserve an explicit seat-number swatch exactly; only Automatic follows
|
|
789
|
+
* the state-aware contrast fallback as seat paint changes. */
|
|
720
790
|
private seatLabelInk;
|
|
721
791
|
/** Apply fill/stroke/opacity for a seat's current status + selection. */
|
|
722
792
|
private paintSeat;
|
|
@@ -923,14 +993,42 @@ declare class SeatmapRenderer implements ISeatmapRenderer {
|
|
|
923
993
|
/** Nearest selectable seat within `slopPx` of a screen point, or null. */
|
|
924
994
|
private nearestSeatToScreen;
|
|
925
995
|
private get screenPickingHost();
|
|
996
|
+
/**
|
|
997
|
+
* How strongly this seat should advertise itself under the mouse.
|
|
998
|
+
*
|
|
999
|
+
* The hover ring and the `pointer` cursor are a promise that a click does
|
|
1000
|
+
* something. Offering both over a SOLD seat and only then answering "Sold" in
|
|
1001
|
+
* the popover is a false affordance (owner, 2026-09-02), so:
|
|
1002
|
+
*
|
|
1003
|
+
* - `full` — a click can take (or give back) this seat: ring + pointer.
|
|
1004
|
+
* - `muted` — someone else's hold. It may come back, so it stays legible as
|
|
1005
|
+
* a seat: a dimmed, dashed ring, but the default cursor.
|
|
1006
|
+
* - `none` — sold, not-for-sale, closed section, filtered out: no ring, no
|
|
1007
|
+
* pointer. The tooltip still fires, so the buyer learns why.
|
|
1008
|
+
*/
|
|
1009
|
+
private hoverAffordance;
|
|
926
1010
|
private wireInteraction;
|
|
927
1011
|
/**
|
|
928
1012
|
* Min is chart-relative (never lose the room); max is absolute so seats
|
|
929
1013
|
* reach a readable size on any chart, however large the venue.
|
|
930
1014
|
*/
|
|
931
1015
|
private zoomBounds;
|
|
932
|
-
/**
|
|
1016
|
+
/**
|
|
1017
|
+
* Zoom so `clientPoint` (stage-relative px) stays fixed under the cursor.
|
|
1018
|
+
*
|
|
1019
|
+
* `settle: 'frame'` is the wheel/trackpad path. A fling delivers dozens of
|
|
1020
|
+
* events between two paints and each one ran the whole `afterViewChange`
|
|
1021
|
+
* cascade — retarget, cull, LOD, free text, labels — for a camera the buyer
|
|
1022
|
+
* never saw. It now defers exactly the way the pinch path does: cull and draw
|
|
1023
|
+
* per event (cheap, and required for a correct frame), one settle per frame,
|
|
1024
|
+
* last event wins. The zoom maths and the onViewChange contract are unchanged
|
|
1025
|
+
* — `scheduleViewChange` was already rAF-coalesced.
|
|
1026
|
+
*/
|
|
933
1027
|
private zoomAbout;
|
|
1028
|
+
/** One `afterViewChange` per animation frame for a burst of wheel events. */
|
|
1029
|
+
private scheduleZoomSettle;
|
|
1030
|
+
/** Drop a wheel settle that a newer, authoritative view pass supersedes. */
|
|
1031
|
+
private cancelZoomSettle;
|
|
934
1032
|
/** Zoom + pan so world-rect `b` fills the viewport (with a small margin). */
|
|
935
1033
|
private zoomToBounds;
|
|
936
1034
|
/**
|
|
@@ -2086,6 +2184,42 @@ declare class PickerController {
|
|
|
2086
2184
|
setAccessibilityFilter(types: string[] | null): void;
|
|
2087
2185
|
/** The buyer's active accessibility filter, or null. */
|
|
2088
2186
|
getAccessibilityFilter(): AccessibilityType[] | null;
|
|
2187
|
+
/**
|
|
2188
|
+
* Take the buyer to the seats their accessibility filter matched.
|
|
2189
|
+
*
|
|
2190
|
+
* The mirror of {@link focusCategoryFilter}, and deliberately a different
|
|
2191
|
+
* camera rule (see the renderer's `focusAccessibleSeats`). Switching the
|
|
2192
|
+
* filter on used to jump to the seats rung, which on the validator's
|
|
2193
|
+
* uber-arena — twelve wheelchair spaces spread over a 14k-seat venue — put
|
|
2194
|
+
* every single match off-screen: the buyer asked "where can I sit?" and got
|
|
2195
|
+
* a close-up of a block with no accessible seats in it.
|
|
2196
|
+
*
|
|
2197
|
+
* Frames the union of the matches instead, so all twelve are on screen. No-op
|
|
2198
|
+
* when the filter is off or matched nothing; returns whether it moved, so a
|
|
2199
|
+
* host can keep its old behaviour as a fallback.
|
|
2200
|
+
*/
|
|
2201
|
+
focusAccessibilityFilter(types?: AccessibilityType[] | null): boolean;
|
|
2202
|
+
/**
|
|
2203
|
+
* The floor a buyer means when filtering for accessibility: the active floor
|
|
2204
|
+
* when it carries a matching seat, else the first floor that does (null =
|
|
2205
|
+
* stay put). Row overrides count — accessibility is authored per seat.
|
|
2206
|
+
*/
|
|
2207
|
+
private floorForAccessibility;
|
|
2208
|
+
/**
|
|
2209
|
+
* Does the active accessibility filter RECEDE this seat?
|
|
2210
|
+
*
|
|
2211
|
+
* The 2D map answers this with Konva opacity, which the GL view never sees —
|
|
2212
|
+
* so a buyer who filtered for wheelchair spaces and then switched to 3D got
|
|
2213
|
+
* the unfiltered venue back, every zone in normal colour, with no sign the
|
|
2214
|
+
* filter was still on. The widget's 3D snapshot builder already asks the same
|
|
2215
|
+
* question of the price band and the limited-view toggle; this is the third,
|
|
2216
|
+
* and it is answered HERE rather than in the widget so the rule cannot drift
|
|
2217
|
+
* from the one the canvas paints (renderer `hiddenByAccessFilter`).
|
|
2218
|
+
*
|
|
2219
|
+
* Presentation only, exactly as in 2D: a dimmed seat is not an unselectable
|
|
2220
|
+
* one.
|
|
2221
|
+
*/
|
|
2222
|
+
accessibilityFilterDims(seat: ExpandedSeat): boolean;
|
|
2089
2223
|
/**
|
|
2090
2224
|
* "Hide limited-view seats" toggle — dims free seats flagged
|
|
2091
2225
|
* restricted/obstructed view. Additive commercial parallel to the
|
package/dist/index.d.ts
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,
|
|
3
|
-
import { E as EventConfigurationRef, a as EventConfigurationVersion } from './eventConfigurations-
|
|
4
|
-
export { b as EVENT_CONFIGURATION_EXPORT_SCHEMA, c as EVENT_CONFIGURATION_SCHEMA, d as EventConfigurationBaseVenue, e as EventConfigurationCompatibilityIssue, f as EventConfigurationCompatibilityIssueCode, g as EventConfigurationCompatibilityResult, h as EventConfigurationExportEnvelope, i as EventConfigurationLifecycleStatus, j as EventConfigurationOcclusion, k as EventConfigurationOverlay, l as EventConfigurationParseIssue, m as EventConfigurationParseIssueCode, n as EventConfigurationParseResult, o as EventConfigurationProductionElement, p 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-
|
|
5
|
-
export { C as ChartBoundsOptions, E as ExpandChartOptions, F as FLOOR_STACK_GAP_RATIO,
|
|
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-CqaNLbU6.js';
|
|
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-CqaNLbU6.js';
|
|
3
|
+
import { E as EventConfigurationRef, a as EventConfigurationVersion } from './eventConfigurations-Dhauc9V3.js';
|
|
4
|
+
export { b as EVENT_CONFIGURATION_EXPORT_SCHEMA, c as EVENT_CONFIGURATION_SCHEMA, d as EventConfigurationBaseVenue, e as EventConfigurationCompatibilityIssue, f as EventConfigurationCompatibilityIssueCode, g as EventConfigurationCompatibilityResult, h as EventConfigurationExportEnvelope, i as EventConfigurationLifecycleStatus, j as EventConfigurationOcclusion, k as EventConfigurationOverlay, l as EventConfigurationParseIssue, m as EventConfigurationParseIssueCode, n as EventConfigurationParseResult, o as EventConfigurationProductionElement, p 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-Dhauc9V3.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 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-D8e8QAJ-.js';
|
|
6
|
+
import { c as TicketSelectionIssue } from './ticketRestrictions-CorjMY49.js';
|
|
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-CorjMY49.js';
|
|
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-ByTMouG8.js';
|
|
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-ChAZNV2N.js';
|
|
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-q7viZLGZ.js';
|
|
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-q7viZLGZ.js';
|
|
12
|
+
import './segmentedRowModel-DcvJVKLD.js';
|
|
13
13
|
|
|
14
14
|
/**
|
|
15
15
|
* Half-width of the band around a legibility threshold, in rendered pixels.
|
|
@@ -21,7 +21,7 @@ import './segmentedRowModel-DgSEzAYd.js';
|
|
|
21
21
|
*/
|
|
22
22
|
declare const LEGIBILITY_HYSTERESIS_PX = 1;
|
|
23
23
|
/** Opacity ease applied when the label layer is revealed, in milliseconds. */
|
|
24
|
-
declare const LABEL_FADE_MS =
|
|
24
|
+
declare const LABEL_FADE_MS = 90;
|
|
25
25
|
/** Rendered size of a chart-unit measurement at the current camera scale. */
|
|
26
26
|
declare function renderedPx(chartUnits: number, scale: number): number;
|
|
27
27
|
/**
|
|
@@ -172,8 +172,12 @@ declare class SeatmapRenderer implements ISeatmapRenderer {
|
|
|
172
172
|
private selectionMarkers;
|
|
173
173
|
/** Selection markers, the pick moment and the touch loupe — see seatMoments. */
|
|
174
174
|
private momentsCache;
|
|
175
|
+
/** The slow halo a picked seat keeps breathing — see selectionBreath. */
|
|
176
|
+
private breathCache;
|
|
175
177
|
/** Overview marks for the sections the buyer holds seats in — see ownedSections. */
|
|
176
178
|
private ownedCache;
|
|
179
|
+
/** The pressable "your seats are in here" marks below the seats rung. */
|
|
180
|
+
private beaconsCache;
|
|
177
181
|
/** Held by this picker instance, not by another buyer. */
|
|
178
182
|
private ownedHold;
|
|
179
183
|
private seatMarks;
|
|
@@ -216,6 +220,11 @@ declare class SeatmapRenderer implements ISeatmapRenderer {
|
|
|
216
220
|
private closedSections;
|
|
217
221
|
/** AXS section-focus: the currently-focused section id (others dim), or null. */
|
|
218
222
|
private focusedSectionId;
|
|
223
|
+
/** Annotation/icon node → "inside the focused section?", memoised per focus.
|
|
224
|
+
* See {@link nodeBelongsToFocusedSection}: the answer only changes when the
|
|
225
|
+
* focus (or the chart) does, but the question is asked on every view change. */
|
|
226
|
+
private focusMembership;
|
|
227
|
+
private focusMembershipKey;
|
|
219
228
|
/** Tap point the focus was entered on (replayed on a resize refit), and
|
|
220
229
|
* whether a manual pan has since put the locator on the buyer's camera. */
|
|
221
230
|
private focusAnchor;
|
|
@@ -227,6 +236,9 @@ declare class SeatmapRenderer implements ISeatmapRenderer {
|
|
|
227
236
|
private focusDimOverlay;
|
|
228
237
|
/** Object id → floor id (multi-floor only) — resolves a deck tap in the 3D stack. */
|
|
229
238
|
private objectFloor;
|
|
239
|
+
/** Seats with no owning section, computed once per chart — see
|
|
240
|
+
* {@link updateSeatGroupVisibility}. Null until first asked. */
|
|
241
|
+
private unsectionedSeatIds;
|
|
230
242
|
/** Zone id → colour (drives extruded side faces in iso view). */
|
|
231
243
|
private zoneColor;
|
|
232
244
|
private hasSections;
|
|
@@ -330,6 +342,8 @@ declare class SeatmapRenderer implements ISeatmapRenderer {
|
|
|
330
342
|
private resizeObs;
|
|
331
343
|
/** Coalesces bursty view-change sources (pointermove, wheel) into ≤1 callback/frame. */
|
|
332
344
|
private viewChangeRaf;
|
|
345
|
+
/** Coalesces the full post-zoom pass (LOD/labels/free text) for a wheel fling. */
|
|
346
|
+
private zoomSettleRaf;
|
|
333
347
|
/**
|
|
334
348
|
* Pan/pinch state machine (`render/interaction/pointer`). Raw pointer events
|
|
335
349
|
* on the container, not Konva stage dragging — its touch pipeline proved
|
|
@@ -347,6 +361,35 @@ declare class SeatmapRenderer implements ISeatmapRenderer {
|
|
|
347
361
|
* paid for on exactly the device that can least afford it.
|
|
348
362
|
*/
|
|
349
363
|
private get moments();
|
|
364
|
+
/**
|
|
365
|
+
* The breathing halo on the buyer's own seats. Built on first use — a map
|
|
366
|
+
* nobody has picked a seat on never allocates it, and never registers a
|
|
367
|
+
* frame loop.
|
|
368
|
+
*/
|
|
369
|
+
private get breath();
|
|
370
|
+
/**
|
|
371
|
+
* The selection beacons. Built on first use, like every other overlay family:
|
|
372
|
+
* a map nobody has picked a seat on allocates nothing and appends no DOM.
|
|
373
|
+
*/
|
|
374
|
+
private get beacons();
|
|
375
|
+
/**
|
|
376
|
+
* A beacon was pressed (or Entered): take the buyer to their seats.
|
|
377
|
+
*
|
|
378
|
+
* The SAME path a badge tap has always taken — focus the section, anchored on
|
|
379
|
+
* the centroid of the buyer's own seats there, so the entrance crop lands on
|
|
380
|
+
* their seats rather than on the middle of the block. A zone beacon resolves
|
|
381
|
+
* through the seat: what the buyer wants is the seat, and its section is the
|
|
382
|
+
* thing the camera and the host chrome both understand.
|
|
383
|
+
*
|
|
384
|
+
* Then the seat is ringed and announced WITHOUT moving the camera: the glide
|
|
385
|
+
* above is already travelling, and a synchronous `ensureVisible` snap would
|
|
386
|
+
* be overwritten by its next frame.
|
|
387
|
+
*/
|
|
388
|
+
private activateBeacon;
|
|
389
|
+
/** Rebuild the beacons for this camera, and hand their rings to the breath. */
|
|
390
|
+
private syncBeacons;
|
|
391
|
+
/** The buyer's own seats in a section, in chart order. */
|
|
392
|
+
private ownedSeatIds;
|
|
350
393
|
/** The buyer's seats, still visible once the seats have melted into blocks. */
|
|
351
394
|
private get owned();
|
|
352
395
|
/**
|
|
@@ -486,6 +529,12 @@ declare class SeatmapRenderer implements ISeatmapRenderer {
|
|
|
486
529
|
private onKeyDown;
|
|
487
530
|
/** Nearest seat from `fromId` in a cardinal direction (aligned + close wins). */
|
|
488
531
|
private nearestSeat;
|
|
532
|
+
/**
|
|
533
|
+
* Ring a seat and announce it. `move: false` leaves the camera alone — for a
|
|
534
|
+
* caller that is ALREADY gliding somewhere (the selection beacon focuses the
|
|
535
|
+
* section first, and `ensureVisible`'s synchronous snap would be overwritten
|
|
536
|
+
* by the glide's very next frame anyway).
|
|
537
|
+
*/
|
|
489
538
|
private focusSeat;
|
|
490
539
|
/** Pan/zoom so a seat sits on-screen at a legible scale (for keyboard focus). */
|
|
491
540
|
private ensureVisible;
|
|
@@ -564,6 +613,27 @@ declare class SeatmapRenderer implements ISeatmapRenderer {
|
|
|
564
613
|
focusCategories(keys: string[] | null, opts?: {
|
|
565
614
|
animate?: boolean;
|
|
566
615
|
}): void;
|
|
616
|
+
/**
|
|
617
|
+
* Frame every seat matching the accessibility filter — ALL of them.
|
|
618
|
+
*
|
|
619
|
+
* Deliberately NOT {@link focusCategories}. A price band is thousands of
|
|
620
|
+
* seats forming blocks, so that path clusters them and, on a phone, dives
|
|
621
|
+
* into a seat-detail window showing the dominant block. An accessibility
|
|
622
|
+
* filter is a handful of spaces scattered around the venue: the phone
|
|
623
|
+
* validator's uber-arena has TWELVE, one or two per tier. Diving into a
|
|
624
|
+
* detail window there shows the buyer none of them, and jumping to the seats
|
|
625
|
+
* rung — which is what the widget did before this existed — put all twelve
|
|
626
|
+
* off-screen in the middle of a 14k arena.
|
|
627
|
+
*
|
|
628
|
+
* So the rule is the union, always: bounding box of the matching seats plus a
|
|
629
|
+
* margin, clamped to the zoom bounds. When that box fits at a scale where the
|
|
630
|
+
* seats are already tappable, the buyer lands on tappable seats; when it does
|
|
631
|
+
* not, they still SEE all twelve and can zoom into the one they want. Framing
|
|
632
|
+
* fewer than all of them is never the answer.
|
|
633
|
+
*
|
|
634
|
+
* Returns false when there is nothing to frame, so a caller can fall back.
|
|
635
|
+
*/
|
|
636
|
+
focusAccessibleSeats(types?: AccessibilityType[] | null): boolean;
|
|
567
637
|
/**
|
|
568
638
|
* Switch the projection between flat top-down and the isometric "3D" view
|
|
569
639
|
* (rotate + y-squash about the chart centre, plus per-elevation lift). Tweens
|
|
@@ -712,11 +782,11 @@ declare class SeatmapRenderer implements ISeatmapRenderer {
|
|
|
712
782
|
* mirroring the section convention (labelStyle.size ?? 18) / 18. Only real
|
|
713
783
|
* seats carry labelStyle, so booths and unstyled seats resolve to 1. */
|
|
714
784
|
private seatLabelScale;
|
|
715
|
-
/** Preferred label ink for a seat: the
|
|
716
|
-
* otherwise today's theme default.
|
|
785
|
+
/** Preferred label ink for a seat: the exact per-seat colour when set,
|
|
786
|
+
* otherwise today's automatic theme default. */
|
|
717
787
|
private seatPreferredLabelInk;
|
|
718
|
-
/**
|
|
719
|
-
*
|
|
788
|
+
/** Preserve an explicit seat-number swatch exactly; only Automatic follows
|
|
789
|
+
* the state-aware contrast fallback as seat paint changes. */
|
|
720
790
|
private seatLabelInk;
|
|
721
791
|
/** Apply fill/stroke/opacity for a seat's current status + selection. */
|
|
722
792
|
private paintSeat;
|
|
@@ -923,14 +993,42 @@ declare class SeatmapRenderer implements ISeatmapRenderer {
|
|
|
923
993
|
/** Nearest selectable seat within `slopPx` of a screen point, or null. */
|
|
924
994
|
private nearestSeatToScreen;
|
|
925
995
|
private get screenPickingHost();
|
|
996
|
+
/**
|
|
997
|
+
* How strongly this seat should advertise itself under the mouse.
|
|
998
|
+
*
|
|
999
|
+
* The hover ring and the `pointer` cursor are a promise that a click does
|
|
1000
|
+
* something. Offering both over a SOLD seat and only then answering "Sold" in
|
|
1001
|
+
* the popover is a false affordance (owner, 2026-09-02), so:
|
|
1002
|
+
*
|
|
1003
|
+
* - `full` — a click can take (or give back) this seat: ring + pointer.
|
|
1004
|
+
* - `muted` — someone else's hold. It may come back, so it stays legible as
|
|
1005
|
+
* a seat: a dimmed, dashed ring, but the default cursor.
|
|
1006
|
+
* - `none` — sold, not-for-sale, closed section, filtered out: no ring, no
|
|
1007
|
+
* pointer. The tooltip still fires, so the buyer learns why.
|
|
1008
|
+
*/
|
|
1009
|
+
private hoverAffordance;
|
|
926
1010
|
private wireInteraction;
|
|
927
1011
|
/**
|
|
928
1012
|
* Min is chart-relative (never lose the room); max is absolute so seats
|
|
929
1013
|
* reach a readable size on any chart, however large the venue.
|
|
930
1014
|
*/
|
|
931
1015
|
private zoomBounds;
|
|
932
|
-
/**
|
|
1016
|
+
/**
|
|
1017
|
+
* Zoom so `clientPoint` (stage-relative px) stays fixed under the cursor.
|
|
1018
|
+
*
|
|
1019
|
+
* `settle: 'frame'` is the wheel/trackpad path. A fling delivers dozens of
|
|
1020
|
+
* events between two paints and each one ran the whole `afterViewChange`
|
|
1021
|
+
* cascade — retarget, cull, LOD, free text, labels — for a camera the buyer
|
|
1022
|
+
* never saw. It now defers exactly the way the pinch path does: cull and draw
|
|
1023
|
+
* per event (cheap, and required for a correct frame), one settle per frame,
|
|
1024
|
+
* last event wins. The zoom maths and the onViewChange contract are unchanged
|
|
1025
|
+
* — `scheduleViewChange` was already rAF-coalesced.
|
|
1026
|
+
*/
|
|
933
1027
|
private zoomAbout;
|
|
1028
|
+
/** One `afterViewChange` per animation frame for a burst of wheel events. */
|
|
1029
|
+
private scheduleZoomSettle;
|
|
1030
|
+
/** Drop a wheel settle that a newer, authoritative view pass supersedes. */
|
|
1031
|
+
private cancelZoomSettle;
|
|
934
1032
|
/** Zoom + pan so world-rect `b` fills the viewport (with a small margin). */
|
|
935
1033
|
private zoomToBounds;
|
|
936
1034
|
/**
|
|
@@ -2086,6 +2184,42 @@ declare class PickerController {
|
|
|
2086
2184
|
setAccessibilityFilter(types: string[] | null): void;
|
|
2087
2185
|
/** The buyer's active accessibility filter, or null. */
|
|
2088
2186
|
getAccessibilityFilter(): AccessibilityType[] | null;
|
|
2187
|
+
/**
|
|
2188
|
+
* Take the buyer to the seats their accessibility filter matched.
|
|
2189
|
+
*
|
|
2190
|
+
* The mirror of {@link focusCategoryFilter}, and deliberately a different
|
|
2191
|
+
* camera rule (see the renderer's `focusAccessibleSeats`). Switching the
|
|
2192
|
+
* filter on used to jump to the seats rung, which on the validator's
|
|
2193
|
+
* uber-arena — twelve wheelchair spaces spread over a 14k-seat venue — put
|
|
2194
|
+
* every single match off-screen: the buyer asked "where can I sit?" and got
|
|
2195
|
+
* a close-up of a block with no accessible seats in it.
|
|
2196
|
+
*
|
|
2197
|
+
* Frames the union of the matches instead, so all twelve are on screen. No-op
|
|
2198
|
+
* when the filter is off or matched nothing; returns whether it moved, so a
|
|
2199
|
+
* host can keep its old behaviour as a fallback.
|
|
2200
|
+
*/
|
|
2201
|
+
focusAccessibilityFilter(types?: AccessibilityType[] | null): boolean;
|
|
2202
|
+
/**
|
|
2203
|
+
* The floor a buyer means when filtering for accessibility: the active floor
|
|
2204
|
+
* when it carries a matching seat, else the first floor that does (null =
|
|
2205
|
+
* stay put). Row overrides count — accessibility is authored per seat.
|
|
2206
|
+
*/
|
|
2207
|
+
private floorForAccessibility;
|
|
2208
|
+
/**
|
|
2209
|
+
* Does the active accessibility filter RECEDE this seat?
|
|
2210
|
+
*
|
|
2211
|
+
* The 2D map answers this with Konva opacity, which the GL view never sees —
|
|
2212
|
+
* so a buyer who filtered for wheelchair spaces and then switched to 3D got
|
|
2213
|
+
* the unfiltered venue back, every zone in normal colour, with no sign the
|
|
2214
|
+
* filter was still on. The widget's 3D snapshot builder already asks the same
|
|
2215
|
+
* question of the price band and the limited-view toggle; this is the third,
|
|
2216
|
+
* and it is answered HERE rather than in the widget so the rule cannot drift
|
|
2217
|
+
* from the one the canvas paints (renderer `hiddenByAccessFilter`).
|
|
2218
|
+
*
|
|
2219
|
+
* Presentation only, exactly as in 2D: a dimmed seat is not an unselectable
|
|
2220
|
+
* one.
|
|
2221
|
+
*/
|
|
2222
|
+
accessibilityFilterDims(seat: ExpandedSeat): boolean;
|
|
2089
2223
|
/**
|
|
2090
2224
|
* "Hide limited-view seats" toggle — dims free seats flagged
|
|
2091
2225
|
* restricted/obstructed view. Additive commercial parallel to the
|