@seatlayer/core 0.74.0 → 0.75.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (149) hide show
  1. package/README.md +3 -2
  2. package/dist/ar-JOSU54ZZ.js +1 -0
  3. package/dist/be-UDIVAZGH.js +1 -0
  4. package/dist/bg-AJX2SNK4.js +1 -0
  5. package/dist/ca-MC23KMQH.js +1 -0
  6. package/dist/{categoryInventory-Bcmnr6ZH.d.ts → categoryInventory-C5I2U-EM.d.ts} +1 -1
  7. package/dist/{categoryInventory-DueSAIBX.d.cts → categoryInventory-DFp26meo.d.cts} +1 -1
  8. package/dist/chunk-KHFCTR3V.js +1 -0
  9. package/dist/{chunk-UX67GDLV.js → chunk-N3DPHRJ3.js} +1 -1
  10. package/dist/{chunk-JLYR66MT.js → chunk-OGIAQX62.js} +1 -1
  11. package/dist/chunk-QUOAQQMP.js +1 -0
  12. package/dist/chunk-SPM2LMKI.js +1 -0
  13. package/dist/{chunk-N5NRM4NW.js → chunk-TN6DFYEV.js} +1 -1
  14. package/dist/{chunk-ZMYRXJOA.js → chunk-UVAV3E7K.js} +1 -1
  15. package/dist/chunk-X2GZ5O7C.js +1 -0
  16. package/dist/{chunk-BAWUBGWY.js → chunk-YACNGDTE.js} +1 -1
  17. package/dist/core/chart-ops/index.cjs +1 -1
  18. package/dist/core/chart-ops/index.d.cts +4 -4
  19. package/dist/core/chart-ops/index.d.ts +4 -4
  20. package/dist/core/chart-ops/index.js +1 -1
  21. package/dist/core/inventory/index.cjs +1 -1
  22. package/dist/core/inventory/index.d.cts +4 -4
  23. package/dist/core/inventory/index.d.ts +4 -4
  24. package/dist/core/inventory/index.js +1 -1
  25. package/dist/core/layout/index.cjs +1 -1
  26. package/dist/core/layout/index.d.cts +5 -5
  27. package/dist/core/layout/index.d.ts +5 -5
  28. package/dist/core/layout/index.js +1 -1
  29. package/dist/core/quality/index.d.cts +3 -3
  30. package/dist/core/quality/index.d.ts +3 -3
  31. package/dist/core/render-assets/index.d.cts +1 -1
  32. package/dist/core/render-assets/index.d.ts +1 -1
  33. package/dist/core/seatConfidence.d.cts +1 -1
  34. package/dist/core/seatConfidence.d.ts +1 -1
  35. package/dist/core/sections/index.cjs +1 -1
  36. package/dist/core/sections/index.d.cts +5 -5
  37. package/dist/core/sections/index.d.ts +5 -5
  38. package/dist/core/sections/index.js +1 -1
  39. package/dist/cs-Q4OEV3NE.js +1 -0
  40. package/dist/cy-TPDRMPTK.js +1 -0
  41. package/dist/da-U6XXTCII.js +1 -0
  42. package/dist/de-ZV54ZWHR.js +1 -0
  43. package/dist/el-5VQKNNQV.js +1 -0
  44. package/dist/es-Y3BNIAEW.js +1 -0
  45. package/dist/et-HCCA6TE3.js +1 -0
  46. package/dist/{eventConfigurations-C7YAqkFR.d.ts → eventConfigurations-BQGuLLv0.d.ts} +1 -1
  47. package/dist/{eventConfigurations-DwXdrjqj.d.cts → eventConfigurations-DAaOaKJK.d.cts} +1 -1
  48. package/dist/fa-SZ3EAODM.js +1 -0
  49. package/dist/fi-S34TMT35.js +1 -0
  50. package/dist/fr-RQIXNHQ5.js +1 -0
  51. package/dist/he-PPNABESI.js +1 -0
  52. package/dist/hr-IZOGRWC5.js +1 -0
  53. package/dist/hu-K7EOGFAB.js +1 -0
  54. package/dist/index.cjs +1 -1
  55. package/dist/index.d.cts +148 -14
  56. package/dist/index.d.ts +148 -14
  57. package/dist/index.js +1 -1
  58. package/dist/it-PD5WJDNR.js +1 -0
  59. package/dist/ja-3CFZ2KK6.js +1 -0
  60. package/dist/ku-MQJTRLDV.js +1 -0
  61. package/dist/{labeling-iugoy25P.d.cts → labeling-BZp91HiS.d.cts} +1 -1
  62. package/dist/{labeling-BUCj-kHU.d.ts → labeling-Duul2sao.d.ts} +1 -1
  63. package/dist/{layout-Dv3R0Mpw.d.ts → layout-DGbWo5fV.d.ts} +12 -3
  64. package/dist/{layout-DPJX6D9k.d.cts → layout-Gkx3fo5_.d.cts} +12 -3
  65. package/dist/localeLoaders-ETY2H7H3.js +1 -0
  66. package/dist/lt-6Q5DJHXR.js +1 -0
  67. package/dist/lv-BQ3LWGW6.js +1 -0
  68. package/dist/nl-ZPVH2YGT.js +1 -0
  69. package/dist/no-R7I6YW7N.js +1 -0
  70. package/dist/openPanorama-6FMXAJ6O.js +20 -0
  71. package/dist/pl-EU2O5DYI.js +1 -0
  72. package/dist/pt-UMSFOY5P.js +1 -0
  73. package/dist/{renderedQuality-CfonzUpl.d.ts → renderedQuality-BYhJ3Cer.d.ts} +1 -1
  74. package/dist/{renderedQuality-CSHrmnHf.d.cts → renderedQuality-CEPse8ir.d.cts} +1 -1
  75. package/dist/{renderer-Dn4Plcv9.d.cts → renderer-BlLKrW-U.d.ts} +17 -1
  76. package/dist/{renderer-C5avrVLy.d.ts → renderer-Cv_gzYvT.d.cts} +17 -1
  77. package/dist/ro-GR35LU2L.js +1 -0
  78. package/dist/ru-CXYAZQEV.js +1 -0
  79. package/dist/{sections-DhJ7TukF.d.cts → sections-CRSGPI3T.d.cts} +1 -1
  80. package/dist/{sections-uV7vqDHj.d.ts → sections-DIVvr8QN.d.ts} +1 -1
  81. package/dist/{segmentedRowModel-DgSEzAYd.d.ts → segmentedRowModel-CD-YT9bT.d.ts} +1 -1
  82. package/dist/{segmentedRowModel-DWOjcPrU.d.cts → segmentedRowModel-CvyOS6Bx.d.cts} +1 -1
  83. package/dist/sk-GUB52YMC.js +1 -0
  84. package/dist/sl-J7N6LDON.js +1 -0
  85. package/dist/sr-A7GQEH7K.js +1 -0
  86. package/dist/sv-ARLHHSPZ.js +1 -0
  87. package/dist/{ticketRestrictions-JT87K45q.d.cts → ticketRestrictions-C31mrE97.d.cts} +2 -2
  88. package/dist/{ticketRestrictions-DIh61MqE.d.ts → ticketRestrictions-DXO2eckD.d.ts} +2 -2
  89. package/dist/tr-6TE3U7WM.js +1 -0
  90. package/dist/{types-Dx4jA8aI.d.cts → types-BVRza86Q.d.cts} +15 -0
  91. package/dist/{types-Dx4jA8aI.d.ts → types-BVRza86Q.d.ts} +15 -0
  92. package/dist/uk-RMVPSRMH.js +1 -0
  93. package/dist/view3d/crossfade/panorama.cjs +1 -1
  94. package/dist/view3d/crossfade/panorama.d.cts +20 -2
  95. package/dist/view3d/crossfade/panorama.d.ts +20 -2
  96. package/dist/view3d/crossfade/panorama.js +1 -1
  97. package/dist/view3d/index.cjs +31 -31
  98. package/dist/view3d/index.d.cts +30 -3
  99. package/dist/view3d/index.d.ts +30 -3
  100. package/dist/view3d/index.js +25 -25
  101. package/dist/view3d/scene/scene.worker.cjs +1 -1
  102. package/dist/view3d/scene/scene.worker.js +1 -1
  103. package/dist/zh-Hans-SNO4DA32.js +1 -0
  104. package/dist/zh-Hant-TVIKBD5S.js +1 -0
  105. package/package.json +2 -2
  106. package/dist/ar-JP4VPYJ2.js +0 -1
  107. package/dist/be-ROTFZNMH.js +0 -1
  108. package/dist/bg-YMQ3B5NS.js +0 -1
  109. package/dist/ca-L2OMCHWL.js +0 -1
  110. package/dist/chunk-52MZJZMW.js +0 -1
  111. package/dist/chunk-5JB4VW6B.js +0 -1
  112. package/dist/chunk-6TIKEDC4.js +0 -1
  113. package/dist/chunk-BLPBTW6I.js +0 -1
  114. package/dist/chunk-KN7GLEAI.js +0 -1
  115. package/dist/chunk-YFV4DSSX.js +0 -1
  116. package/dist/cs-CHBOZAYY.js +0 -1
  117. package/dist/cy-ZIVBYZBX.js +0 -1
  118. package/dist/da-PUY5IIER.js +0 -1
  119. package/dist/de-ILFIEU77.js +0 -1
  120. package/dist/el-5EG3QS5T.js +0 -1
  121. package/dist/es-YXZQB5VZ.js +0 -1
  122. package/dist/et-FZIUC4FC.js +0 -1
  123. package/dist/fa-KKBNUDRE.js +0 -1
  124. package/dist/fi-B6JSP5Z5.js +0 -1
  125. package/dist/fr-T5LHFRKG.js +0 -1
  126. package/dist/he-JF4HU75D.js +0 -1
  127. package/dist/hr-S5OXZ3NI.js +0 -1
  128. package/dist/hu-ZZDYG6ZF.js +0 -1
  129. package/dist/it-A5VCFTQP.js +0 -1
  130. package/dist/ja-PAJD5HFJ.js +0 -1
  131. package/dist/ku-KV2AIB6I.js +0 -1
  132. package/dist/localeLoaders-VULFUGJH.js +0 -1
  133. package/dist/lt-OSFNYQ2L.js +0 -1
  134. package/dist/lv-5INNWEN5.js +0 -1
  135. package/dist/nl-YOLY3DXM.js +0 -1
  136. package/dist/no-C5MG5NPH.js +0 -1
  137. package/dist/openPanorama-HGRYMWKC.js +0 -20
  138. package/dist/pl-ERGM2HA3.js +0 -1
  139. package/dist/pt-S6SBTHES.js +0 -1
  140. package/dist/ro-NQ4LIATX.js +0 -1
  141. package/dist/ru-ICFP6U3S.js +0 -1
  142. package/dist/sk-VYH6WIZ2.js +0 -1
  143. package/dist/sl-AA54VE5P.js +0 -1
  144. package/dist/sr-Z27ZL5ZE.js +0 -1
  145. package/dist/sv-BT4MNMB5.js +0 -1
  146. package/dist/tr-3TSE3BBR.js +0 -1
  147. package/dist/uk-YD2PBENU.js +0 -1
  148. package/dist/zh-Hans-VPQE6LWU.js +0 -1
  149. 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-Dx4jA8aI.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, l 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, k 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, j as SeatOverride, e as SeatViewCoverage, b as SeatViewMetadata, ax as SeatViewVariant, m 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-Dx4jA8aI.cjs';
3
- import { E as EventConfigurationRef, a as EventConfigurationVersion } from './eventConfigurations-DwXdrjqj.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-DwXdrjqj.cjs';
5
- export { C as ChartBoundsOptions, E as ExpandChartOptions, F as FLOOR_STACK_GAP_RATIO, a as FLOOR_STACK_MIN_SURFACE_PX, b as FloorStackOptions, c as FloorStackPlacement, R as RowSeatSlot, T as TABLE_SEAT_OFFSET, d as TableSeatSlot, e as allObjects, f as chartBounds, g as expandBooth, h as expandChart, i as expandRow, j as expandRowSlots, k as expandTable, l as expandTableSlots, m as floorObjects, n as floorStackPlacements, o as floorsOf, p as initialFloorMode, q as layoutFloorStack, r as mainFloorId, s as objectCenter, t as owningSectionForObject, u as pointInPolygon, v as pointInPolygonWithHoles, w as polygonLabelPoint, x as rowInventoryCount, y as rowSeatPositions, z as stackFloors, A as tableInventoryCount, B as tableSeatCountsBySide, D as translateObject } from './layout-DPJX6D9k.cjs';
6
- import { c as TicketSelectionIssue } from './ticketRestrictions-JT87K45q.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-JT87K45q.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-DhJ7TukF.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-CSHrmnHf.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-Dn4Plcv9.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-Dn4Plcv9.cjs';
12
- import './segmentedRowModel-DWOjcPrU.cjs';
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-BVRza86Q.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, l 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, k 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, j as SeatOverride, e as SeatViewCoverage, b as SeatViewMetadata, ax as SeatViewVariant, m 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-BVRza86Q.cjs';
3
+ import { E as EventConfigurationRef, a as EventConfigurationVersion } from './eventConfigurations-DAaOaKJK.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-DAaOaKJK.cjs';
5
+ export { C as ChartBoundsOptions, E as ExpandChartOptions, F as FLOOR_STACK_GAP_RATIO, a as FLOOR_STACK_MIN_SURFACE_PX, b as FloorStackOptions, c as FloorStackPlacement, R as RowSeatSlot, T as TABLE_SEAT_OFFSET, d as TableSeatSlot, e as allObjects, f as chartBounds, g as expandBooth, h as expandChart, i as expandRow, j as expandRowSlots, k as expandTable, l as expandTableSlots, m as floorObjects, n as floorStackPlacements, o as floorsOf, p as initialFloorMode, q as layoutFloorStack, r as mainFloorId, s as objectCenter, t as owningSectionForObject, u as pointInPolygon, v as pointInPolygonWithHoles, w as polygonLabelPoint, x as rowInventoryCount, y as rowSeatPositions, z as stackFloors, A as tableInventoryCount, B as tableSeatCountsBySide, D as translateObject } from './layout-Gkx3fo5_.cjs';
6
+ import { c as TicketSelectionIssue } from './ticketRestrictions-C31mrE97.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-C31mrE97.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-CRSGPI3T.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-CEPse8ir.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-Cv_gzYvT.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-Cv_gzYvT.cjs';
12
+ import './segmentedRowModel-CvyOS6Bx.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 = 150;
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
@@ -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
- /** Zoom so `clientPoint` (stage-relative px) stays fixed under the cursor. */
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-Dx4jA8aI.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, l 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, k 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, j as SeatOverride, e as SeatViewCoverage, b as SeatViewMetadata, ax as SeatViewVariant, m 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-Dx4jA8aI.js';
3
- import { E as EventConfigurationRef, a as EventConfigurationVersion } from './eventConfigurations-C7YAqkFR.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-C7YAqkFR.js';
5
- export { C as ChartBoundsOptions, E as ExpandChartOptions, F as FLOOR_STACK_GAP_RATIO, a as FLOOR_STACK_MIN_SURFACE_PX, b as FloorStackOptions, c as FloorStackPlacement, R as RowSeatSlot, T as TABLE_SEAT_OFFSET, d as TableSeatSlot, e as allObjects, f as chartBounds, g as expandBooth, h as expandChart, i as expandRow, j as expandRowSlots, k as expandTable, l as expandTableSlots, m as floorObjects, n as floorStackPlacements, o as floorsOf, p as initialFloorMode, q as layoutFloorStack, r as mainFloorId, s as objectCenter, t as owningSectionForObject, u as pointInPolygon, v as pointInPolygonWithHoles, w as polygonLabelPoint, x as rowInventoryCount, y as rowSeatPositions, z as stackFloors, A as tableInventoryCount, B as tableSeatCountsBySide, D as translateObject } from './layout-Dv3R0Mpw.js';
6
- import { c as TicketSelectionIssue } from './ticketRestrictions-DIh61MqE.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-DIh61MqE.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-uV7vqDHj.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-CfonzUpl.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-C5avrVLy.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-C5avrVLy.js';
12
- import './segmentedRowModel-DgSEzAYd.js';
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-BVRza86Q.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, l 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, k 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, j as SeatOverride, e as SeatViewCoverage, b as SeatViewMetadata, ax as SeatViewVariant, m 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-BVRza86Q.js';
3
+ import { E as EventConfigurationRef, a as EventConfigurationVersion } from './eventConfigurations-BQGuLLv0.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-BQGuLLv0.js';
5
+ export { C as ChartBoundsOptions, E as ExpandChartOptions, F as FLOOR_STACK_GAP_RATIO, a as FLOOR_STACK_MIN_SURFACE_PX, b as FloorStackOptions, c as FloorStackPlacement, R as RowSeatSlot, T as TABLE_SEAT_OFFSET, d as TableSeatSlot, e as allObjects, f as chartBounds, g as expandBooth, h as expandChart, i as expandRow, j as expandRowSlots, k as expandTable, l as expandTableSlots, m as floorObjects, n as floorStackPlacements, o as floorsOf, p as initialFloorMode, q as layoutFloorStack, r as mainFloorId, s as objectCenter, t as owningSectionForObject, u as pointInPolygon, v as pointInPolygonWithHoles, w as polygonLabelPoint, x as rowInventoryCount, y as rowSeatPositions, z as stackFloors, A as tableInventoryCount, B as tableSeatCountsBySide, D as translateObject } from './layout-DGbWo5fV.js';
6
+ import { c as TicketSelectionIssue } from './ticketRestrictions-DXO2eckD.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-DXO2eckD.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-DIVvr8QN.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-BYhJ3Cer.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-BlLKrW-U.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-BlLKrW-U.js';
12
+ import './segmentedRowModel-CD-YT9bT.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 = 150;
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
@@ -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
- /** Zoom so `clientPoint` (stage-relative px) stays fixed under the cursor. */
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