@seatlayer/core 0.79.0 → 0.80.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-EZLC3TID.js +1 -0
- package/dist/be-PNW4HSCT.js +1 -0
- package/dist/bg-WWTVMKHN.js +1 -0
- package/dist/ca-7CQTBZHV.js +1 -0
- package/dist/chunk-7LMW7QTP.js +1 -0
- package/dist/chunk-C7MR6CFC.js +1 -0
- package/dist/{chunk-SGYNM3SG.js → chunk-GQLJAU75.js} +1 -1
- package/dist/{chunk-SSBMTFAV.js → chunk-SKMHD76O.js} +1 -1
- package/dist/{chunk-FGMGDTMR.js → chunk-YXOSJLK7.js} +1 -1
- package/dist/core/chart-ops/index.js +1 -1
- package/dist/core/inventory/index.cjs +1 -1
- package/dist/core/inventory/index.d.cts +2 -2
- package/dist/core/inventory/index.d.ts +2 -2
- package/dist/core/inventory/index.js +1 -1
- package/dist/core/layout/index.d.cts +2 -2
- package/dist/core/layout/index.d.ts +2 -2
- package/dist/core/quality/index.cjs +1 -1
- package/dist/core/quality/index.d.cts +34 -3
- package/dist/core/quality/index.d.ts +34 -3
- package/dist/core/quality/index.js +1 -1
- package/dist/core/sections/index.d.cts +1 -1
- package/dist/core/sections/index.d.ts +1 -1
- package/dist/cs-CO6IPOND.js +1 -0
- package/dist/{cy-NF6Y2W6J.js → cy-JSKIEF7V.js} +1 -1
- package/dist/da-XNN2TLET.js +1 -0
- package/dist/de-T7S7DY4P.js +1 -0
- package/dist/el-SQNQJ6N5.js +1 -0
- package/dist/es-WIEMVIPM.js +1 -0
- package/dist/et-AJ666JLF.js +1 -0
- package/dist/fa-PA22MNZD.js +1 -0
- package/dist/fi-OIKV7BZB.js +1 -0
- package/dist/fr-K2BPY3ZG.js +1 -0
- package/dist/he-NB5S5QOD.js +1 -0
- package/dist/hr-HB2ZBWCL.js +1 -0
- package/dist/hu-DXONGHET.js +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +58 -78
- package/dist/index.d.ts +58 -78
- package/dist/index.js +1 -1
- package/dist/it-7YYWICOD.js +1 -0
- package/dist/ja-ROSYSJVY.js +1 -0
- package/dist/ku-3VHLRVJY.js +1 -0
- package/dist/localeLoaders-42CYOXB5.js +1 -0
- package/dist/lt-KOUZG2YJ.js +1 -0
- package/dist/{lv-OORJZFNN.js → lv-JOK7LYAH.js} +1 -1
- package/dist/nl-H7NAUHTK.js +1 -0
- package/dist/no-OJ35WOND.js +1 -0
- package/dist/pl-FD5NFT6Y.js +1 -0
- package/dist/{pt-5DSXBZNH.js → pt-BOCUN4SZ.js} +1 -1
- package/dist/{renderedQuality-C4-5Oy6-.d.ts → renderedQuality-DObXwisG.d.ts} +1 -1
- package/dist/{renderedQuality-CHAf5J4i.d.cts → renderedQuality-Dz-WTrRc.d.cts} +1 -1
- package/dist/{renderer-CuLIU7z1.d.cts → renderer-BjuHQ0bx.d.cts} +11 -1
- package/dist/{renderer-Bx0ucRf6.d.ts → renderer-i_mthe5Z.d.ts} +11 -1
- package/dist/ro-Z44LTOXH.js +1 -0
- package/dist/ru-J4XWPJR6.js +1 -0
- package/dist/sk-4O4XNGR6.js +1 -0
- package/dist/sl-AHDPSHB6.js +1 -0
- package/dist/sr-B5PADXMB.js +1 -0
- package/dist/sv-KZCOVO3R.js +1 -0
- package/dist/{tableSizing-Dr-ksQTq.d.ts → tableSizing-BpRvVdXK.d.ts} +1 -1
- package/dist/{tableSizing-tDaLWj54.d.cts → tableSizing-DnSAiaXL.d.cts} +1 -1
- package/dist/{ticketRestrictions-7HrT6IQM.d.ts → ticketRestrictions-BijtF-Lw.d.ts} +46 -6
- package/dist/{ticketRestrictions-B4eT6vEy.d.cts → ticketRestrictions-CvaHRHti.d.cts} +46 -6
- package/dist/tr-E5X266RM.js +1 -0
- package/dist/uk-6RR5RHIY.js +1 -0
- package/dist/view3d/index.d.cts +1 -1
- package/dist/view3d/index.d.ts +1 -1
- package/dist/view3d/index.js +1 -1
- package/dist/view3d/scene/scene.worker.js +1 -1
- package/dist/{zh-Hans-WG6IMHH2.js → zh-Hans-GQWICG2Q.js} +1 -1
- package/dist/{zh-Hant-I55RLM6N.js → zh-Hant-DTRJKLTS.js} +1 -1
- package/package.json +1 -1
- package/dist/ar-MBXKQCHF.js +0 -1
- package/dist/be-ZUVYQYAI.js +0 -1
- package/dist/bg-62YMMGP4.js +0 -1
- package/dist/ca-6CX2TCFE.js +0 -1
- package/dist/chunk-O5UH442K.js +0 -1
- package/dist/chunk-XD2P4ZS4.js +0 -1
- package/dist/cs-HPMCEWCG.js +0 -1
- package/dist/da-22D72GSM.js +0 -1
- package/dist/de-RPFLEDOZ.js +0 -1
- package/dist/el-FUQRGODC.js +0 -1
- package/dist/es-MCE7ZWGC.js +0 -1
- package/dist/et-GS4LQD5N.js +0 -1
- package/dist/fa-5MNQP3RH.js +0 -1
- package/dist/fi-5A22IZ6C.js +0 -1
- package/dist/fr-QSMP5CON.js +0 -1
- package/dist/he-ET4VHFSC.js +0 -1
- package/dist/hr-CEQPLBXQ.js +0 -1
- package/dist/hu-NWXXZPCO.js +0 -1
- package/dist/it-LJJQ32WS.js +0 -1
- package/dist/ja-JH7SZMXQ.js +0 -1
- package/dist/ku-ZEL3JYZ3.js +0 -1
- package/dist/localeLoaders-CG4DAMUW.js +0 -1
- package/dist/lt-X4GMJWOB.js +0 -1
- package/dist/nl-EIWNKXHE.js +0 -1
- package/dist/no-KE42FJWD.js +0 -1
- package/dist/pl-ATCAGIF2.js +0 -1
- package/dist/ro-ESUBYINR.js +0 -1
- package/dist/ru-5SYA53AZ.js +0 -1
- package/dist/sk-QHQ7T2BK.js +0 -1
- package/dist/sl-OQHYGFQ7.js +0 -1
- package/dist/sr-VOVDWZBT.js +0 -1
- package/dist/sv-II3AGEJF.js +0 -1
- package/dist/tr-EZHEWRQG.js +0 -1
- package/dist/uk-V3LWALME.js +0 -1
package/dist/index.d.cts
CHANGED
|
@@ -2,13 +2,13 @@ import { C as ChartDoc, F as FloorLabelStyle, P as Point, A as AccessibilityType
|
|
|
2
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, i 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, h 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-eVmh2-Yn.cjs';
|
|
3
3
|
import { c as EventConfigurationRef, b as EventConfigurationVersion } from './eventConfigurations-OVlni2ym.cjs';
|
|
4
4
|
export { d as EVENT_CONFIGURATION_EXPORT_SCHEMA, e as EVENT_CONFIGURATION_SCHEMA, f as EventConfigurationBaseVenue, g as EventConfigurationCompatibilityIssue, h as EventConfigurationCompatibilityIssueCode, i as EventConfigurationCompatibilityResult, j as EventConfigurationExportEnvelope, k as EventConfigurationLifecycleStatus, a as EventConfigurationOcclusion, l as EventConfigurationOverlay, m as EventConfigurationParseIssue, n as EventConfigurationParseIssueCode, o as EventConfigurationParseResult, p as EventConfigurationProductionElement, E as EventConfigurationProductionElementKind, q as EventConfigurationVenueSnapshot, r as EventConfigurationVersionParseResult, s as EventConfigurationVersionSummary, L as LegacyEventConfigurationMigrationResult, t as canTransitionEventConfiguration, u as canonicalEventConfigurationJson, v as inspectEventConfigurationCompatibility, w as migrateLegacyEventConfigurations, x as parseEventConfigurationExport, y as parseEventConfigurationVersion, z as resolveEventConfigurationRollback } from './eventConfigurations-OVlni2ym.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-
|
|
6
|
-
import {
|
|
7
|
-
export { M as MAX_EVENT_INVENTORY, d as MAX_GA_CAPACITY,
|
|
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-DnSAiaXL.cjs';
|
|
6
|
+
import { g as TicketSelectionIssue, b as GroupedTableInventoryUnit } from './ticketRestrictions-CvaHRHti.cjs';
|
|
7
|
+
export { M as MAX_EVENT_INVENTORY, d as MAX_GA_CAPACITY, l as gaAreasOf, m as gaInventorySegments, n as gaUnitLabel, o as gaUnitLabels, q as growJoinedGAInventory, s as isGaUnitLabel, x as validGAInventorySegments } from './ticketRestrictions-CvaHRHti.cjs';
|
|
8
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-DUG5M-hF.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-
|
|
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-
|
|
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-Dz-WTrRc.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-BjuHQ0bx.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-BjuHQ0bx.cjs';
|
|
12
12
|
import './segmentedRowModel-BYSxfsqX.cjs';
|
|
13
13
|
|
|
14
14
|
/**
|
|
@@ -210,9 +210,13 @@ declare class SeatmapRenderer implements ISeatmapRenderer {
|
|
|
210
210
|
private ownedCache;
|
|
211
211
|
/** The pressable "your seats are in here" marks below the seats rung. */
|
|
212
212
|
private beaconsCache;
|
|
213
|
+
/** Desktop hover card — see render/hoverCard. Mouse only; built on attach. */
|
|
214
|
+
private hoverCardCache;
|
|
213
215
|
/** Held by this picker instance, not by another buyer. */
|
|
214
216
|
private ownedHold;
|
|
215
217
|
private seatMarks;
|
|
218
|
+
/** Built on first paint and kept for the renderer's life — see seatPaintContext. */
|
|
219
|
+
private seatPaintCache;
|
|
216
220
|
/** One selected seat being inspected before it is committed to the cart. */
|
|
217
221
|
private selectionFocusId;
|
|
218
222
|
/** Seats that keep full ink while the confirm card is open — see
|
|
@@ -347,10 +351,7 @@ declare class SeatmapRenderer implements ISeatmapRenderer {
|
|
|
347
351
|
private cached;
|
|
348
352
|
private dpr;
|
|
349
353
|
/** Current chart's buyer-visible image work. Failures are retained until ready(). */
|
|
350
|
-
private
|
|
351
|
-
private assetPromises;
|
|
352
|
-
private assetErrors;
|
|
353
|
-
private assetCancels;
|
|
354
|
+
private readonly assets;
|
|
354
355
|
/**
|
|
355
356
|
* Progressive reveal: what a big chart does instead of appearing all at once.
|
|
356
357
|
*
|
|
@@ -413,6 +414,8 @@ declare class SeatmapRenderer implements ISeatmapRenderer {
|
|
|
413
414
|
* frame loop.
|
|
414
415
|
*/
|
|
415
416
|
private get breath();
|
|
417
|
+
/** The hover card. One element, reused; the camera decides what it says. */
|
|
418
|
+
private get hoverCard();
|
|
416
419
|
/**
|
|
417
420
|
* The selection beacons. Built on first use, like every other overlay family:
|
|
418
421
|
* a map nobody has picked a seat on allocates nothing and appends no DOM.
|
|
@@ -609,7 +612,13 @@ declare class SeatmapRenderer implements ISeatmapRenderer {
|
|
|
609
612
|
private framingViewport;
|
|
610
613
|
/** The visible band in world space — what "where the buyer is looking" means. */
|
|
611
614
|
private framingWorldRect;
|
|
615
|
+
/** Frame the whole venue. The fit it lands on is render/camera's `fitScale`,
|
|
616
|
+
* which every zoom bound in this renderer is read from. */
|
|
612
617
|
zoomToFit(): void;
|
|
618
|
+
/** Everything render/camera reads and writes here. Built once: `focusRegion`
|
|
619
|
+
* runs a per-frame tween, and a host per frame is a per-frame allocation. */
|
|
620
|
+
private get cameraHost();
|
|
621
|
+
private cameraHostCache;
|
|
613
622
|
/**
|
|
614
623
|
* Reframe after a host/layout resize without throwing away section context.
|
|
615
624
|
* The stage already represents the usable map area (the picker side panel is
|
|
@@ -696,8 +705,6 @@ declare class SeatmapRenderer implements ISeatmapRenderer {
|
|
|
696
705
|
getViewMode(): RendererViewMode;
|
|
697
706
|
/** Live ISO projection state handed to the `render/projection` free functions. */
|
|
698
707
|
private get isoState();
|
|
699
|
-
/** Iso angle (rad) + y-squash for the current isoT. */
|
|
700
|
-
private isoParams;
|
|
701
708
|
/** Effective vertical scale = stage scale × iso squash — legibility math uses this. */
|
|
702
709
|
private effScale;
|
|
703
710
|
/** Project a world point through the iso affine about the chart centre (→ iso-world). */
|
|
@@ -706,11 +713,6 @@ declare class SeatmapRenderer implements ISeatmapRenderer {
|
|
|
706
713
|
private isoInverse;
|
|
707
714
|
/** Precompute the Phase-C pinhole camera and every exact seat anchor. */
|
|
708
715
|
private buildPerspectiveProjection;
|
|
709
|
-
/** Apply an affine to a Konva container while keeping `pivot` fixed logically. */
|
|
710
|
-
private setContainerAffine;
|
|
711
|
-
private resetContainerTransform;
|
|
712
|
-
/** Exact raked surface height used for the bounded section tangent plane. */
|
|
713
|
-
private sectionSurfaceHeight;
|
|
714
716
|
/** Desired perspective-space point for a section surface, before Stage pan/zoom. */
|
|
715
717
|
private projectedSectionPoint;
|
|
716
718
|
/** Shared-layer local point which the ground affine paints at `projected`. */
|
|
@@ -722,13 +724,10 @@ declare class SeatmapRenderer implements ISeatmapRenderer {
|
|
|
722
724
|
* the section's resolved real height in world units (Phase B1).
|
|
723
725
|
*/
|
|
724
726
|
private isoLiftLocal;
|
|
725
|
-
/**
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
* while the semantic overview keeps that layer fully transparent. */
|
|
727
|
+
/** The scene-graph half of a projection change — see render/projectionApply. */
|
|
728
|
+
private get projectionHost();
|
|
729
|
+
private projectionHostCache;
|
|
729
730
|
private resetLayerTransforms;
|
|
730
|
-
/** Restore section-owned containers before applying another projection. */
|
|
731
|
-
private resetSectionProjection;
|
|
732
731
|
/** Node/cache context the shared seat-anchor pass reads and updates. */
|
|
733
732
|
/** Cached, unlike its siblings, because it holds only stable references and
|
|
734
733
|
* no camera reading that could go stale; setChart (which reassigns `seats`)
|
|
@@ -739,18 +738,10 @@ declare class SeatmapRenderer implements ISeatmapRenderer {
|
|
|
739
738
|
/** Move native seat/booth hit shapes to or from their exact pinhole anchors. */
|
|
740
739
|
private applyExactSeatAnchors;
|
|
741
740
|
/**
|
|
742
|
-
* Phase C projected 2.5D
|
|
743
|
-
*
|
|
744
|
-
* section. Native Konva shapes move with the anchors, so direct hit testing is
|
|
745
|
-
* the same graph that paints the buyer-visible unit.
|
|
741
|
+
* Phase C projected 2.5D, and the isometric tilt — both live in
|
|
742
|
+
* render/projectionApply, together with the resets they open with.
|
|
746
743
|
*/
|
|
747
744
|
private applyPerspective;
|
|
748
|
-
/**
|
|
749
|
-
* Apply the current isoT to the scene: the base rotate+squash as a decomposed
|
|
750
|
-
* layer transform (so seats/décor/rings project together and Konva's own
|
|
751
|
-
* hit-testing follows), upright counter-transforms on text, and the elevation
|
|
752
|
-
* lift + extruded side faces on elevated sections.
|
|
753
|
-
*/
|
|
754
745
|
private applyIso;
|
|
755
746
|
/** Counter-skew every visible label so it renders upright at its projected anchor. */
|
|
756
747
|
private applyUprightLabels;
|
|
@@ -842,7 +833,16 @@ declare class SeatmapRenderer implements ISeatmapRenderer {
|
|
|
842
833
|
/** Preserve an explicit seat-number swatch exactly; only Automatic follows
|
|
843
834
|
* the state-aware contrast fallback as seat paint changes. */
|
|
844
835
|
private seatLabelInk;
|
|
845
|
-
/**
|
|
836
|
+
/**
|
|
837
|
+
* The per-seat paint context. Built once and kept: `paintSeat` runs per seat
|
|
838
|
+
* per repaint — up to 53k times — so a host per call would be paid for on
|
|
839
|
+
* exactly the device that can least afford it. Every field is an accessor,
|
|
840
|
+
* because the maps and scalars behind them are replaced by `setChart` and by
|
|
841
|
+
* theme changes while this object stays.
|
|
842
|
+
*/
|
|
843
|
+
private get seatPaintContext();
|
|
844
|
+
/** Apply fill/stroke/opacity for a seat's current status + selection.
|
|
845
|
+
* The ordering of every rule that decides it lives in render/seatPaint. */
|
|
846
846
|
private paintSeat;
|
|
847
847
|
/** True when a seat sits in a section/zone currently marked `closed`. */
|
|
848
848
|
private seatInClosedSection;
|
|
@@ -1001,7 +1001,6 @@ declare class SeatmapRenderer implements ISeatmapRenderer {
|
|
|
1001
1001
|
* turns the retained failures into one actionable error.
|
|
1002
1002
|
*/
|
|
1003
1003
|
private trackAssetImage;
|
|
1004
|
-
/** Cancel and release every image retained by the previous chart/export. */
|
|
1005
1004
|
private cancelAssetLoads;
|
|
1006
1005
|
/** Organizer floor-plan photo, dimmed, at the very bottom of the bg layer. */
|
|
1007
1006
|
private renderBackgroundImage;
|
|
@@ -1095,66 +1094,33 @@ declare class SeatmapRenderer implements ISeatmapRenderer {
|
|
|
1095
1094
|
*/
|
|
1096
1095
|
private sectionBounds;
|
|
1097
1096
|
private sectionFrameScale;
|
|
1098
|
-
/**
|
|
1099
|
-
* Resolve a seat tap: honour the 3D deck-drill and the AXS seat-pick gate,
|
|
1100
|
-
* then toggle. The gate (§4) redirects small on-screen seats to section-focus
|
|
1101
|
-
* to avoid blind mis-picks at overview scales — but ONLY when focusing would
|
|
1102
|
-
* zoom the seat up to a safe size. If we're already focused on the section, or
|
|
1103
|
-
* the section already fills the viewport (a narrow — OR even a wide — container
|
|
1104
|
-
* frames a big section BELOW LABEL_SCALE), redirecting is a no-op that would
|
|
1105
|
-
* leave the seat permanently unpickable (§5 `picking-gate-unreachable`), so we
|
|
1106
|
-
* fall through and PICK. This is the invariant: seats are never unpickable.
|
|
1107
|
-
*/
|
|
1108
|
-
private handleSeatTap;
|
|
1109
1097
|
/** Deck under the pointer in the 3D stacked overview — see screenPicking. */
|
|
1110
1098
|
private deckFloorAt;
|
|
1111
1099
|
/** Nearest selectable seat within `slopPx` of a screen point, or null. */
|
|
1112
1100
|
private nearestSeatToScreen;
|
|
1113
1101
|
private get screenPickingHost();
|
|
1114
1102
|
/**
|
|
1115
|
-
*
|
|
1116
|
-
*
|
|
1117
|
-
* The hover ring and the `pointer` cursor are a promise that a click does
|
|
1118
|
-
* something. Offering both over a SOLD seat and only then answering "Sold" in
|
|
1119
|
-
* the popover is a false affordance (owner, 2026-09-02), so:
|
|
1120
|
-
*
|
|
1121
|
-
* - `full` — a click can take (or give back) this seat: ring + pointer.
|
|
1122
|
-
* - `muted` — someone else's hold. It may come back, so it stays legible as
|
|
1123
|
-
* a seat: a dimmed, dashed ring, but the default cursor.
|
|
1124
|
-
* - `none` — sold, not-for-sale, closed section, filtered out: no ring, no
|
|
1125
|
-
* pointer. The tooltip still fires, so the buyer learns why.
|
|
1103
|
+
* Register the stage/seat-layer listeners. The routing they perform — and the
|
|
1104
|
+
* report behind each rung of it — lives in render/interaction/stageInteraction.
|
|
1126
1105
|
*/
|
|
1127
|
-
private hoverAffordance;
|
|
1128
1106
|
private wireInteraction;
|
|
1107
|
+
/** Resolve a seat tap — see render/interaction/stageInteraction. Kept as a
|
|
1108
|
+
* method because the tap ladder calls it through the host, which is the seam
|
|
1109
|
+
* the marker-tap tests spy on. */
|
|
1110
|
+
private handleSeatTap;
|
|
1111
|
+
private interactionHostCache;
|
|
1112
|
+
private get interactionHost();
|
|
1129
1113
|
/**
|
|
1130
1114
|
* Min is chart-relative (never lose the room); max is absolute so seats
|
|
1131
1115
|
* reach a readable size on any chart, however large the venue.
|
|
1132
1116
|
*/
|
|
1133
1117
|
private zoomBounds;
|
|
1134
|
-
/**
|
|
1135
|
-
* Zoom so `clientPoint` (stage-relative px) stays fixed under the cursor.
|
|
1136
|
-
*
|
|
1137
|
-
* `settle: 'frame'` is the wheel/trackpad path. A fling delivers dozens of
|
|
1138
|
-
* events between two paints and each one ran the whole `afterViewChange`
|
|
1139
|
-
* cascade — retarget, cull, LOD, free text, labels — for a camera the buyer
|
|
1140
|
-
* never saw. It now defers exactly the way the pinch path does: cull and draw
|
|
1141
|
-
* per event (cheap, and required for a correct frame), one settle per frame,
|
|
1142
|
-
* last event wins. The zoom maths and the onViewChange contract are unchanged
|
|
1143
|
-
* — `scheduleViewChange` was already rAF-coalesced.
|
|
1144
|
-
*/
|
|
1145
1118
|
private zoomAbout;
|
|
1146
|
-
/** One `afterViewChange` per animation frame for a burst of wheel events. */
|
|
1147
|
-
private scheduleZoomSettle;
|
|
1148
1119
|
/** Drop a wheel settle that a newer, authoritative view pass supersedes. */
|
|
1149
1120
|
private cancelZoomSettle;
|
|
1150
|
-
/** Zoom + pan so world-rect `b` fills the viewport (with a small margin). */
|
|
1151
|
-
private zoomToBounds;
|
|
1152
1121
|
/**
|
|
1153
|
-
*
|
|
1154
|
-
*
|
|
1155
|
-
* melt/LOD rides the camera every frame. `prefers-reduced-motion` (or
|
|
1156
|
-
* `opts.animate === false`) snaps via zoomToBounds. A grab (pointer-down) or a
|
|
1157
|
-
* newer glide cancels an in-flight one.
|
|
1122
|
+
* Glide the camera to frame a section (by id) or a world-space bounds rect —
|
|
1123
|
+
* the Slice 5 "glide in". See render/camera for the tween and its rules.
|
|
1158
1124
|
*/
|
|
1159
1125
|
focusRegion(target: string | {
|
|
1160
1126
|
x: number;
|
|
@@ -1188,6 +1154,8 @@ declare class SeatmapRenderer implements ISeatmapRenderer {
|
|
|
1188
1154
|
/** The camera scale every seat label needs to clear the legible floor.
|
|
1189
1155
|
* Derivation in ./render/seatLabelTargetScale. */
|
|
1190
1156
|
private seatLabelTargetScale;
|
|
1157
|
+
/** The buyer pinched back out to the venue: the section focus is over. */
|
|
1158
|
+
private releaseFocusOnPullBack;
|
|
1191
1159
|
/** Recompute LOD (cache/labels) after any pan/zoom settles. */
|
|
1192
1160
|
private afterViewChange;
|
|
1193
1161
|
/**
|
|
@@ -1812,6 +1780,15 @@ interface PickerCallbacks extends RendererCallbacks {
|
|
|
1812
1780
|
* overview() / zoom-to-zones) so the host can show/hide the summary card.
|
|
1813
1781
|
*/
|
|
1814
1782
|
onSectionFocus?: (summary: SectionSummary | null) => void;
|
|
1783
|
+
/**
|
|
1784
|
+
* Does the HOST have its own card open about the seat under the cursor?
|
|
1785
|
+
*
|
|
1786
|
+
* The map draws one hover card. A host that keeps its own — the widget's
|
|
1787
|
+
* pinned card for a seat that cannot be taken, or its confirm card — answers
|
|
1788
|
+
* true while that card is up, and the map's card stands down rather than
|
|
1789
|
+
* saying the same thing beside it.
|
|
1790
|
+
*/
|
|
1791
|
+
hostCardOpen?: () => boolean;
|
|
1815
1792
|
/** A deck was tapped in the 3D all-floors overview — host enters that floor in 2D. */
|
|
1816
1793
|
onDeckTap?: (floorId: string) => void;
|
|
1817
1794
|
/**
|
|
@@ -2384,6 +2361,9 @@ declare class PickerController {
|
|
|
2384
2361
|
/** The camera a price band took from the buyer — see
|
|
2385
2362
|
* {@link PickerFocusContext.bandReturnPose}. */
|
|
2386
2363
|
private bandReturnPose;
|
|
2364
|
+
/** The section a price band took the buyer out of — see
|
|
2365
|
+
* {@link PickerFocusContext.bandReturnSection}. */
|
|
2366
|
+
private bandReturnSection;
|
|
2387
2367
|
/**
|
|
2388
2368
|
* The state the filter-driven camera rules read and change — see
|
|
2389
2369
|
* ./pickerFocus. Rebuilt per call; the accessor pair keeps the controller
|
package/dist/index.d.ts
CHANGED
|
@@ -2,13 +2,13 @@ import { C as ChartDoc, F as FloorLabelStyle, P as Point, A as AccessibilityType
|
|
|
2
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, i 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, h 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-eVmh2-Yn.js';
|
|
3
3
|
import { c as EventConfigurationRef, b as EventConfigurationVersion } from './eventConfigurations-DhGEe6fT.js';
|
|
4
4
|
export { d as EVENT_CONFIGURATION_EXPORT_SCHEMA, e as EVENT_CONFIGURATION_SCHEMA, f as EventConfigurationBaseVenue, g as EventConfigurationCompatibilityIssue, h as EventConfigurationCompatibilityIssueCode, i as EventConfigurationCompatibilityResult, j as EventConfigurationExportEnvelope, k as EventConfigurationLifecycleStatus, a as EventConfigurationOcclusion, l as EventConfigurationOverlay, m as EventConfigurationParseIssue, n as EventConfigurationParseIssueCode, o as EventConfigurationParseResult, p as EventConfigurationProductionElement, E as EventConfigurationProductionElementKind, q as EventConfigurationVenueSnapshot, r as EventConfigurationVersionParseResult, s as EventConfigurationVersionSummary, L as LegacyEventConfigurationMigrationResult, t as canTransitionEventConfiguration, u as canonicalEventConfigurationJson, v as inspectEventConfigurationCompatibility, w as migrateLegacyEventConfigurations, x as parseEventConfigurationExport, y as parseEventConfigurationVersion, z as resolveEventConfigurationRollback } from './eventConfigurations-DhGEe6fT.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-
|
|
6
|
-
import {
|
|
7
|
-
export { M as MAX_EVENT_INVENTORY, d as MAX_GA_CAPACITY,
|
|
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-BpRvVdXK.js';
|
|
6
|
+
import { g as TicketSelectionIssue, b as GroupedTableInventoryUnit } from './ticketRestrictions-BijtF-Lw.js';
|
|
7
|
+
export { M as MAX_EVENT_INVENTORY, d as MAX_GA_CAPACITY, l as gaAreasOf, m as gaInventorySegments, n as gaUnitLabel, o as gaUnitLabels, q as growJoinedGAInventory, s as isGaUnitLabel, x as validGAInventorySegments } from './ticketRestrictions-BijtF-Lw.js';
|
|
8
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-Du9QkrCf.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-
|
|
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-
|
|
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-DObXwisG.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-i_mthe5Z.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-i_mthe5Z.js';
|
|
12
12
|
import './segmentedRowModel-N9Z0rnKY.js';
|
|
13
13
|
|
|
14
14
|
/**
|
|
@@ -210,9 +210,13 @@ declare class SeatmapRenderer implements ISeatmapRenderer {
|
|
|
210
210
|
private ownedCache;
|
|
211
211
|
/** The pressable "your seats are in here" marks below the seats rung. */
|
|
212
212
|
private beaconsCache;
|
|
213
|
+
/** Desktop hover card — see render/hoverCard. Mouse only; built on attach. */
|
|
214
|
+
private hoverCardCache;
|
|
213
215
|
/** Held by this picker instance, not by another buyer. */
|
|
214
216
|
private ownedHold;
|
|
215
217
|
private seatMarks;
|
|
218
|
+
/** Built on first paint and kept for the renderer's life — see seatPaintContext. */
|
|
219
|
+
private seatPaintCache;
|
|
216
220
|
/** One selected seat being inspected before it is committed to the cart. */
|
|
217
221
|
private selectionFocusId;
|
|
218
222
|
/** Seats that keep full ink while the confirm card is open — see
|
|
@@ -347,10 +351,7 @@ declare class SeatmapRenderer implements ISeatmapRenderer {
|
|
|
347
351
|
private cached;
|
|
348
352
|
private dpr;
|
|
349
353
|
/** Current chart's buyer-visible image work. Failures are retained until ready(). */
|
|
350
|
-
private
|
|
351
|
-
private assetPromises;
|
|
352
|
-
private assetErrors;
|
|
353
|
-
private assetCancels;
|
|
354
|
+
private readonly assets;
|
|
354
355
|
/**
|
|
355
356
|
* Progressive reveal: what a big chart does instead of appearing all at once.
|
|
356
357
|
*
|
|
@@ -413,6 +414,8 @@ declare class SeatmapRenderer implements ISeatmapRenderer {
|
|
|
413
414
|
* frame loop.
|
|
414
415
|
*/
|
|
415
416
|
private get breath();
|
|
417
|
+
/** The hover card. One element, reused; the camera decides what it says. */
|
|
418
|
+
private get hoverCard();
|
|
416
419
|
/**
|
|
417
420
|
* The selection beacons. Built on first use, like every other overlay family:
|
|
418
421
|
* a map nobody has picked a seat on allocates nothing and appends no DOM.
|
|
@@ -609,7 +612,13 @@ declare class SeatmapRenderer implements ISeatmapRenderer {
|
|
|
609
612
|
private framingViewport;
|
|
610
613
|
/** The visible band in world space — what "where the buyer is looking" means. */
|
|
611
614
|
private framingWorldRect;
|
|
615
|
+
/** Frame the whole venue. The fit it lands on is render/camera's `fitScale`,
|
|
616
|
+
* which every zoom bound in this renderer is read from. */
|
|
612
617
|
zoomToFit(): void;
|
|
618
|
+
/** Everything render/camera reads and writes here. Built once: `focusRegion`
|
|
619
|
+
* runs a per-frame tween, and a host per frame is a per-frame allocation. */
|
|
620
|
+
private get cameraHost();
|
|
621
|
+
private cameraHostCache;
|
|
613
622
|
/**
|
|
614
623
|
* Reframe after a host/layout resize without throwing away section context.
|
|
615
624
|
* The stage already represents the usable map area (the picker side panel is
|
|
@@ -696,8 +705,6 @@ declare class SeatmapRenderer implements ISeatmapRenderer {
|
|
|
696
705
|
getViewMode(): RendererViewMode;
|
|
697
706
|
/** Live ISO projection state handed to the `render/projection` free functions. */
|
|
698
707
|
private get isoState();
|
|
699
|
-
/** Iso angle (rad) + y-squash for the current isoT. */
|
|
700
|
-
private isoParams;
|
|
701
708
|
/** Effective vertical scale = stage scale × iso squash — legibility math uses this. */
|
|
702
709
|
private effScale;
|
|
703
710
|
/** Project a world point through the iso affine about the chart centre (→ iso-world). */
|
|
@@ -706,11 +713,6 @@ declare class SeatmapRenderer implements ISeatmapRenderer {
|
|
|
706
713
|
private isoInverse;
|
|
707
714
|
/** Precompute the Phase-C pinhole camera and every exact seat anchor. */
|
|
708
715
|
private buildPerspectiveProjection;
|
|
709
|
-
/** Apply an affine to a Konva container while keeping `pivot` fixed logically. */
|
|
710
|
-
private setContainerAffine;
|
|
711
|
-
private resetContainerTransform;
|
|
712
|
-
/** Exact raked surface height used for the bounded section tangent plane. */
|
|
713
|
-
private sectionSurfaceHeight;
|
|
714
716
|
/** Desired perspective-space point for a section surface, before Stage pan/zoom. */
|
|
715
717
|
private projectedSectionPoint;
|
|
716
718
|
/** Shared-layer local point which the ground affine paints at `projected`. */
|
|
@@ -722,13 +724,10 @@ declare class SeatmapRenderer implements ISeatmapRenderer {
|
|
|
722
724
|
* the section's resolved real height in world units (Phase B1).
|
|
723
725
|
*/
|
|
724
726
|
private isoLiftLocal;
|
|
725
|
-
/**
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
* while the semantic overview keeps that layer fully transparent. */
|
|
727
|
+
/** The scene-graph half of a projection change — see render/projectionApply. */
|
|
728
|
+
private get projectionHost();
|
|
729
|
+
private projectionHostCache;
|
|
729
730
|
private resetLayerTransforms;
|
|
730
|
-
/** Restore section-owned containers before applying another projection. */
|
|
731
|
-
private resetSectionProjection;
|
|
732
731
|
/** Node/cache context the shared seat-anchor pass reads and updates. */
|
|
733
732
|
/** Cached, unlike its siblings, because it holds only stable references and
|
|
734
733
|
* no camera reading that could go stale; setChart (which reassigns `seats`)
|
|
@@ -739,18 +738,10 @@ declare class SeatmapRenderer implements ISeatmapRenderer {
|
|
|
739
738
|
/** Move native seat/booth hit shapes to or from their exact pinhole anchors. */
|
|
740
739
|
private applyExactSeatAnchors;
|
|
741
740
|
/**
|
|
742
|
-
* Phase C projected 2.5D
|
|
743
|
-
*
|
|
744
|
-
* section. Native Konva shapes move with the anchors, so direct hit testing is
|
|
745
|
-
* the same graph that paints the buyer-visible unit.
|
|
741
|
+
* Phase C projected 2.5D, and the isometric tilt — both live in
|
|
742
|
+
* render/projectionApply, together with the resets they open with.
|
|
746
743
|
*/
|
|
747
744
|
private applyPerspective;
|
|
748
|
-
/**
|
|
749
|
-
* Apply the current isoT to the scene: the base rotate+squash as a decomposed
|
|
750
|
-
* layer transform (so seats/décor/rings project together and Konva's own
|
|
751
|
-
* hit-testing follows), upright counter-transforms on text, and the elevation
|
|
752
|
-
* lift + extruded side faces on elevated sections.
|
|
753
|
-
*/
|
|
754
745
|
private applyIso;
|
|
755
746
|
/** Counter-skew every visible label so it renders upright at its projected anchor. */
|
|
756
747
|
private applyUprightLabels;
|
|
@@ -842,7 +833,16 @@ declare class SeatmapRenderer implements ISeatmapRenderer {
|
|
|
842
833
|
/** Preserve an explicit seat-number swatch exactly; only Automatic follows
|
|
843
834
|
* the state-aware contrast fallback as seat paint changes. */
|
|
844
835
|
private seatLabelInk;
|
|
845
|
-
/**
|
|
836
|
+
/**
|
|
837
|
+
* The per-seat paint context. Built once and kept: `paintSeat` runs per seat
|
|
838
|
+
* per repaint — up to 53k times — so a host per call would be paid for on
|
|
839
|
+
* exactly the device that can least afford it. Every field is an accessor,
|
|
840
|
+
* because the maps and scalars behind them are replaced by `setChart` and by
|
|
841
|
+
* theme changes while this object stays.
|
|
842
|
+
*/
|
|
843
|
+
private get seatPaintContext();
|
|
844
|
+
/** Apply fill/stroke/opacity for a seat's current status + selection.
|
|
845
|
+
* The ordering of every rule that decides it lives in render/seatPaint. */
|
|
846
846
|
private paintSeat;
|
|
847
847
|
/** True when a seat sits in a section/zone currently marked `closed`. */
|
|
848
848
|
private seatInClosedSection;
|
|
@@ -1001,7 +1001,6 @@ declare class SeatmapRenderer implements ISeatmapRenderer {
|
|
|
1001
1001
|
* turns the retained failures into one actionable error.
|
|
1002
1002
|
*/
|
|
1003
1003
|
private trackAssetImage;
|
|
1004
|
-
/** Cancel and release every image retained by the previous chart/export. */
|
|
1005
1004
|
private cancelAssetLoads;
|
|
1006
1005
|
/** Organizer floor-plan photo, dimmed, at the very bottom of the bg layer. */
|
|
1007
1006
|
private renderBackgroundImage;
|
|
@@ -1095,66 +1094,33 @@ declare class SeatmapRenderer implements ISeatmapRenderer {
|
|
|
1095
1094
|
*/
|
|
1096
1095
|
private sectionBounds;
|
|
1097
1096
|
private sectionFrameScale;
|
|
1098
|
-
/**
|
|
1099
|
-
* Resolve a seat tap: honour the 3D deck-drill and the AXS seat-pick gate,
|
|
1100
|
-
* then toggle. The gate (§4) redirects small on-screen seats to section-focus
|
|
1101
|
-
* to avoid blind mis-picks at overview scales — but ONLY when focusing would
|
|
1102
|
-
* zoom the seat up to a safe size. If we're already focused on the section, or
|
|
1103
|
-
* the section already fills the viewport (a narrow — OR even a wide — container
|
|
1104
|
-
* frames a big section BELOW LABEL_SCALE), redirecting is a no-op that would
|
|
1105
|
-
* leave the seat permanently unpickable (§5 `picking-gate-unreachable`), so we
|
|
1106
|
-
* fall through and PICK. This is the invariant: seats are never unpickable.
|
|
1107
|
-
*/
|
|
1108
|
-
private handleSeatTap;
|
|
1109
1097
|
/** Deck under the pointer in the 3D stacked overview — see screenPicking. */
|
|
1110
1098
|
private deckFloorAt;
|
|
1111
1099
|
/** Nearest selectable seat within `slopPx` of a screen point, or null. */
|
|
1112
1100
|
private nearestSeatToScreen;
|
|
1113
1101
|
private get screenPickingHost();
|
|
1114
1102
|
/**
|
|
1115
|
-
*
|
|
1116
|
-
*
|
|
1117
|
-
* The hover ring and the `pointer` cursor are a promise that a click does
|
|
1118
|
-
* something. Offering both over a SOLD seat and only then answering "Sold" in
|
|
1119
|
-
* the popover is a false affordance (owner, 2026-09-02), so:
|
|
1120
|
-
*
|
|
1121
|
-
* - `full` — a click can take (or give back) this seat: ring + pointer.
|
|
1122
|
-
* - `muted` — someone else's hold. It may come back, so it stays legible as
|
|
1123
|
-
* a seat: a dimmed, dashed ring, but the default cursor.
|
|
1124
|
-
* - `none` — sold, not-for-sale, closed section, filtered out: no ring, no
|
|
1125
|
-
* pointer. The tooltip still fires, so the buyer learns why.
|
|
1103
|
+
* Register the stage/seat-layer listeners. The routing they perform — and the
|
|
1104
|
+
* report behind each rung of it — lives in render/interaction/stageInteraction.
|
|
1126
1105
|
*/
|
|
1127
|
-
private hoverAffordance;
|
|
1128
1106
|
private wireInteraction;
|
|
1107
|
+
/** Resolve a seat tap — see render/interaction/stageInteraction. Kept as a
|
|
1108
|
+
* method because the tap ladder calls it through the host, which is the seam
|
|
1109
|
+
* the marker-tap tests spy on. */
|
|
1110
|
+
private handleSeatTap;
|
|
1111
|
+
private interactionHostCache;
|
|
1112
|
+
private get interactionHost();
|
|
1129
1113
|
/**
|
|
1130
1114
|
* Min is chart-relative (never lose the room); max is absolute so seats
|
|
1131
1115
|
* reach a readable size on any chart, however large the venue.
|
|
1132
1116
|
*/
|
|
1133
1117
|
private zoomBounds;
|
|
1134
|
-
/**
|
|
1135
|
-
* Zoom so `clientPoint` (stage-relative px) stays fixed under the cursor.
|
|
1136
|
-
*
|
|
1137
|
-
* `settle: 'frame'` is the wheel/trackpad path. A fling delivers dozens of
|
|
1138
|
-
* events between two paints and each one ran the whole `afterViewChange`
|
|
1139
|
-
* cascade — retarget, cull, LOD, free text, labels — for a camera the buyer
|
|
1140
|
-
* never saw. It now defers exactly the way the pinch path does: cull and draw
|
|
1141
|
-
* per event (cheap, and required for a correct frame), one settle per frame,
|
|
1142
|
-
* last event wins. The zoom maths and the onViewChange contract are unchanged
|
|
1143
|
-
* — `scheduleViewChange` was already rAF-coalesced.
|
|
1144
|
-
*/
|
|
1145
1118
|
private zoomAbout;
|
|
1146
|
-
/** One `afterViewChange` per animation frame for a burst of wheel events. */
|
|
1147
|
-
private scheduleZoomSettle;
|
|
1148
1119
|
/** Drop a wheel settle that a newer, authoritative view pass supersedes. */
|
|
1149
1120
|
private cancelZoomSettle;
|
|
1150
|
-
/** Zoom + pan so world-rect `b` fills the viewport (with a small margin). */
|
|
1151
|
-
private zoomToBounds;
|
|
1152
1121
|
/**
|
|
1153
|
-
*
|
|
1154
|
-
*
|
|
1155
|
-
* melt/LOD rides the camera every frame. `prefers-reduced-motion` (or
|
|
1156
|
-
* `opts.animate === false`) snaps via zoomToBounds. A grab (pointer-down) or a
|
|
1157
|
-
* newer glide cancels an in-flight one.
|
|
1122
|
+
* Glide the camera to frame a section (by id) or a world-space bounds rect —
|
|
1123
|
+
* the Slice 5 "glide in". See render/camera for the tween and its rules.
|
|
1158
1124
|
*/
|
|
1159
1125
|
focusRegion(target: string | {
|
|
1160
1126
|
x: number;
|
|
@@ -1188,6 +1154,8 @@ declare class SeatmapRenderer implements ISeatmapRenderer {
|
|
|
1188
1154
|
/** The camera scale every seat label needs to clear the legible floor.
|
|
1189
1155
|
* Derivation in ./render/seatLabelTargetScale. */
|
|
1190
1156
|
private seatLabelTargetScale;
|
|
1157
|
+
/** The buyer pinched back out to the venue: the section focus is over. */
|
|
1158
|
+
private releaseFocusOnPullBack;
|
|
1191
1159
|
/** Recompute LOD (cache/labels) after any pan/zoom settles. */
|
|
1192
1160
|
private afterViewChange;
|
|
1193
1161
|
/**
|
|
@@ -1812,6 +1780,15 @@ interface PickerCallbacks extends RendererCallbacks {
|
|
|
1812
1780
|
* overview() / zoom-to-zones) so the host can show/hide the summary card.
|
|
1813
1781
|
*/
|
|
1814
1782
|
onSectionFocus?: (summary: SectionSummary | null) => void;
|
|
1783
|
+
/**
|
|
1784
|
+
* Does the HOST have its own card open about the seat under the cursor?
|
|
1785
|
+
*
|
|
1786
|
+
* The map draws one hover card. A host that keeps its own — the widget's
|
|
1787
|
+
* pinned card for a seat that cannot be taken, or its confirm card — answers
|
|
1788
|
+
* true while that card is up, and the map's card stands down rather than
|
|
1789
|
+
* saying the same thing beside it.
|
|
1790
|
+
*/
|
|
1791
|
+
hostCardOpen?: () => boolean;
|
|
1815
1792
|
/** A deck was tapped in the 3D all-floors overview — host enters that floor in 2D. */
|
|
1816
1793
|
onDeckTap?: (floorId: string) => void;
|
|
1817
1794
|
/**
|
|
@@ -2384,6 +2361,9 @@ declare class PickerController {
|
|
|
2384
2361
|
/** The camera a price band took from the buyer — see
|
|
2385
2362
|
* {@link PickerFocusContext.bandReturnPose}. */
|
|
2386
2363
|
private bandReturnPose;
|
|
2364
|
+
/** The section a price band took the buyer out of — see
|
|
2365
|
+
* {@link PickerFocusContext.bandReturnSection}. */
|
|
2366
|
+
private bandReturnSection;
|
|
2387
2367
|
/**
|
|
2388
2368
|
* The state the filter-driven camera rules read and change — see
|
|
2389
2369
|
* ./pickerFocus. Rebuilt per call; the accessor pair keeps the controller
|