@seatlayer/core 0.89.2 → 0.91.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{categoryInventory-DxHnIyza.d.ts → categoryInventory-4XH7dMDH.d.ts} +1 -1
- package/dist/{categoryInventory-6qAQffC9.d.cts → categoryInventory-C-bfH2av.d.cts} +1 -1
- package/dist/chunk-4N5CHKHD.js +1 -0
- package/dist/{chunk-66Q5LOBH.js → chunk-6FTHCEJW.js} +1 -1
- package/dist/chunk-D5ZLXZYU.js +1 -0
- package/dist/chunk-F45ZMLCU.js +1 -0
- package/dist/chunk-HC3U5BWH.js +1 -0
- package/dist/{chunk-PI3UH2EN.js → chunk-K42NW62J.js} +1 -1
- package/dist/{chunk-FVTW2IBN.js → chunk-LQKUHEL6.js} +1 -1
- package/dist/{chunk-GI7ZTQ7C.js → chunk-LVIAHZ4N.js} +1 -1
- package/dist/{chunk-R7TV7RYQ.js → chunk-NKJS7MLW.js} +1 -1
- package/dist/chunk-NRZY5UXV.js +1 -0
- package/dist/chunk-S4H34KCG.js +1 -0
- package/dist/{chunk-WAGKI44J.js → chunk-TXF2XAK4.js} +1 -1
- package/dist/core/chart-ops/index.cjs +1 -1
- package/dist/core/chart-ops/index.d.cts +17 -9
- package/dist/core/chart-ops/index.d.ts +17 -9
- package/dist/core/chart-ops/index.js +1 -1
- package/dist/core/inventory/index.cjs +1 -1
- package/dist/core/inventory/index.d.cts +4 -4
- package/dist/core/inventory/index.d.ts +4 -4
- package/dist/core/inventory/index.js +1 -1
- package/dist/core/layout/index.cjs +1 -1
- package/dist/core/layout/index.d.cts +5 -5
- package/dist/core/layout/index.d.ts +5 -5
- package/dist/core/layout/index.js +1 -1
- package/dist/core/quality/index.cjs +1 -1
- package/dist/core/quality/index.d.cts +31 -5
- package/dist/core/quality/index.d.ts +31 -5
- package/dist/core/quality/index.js +1 -1
- package/dist/core/render-assets/index.cjs +1 -1
- package/dist/core/render-assets/index.d.cts +27 -3
- package/dist/core/render-assets/index.d.ts +27 -3
- package/dist/core/render-assets/index.js +1 -1
- package/dist/core/seatConfidence.d.cts +1 -1
- package/dist/core/seatConfidence.d.ts +1 -1
- package/dist/core/sections/index.cjs +1 -1
- package/dist/core/sections/index.d.cts +5 -5
- package/dist/core/sections/index.d.ts +5 -5
- package/dist/core/sections/index.js +1 -1
- package/dist/{eventConfigurations-CMnIbVqZ.d.cts → eventConfigurations-BE0rFmbQ.d.cts} +1 -1
- package/dist/{eventConfigurations-uEwzNRzt.d.ts → eventConfigurations-BEyHDxBT.d.ts} +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +41 -21
- package/dist/index.d.ts +41 -21
- package/dist/index.js +1 -1
- package/dist/{labeling-CCORxGjk.d.ts → labeling-HWSKKrX8.d.ts} +1 -1
- package/dist/{labeling--sSzNon3.d.cts → labeling-SURRJh5u.d.cts} +1 -1
- package/dist/{renderedQuality-CeSE6pEM.d.cts → renderedQuality-BZ9cIiVT.d.cts} +1 -1
- package/dist/{renderedQuality-CrlBXHzi.d.ts → renderedQuality-DeUSQqo6.d.ts} +1 -1
- package/dist/{renderer-BwZhXv8G.d.ts → renderer-BI7dyJjD.d.ts} +7 -3
- package/dist/{renderer-B1mEhbA7.d.cts → renderer-CMkBzwCP.d.cts} +7 -3
- package/dist/{seatTypeIcons-GlskmXH9.d.cts → seatTypeIcons-BAyWebjw.d.cts} +1 -1
- package/dist/{seatTypeIcons-8folIM2Q.d.ts → seatTypeIcons-CqLiEH9C.d.ts} +1 -1
- package/dist/{sections-BlBo6siI.d.ts → sections-BlCiPWJJ.d.cts} +63 -7
- package/dist/{sections-BFR0_Zeq.d.cts → sections-DOk8zxm5.d.ts} +63 -7
- package/dist/{segmentedRowModel-DR7Xz6mb.d.cts → segmentedRowModel-BbHdWqJy.d.cts} +1 -1
- package/dist/{segmentedRowModel-CfVeZaOw.d.ts → segmentedRowModel-oVUtwW87.d.ts} +1 -1
- package/dist/{tableSizing-DyS3UAha.d.ts → tableSizing-DGixGBdq.d.ts} +4 -4
- package/dist/{tableSizing-wnW3HNga.d.cts → tableSizing-w7kj0La7.d.cts} +4 -4
- package/dist/{ticketRestrictions-BTTN-LzH.d.cts → ticketRestrictions-B0qlW8_h.d.ts} +25 -4
- package/dist/{ticketRestrictions-DuYWl2uy.d.ts → ticketRestrictions-BkbfEnf8.d.cts} +25 -4
- package/dist/{types-D91PAu7c.d.ts → types-BbqhOJ5L.d.cts} +1 -1
- package/dist/{types-D91PAu7c.d.cts → types-BbqhOJ5L.d.ts} +1 -1
- package/dist/view3d/crossfade/panorama.d.cts +1 -1
- package/dist/view3d/crossfade/panorama.d.ts +1 -1
- package/dist/view3d/index.cjs +14 -14
- package/dist/view3d/index.d.cts +3 -3
- package/dist/view3d/index.d.ts +3 -3
- package/dist/view3d/index.js +1 -1
- package/dist/view3d/scene/scene.worker.cjs +1 -1
- package/dist/view3d/scene/scene.worker.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-A4GTB3SG.js +0 -1
- package/dist/chunk-BCMCXHLH.js +0 -1
- package/dist/chunk-E7TOTX6I.js +0 -1
- package/dist/chunk-PMBS3VZM.js +0 -1
- package/dist/chunk-UL5OIGIF.js +0 -1
- package/dist/chunk-W53J4FJS.js +0 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { A as AccessibilityType } from '../../types-
|
|
1
|
+
import { A as AccessibilityType } from '../../types-BbqhOJ5L.js';
|
|
2
2
|
import { contrastRatioOrNull } from '../color.js';
|
|
3
|
-
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-
|
|
4
|
-
import '../../renderer-
|
|
3
|
+
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-DeUSQqo6.js';
|
|
4
|
+
import '../../renderer-BI7dyJjD.js';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* Rendering constants that quality inspection must agree with.
|
|
@@ -19,8 +19,34 @@ declare const SEAT_LABEL_FONT_SIZE = 7;
|
|
|
19
19
|
* by the designer and the buyer renderer so the two stay WYSIWYG.
|
|
20
20
|
* 12 → 10 on 2026-08-19 (owner): the letter out-weighed the seats it named. */
|
|
21
21
|
declare const ROW_LABEL_FONT_SIZE = 10;
|
|
22
|
-
/** Booth labels are authored at this many chart units
|
|
22
|
+
/** Booth labels are authored at this many chart units — the FLOOR, never the
|
|
23
|
+
* whole rule: see {@link blockLabelFontSize}. */
|
|
23
24
|
declare const BOOTH_LABEL_FONT_SIZE = 10;
|
|
25
|
+
/**
|
|
26
|
+
* How much of a BLOCK unit's short side its own name is allowed to fill.
|
|
27
|
+
*
|
|
28
|
+
* A seat carries its number at {@link SEAT_LABEL_FONT_SIZE} inside an 18-unit
|
|
29
|
+
* marker — 0.39 of the thing it names. A block unit (a booth, a VIP box) is
|
|
30
|
+
* authored at whatever size the floor plan drew it, so a flat 10 units is 0.39
|
|
31
|
+
* of a 25-unit box and 0.09 of a 114-unit expo stall: the same rule that makes
|
|
32
|
+
* a seat number appear as soon as the seat is big enough kept a stall number
|
|
33
|
+
* hidden until the stall was three hundred pixels across. The ratio is the
|
|
34
|
+
* rule; the authored constant is only its floor, so every unit already at or
|
|
35
|
+
* below seat size keeps exactly the label it has today.
|
|
36
|
+
*/
|
|
37
|
+
declare const BLOCK_LABEL_FILL_RATIO = 0.39;
|
|
38
|
+
/**
|
|
39
|
+
* The world font a block unit's own name is painted at.
|
|
40
|
+
*
|
|
41
|
+
* Sized to the BLOCK — {@link BLOCK_LABEL_FILL_RATIO} of its short side, cut
|
|
42
|
+
* back when the text would overrun its width — and floored at the authored
|
|
43
|
+
* {@link BOOTH_LABEL_FONT_SIZE} so small blocks are pixel-identical to today.
|
|
44
|
+
*/
|
|
45
|
+
declare function blockLabelFontSize(input: {
|
|
46
|
+
width: number;
|
|
47
|
+
height: number;
|
|
48
|
+
text: string;
|
|
49
|
+
}): number;
|
|
24
50
|
/** GA area captions and their capacity sublabels. */
|
|
25
51
|
declare const GA_LABEL_FONT_SIZE = 15;
|
|
26
52
|
declare const GA_CAPACITY_LABEL_FONT_SIZE = 11;
|
|
@@ -207,4 +233,4 @@ interface LabelInkContrastSummary {
|
|
|
207
233
|
*/
|
|
208
234
|
declare function summarizeLabelInkContrast(preferred: string, backgrounds: Iterable<string>, minContrast?: number): LabelInkContrastSummary;
|
|
209
235
|
|
|
210
|
-
export { ACCESS_GLYPH_PATH, ACCESS_GLYPH_VIEWBOX, ACCESS_TYPE_GLYPH_PATHS, AUTHORED_LABEL_MIN_CONTRAST, type AccessibilityRingInkOptions, BOOTH_LABEL_FONT_SIZE, DARK_BOOKABLE_LABEL_INK, DARK_NEUTRAL_SECTION_FILL, GA_CAPACITY_LABEL_FONT_SIZE, GA_FILL_OPACITY, GA_LABEL_FONT_SIZE, LARGE_TEXT_CONTRAST, LIGHT_BOOKABLE_LABEL_INK, LIGHT_NEUTRAL_SECTION_FILL, type LabelInkContrastSummary, MIN_VISIBLE_BOOKABLE_LABEL_PX, ROW_LABEL_FONT_SIZE, SEAT_LABEL_FONT_SIZE, SECTION_NAME_CONTRAST, SMALL_TEXT_CONTRAST, accessGlyphInk, accessGlyphPath, accessibilityRingInk, bookableMarkerLabel, categoryBandInk, compositeHexOver, explicitOrStateAwareLabelInk, isBookableLabelLegibleAtScale, isLightFill, mapSeparatingInk, minimumTextContrast, neutralSectionFill, renderedTextContrast, stateAwareBookableLabelInk, summarizeLabelInkContrast };
|
|
236
|
+
export { ACCESS_GLYPH_PATH, ACCESS_GLYPH_VIEWBOX, ACCESS_TYPE_GLYPH_PATHS, AUTHORED_LABEL_MIN_CONTRAST, type AccessibilityRingInkOptions, BLOCK_LABEL_FILL_RATIO, BOOTH_LABEL_FONT_SIZE, DARK_BOOKABLE_LABEL_INK, DARK_NEUTRAL_SECTION_FILL, GA_CAPACITY_LABEL_FONT_SIZE, GA_FILL_OPACITY, GA_LABEL_FONT_SIZE, LARGE_TEXT_CONTRAST, LIGHT_BOOKABLE_LABEL_INK, LIGHT_NEUTRAL_SECTION_FILL, type LabelInkContrastSummary, MIN_VISIBLE_BOOKABLE_LABEL_PX, ROW_LABEL_FONT_SIZE, SEAT_LABEL_FONT_SIZE, SECTION_NAME_CONTRAST, SMALL_TEXT_CONTRAST, accessGlyphInk, accessGlyphPath, accessibilityRingInk, blockLabelFontSize, bookableMarkerLabel, categoryBandInk, compositeHexOver, explicitOrStateAwareLabelInk, isBookableLabelLegibleAtScale, isLightFill, mapSeparatingInk, minimumTextContrast, neutralSectionFill, renderedTextContrast, stateAwareBookableLabelInk, summarizeLabelInkContrast };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as
|
|
1
|
+
import{a as J,b as K,c as L}from"../../chunk-LVIAHZ4N.js";import{A,B,C,D,E,F,G,H,I,a as o,b as r,c as e,d as f,e as m,f as p,g as t,h as x,i as a,j as b,k as c,l as d,m as g,n as h,o as i,p as j,q as k,r as l,s as n,t as q,u as s,v as u,w as v,x as w,y,z}from"../../chunk-HC3U5BWH.js";import"../../chunk-4I2VWFJY.js";import"../../chunk-JBOTRSMY.js";export{n as ACCESS_GLYPH_PATH,k as ACCESS_GLYPH_VIEWBOX,l as ACCESS_TYPE_GLYPH_PATHS,y as AUTHORED_LABEL_MIN_CONTRAST,f as BLOCK_LABEL_FILL_RATIO,e as BOOTH_LABEL_FONT_SIZE,g as DARK_BOOKABLE_LABEL_INK,G as DARK_NEUTRAL_SECTION_FILL,t as GA_CAPACITY_LABEL_FONT_SIZE,x as GA_FILL_OPACITY,p as GA_LABEL_FONT_SIZE,d as LARGE_TEXT_CONTRAST,h as LIGHT_BOOKABLE_LABEL_INK,F as LIGHT_NEUTRAL_SECTION_FILL,K as MIN_POINTER_TARGET_PX,a as MIN_VISIBLE_BOOKABLE_LABEL_PX,J as RENDERED_QUALITY_REPORT_VERSION,r as ROW_LABEL_FONT_SIZE,o as SEAT_LABEL_FONT_SIZE,c as SECTION_NAME_CONTRAST,b as SMALL_TEXT_CONTRAST,D as accessGlyphInk,q as accessGlyphPath,s as accessibilityRingInk,m as blockLabelFontSize,u as bookableMarkerLabel,z as categoryBandInk,w as compositeHexOver,C as explicitOrStateAwareLabelInk,L as inspectRenderedQualityEvidence,j as isBookableLabelLegibleAtScale,E as isLightFill,A as mapSeparatingInk,i as minimumTextContrast,H as neutralSectionFill,v as renderedTextContrast,B as stateAwareBookableLabelInk,I as summarizeLabelInkContrast};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var l=Object.defineProperty;var A=Object.getOwnPropertyDescriptor;var Q=Object.getOwnPropertyNames;var T=Object.prototype.hasOwnProperty;var G=(e,t)=>{for(var n in t)l(e,n,{get:t[n],enumerable:!0})},N=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of Q(t))!T.call(e,a)&&a!==n&&l(e,a,{get:()=>t[a],enumerable:!(r=A(t,a))||r.enumerable});return e};var P=e=>N(l({},"__esModule",{value:!0}),e);var le={};G(le,{DECOR_STAMP_ICON_PATHS:()=>Y,DEFAULT_SHAPE_LINE_CAP:()=>V,DEFAULT_SHAPE_LINE_ENDING:()=>f,DEFAULT_SHAPE_LINE_JOIN:()=>_,SEAT_GLYPHS:()=>p,SEAT_GLYPH_DETAIL_MIN_PX:()=>Me,SEAT_GLYPH_INSET:()=>Le,SEAT_GLYPH_ORDER:()=>W,SEAT_GLYPH_VIEWBOX:()=>me,SEAT_TYPE_ICON_BODY:()=>C,SEAT_TYPE_ICON_VIEWBOX:()=>ve,SHAPE_LINE_CAPS:()=>ne,SHAPE_LINE_ENDINGS:()=>ae,SHAPE_LINE_JOINS:()=>re,VENUE_ICONS:()=>c,VENUE_ICON_GROUP_LABELS:()=>K,VENUE_ICON_GROUP_ORDER:()=>F,VENUE_ICON_KEYS:()=>$,VENUE_ICON_STROKE:()=>be,VENUE_ICON_VIEWBOX:()=>ye,buyerBackgroundImage:()=>x,buyerFacingChartDoc:()=>Z,hasConflictingLegacyTrace:()=>B,isOpenShapeKind:()=>R,isPointShapeKind:()=>ie,isSeatGlyphKind:()=>d,isVenueIconKey:()=>J,migrateLegacyBackgroundLayersInPlace:()=>D,resolveSeatGlyph:()=>ee,resolvedShapeLineStyle:()=>oe,seatGlyph:()=>h,seatGlyphFit:()=>q,seatGlyphLabel:()=>z,seatGlyphPath:()=>X,seatTypeIconBody:()=>E,seatTypeIconSvg:()=>te,shapeArrowMetrics:()=>se,traceReferenceImage:()=>j,venueIcon:()=>I,venueIconPath:()=>U});module.exports=P(le);function g(e){let t=e;return delete t.referenceScan,delete t.referenceInventorySource,delete t.referenceInventoryExclusion,delete t.referenceSource,delete t.referenceAnnotationSource,e}var m=2,w=3,M=6;function o(e,t){if(!Number.isFinite(e))return e;let n=10**t,r=Math.round(e*n)/n;return Object.is(r,-0)?0:r}function s(e){return{...e,x:o(e.x,m),y:o(e.y,m)}}function L(e){let t={...e};t.origin&&typeof t.origin=="object"&&(t.origin=s(t.origin)),Array.isArray(t.outline)&&(t.outline=t.outline.map(s)),Array.isArray(t.points)&&(t.points=t.points.map(s)),typeof t.rotation=="number"&&(t.rotation=o(t.rotation,M)),typeof t.seatSpacing=="number"&&(t.seatSpacing=o(t.seatSpacing,M));let n=t.labelPresentation;return n?.position&&(t.labelPresentation={...n,position:s(n.position)}),Array.isArray(t.overrides)&&(t.overrides=t.overrides.map(r=>{let a={...r};for(let i of["dx","dy"]){let y=a[i];if(typeof y!="number")continue;let b=o(y,w);b===0?delete a[i]:a[i]=b}return a})),t}function j(e){return e.referenceImage??(e.backgroundImage?.assetId?e.backgroundImage:void 0)}function x(e){let t=e.backgroundImage;return t?.url&&!t.assetId?t:void 0}function S(e){let t=x(e);if(!t?.url)return;let{calibration:n,derivedScale:r,assetId:a,...i}=t;return i}function D(e){let t=n=>{let r=n.backgroundImage;r?.assetId&&(n.referenceImage||(n.referenceImage=r,n.backgroundImage=void 0))};t(e);for(let n of e.floors??[])t(n);return e}function v(e){let t=L(e);return g(t),delete t.editor,delete t.arcFanGeneration,delete t.rowBlockGeneration,t}function H(e){let t={...e};return delete t.referenceCategorySource,delete t.referenceDirectSeatImport,t}function Z(e){let t=S(e),n=e.floors?.map(r=>({...r,objects:r.objects.map(v),referenceImage:void 0,backgroundImage:S(r)}));return{...e,categories:e.categories.map(H),objects:e.objects.map(v),referenceImage:void 0,venueSurveyRegistrations:void 0,backgroundImage:t,...n?{floors:n}:{}}}function B(e){return!!e.referenceImage?.assetId&&!!e.backgroundImage?.assetId&&e.referenceImage.assetId!==e.backgroundImage.assetId}var ye=24,be=2,K={facilities:"Facilities","food-drink":"Food & drink",navigation:"Getting around",accessibility:"Accessibility"},F=["facilities","food-drink","navigation","accessibility"],k="M13 4.6a1.6 1.6 0 1 0-3.2 0 1.6 1.6 0 0 0 3.2 0 M11 6.5V13h5l2.4 6 M15 16.4A5 5 0 1 1 9 11.3",c=[{key:"restroom-men",label:"Men's restroom",group:"facilities",path:"M16 7a4 4 0 1 0-8 0 4 4 0 0 0 8 0 M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"},{key:"restroom-women",label:"Women's restroom",group:"facilities",path:"M15 5a3 3 0 1 0-6 0 3 3 0 0 0 6 0 M12 8l-4 10h8l-4-10 M10 18v4 M14 18v4"},{key:"restroom-accessible",label:"Accessible restroom",group:"facilities",path:k},{key:"first-aid",label:"First aid",group:"facilities",path:"M5 4h14a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1Z M12 8v8 M8 12h8"},{key:"coat-check",label:"Coat check",group:"facilities",path:"M12 6a2 2 0 0 1 0-4 2 2 0 0 1 1.6 3.2L21 13H3l8.4-7.8 M3 13h18"},{key:"atm",label:"ATM / cash",group:"facilities",path:"M2 6h20v12H2V6Z M15 12a3 3 0 1 1-6 0 3 3 0 0 1 6 0 M6 9h.01 M18 15h.01"},{key:"info",label:"Info point",group:"facilities",path:"M12 3a9 9 0 1 0 0 18 9 9 0 0 0 0-18 M12 11v5 M12 8h.01"},{key:"lost-found",label:"Lost & found",group:"facilities",path:"M11 4a7 7 0 1 0 0 14 7 7 0 0 0 0-14 M16 16l5 5 M9 8.5a2 2 0 1 1 3 1.7c-.8.5-1 .8-1 1.8 M11 15h.01"},{key:"restrooms",label:"Restrooms",group:"facilities",path:"M6 3h12a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1Z M12 8a2 2 0 1 0 0 4 2 2 0 0 0 0-4 M9 18v-3.5a3 3 0 0 1 6 0V18"},{key:"charging",label:"Charging point",group:"facilities",path:"M3 8h13v8H3V8Z M16 10h3v4h-3 M9.6 9l-2 3.5h2.5l-1.5 3"},{key:"smoking",label:"Smoking area",group:"facilities",path:"M2 15h13v3H2v-3Z M18 16h2 M19 8c0 1 1 1.5 1 2.5S19 12 19 13"},{key:"no-smoking",label:"No smoking",group:"facilities",path:"M12 3a9 9 0 1 0 0 18 9 9 0 0 0 0-18 M5.6 5.6l12.8 12.8 M7 13h6v2H7v-2Z"},{key:"food",label:"Food",group:"food-drink",path:"M7 3v6a2 2 0 0 0 4 0V3 M9 11v10 M17 3c-1.6 1-2.2 3-2.2 6 0 2 .9 3.2 2.2 3.6V21"},{key:"bar",label:"Bar",group:"food-drink",path:"M4 5h16l-8 8-8-8Z M12 13v6 M8 20h8"},{key:"coffee",label:"Caf\xE9 / coffee",group:"food-drink",path:"M4 8h13v4a5 5 0 0 1-5 5H9a5 5 0 0 1-5-5V8Z M17 9h2a2 2 0 0 1 0 4h-2 M8 2v2 M11 2v2 M4 21h14"},{key:"water",label:"Water / drinks",group:"food-drink",path:"M12 22a7 7 0 0 1-7-7c0-5 7-12 7-12s7 7 7 12a7 7 0 0 1-7 7Z"},{key:"merch",label:"Merch / shop",group:"food-drink",path:"M6 8h12l-1 12H7L6 8Z M9 8V6a3 3 0 0 1 6 0v2"},{key:"screen",label:"Screen",group:"facilities",path:"M3 4h18v12H3V4Z M9 20h6 M12 16v4 M10 8l4 2-4 2V8Z"},{key:"sound-booth",label:"Sound booth",group:"facilities",path:"M6 4v16 M6 14a2 2 0 1 0 0-4 2 2 0 0 0 0 4 M12 4v16 M12 8a2 2 0 1 0 0 4 2 2 0 0 0 0-4 M18 4v16 M18 12a2 2 0 1 0 0 4 2 2 0 0 0 0-4"},{key:"entrance",label:"Entrance",group:"navigation",path:"M14 3h5a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1h-5 M3 12h11 M10 8l4 4-4 4"},{key:"exit",label:"Exit",group:"navigation",path:"M10 3H5a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h5 M14 12h7 M17 8l4 4-4 4"},{key:"emergency-exit",label:"Emergency exit",group:"navigation",path:"M14 4.6a1.5 1.5 0 1 0-3 0 1.5 1.5 0 0 0 3 0 M12.5 8l-3.5 2 1.6 3.6-2 4.4 M12.5 10l3.5 1.5 M9 10.5l-3.5 1 M15 12h6 M18 9l3 3-3 3"},{key:"stairs",label:"Stairs",group:"navigation",path:"M3 20v-4h4v-4h4v-4h4V4h5"},{key:"elevator",label:"Elevator",group:"navigation",path:"M5 3h14a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1Z M8 11l1.5-2 1.5 2 M8 14l1.5 2 1.5-2 M15 8v8"},{key:"parking",label:"Parking",group:"navigation",path:"M5 3h14a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1Z M9 17V7h4a3 3 0 0 1 0 6H9"},{key:"wheelchair",label:"Wheelchair access",group:"accessibility",path:k},{key:"hearing",label:"Hearing assistance",group:"accessibility",path:"M8 20a4 4 0 0 1-2-3c0-1 .5-2 .5-3a4.5 4.5 0 1 1 9 0c0 1.4-1 2-2 2.4-1.2.5-1.5 1-1.5 2.2 M17 6a5 5 0 0 1 1 6 M19.5 4a8 8 0 0 1 1.2 9"}],Y={wall:"M3 5h18v14H3V5Z M3 9.7h18 M3 14.3h18 M9 5v4.7 M15 5v4.7 M6 9.7v4.6 M12 9.7v4.6 M18 9.7v4.6 M9 14.3v4.7 M15 14.3v4.7",rail:"M3 7h18 M4 17h16 M6 7v10 M10 7v10 M14 7v10 M18 7v10",suite:"M3 4h18v16H3V4Z M6 17v-5h12v5 M8 12V9h8v3",obstruction:"M8 3h8l-1 4v10l1 4H8l1-4V7L8 3Z M9 7h6 M9 17h6"},O=new Map(c.map(e=>[e.key,e]));function I(e){return e?O.get(e):void 0}function U(e){return I(e)?.path}function J(e){return typeof e=="string"&&O.has(e)}var $=c.map(e=>e.key);var me=24,Me=16,Le=.14,p=[{key:"circle",label:"Standard seat",shortLabel:"Standard",useCase:"General assigned seating",group:"general",path:null,bounds:null},{key:"theatre",label:"Theatre chair",shortLabel:"Theatre",useCase:"Auditoriums, arenas and stadium stands",group:"fixed",path:"M4.5 3.5 Q4.5 1.5 6.5 1.5 L17.5 1.5 Q19.5 1.5 19.5 3.5 L19.5 13 L4.5 13 Z M3.5 12 L20.5 12 Q22.5 12 22.5 14 L22.5 21 Q22.5 22.5 21 22.5 Q19.5 22.5 19.5 21 L19.5 17.5 L4.5 17.5 L4.5 21 Q4.5 22.5 3 22.5 Q1.5 22.5 1.5 21 L1.5 14 Q1.5 12 3.5 12 Z",bounds:{x:1.5,y:1.5,width:21,height:21}},{key:"dining",label:"Dining chair",shortLabel:"Dining",useCase:"Banquets, restaurants and table seating",group:"flexible",path:"M7 1 Q6 1 6 2.5 L6.75 10.5 L5 10.5 Q4 10.5 4 12 L4 14 Q4 15 5.25 15 L6 15 L4 23 L7 23 L9.5 15 L14.5 15 L17 23 L20 23 L18 15 L18.75 15 Q20 15 20 14 L20 12 Q20 10.5 19 10.5 L17.25 10.5 L18 2.5 Q18 1 17 1 Z",bounds:{x:4,y:1,width:16,height:22}},{key:"folding",label:"Folding chair",shortLabel:"Folding",useCase:"Concert floors, ceremonies and conferences",group:"flexible",path:"M6 2 Q5 2 5 3 L6 8 L18 8 L19 3 Q19 2 18 2 Z M5 9 L19 9 Q20 9 20 10.5 L19 13 L5 13 L4 10.5 Q4 9 5 9 Z M6 12 L9 12 L12 17 L15 12 L18 12 L14 19 L17 23 L14 23 L12 21 L10 23 L7 23 L10 19 Z",bounds:{x:4,y:2,width:16,height:21}},{key:"armchair",label:"Premium armchair",shortLabel:"Armchair",useCase:"Boxes, lounges and club seating",group:"premium",path:"M3.5 4 Q3.5 1.5 6 1.5 L18 1.5 Q20.5 1.5 20.5 4 L20.5 13 L3.5 13 Z M1.5 12.5 Q1.5 10 3.25 10 Q5 10 5 12.5 L5 13.5 L19 13.5 L19 12.5 Q19 10 20.75 10 Q22.5 10 22.5 12.5 L22.5 19.5 Q22.5 22 20 22 L4 22 Q1.5 22 1.5 19.5 Z",bounds:{x:1.5,y:1.5,width:21,height:20.5}},{key:"recliner",label:"Recliner",shortLabel:"Recliner",useCase:"Luxury cinemas and premium clubs",group:"premium",path:"M7 2 Q7 1 8.5 1 L15.5 1 Q17 1 17 2 L19 13 L5 13 Z M4 9 Q2 9 2 11.5 L2 16 Q2 18 4 18 L6 18 L6 15 L18 15 L18 18 L20 18 Q22 18 22 16 L22 11.5 Q22 9 20 9 Q18 9 18 11 L18 13 L6 13 L6 11 Q6 9 4 9 Z M7 17 L17 17 Q18 17 18.5 18.5 L19.5 22.5 L4.5 22.5 L5.5 18.5 Q6 17 7 17 Z",bounds:{x:2,y:1,width:20,height:21.5}},{key:"stool",label:"Stool",shortLabel:"Stool",useCase:"Bars, high-tops and seating rails",group:"flexible",path:"M6 2.5 L18 2.5 Q22 2.5 22 6.5 L22 12 Q22 16 18 16 L6 16 Q2 16 2 12 L2 6.5 Q2 2.5 6 2.5 Z M6 15.5 L9.5 15.5 L7.5 22.5 L3 22.5 Z M14.5 15.5 L18 15.5 L20.5 22.5 L16 22.5 Z",bounds:{x:2,y:2.5,width:20,height:20}},{key:"bench",label:"Bench place",shortLabel:"Bench",useCase:"Pews, bleachers and terraces",group:"fixed",path:"M2.5 0.5 L21.5 0.5 Q23 0.5 23 2 L23 5 Q23 6.5 21.5 6.5 L2.5 6.5 Q1 6.5 1 5 L1 2 Q1 0.5 2.5 0.5 Z M2 7.5 L22 7.5 Q23.5 7.5 23.5 9 L23.5 15.5 Q23.5 17 22 17 L18 17 L18 21.5 Q18 22.5 16.75 22.5 Q15.5 22.5 15.5 21.5 L15.5 17 L8.5 17 L8.5 21.5 Q8.5 22.5 7.25 22.5 Q6 22.5 6 21.5 L6 17 L2 17 Q0.5 17 0.5 15.5 L0.5 9 Q0.5 7.5 2 7.5 Z",bounds:{x:.5,y:.5,width:23,height:22}}],W=p.map(e=>e.key),u=new Map(p.map(e=>[e.key,e]));function h(e){return u.get(e)??u.get("circle")}function z(e){return h(e).label}function X(e){return h(e).path}function q(e,t){return{scale:t*2*(1-.14)/Math.max(e.width,e.height),centreX:e.x+e.width/2,centreY:e.y+e.height/2}}function d(e){return typeof e=="string"&&u.has(e)}function ee(e,t){return d(e)?e:d(t?.seatGlyph)?t.seatGlyph:"circle"}var ve=20,C={wheelchair:'<circle cx="10.6" cy="3.7" r="1.7" /><path d="M8.9 6.3v4.3a1.3 1.3 0 0 0 1.3 1.3h3.4l1.9 4.5h1.9" /><circle cx="9.7" cy="13.3" r="4.7" />',companion:'<circle cx="6" cy="6" r="2" /><circle cx="14" cy="6" r="2" /><path d="M2.5 16v-3.5A3.5 3.5 0 0 1 6 9a3.5 3.5 0 0 1 3.5 3.5V16M10.5 16v-3.5A3.5 3.5 0 0 1 14 9a3.5 3.5 0 0 1 3.5 3.5V16" />',"semi-ambulatory":'<circle cx="8" cy="4" r="1.7" /><path d="m8 6 2 4 3 2M10 10l-2 3-1 4M10 10l2 7M14 7l2 10" />',"designated-aisle":'<path d="M3.5 5.5v7h8.5V10H6.5M5 12.5V17M11 12.5V17" /><path d="M13.5 6.5H19M16.5 4l2.5 2.5L16.5 9" />',"step-free":'<circle cx="5.5" cy="5" r="1.7" /><path d="M5.5 7v4l3 2M2.5 16.5H8l7-7h3M8 16.5h10" />',hearing:'<path d="M7 16c-1-1.2-1.5-2.4-1.5-3.8V9a5 5 0 1 1 10 0c0 2.2-1.2 3.2-2.6 4-1.2.7-1.7 1.4-1.7 2.4A2.6 2.6 0 0 1 8.6 18" />',cart:'<path d="M8 6.5A4 4 0 1 0 8 13M17 6.5a4 4 0 1 0 0 6.5" />',"sign-language":'<path d="M6 16V8.5a1 1 0 0 1 2 0v3M8 11V5.5a1 1 0 0 1 2 0V11M10 11V4.5a1 1 0 0 1 2 0V11M12 11V6a1 1 0 0 1 2 0v6l1-1.5a1.2 1.2 0 0 1 2 1.3L14 17H9.5A3.5 3.5 0 0 1 6 13.5" />',"low-vision":'<path d="M2.5 10s3-5 7.5-5 7.5 5 7.5 5-3 5-7.5 5-7.5-5-7.5-5Z" /><circle cx="10" cy="10" r="2.5" /><path d="m15 4 .5-1.5M17 5l1.5-.8" />',"sensory-friendly":'<path d="M4 11v-1a6 6 0 0 1 12 0v1M4 11h2.5v5H5a1 1 0 0 1-1-1v-4ZM16 11h-2.5v5H15a1 1 0 0 0 1-1v-4Z" /><path d="M8.5 11.5c.8.7 2.2.7 3 0M9 14c.6.4 1.4.4 2 0" />',"plus-size":'<path d="M5 9V6.5A2.5 2.5 0 0 1 7.5 4h5A2.5 2.5 0 0 1 15 6.5V9M3.5 8.5v5h13v-5M6 13.5V17M14 13.5V17" />',"lift-armrest":'<path d="M5 10V6.5A2.5 2.5 0 0 1 7.5 4h4A2.5 2.5 0 0 1 14 6.5V10M4 9v4h11V9M6 13v4M13 13v4" /><path d="M17 11V4M15 6l2-2 2 2" />',obstructedView:'<path d="M2.5 10s3-5 7.5-5 7.5 5 7.5 5-3 5-7.5 5-7.5-5-7.5-5Z" /><path d="m4 17 12-14" />',restrictedView:'<path d="M2.5 10s3-5 7.5-5 7.5 5 7.5 5-3 5-7.5 5-7.5-5-7.5-5Z" /><path d="M10 7.5v3.5M10 13.5h.01" />',premium:'<path d="m10 2.5 2.2 4.6 5 .7-3.6 3.5.9 5-4.5-2.4-4.5 2.4.9-5-3.6-3.5 5-.7Z" />',note:'<circle cx="10" cy="10" r="7.5" /><path d="M10 9.2v4.6M10 6.3h.01" />'};function E(e){return C[e]??""}function te(e,t={}){let n=E(e);if(!n)return"";let r=t.size??18,a=20;return`<svg viewBox="0 0 ${a} ${a}" width="${r}" height="${r}" fill="none" stroke="currentColor" stroke-width="1.45" stroke-linecap="round" stroke-linejoin="round"`+(t.className?` class="${t.className}"`:"")+` aria-hidden="true" focusable="false">${n}</svg>`}var ne=["butt","round","square"],re=["miter","round","bevel"],ae=["none","arrow"],V="round",_="round",f="none";function R(e){return e==="line"||e==="polyline"}function ie(e){return e==="polygon"||R(e)}function oe(e){return{lineCap:e.lineCap??V,lineJoin:e.lineJoin??_,startEnding:e.startEnding??f,endEnding:e.endEnding??f}}function se(e){return{pointerLength:Math.min(48,Math.max(8,e*3)),pointerWidth:Math.min(40,Math.max(8,e*2.25))}}0&&(module.exports={DECOR_STAMP_ICON_PATHS,DEFAULT_SHAPE_LINE_CAP,DEFAULT_SHAPE_LINE_ENDING,DEFAULT_SHAPE_LINE_JOIN,SEAT_GLYPHS,SEAT_GLYPH_DETAIL_MIN_PX,SEAT_GLYPH_INSET,SEAT_GLYPH_ORDER,SEAT_GLYPH_VIEWBOX,SEAT_TYPE_ICON_BODY,SEAT_TYPE_ICON_VIEWBOX,SHAPE_LINE_CAPS,SHAPE_LINE_ENDINGS,SHAPE_LINE_JOINS,VENUE_ICONS,VENUE_ICON_GROUP_LABELS,VENUE_ICON_GROUP_ORDER,VENUE_ICON_KEYS,VENUE_ICON_STROKE,VENUE_ICON_VIEWBOX,buyerBackgroundImage,buyerFacingChartDoc,hasConflictingLegacyTrace,isOpenShapeKind,isPointShapeKind,isSeatGlyphKind,isVenueIconKey,migrateLegacyBackgroundLayersInPlace,resolveSeatGlyph,resolvedShapeLineStyle,seatGlyph,seatGlyphFit,seatGlyphLabel,seatGlyphPath,seatTypeIconBody,seatTypeIconSvg,shapeArrowMetrics,traceReferenceImage,venueIcon,venueIconPath});
|
|
1
|
+
"use strict";var c=Object.defineProperty;var G=Object.getOwnPropertyDescriptor;var Q=Object.getOwnPropertyNames;var T=Object.prototype.hasOwnProperty;var N=(e,t)=>{for(var n in t)c(e,n,{get:t[n],enumerable:!0})},P=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of Q(t))!T.call(e,a)&&a!==n&&c(e,a,{get:()=>t[a],enumerable:!(r=G(t,a))||r.enumerable});return e};var w=e=>P(c({},"__esModule",{value:!0}),e);var ce={};N(ce,{DECOR_STAMP_ICON_PATHS:()=>U,DEFAULT_SHAPE_LINE_CAP:()=>_,DEFAULT_SHAPE_LINE_ENDING:()=>f,DEFAULT_SHAPE_LINE_JOIN:()=>R,SEAT_GLYPHS:()=>h,SEAT_GLYPH_DETAIL_MIN_PX:()=>Le,SEAT_GLYPH_INSET:()=>Se,SEAT_GLYPH_ORDER:()=>z,SEAT_GLYPH_VIEWBOX:()=>Me,SEAT_TYPE_ICON_BODY:()=>E,SEAT_TYPE_ICON_VIEWBOX:()=>xe,SHAPE_LINE_CAPS:()=>re,SHAPE_LINE_ENDINGS:()=>ie,SHAPE_LINE_JOINS:()=>ae,VENUE_ICONS:()=>u,VENUE_ICON_GROUP_LABELS:()=>F,VENUE_ICON_GROUP_ORDER:()=>Y,VENUE_ICON_KEYS:()=>W,VENUE_ICON_STROKE:()=>ge,VENUE_ICON_VIEWBOX:()=>be,buyerBackgroundImage:()=>x,buyerFacingChartDoc:()=>B,hasConflictingLegacyTrace:()=>K,isOpenShapeKind:()=>A,isPointShapeKind:()=>oe,isSeatGlyphKind:()=>p,isVenueIconKey:()=>$,migrateLegacyBackgroundLayersInPlace:()=>H,resolveSeatGlyph:()=>te,resolvedShapeLineStyle:()=>se,seatGlyph:()=>l,seatGlyphFit:()=>C,seatGlyphLabel:()=>X,seatGlyphMarkOnSeat:()=>ee,seatGlyphPath:()=>q,seatTypeIconBody:()=>V,seatTypeIconSvg:()=>ne,shapeArrowMetrics:()=>le,traceReferenceImage:()=>D,venueIcon:()=>I,venueIconPath:()=>J});module.exports=w(ce);function g(e){let t=e;return delete t.referenceScan,delete t.referenceInventorySource,delete t.referenceInventoryExclusion,delete t.referenceSource,delete t.referenceAnnotationSource,e}var m=2,j=3,M=6;function o(e,t){if(!Number.isFinite(e))return e;let n=10**t,r=Math.round(e*n)/n;return Object.is(r,-0)?0:r}function s(e){return{...e,x:o(e.x,m),y:o(e.y,m)}}function L(e){let t={...e};t.origin&&typeof t.origin=="object"&&(t.origin=s(t.origin)),Array.isArray(t.outline)&&(t.outline=t.outline.map(s)),Array.isArray(t.points)&&(t.points=t.points.map(s)),typeof t.rotation=="number"&&(t.rotation=o(t.rotation,M)),typeof t.seatSpacing=="number"&&(t.seatSpacing=o(t.seatSpacing,M));let n=t.labelPresentation;return n?.position&&(t.labelPresentation={...n,position:s(n.position)}),Array.isArray(t.overrides)&&(t.overrides=t.overrides.map(r=>{let a={...r};for(let i of["dx","dy"]){let y=a[i];if(typeof y!="number")continue;let b=o(y,j);b===0?delete a[i]:a[i]=b}return a})),t}function D(e){return e.referenceImage??(e.backgroundImage?.assetId?e.backgroundImage:void 0)}function x(e){let t=e.backgroundImage;return t?.url&&!t.assetId?t:void 0}function S(e){let t=x(e);if(!t?.url)return;let{calibration:n,derivedScale:r,assetId:a,...i}=t;return i}function H(e){let t=n=>{let r=n.backgroundImage;r?.assetId&&(n.referenceImage||(n.referenceImage=r,n.backgroundImage=void 0))};t(e);for(let n of e.floors??[])t(n);return e}function v(e){let t=L(e);return g(t),delete t.editor,delete t.arcFanGeneration,delete t.rowBlockGeneration,t}function Z(e){let t={...e};return delete t.referenceCategorySource,delete t.referenceDirectSeatImport,t}function B(e){let t=S(e),n=e.floors?.map(r=>({...r,objects:r.objects.map(v),referenceImage:void 0,backgroundImage:S(r)}));return{...e,categories:e.categories.map(Z),objects:e.objects.map(v),referenceImage:void 0,venueSurveyRegistrations:void 0,backgroundImage:t,...n?{floors:n}:{}}}function K(e){return!!e.referenceImage?.assetId&&!!e.backgroundImage?.assetId&&e.referenceImage.assetId!==e.backgroundImage.assetId}var be=24,ge=2,F={facilities:"Facilities","food-drink":"Food & drink",navigation:"Getting around",accessibility:"Accessibility"},Y=["facilities","food-drink","navigation","accessibility"],k="M13 4.6a1.6 1.6 0 1 0-3.2 0 1.6 1.6 0 0 0 3.2 0 M11 6.5V13h5l2.4 6 M15 16.4A5 5 0 1 1 9 11.3",u=[{key:"restroom-men",label:"Men's restroom",group:"facilities",path:"M16 7a4 4 0 1 0-8 0 4 4 0 0 0 8 0 M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"},{key:"restroom-women",label:"Women's restroom",group:"facilities",path:"M15 5a3 3 0 1 0-6 0 3 3 0 0 0 6 0 M12 8l-4 10h8l-4-10 M10 18v4 M14 18v4"},{key:"restroom-accessible",label:"Accessible restroom",group:"facilities",path:k},{key:"first-aid",label:"First aid",group:"facilities",path:"M5 4h14a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1Z M12 8v8 M8 12h8"},{key:"coat-check",label:"Coat check",group:"facilities",path:"M12 6a2 2 0 0 1 0-4 2 2 0 0 1 1.6 3.2L21 13H3l8.4-7.8 M3 13h18"},{key:"atm",label:"ATM / cash",group:"facilities",path:"M2 6h20v12H2V6Z M15 12a3 3 0 1 1-6 0 3 3 0 0 1 6 0 M6 9h.01 M18 15h.01"},{key:"info",label:"Info point",group:"facilities",path:"M12 3a9 9 0 1 0 0 18 9 9 0 0 0 0-18 M12 11v5 M12 8h.01"},{key:"lost-found",label:"Lost & found",group:"facilities",path:"M11 4a7 7 0 1 0 0 14 7 7 0 0 0 0-14 M16 16l5 5 M9 8.5a2 2 0 1 1 3 1.7c-.8.5-1 .8-1 1.8 M11 15h.01"},{key:"restrooms",label:"Restrooms",group:"facilities",path:"M6 3h12a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1Z M12 8a2 2 0 1 0 0 4 2 2 0 0 0 0-4 M9 18v-3.5a3 3 0 0 1 6 0V18"},{key:"charging",label:"Charging point",group:"facilities",path:"M3 8h13v8H3V8Z M16 10h3v4h-3 M9.6 9l-2 3.5h2.5l-1.5 3"},{key:"smoking",label:"Smoking area",group:"facilities",path:"M2 15h13v3H2v-3Z M18 16h2 M19 8c0 1 1 1.5 1 2.5S19 12 19 13"},{key:"no-smoking",label:"No smoking",group:"facilities",path:"M12 3a9 9 0 1 0 0 18 9 9 0 0 0 0-18 M5.6 5.6l12.8 12.8 M7 13h6v2H7v-2Z"},{key:"food",label:"Food",group:"food-drink",path:"M7 3v6a2 2 0 0 0 4 0V3 M9 11v10 M17 3c-1.6 1-2.2 3-2.2 6 0 2 .9 3.2 2.2 3.6V21"},{key:"bar",label:"Bar",group:"food-drink",path:"M4 5h16l-8 8-8-8Z M12 13v6 M8 20h8"},{key:"coffee",label:"Caf\xE9 / coffee",group:"food-drink",path:"M4 8h13v4a5 5 0 0 1-5 5H9a5 5 0 0 1-5-5V8Z M17 9h2a2 2 0 0 1 0 4h-2 M8 2v2 M11 2v2 M4 21h14"},{key:"water",label:"Water / drinks",group:"food-drink",path:"M12 22a7 7 0 0 1-7-7c0-5 7-12 7-12s7 7 7 12a7 7 0 0 1-7 7Z"},{key:"merch",label:"Merch / shop",group:"food-drink",path:"M6 8h12l-1 12H7L6 8Z M9 8V6a3 3 0 0 1 6 0v2"},{key:"screen",label:"Screen",group:"facilities",path:"M3 4h18v12H3V4Z M9 20h6 M12 16v4 M10 8l4 2-4 2V8Z"},{key:"sound-booth",label:"Sound booth",group:"facilities",path:"M6 4v16 M6 14a2 2 0 1 0 0-4 2 2 0 0 0 0 4 M12 4v16 M12 8a2 2 0 1 0 0 4 2 2 0 0 0 0-4 M18 4v16 M18 12a2 2 0 1 0 0 4 2 2 0 0 0 0-4"},{key:"entrance",label:"Entrance",group:"navigation",path:"M14 3h5a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1h-5 M3 12h11 M10 8l4 4-4 4"},{key:"exit",label:"Exit",group:"navigation",path:"M10 3H5a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h5 M14 12h7 M17 8l4 4-4 4"},{key:"emergency-exit",label:"Emergency exit",group:"navigation",path:"M14 4.6a1.5 1.5 0 1 0-3 0 1.5 1.5 0 0 0 3 0 M12.5 8l-3.5 2 1.6 3.6-2 4.4 M12.5 10l3.5 1.5 M9 10.5l-3.5 1 M15 12h6 M18 9l3 3-3 3"},{key:"stairs",label:"Stairs",group:"navigation",path:"M3 20v-4h4v-4h4v-4h4V4h5"},{key:"elevator",label:"Elevator",group:"navigation",path:"M5 3h14a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1Z M8 11l1.5-2 1.5 2 M8 14l1.5 2 1.5-2 M15 8v8"},{key:"parking",label:"Parking",group:"navigation",path:"M5 3h14a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1Z M9 17V7h4a3 3 0 0 1 0 6H9"},{key:"wheelchair",label:"Wheelchair access",group:"accessibility",path:k},{key:"hearing",label:"Hearing assistance",group:"accessibility",path:"M8 20a4 4 0 0 1-2-3c0-1 .5-2 .5-3a4.5 4.5 0 1 1 9 0c0 1.4-1 2-2 2.4-1.2.5-1.5 1-1.5 2.2 M17 6a5 5 0 0 1 1 6 M19.5 4a8 8 0 0 1 1.2 9"}],U={wall:"M3 5h18v14H3V5Z M3 9.7h18 M3 14.3h18 M9 5v4.7 M15 5v4.7 M6 9.7v4.6 M12 9.7v4.6 M18 9.7v4.6 M9 14.3v4.7 M15 14.3v4.7",rail:"M3 7h18 M4 17h16 M6 7v10 M10 7v10 M14 7v10 M18 7v10",suite:"M3 4h18v16H3V4Z M6 17v-5h12v5 M8 12V9h8v3",obstruction:"M8 3h8l-1 4v10l1 4H8l1-4V7L8 3Z M9 7h6 M9 17h6"},O=new Map(u.map(e=>[e.key,e]));function I(e){return e?O.get(e):void 0}function J(e){return I(e)?.path}function $(e){return typeof e=="string"&&O.has(e)}var W=u.map(e=>e.key);var Me=24,Le=16,Se=.14,h=[{key:"circle",label:"Standard seat",shortLabel:"Standard",useCase:"General assigned seating",group:"general",path:null,bounds:null,mark:null},{key:"theatre",label:"Theatre chair",shortLabel:"Theatre",useCase:"Auditoriums, arenas and stadium stands",group:"fixed",path:"M4.5 3.5 Q4.5 1.5 6.5 1.5 L17.5 1.5 Q19.5 1.5 19.5 3.5 L19.5 13 L4.5 13 Z M3.5 12 L20.5 12 Q22.5 12 22.5 14 L22.5 21 Q22.5 22.5 21 22.5 Q19.5 22.5 19.5 21 L19.5 17.5 L4.5 17.5 L4.5 21 Q4.5 22.5 3 22.5 Q1.5 22.5 1.5 21 L1.5 14 Q1.5 12 3.5 12 Z",bounds:{x:1.5,y:1.5,width:21,height:21},mark:{x:12,y:10,radius:6}},{key:"dining",label:"Dining chair",shortLabel:"Dining",useCase:"Banquets, restaurants and table seating",group:"flexible",path:"M7 1 Q6 1 6 2.5 L6.75 10.5 L5 10.5 Q4 10.5 4 12 L4 14 Q4 15 5.25 15 L6 15 L4 23 L7 23 L9.5 15 L14.5 15 L17 23 L20 23 L18 15 L18.75 15 Q20 15 20 14 L20 12 Q20 10.5 19 10.5 L17.25 10.5 L18 2.5 Q18 1 17 1 Z",bounds:{x:4,y:1,width:16,height:22},mark:{x:12,y:10,radius:4.5}},{key:"folding",label:"Folding chair",shortLabel:"Folding",useCase:"Concert floors, ceremonies and conferences",group:"flexible",path:"M6 2 Q5 2 5 3 L6 8 L18 8 L19 3 Q19 2 18 2 Z M5 9 L19 9 Q20 9 20 10.5 L19 13 L5 13 L4 10.5 Q4 9 5 9 Z M6 12 L9 12 L12 17 L15 12 L18 12 L14 19 L17 23 L14 23 L12 21 L10 23 L7 23 L10 19 Z",bounds:{x:4,y:2,width:16,height:21},mark:{x:12,y:5,radius:3}},{key:"armchair",label:"Premium armchair",shortLabel:"Armchair",useCase:"Boxes, lounges and club seating",group:"premium",path:"M3.5 4 Q3.5 1.5 6 1.5 L18 1.5 Q20.5 1.5 20.5 4 L20.5 13 L3.5 13 Z M1.5 12.5 Q1.5 10 3.25 10 Q5 10 5 12.5 L5 13.5 L19 13.5 L19 12.5 Q19 10 20.75 10 Q22.5 10 22.5 12.5 L22.5 19.5 Q22.5 22 20 22 L4 22 Q1.5 22 1.5 19.5 Z",bounds:{x:1.5,y:1.5,width:21,height:20.5},mark:{x:12,y:7.5,radius:5.5}},{key:"recliner",label:"Recliner",shortLabel:"Recliner",useCase:"Luxury cinemas and premium clubs",group:"premium",path:"M7 2 Q7 1 8.5 1 L15.5 1 Q17 1 17 2 L19 13 L5 13 Z M4 9 Q2 9 2 11.5 L2 16 Q2 18 4 18 L6 18 L6 15 L18 15 L18 18 L20 18 Q22 18 22 16 L22 11.5 Q22 9 20 9 Q18 9 18 11 L18 13 L6 13 L6 11 Q6 9 4 9 Z M7 17 L17 17 Q18 17 18.5 18.5 L19.5 22.5 L4.5 22.5 L5.5 18.5 Q6 17 7 17 Z",bounds:{x:2,y:1,width:20,height:21.5},mark:{x:12,y:8,radius:5}},{key:"stool",label:"Stool",shortLabel:"Stool",useCase:"Bars, high-tops and seating rails",group:"flexible",path:"M6 2.5 L18 2.5 Q22 2.5 22 6.5 L22 12 Q22 16 18 16 L6 16 Q2 16 2 12 L2 6.5 Q2 2.5 6 2.5 Z M6 15.5 L9.5 15.5 L7.5 22.5 L3 22.5 Z M14.5 15.5 L18 15.5 L20.5 22.5 L16 22.5 Z",bounds:{x:2,y:2.5,width:20,height:20},mark:{x:12,y:9.25,radius:6.5}},{key:"bench",label:"Bench place",shortLabel:"Bench",useCase:"Pews, bleachers and terraces",group:"fixed",path:"M2.5 0.5 L21.5 0.5 Q23 0.5 23 2 L23 5 Q23 6.5 21.5 6.5 L2.5 6.5 Q1 6.5 1 5 L1 2 Q1 0.5 2.5 0.5 Z M2 7.5 L22 7.5 Q23.5 7.5 23.5 9 L23.5 15.5 Q23.5 17 22 17 L18 17 L18 21.5 Q18 22.5 16.75 22.5 Q15.5 22.5 15.5 21.5 L15.5 17 L8.5 17 L8.5 21.5 Q8.5 22.5 7.25 22.5 Q6 22.5 6 21.5 L6 17 L2 17 Q0.5 17 0.5 15.5 L0.5 9 Q0.5 7.5 2 7.5 Z",bounds:{x:.5,y:.5,width:23,height:22},mark:{x:12,y:12.25,radius:4.75}}],z=h.map(e=>e.key),d=new Map(h.map(e=>[e.key,e]));function l(e){return d.get(e)??d.get("circle")}function X(e){return l(e).label}function q(e){return l(e).path}function C(e,t){return{scale:t*2*(1-.14)/Math.max(e.width,e.height),centreX:e.x+e.width/2,centreY:e.y+e.height/2}}function ee(e,t){let n=l(e);if(!n.bounds||!n.mark||!(t>0))return null;let r=C(n.bounds,t);return{x:(n.mark.x-r.centreX)*r.scale,y:(n.mark.y-r.centreY)*r.scale,radius:n.mark.radius*r.scale}}function p(e){return typeof e=="string"&&d.has(e)}function te(e,t){return p(e)?e:p(t?.seatGlyph)?t.seatGlyph:"circle"}var xe=20,E={wheelchair:'<circle cx="10.6" cy="3.7" r="1.7" /><path d="M8.9 6.3v4.3a1.3 1.3 0 0 0 1.3 1.3h3.4l1.9 4.5h1.9" /><circle cx="9.7" cy="13.3" r="4.7" />',companion:'<circle cx="6" cy="6" r="2" /><circle cx="14" cy="6" r="2" /><path d="M2.5 16v-3.5A3.5 3.5 0 0 1 6 9a3.5 3.5 0 0 1 3.5 3.5V16M10.5 16v-3.5A3.5 3.5 0 0 1 14 9a3.5 3.5 0 0 1 3.5 3.5V16" />',"semi-ambulatory":'<circle cx="8" cy="4" r="1.7" /><path d="m8 6 2 4 3 2M10 10l-2 3-1 4M10 10l2 7M14 7l2 10" />',"designated-aisle":'<path d="M3.5 5.5v7h8.5V10H6.5M5 12.5V17M11 12.5V17" /><path d="M13.5 6.5H19M16.5 4l2.5 2.5L16.5 9" />',"step-free":'<circle cx="5.5" cy="5" r="1.7" /><path d="M5.5 7v4l3 2M2.5 16.5H8l7-7h3M8 16.5h10" />',hearing:'<path d="M7 16c-1-1.2-1.5-2.4-1.5-3.8V9a5 5 0 1 1 10 0c0 2.2-1.2 3.2-2.6 4-1.2.7-1.7 1.4-1.7 2.4A2.6 2.6 0 0 1 8.6 18" />',cart:'<path d="M8 6.5A4 4 0 1 0 8 13M17 6.5a4 4 0 1 0 0 6.5" />',"sign-language":'<path d="M6 16V8.5a1 1 0 0 1 2 0v3M8 11V5.5a1 1 0 0 1 2 0V11M10 11V4.5a1 1 0 0 1 2 0V11M12 11V6a1 1 0 0 1 2 0v6l1-1.5a1.2 1.2 0 0 1 2 1.3L14 17H9.5A3.5 3.5 0 0 1 6 13.5" />',"low-vision":'<path d="M2.5 10s3-5 7.5-5 7.5 5 7.5 5-3 5-7.5 5-7.5-5-7.5-5Z" /><circle cx="10" cy="10" r="2.5" /><path d="m15 4 .5-1.5M17 5l1.5-.8" />',"sensory-friendly":'<path d="M4 11v-1a6 6 0 0 1 12 0v1M4 11h2.5v5H5a1 1 0 0 1-1-1v-4ZM16 11h-2.5v5H15a1 1 0 0 0 1-1v-4Z" /><path d="M8.5 11.5c.8.7 2.2.7 3 0M9 14c.6.4 1.4.4 2 0" />',"plus-size":'<path d="M5 9V6.5A2.5 2.5 0 0 1 7.5 4h5A2.5 2.5 0 0 1 15 6.5V9M3.5 8.5v5h13v-5M6 13.5V17M14 13.5V17" />',"lift-armrest":'<path d="M5 10V6.5A2.5 2.5 0 0 1 7.5 4h4A2.5 2.5 0 0 1 14 6.5V10M4 9v4h11V9M6 13v4M13 13v4" /><path d="M17 11V4M15 6l2-2 2 2" />',obstructedView:'<path d="M2.5 10s3-5 7.5-5 7.5 5 7.5 5-3 5-7.5 5-7.5-5-7.5-5Z" /><path d="m4 17 12-14" />',restrictedView:'<path d="M2.5 10s3-5 7.5-5 7.5 5 7.5 5-3 5-7.5 5-7.5-5-7.5-5Z" /><path d="M10 7.5v3.5M10 13.5h.01" />',premium:'<path d="m10 2.5 2.2 4.6 5 .7-3.6 3.5.9 5-4.5-2.4-4.5 2.4.9-5-3.6-3.5 5-.7Z" />',note:'<circle cx="10" cy="10" r="7.5" /><path d="M10 9.2v4.6M10 6.3h.01" />'};function V(e){return E[e]??""}function ne(e,t={}){let n=V(e);if(!n)return"";let r=t.size??18,a=20;return`<svg viewBox="0 0 ${a} ${a}" width="${r}" height="${r}" fill="none" stroke="currentColor" stroke-width="1.45" stroke-linecap="round" stroke-linejoin="round"`+(t.className?` class="${t.className}"`:"")+` aria-hidden="true" focusable="false">${n}</svg>`}var re=["butt","round","square"],ae=["miter","round","bevel"],ie=["none","arrow"],_="round",R="round",f="none";function A(e){return e==="line"||e==="polyline"}function oe(e){return e==="polygon"||A(e)}function se(e){return{lineCap:e.lineCap??_,lineJoin:e.lineJoin??R,startEnding:e.startEnding??f,endEnding:e.endEnding??f}}function le(e){return{pointerLength:Math.min(48,Math.max(8,e*3)),pointerWidth:Math.min(40,Math.max(8,e*2.25))}}0&&(module.exports={DECOR_STAMP_ICON_PATHS,DEFAULT_SHAPE_LINE_CAP,DEFAULT_SHAPE_LINE_ENDING,DEFAULT_SHAPE_LINE_JOIN,SEAT_GLYPHS,SEAT_GLYPH_DETAIL_MIN_PX,SEAT_GLYPH_INSET,SEAT_GLYPH_ORDER,SEAT_GLYPH_VIEWBOX,SEAT_TYPE_ICON_BODY,SEAT_TYPE_ICON_VIEWBOX,SHAPE_LINE_CAPS,SHAPE_LINE_ENDINGS,SHAPE_LINE_JOINS,VENUE_ICONS,VENUE_ICON_GROUP_LABELS,VENUE_ICON_GROUP_ORDER,VENUE_ICON_KEYS,VENUE_ICON_STROKE,VENUE_ICON_VIEWBOX,buyerBackgroundImage,buyerFacingChartDoc,hasConflictingLegacyTrace,isOpenShapeKind,isPointShapeKind,isSeatGlyphKind,isVenueIconKey,migrateLegacyBackgroundLayersInPlace,resolveSeatGlyph,resolvedShapeLineStyle,seatGlyph,seatGlyphFit,seatGlyphLabel,seatGlyphMarkOnSeat,seatGlyphPath,seatTypeIconBody,seatTypeIconSvg,shapeArrowMetrics,traceReferenceImage,venueIcon,venueIconPath});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { C as ChartDoc, l as Floor, n as ChartReferenceImage, e as SeatGlyphKind, o as Category, p as ShapeLineCap, q as ShapeLineEnding, r as ShapeLineJoin, s as ShapeObject } from '../../types-
|
|
2
|
-
export { S as SEAT_TYPE_ICON_BODY, a as SEAT_TYPE_ICON_VIEWBOX, b as SeatTypeIconKey, c as SeatTypeIconOptions, s as seatTypeIconBody, d as seatTypeIconSvg } from '../../seatTypeIcons-
|
|
1
|
+
import { C as ChartDoc, l as Floor, n as ChartReferenceImage, e as SeatGlyphKind, o as Category, p as ShapeLineCap, q as ShapeLineEnding, r as ShapeLineJoin, s as ShapeObject } from '../../types-BbqhOJ5L.cjs';
|
|
2
|
+
export { S as SEAT_TYPE_ICON_BODY, a as SEAT_TYPE_ICON_VIEWBOX, b as SeatTypeIconKey, c as SeatTypeIconOptions, s as seatTypeIconBody, d as seatTypeIconSvg } from '../../seatTypeIcons-BAyWebjw.cjs';
|
|
3
3
|
|
|
4
4
|
type BackgroundOwner = Pick<ChartDoc, 'referenceImage' | 'backgroundImage'> | Pick<Floor, 'referenceImage' | 'backgroundImage'>;
|
|
5
5
|
/**
|
|
@@ -76,6 +76,17 @@ interface SeatGlyphBounds {
|
|
|
76
76
|
height: number;
|
|
77
77
|
}
|
|
78
78
|
type SeatGlyphGroup = 'general' | 'fixed' | 'flexible' | 'premium';
|
|
79
|
+
/**
|
|
80
|
+
* Where a mark (the buyer's selection tick) sits on a glyph, in the glyph's own
|
|
81
|
+
* 24-unit box: the centre and radius of the largest solid disc of ink. Measured
|
|
82
|
+
* off the authored path, not the bounding box — a chair's box centre lands on
|
|
83
|
+
* the gap between its legs, and a tick drawn there floats on the canvas.
|
|
84
|
+
*/
|
|
85
|
+
interface SeatGlyphMark {
|
|
86
|
+
x: number;
|
|
87
|
+
y: number;
|
|
88
|
+
radius: number;
|
|
89
|
+
}
|
|
79
90
|
interface SeatGlyph {
|
|
80
91
|
/** Stable registry key persisted as `Category.seatGlyph` / `SeatOverride.glyph`. */
|
|
81
92
|
key: SeatGlyphKind;
|
|
@@ -99,6 +110,8 @@ interface SeatGlyph {
|
|
|
99
110
|
* so a bench and a stool carry the same visual weight beside a circle.
|
|
100
111
|
*/
|
|
101
112
|
bounds: SeatGlyphBounds | null;
|
|
113
|
+
/** Null for the circle, which marks itself. */
|
|
114
|
+
mark: SeatGlyphMark | null;
|
|
102
115
|
}
|
|
103
116
|
/** The viewBox side length every seat glyph path is authored against. */
|
|
104
117
|
declare const SEAT_GLYPH_VIEWBOX = 24;
|
|
@@ -143,6 +156,17 @@ declare function seatGlyphFit(bounds: SeatGlyphBounds, radius: number): {
|
|
|
143
156
|
centreX: number;
|
|
144
157
|
centreY: number;
|
|
145
158
|
};
|
|
159
|
+
/**
|
|
160
|
+
* The mark anchor of a glyph drawn on a seat of the given radius, in the seat's
|
|
161
|
+
* own units around its centre — the same fit {@link seatGlyphFit} draws the
|
|
162
|
+
* glyph with, so the tick lands on the ink at every seat size. Null when the
|
|
163
|
+
* glyph has no anchor (the circle marks itself).
|
|
164
|
+
*/
|
|
165
|
+
declare function seatGlyphMarkOnSeat(kind: SeatGlyphKind | undefined, radius: number): {
|
|
166
|
+
x: number;
|
|
167
|
+
y: number;
|
|
168
|
+
radius: number;
|
|
169
|
+
} | null;
|
|
146
170
|
declare function isSeatGlyphKind(value: unknown): value is SeatGlyphKind;
|
|
147
171
|
/**
|
|
148
172
|
* The one resolution rule, shared by the Designer canvas, the buyer renderer and
|
|
@@ -183,4 +207,4 @@ declare function shapeArrowMetrics(strokeWidth: number): {
|
|
|
183
207
|
pointerWidth: number;
|
|
184
208
|
};
|
|
185
209
|
|
|
186
|
-
export { DECOR_STAMP_ICON_PATHS, DEFAULT_SHAPE_LINE_CAP, DEFAULT_SHAPE_LINE_ENDING, DEFAULT_SHAPE_LINE_JOIN, SEAT_GLYPHS, SEAT_GLYPH_DETAIL_MIN_PX, SEAT_GLYPH_INSET, SEAT_GLYPH_ORDER, SEAT_GLYPH_VIEWBOX, SHAPE_LINE_CAPS, SHAPE_LINE_ENDINGS, SHAPE_LINE_JOINS, type SeatGlyph, type SeatGlyphBounds, type SeatGlyphGroup, VENUE_ICONS, VENUE_ICON_GROUP_LABELS, VENUE_ICON_GROUP_ORDER, VENUE_ICON_KEYS, VENUE_ICON_STROKE, VENUE_ICON_VIEWBOX, type VenueIcon, type VenueIconGroup, buyerBackgroundImage, buyerFacingChartDoc, hasConflictingLegacyTrace, isOpenShapeKind, isPointShapeKind, isSeatGlyphKind, isVenueIconKey, migrateLegacyBackgroundLayersInPlace, resolveSeatGlyph, resolvedShapeLineStyle, seatGlyph, seatGlyphFit, seatGlyphLabel, seatGlyphPath, shapeArrowMetrics, traceReferenceImage, venueIcon, venueIconPath };
|
|
210
|
+
export { DECOR_STAMP_ICON_PATHS, DEFAULT_SHAPE_LINE_CAP, DEFAULT_SHAPE_LINE_ENDING, DEFAULT_SHAPE_LINE_JOIN, SEAT_GLYPHS, SEAT_GLYPH_DETAIL_MIN_PX, SEAT_GLYPH_INSET, SEAT_GLYPH_ORDER, SEAT_GLYPH_VIEWBOX, SHAPE_LINE_CAPS, SHAPE_LINE_ENDINGS, SHAPE_LINE_JOINS, type SeatGlyph, type SeatGlyphBounds, type SeatGlyphGroup, type SeatGlyphMark, VENUE_ICONS, VENUE_ICON_GROUP_LABELS, VENUE_ICON_GROUP_ORDER, VENUE_ICON_KEYS, VENUE_ICON_STROKE, VENUE_ICON_VIEWBOX, type VenueIcon, type VenueIconGroup, buyerBackgroundImage, buyerFacingChartDoc, hasConflictingLegacyTrace, isOpenShapeKind, isPointShapeKind, isSeatGlyphKind, isVenueIconKey, migrateLegacyBackgroundLayersInPlace, resolveSeatGlyph, resolvedShapeLineStyle, seatGlyph, seatGlyphFit, seatGlyphLabel, seatGlyphMarkOnSeat, seatGlyphPath, shapeArrowMetrics, traceReferenceImage, venueIcon, venueIconPath };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { C as ChartDoc, l as Floor, n as ChartReferenceImage, e as SeatGlyphKind, o as Category, p as ShapeLineCap, q as ShapeLineEnding, r as ShapeLineJoin, s as ShapeObject } from '../../types-
|
|
2
|
-
export { S as SEAT_TYPE_ICON_BODY, a as SEAT_TYPE_ICON_VIEWBOX, b as SeatTypeIconKey, c as SeatTypeIconOptions, s as seatTypeIconBody, d as seatTypeIconSvg } from '../../seatTypeIcons-
|
|
1
|
+
import { C as ChartDoc, l as Floor, n as ChartReferenceImage, e as SeatGlyphKind, o as Category, p as ShapeLineCap, q as ShapeLineEnding, r as ShapeLineJoin, s as ShapeObject } from '../../types-BbqhOJ5L.js';
|
|
2
|
+
export { S as SEAT_TYPE_ICON_BODY, a as SEAT_TYPE_ICON_VIEWBOX, b as SeatTypeIconKey, c as SeatTypeIconOptions, s as seatTypeIconBody, d as seatTypeIconSvg } from '../../seatTypeIcons-CqLiEH9C.js';
|
|
3
3
|
|
|
4
4
|
type BackgroundOwner = Pick<ChartDoc, 'referenceImage' | 'backgroundImage'> | Pick<Floor, 'referenceImage' | 'backgroundImage'>;
|
|
5
5
|
/**
|
|
@@ -76,6 +76,17 @@ interface SeatGlyphBounds {
|
|
|
76
76
|
height: number;
|
|
77
77
|
}
|
|
78
78
|
type SeatGlyphGroup = 'general' | 'fixed' | 'flexible' | 'premium';
|
|
79
|
+
/**
|
|
80
|
+
* Where a mark (the buyer's selection tick) sits on a glyph, in the glyph's own
|
|
81
|
+
* 24-unit box: the centre and radius of the largest solid disc of ink. Measured
|
|
82
|
+
* off the authored path, not the bounding box — a chair's box centre lands on
|
|
83
|
+
* the gap between its legs, and a tick drawn there floats on the canvas.
|
|
84
|
+
*/
|
|
85
|
+
interface SeatGlyphMark {
|
|
86
|
+
x: number;
|
|
87
|
+
y: number;
|
|
88
|
+
radius: number;
|
|
89
|
+
}
|
|
79
90
|
interface SeatGlyph {
|
|
80
91
|
/** Stable registry key persisted as `Category.seatGlyph` / `SeatOverride.glyph`. */
|
|
81
92
|
key: SeatGlyphKind;
|
|
@@ -99,6 +110,8 @@ interface SeatGlyph {
|
|
|
99
110
|
* so a bench and a stool carry the same visual weight beside a circle.
|
|
100
111
|
*/
|
|
101
112
|
bounds: SeatGlyphBounds | null;
|
|
113
|
+
/** Null for the circle, which marks itself. */
|
|
114
|
+
mark: SeatGlyphMark | null;
|
|
102
115
|
}
|
|
103
116
|
/** The viewBox side length every seat glyph path is authored against. */
|
|
104
117
|
declare const SEAT_GLYPH_VIEWBOX = 24;
|
|
@@ -143,6 +156,17 @@ declare function seatGlyphFit(bounds: SeatGlyphBounds, radius: number): {
|
|
|
143
156
|
centreX: number;
|
|
144
157
|
centreY: number;
|
|
145
158
|
};
|
|
159
|
+
/**
|
|
160
|
+
* The mark anchor of a glyph drawn on a seat of the given radius, in the seat's
|
|
161
|
+
* own units around its centre — the same fit {@link seatGlyphFit} draws the
|
|
162
|
+
* glyph with, so the tick lands on the ink at every seat size. Null when the
|
|
163
|
+
* glyph has no anchor (the circle marks itself).
|
|
164
|
+
*/
|
|
165
|
+
declare function seatGlyphMarkOnSeat(kind: SeatGlyphKind | undefined, radius: number): {
|
|
166
|
+
x: number;
|
|
167
|
+
y: number;
|
|
168
|
+
radius: number;
|
|
169
|
+
} | null;
|
|
146
170
|
declare function isSeatGlyphKind(value: unknown): value is SeatGlyphKind;
|
|
147
171
|
/**
|
|
148
172
|
* The one resolution rule, shared by the Designer canvas, the buyer renderer and
|
|
@@ -183,4 +207,4 @@ declare function shapeArrowMetrics(strokeWidth: number): {
|
|
|
183
207
|
pointerWidth: number;
|
|
184
208
|
};
|
|
185
209
|
|
|
186
|
-
export { DECOR_STAMP_ICON_PATHS, DEFAULT_SHAPE_LINE_CAP, DEFAULT_SHAPE_LINE_ENDING, DEFAULT_SHAPE_LINE_JOIN, SEAT_GLYPHS, SEAT_GLYPH_DETAIL_MIN_PX, SEAT_GLYPH_INSET, SEAT_GLYPH_ORDER, SEAT_GLYPH_VIEWBOX, SHAPE_LINE_CAPS, SHAPE_LINE_ENDINGS, SHAPE_LINE_JOINS, type SeatGlyph, type SeatGlyphBounds, type SeatGlyphGroup, VENUE_ICONS, VENUE_ICON_GROUP_LABELS, VENUE_ICON_GROUP_ORDER, VENUE_ICON_KEYS, VENUE_ICON_STROKE, VENUE_ICON_VIEWBOX, type VenueIcon, type VenueIconGroup, buyerBackgroundImage, buyerFacingChartDoc, hasConflictingLegacyTrace, isOpenShapeKind, isPointShapeKind, isSeatGlyphKind, isVenueIconKey, migrateLegacyBackgroundLayersInPlace, resolveSeatGlyph, resolvedShapeLineStyle, seatGlyph, seatGlyphFit, seatGlyphLabel, seatGlyphPath, shapeArrowMetrics, traceReferenceImage, venueIcon, venueIconPath };
|
|
210
|
+
export { DECOR_STAMP_ICON_PATHS, DEFAULT_SHAPE_LINE_CAP, DEFAULT_SHAPE_LINE_ENDING, DEFAULT_SHAPE_LINE_JOIN, SEAT_GLYPHS, SEAT_GLYPH_DETAIL_MIN_PX, SEAT_GLYPH_INSET, SEAT_GLYPH_ORDER, SEAT_GLYPH_VIEWBOX, SHAPE_LINE_CAPS, SHAPE_LINE_ENDINGS, SHAPE_LINE_JOINS, type SeatGlyph, type SeatGlyphBounds, type SeatGlyphGroup, type SeatGlyphMark, VENUE_ICONS, VENUE_ICON_GROUP_LABELS, VENUE_ICON_GROUP_ORDER, VENUE_ICON_KEYS, VENUE_ICON_STROKE, VENUE_ICON_VIEWBOX, type VenueIcon, type VenueIconGroup, buyerBackgroundImage, buyerFacingChartDoc, hasConflictingLegacyTrace, isOpenShapeKind, isPointShapeKind, isSeatGlyphKind, isVenueIconKey, migrateLegacyBackgroundLayersInPlace, resolveSeatGlyph, resolvedShapeLineStyle, seatGlyph, seatGlyphFit, seatGlyphLabel, seatGlyphMarkOnSeat, seatGlyphPath, shapeArrowMetrics, traceReferenceImage, venueIcon, venueIconPath };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as p,b as t,c as x,d as a}from"../../chunk-P4J57TK6.js";import{a as
|
|
1
|
+
import{a as p,b as t,c as x,d as a}from"../../chunk-P4J57TK6.js";import{a as u,b as v,c as w,d as y,e as z,f as A,g as B,h as C,i as D,j as E,k as F,l as G,m as H,n as I,o as J,p as K,q as L,r as M,s as N,t as O}from"../../chunk-TQN2VWQO.js";import{k as o,l as r,m as e,n as f,o as m}from"../../chunk-5BMXWOE7.js";import{a as b,b as c,c as d,d as g,e as h,f as i,g as j,h as k,i as l,j as n,k as q,l as s}from"../../chunk-4N5CHKHD.js";import"../../chunk-5ITK5236.js";export{A as DECOR_STAMP_ICON_PATHS,I as DEFAULT_SHAPE_LINE_CAP,K as DEFAULT_SHAPE_LINE_ENDING,J as DEFAULT_SHAPE_LINE_JOIN,g as SEAT_GLYPHS,c as SEAT_GLYPH_DETAIL_MIN_PX,d as SEAT_GLYPH_INSET,h as SEAT_GLYPH_ORDER,b as SEAT_GLYPH_VIEWBOX,t as SEAT_TYPE_ICON_BODY,p as SEAT_TYPE_ICON_VIEWBOX,F as SHAPE_LINE_CAPS,H as SHAPE_LINE_ENDINGS,G as SHAPE_LINE_JOINS,z as VENUE_ICONS,w as VENUE_ICON_GROUP_LABELS,y as VENUE_ICON_GROUP_ORDER,E as VENUE_ICON_KEYS,v as VENUE_ICON_STROKE,u as VENUE_ICON_VIEWBOX,r as buyerBackgroundImage,f as buyerFacingChartDoc,m as hasConflictingLegacyTrace,L as isOpenShapeKind,M as isPointShapeKind,q as isSeatGlyphKind,D as isVenueIconKey,e as migrateLegacyBackgroundLayersInPlace,s as resolveSeatGlyph,N as resolvedShapeLineStyle,i as seatGlyph,l as seatGlyphFit,j as seatGlyphLabel,n as seatGlyphMarkOnSeat,k as seatGlyphPath,x as seatTypeIconBody,a as seatTypeIconSvg,O as shapeArrowMetrics,o as traceReferenceImage,B as venueIcon,C as venueIconPath};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var ae=Object.defineProperty;var ct=Object.getOwnPropertyDescriptor;var at=Object.getOwnPropertyNames;var lt=Object.prototype.hasOwnProperty;var ut=(e,t)=>{for(var n in t)ae(e,n,{get:t[n],enumerable:!0})},ft=(e,t,n,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of at(t))!lt.call(e,r)&&r!==n&&ae(e,r,{get:()=>t[r],enumerable:!(o=ct(t,r))||o.enumerable});return e};var dt=e=>ft(ae({},"__esModule",{value:!0}),e);var Pn={};ut(Pn,{DEFAULT_SECTION_CORNER_SMOOTHING:()=>Ge,MAX_EDGE_SAGITTA_RATIO:()=>Ve,TIER_HEIGHT_M:()=>Se,UNGROUPED_ID:()=>ce,applyHidden:()=>vn,arcLevelAt:()=>It,bearingDeg:()=>Ee,buildSectionRake:()=>Lt,computeSections:()=>rt,cornerSmoothingThresholdDeg:()=>Ue,distanceToPolyline:()=>ue,fitBowlProfile:()=>Pt,fitCircle:()=>te,hiddenObjectIds:()=>st,indexLabel:()=>Te,isSectionHidden:()=>it,logicalNumberingRow:()=>De,relabelRows:()=>Et,resolveSection:()=>xt,reverseSectionOutlinePath:()=>tn,sampleSectionOutlinePath:()=>Xt,seatConfidenceDisclosure:()=>Ut,seatDisplayLabel:()=>he,seatInventoryLabel:()=>pe,seatLabelPart:()=>Z,sectionCornerSmoothingPath:()=>Qt,sectionGeometry:()=>Xe,sectionOutlinePathFrom:()=>He,sectionPathSegmentEnd:()=>Kt,toBijectiveBase:()=>fe,toLetters:()=>re,toRoman:()=>de,transformSectionOutlinePath:()=>Be,translateSectionOutlinePath:()=>Yt,validSectionOutlinePath:()=>ye});module.exports=dt(Pn);function Ae(e){let t=e.length;return t<=3?[...e]:[e[Math.floor(t*.25)],e[Math.floor(t*.5)],e[Math.floor(t*.75)]]}function ue(e,t,n){if(!e.length)return 1/0;if(e.length===1)return Math.hypot(t-e[0].x,n-e[0].y);let o=1/0;for(let r=0;r+1<e.length;r++){let i=e[r],s=e[r+1],u=s.x-i.x,f=s.y-i.y,b=u*u+f*f,c=b>1e-12?((t-i.x)*u+(n-i.y)*f)/b:0;c<0?c=0:c>1&&(c=1);let m=Math.hypot(t-(i.x+c*u),n-(i.y+c*f));m<o&&(o=m)}return o}function pt(e){let t=0,n=0;for(let i of e)t+=i.x,n+=i.y;let o=e.length||1;t/=o,n/=o;let r=0;for(let i of e){let s=Math.hypot(i.x-t,i.y-n);s>r&&(r=s)}return{cx:t,cy:n,r}}function Re(e,t){return Math.hypot(e.cx-t.cx,e.cy-t.cy)-e.r-t.r}function le(e,t){let n=1/0;for(let o of Ae(e)){let r=ue(t,o.x,o.y);r<n&&(n=r)}for(let o of Ae(t)){let r=ue(e,o.x,o.y);r<n&&(n=r)}return n}function ht(e,t){if(e.length<3)return{pts:e,seatIndices:t};let n=0,o=0;for(let c of e)n+=c.x,o+=c.y;n/=e.length,o/=e.length;let r=-1,i=e[0];for(let c of e){let m=Math.hypot(c.x-n,c.y-o);m>r&&(r=m,i=c)}let s=i.x-n,u=i.y-o,f=Math.hypot(s,u);f>1e-9?(s/=f,u/=f):(s=1,u=0);let b=e.map((c,m)=>({p:c,i:m,t:(c.x-n)*s+(c.y-o)*u})).sort((c,m)=>c.t-m.t);return{pts:b.map(c=>c.p),seatIndices:b.map(c=>t[c.i])}}function te(e){let t=e.length;if(t<3)return null;let n=0,o=0;for(let g of e)n+=g.x,o+=g.y;n/=t,o/=t;let r=0,i=0,s=0,u=0,f=0,b=0,c=0;for(let g of e){let y=g.x-n,a=g.y-o;r+=y*y,s+=a*a,i+=y*a,u+=y*y*y,f+=a*a*a,b+=y*a*a,c+=a*y*y}let m=r*s-i*i;if(Math.abs(m)<1e-9)return null;let d=(u+b)/2,l=(f+c)/2,h=(d*s-l*i)/m,A=(l*r-d*i)/m,p=h+n,x=A+o;return!Number.isFinite(p)||!Number.isFinite(x)?null:{cx:p,cy:x}}var bt=.15;function mt(e){if(e.length<2)return null;let t=e.map(g=>{let y=0,a=0;for(let I of g.pts)y+=I.x,a+=I.y;return{x:y/g.pts.length,y:a/g.pts.length}}),n=0,o=0;for(let g of t)n+=g.x,o+=g.y;n/=t.length,o/=t.length;let r=0,i=0,s=0;for(let g of t){let y=g.x-n,a=g.y-o;r+=y*y,i+=y*a,s+=a*a}let u=r+s,f=r*s-i*i,b=u/2+Math.sqrt(Math.max(0,u*u/4-f)),c,m;Math.abs(i)>1e-12?(c=b-s,m=i):r>=s?(c=1,m=0):(c=0,m=1);let d=Math.hypot(c,m);if(!(d>1e-12))return null;c/=d,m/=d;let l=1/0,h=-1/0,A=[];for(let g of e){let y=1/0,a=-1/0;for(let I of g.pts){let S=I.x*c+I.y*m;S<y&&(y=S),S>a&&(a=S),S<l&&(l=S),S>h&&(h=S)}A.push(a-y)}let p=h-l;return p>1e-9?(A.sort((g,y)=>g-y),A[Math.min(A.length-1,Math.floor(A.length*.9))]/p<=yt?{x:c,y:m}:null):null}var yt=.35;function xt(e,t,n,o){let r=new Map;for(let p of n){let x=t[p],g=x.rowId||`__seat-${p}`,y=r.get(g);y||(y={pts:[],idx:[]},r.set(g,y)),y.pts.push({x:x.x,y:x.y}),y.idx.push(p)}if(!r.size)return{sectionId:e,rows:[],blockCount:0};let i=[];for(let[p,x]of r){let g=ht(x.pts,x.idx),y=0;for(let a of g.pts)y+=Math.hypot(a.x-o.x,a.y-o.y);i.push({id:p,pts:g.pts,seatIndices:g.seatIndices,blockId:-1,ordinal:0,blockDepth:0,focalDistance:y/g.pts.length})}let s=i.map(p=>pt(p.pts)),u=[];for(let p=0;p<i.length;p++){let x=1/0;for(let g=0;g<i.length;g++){if(p===g||Re(s[p],s[g])>=x)continue;let y=le(i[p].pts,i[g].pts);y<x&&(x=y)}Number.isFinite(x)&&u.push(x)}u.sort((p,x)=>p-x);let f=u.length?u[Math.floor(u.length/2)]:1,b=Math.max(f*1.8,1e-6),c=i.map(()=>[]);for(let p=0;p<i.length;p++)for(let x=p+1;x<i.length;x++)Re(s[p],s[x])>b||le(i[p].pts,i[x].pts)<=b&&(c[p].push(x),c[x].push(p));let m=0;for(let p=0;p<i.length;p++){if(i[p].blockId!==-1)continue;let x=m++,g=[p];for(i[p].blockId=x;g.length;){let y=g.pop();for(let a of c[y])i[a].blockId===-1&&(i[a].blockId=x,g.push(a))}}let d=new Map;for(let p of i){let x=d.get(p.blockId)??[];x.push(p),d.set(p.blockId,x)}let l=[];for(let p of i){if(p.pts.length<4)continue;let x=te(p.pts);x&&(!Number.isFinite(x.cx)||!Number.isFinite(x.cy)||l.push({x:x.cx,y:x.cy}))}let h=l.length>=2?(()=>{let p=l.map(y=>y.x).sort((y,a)=>y-a),x=l.map(y=>y.y).sort((y,a)=>y-a),g=Math.floor(l.length/2);return{cx:p[g],cy:x[g]}})():null;if(h){let p=S=>Math.hypot(S.x-h.cx,S.y-h.cy),x=1/0,g=-1/0,y=[];for(let S of i){let R=1/0,_=-1/0;for(let N of S.pts){let U=p(N);U<R&&(R=U),U>_&&(_=U)}y.push(_-R),R<x&&(x=R),_>g&&(g=_)}let a=g-x;y.sort((S,R)=>S-R);let I=y[Math.min(y.length-1,Math.floor(y.length*.9))];if(a>1e-9&&I/a<=bt){let S=i.map(v=>{let L=0;for(let H of v.pts)L+=p(H);return{row:v,radius:L/v.pts.length}}),R=0,_=0;for(let v of S)R+=v.radius,_+=v.row.focalDistance;R/=S.length,_/=S.length;let N=0;for(let v of S)N+=(v.radius-R)*(v.row.focalDistance-_);if(N<0)for(let v of S)v.radius=-v.radius;let V=1/0;for(let v of S)v.radius<V&&(V=v.radius);S.sort((v,L)=>v.radius-L.radius);let J=-1,w=-1/0,P=a/Math.max(1,S.length)*.5,O=[];for(let v of S)v.radius-w>P&&(J++,w=v.radius),v.row.ordinal=J,v.row.blockDepth=v.radius-V,O.push(v.row);return{sectionId:e,rows:O,blockCount:m}}}let A=[];for(let[,p]of d){let x=mt(p);if(x){let g=a=>{let I=0;for(let S of a.pts)I+=S.x*x.x+S.y*x.y;return I/a.pts.length};p.sort((a,I)=>g(a)-g(I)),p.length>=2&&p[0].focalDistance>p[p.length-1].focalDistance&&p.reverse();let y=0;for(let a=0;a<p.length;a++)a>0&&(y+=le(p[a-1].pts,p[a].pts)),p[a].ordinal=a,p[a].blockDepth=y,A.push(p[a])}else{let g=1/0;for(let y of p)y.focalDistance<g&&(g=y.focalDistance);p.sort((y,a)=>y.focalDistance-a.focalDistance);for(let y=0;y<p.length;y++)p[y].ordinal=y,p[y].blockDepth=Math.max(0,p[y].focalDistance-g),A.push(p[y])}}return{sectionId:e,rows:A,blockCount:m}}var gt=Math.PI/180,C=96,St=6,wt=60,Mt=150,Ce=.2,vt=.35;function Ee(e,t){let n=Math.atan2(t.x-e.x,t.y-e.y)/gt;return n<0?n+360:n}function ne(e){if(!e.length)return NaN;let t=[...e].sort((n,o)=>n-o);return t[Math.floor(t.length/2)]}function oe(e,t,n=2){let o=e.length,r=new Float64Array(o);for(let i=0;i<o;i++){let s=0,u=0;for(let f=-n;f<=n;f++){let b=i+f;if(t)b=(b%o+o)%o;else if(b<0||b>=o)continue;s+=e[b],u++}r[i]=s/u}return r}function Pt(e,t){let n=e.filter(d=>d.rows.length>=1);if(n.length<1)return null;let o=[],r=0,i=0,s=0;for(let d of n)for(let l of d.rows){for(let h of l.pts)r+=h.x,i+=h.y,s++;if(l.pts.length>=4){let h=te(l.pts);h&&Number.isFinite(h.cx)&&Number.isFinite(h.cy)&&o.push({x:h.cx,y:h.cy})}}if(!s)return null;let u={x:r/s,y:i/s},f=u;if(o.length>=8){let d=ne(o.map(x=>x.x)),l=ne(o.map(x=>x.y)),h=0;for(let x of n)for(let g of x.rows)for(let y of g.pts){let a=Math.hypot(y.x-u.x,y.y-u.y);a>h&&(h=a)}let A=0,p=h*.2;for(let x of n)for(let g of x.rows)for(let y of g.pts)Math.hypot(y.x-d,y.y-l)<p&&A++;Math.hypot(d-u.x,l-u.y)<=h&&A/s<.01&&(f={x:d,y:l})}let b=[];for(let d of n){let l={sectionId:d.sectionId,rMin:1/0,rMax:-1/0,samples:[]};for(let h of d.rows)for(let A of h.pts){let p=Math.hypot(A.x-f.x,A.y-f.y),x=Math.min(C-1,Math.floor(Ee(f,A)/(360/C)));l.samples.push({r:p,bin:x,levelM:h.levelM}),p<l.rMin&&(l.rMin=p),p>l.rMax&&(l.rMax=p)}l.samples.length&&b.push(l)}if(!b.length)return null;b.sort((d,l)=>d.rMin+d.rMax-(l.rMin+l.rMax));let c=[];for(let d of b){let l=!1;for(let h of c){let A=Math.min(d.rMax,h.rMax)-Math.max(d.rMin,h.rMin),p=Math.min(d.rMax-d.rMin,h.rMax-h.rMin);if(p>1e-9&&A>=vt*p){h.members.push(d),h.rMin=Math.min(h.rMin,d.rMin),h.rMax=Math.max(h.rMax,d.rMax),l=!0;break}}l||c.push({members:[d],rMin:d.rMin,rMax:d.rMax})}let m=[];for(let d of c){let l=new Array(C).fill(null);for(let w of d.members)for(let P of w.samples){let O=l[P.bin];O||(O={samples:[]},l[P.bin]=O),O.samples.push({r:P.r,levelM:P.levelM})}let h=l.map(w=>!!w);if(!h.filter(Boolean).length)continue;let p=[],x=[];for(let w of l){if(!w)continue;let P=1/0,O=-1/0;for(let v of w.samples)v.r<P&&(P=v.r),v.r>O&&(O=v.r);p.push(P),x.push(O)}let g=ne(p),y=ne(x);if(!(g>=Ce*y)||!(y>0))continue;let a=[...p].sort((w,P)=>w-P);if(!(a[Math.floor(a.length*.1)]>=Ce*y))continue;let S=l.map(w=>{if(!w)return null;let P=[...w.samples].sort((k,j)=>k.r-j.r),O=P[0].r,v=P[P.length-1].r,L=P[0].levelM,H=-1/0;for(let k of P)k.levelM>H&&(H=k.levelM);let E=[];for(let k of P){let j={r:k.r,l:k.levelM};for(;E.length&&Math.abs(E[E.length-1].r-j.r)<1e-9;){if(E[E.length-1].l<=j.l){j.skip=!0;break}E.pop()}if(!j.skip){for(;E.length>=2;){let $=E[E.length-2],K=E[E.length-1];if((K.r-$.r)*(j.l-$.l)-(K.l-$.l)*(j.r-$.r)<=0)E.pop();else break}E.push(j)}}let B=E.map(k=>k.r),G=E.map(k=>k.l);return{inner:O,outer:v,front:L,top:H,profile:{rs:B,ls:G}}}),R=h.slice();for(let w=0;w<C;w++){if(R[w])continue;let P=-1,O=-1,v=0;for(let M=1;M<=C;M++){let T=(w-M+C*2)%C;if(R[T]){P=T;break}}for(let M=1;M<=C;M++){let T=(w+M)%C;if(R[T]){O=T,v=M;break}}if(P<0||O<0)continue;let L=0;for(let M=1;M<=C;M++){let T=(w-M+C*2)%C;if(h[T]){L=M;break}}if(L-1+v>St)continue;let E=S[P],B=S[O],G=L/(L+v),k=E.inner+(B.inner-E.inner)*G,j=E.outer+(B.outer-E.outer)*G,$=E.front+(B.front-E.front)*G,K=E.top+(B.top-E.top)*G;S[w]={inner:k,outer:j,front:$,top:K,profile:{rs:[k,j],ls:[$,K]}}}for(let w=0;w<C;w++)S[w]&&(R[w]=!0);let _=360/C,N=[],U=R.filter(Boolean).length,V=[];if(U===C)V.push({start:0,len:C});else{let w=0;for(;R[w];)w=(w+1)%C;let P=-1;for(let O=0;O<=C;O++){let v=(w+O)%C,L=O<C&&R[v];if(L&&P<0)P=v;else if(!L&&P>=0){let H=(v-P+C)%C||C;V.push({start:P,len:H}),P=-1}}}for(let w of V){if(w.len*_<wt&&w.len<C)continue;let P=w.len===C,O=new Float64Array(w.len),v=new Float64Array(w.len),L=new Float64Array(w.len),H=new Float64Array(w.len),E=[];for(let M=0;M<w.len;M++){let T=S[(w.start+M)%C];O[M]=T.inner,v[M]=T.outer,L[M]=T.front,H[M]=T.top,E.push(T.profile??{rs:[T.inner,T.outer],ls:[T.front,T.top]})}let B=oe(O,P),G=oe(v,P),k=oe(L,P),j=oe(H,P);for(let M=0;M<w.len;M++)B[M]>O[M]&&(B[M]=O[M]),G[M]<v[M]&&(G[M]=v[M]),B[M]>G[M]-1e-6&&(B[M]=Math.max(0,G[M]-1e-6)),j[M]<k[M]&&(j[M]=k[M]);let $={startBin:w.start,binCount:w.len,closed:P,innerR:B,outerR:G,frontLevelM:k,topLevelM:j,profiles:E},K=(M,T,F)=>{let Q=E[M],W=Q.rs,z=Q.ls;if(T<=W[0]){z[0]>F&&(z[0]=F);return}if(T>=W[W.length-1]){z[z.length-1]>F&&(z[z.length-1]=F);return}for(let X=0;X+1<W.length;X++)if(T<=W[X+1]){z[X]>F&&(z[X]=F),z[X+1]>F&&(z[X+1]=F);return}};for(let M=0;M<w.len;M++){let T=l[(w.start+M)%C];if(T)for(let F of T.samples){K(M,F.r,F.levelM);let Q=P?(M-1+w.len)%w.len:M-1,W=P?(M+1)%w.len:M+1;Q>=0&&K(Q,F.r,F.levelM),W<w.len&&K(W,F.r,F.levelM)}}N.push($)}N.reduce((w,P)=>w+P.binCount*_,0)<Mt||m.push({arcs:N,sectionIds:d.members.map(w=>w.sectionId),innerRMedian:g,outerRMedian:y})}if(!m.length)return null;if(m.sort((d,l)=>d.innerRMedian-l.innerRMedian),t){let d=m[m.length-1].outerRMedian;if(Math.hypot(t.x-f.x,t.y-f.y)>.9*d)return null}return{centre:f,binCount:C,binStepDeg:360/C,rings:m}}function It(e,t,n,o){let r=e.binStepDeg,i=n/r-.5-t.startBin;i=(i%e.binCount+e.binCount)%e.binCount,i>t.binCount-1&&(t.closed?i=i-t.binCount<t.binCount-i?0:t.binCount-1:i=i-(t.binCount-1)<e.binCount-i?t.binCount-1:0);let s=Math.floor(i),u=t.closed?(s+1)%t.binCount:Math.min(t.binCount-1,s+1),f=i-s,b=c=>{let m=t.profiles[c],d=m.rs,l=m.ls;if(o<=d[0])return l[0];if(o>=d[d.length-1])return l[l.length-1];for(let h=0;h+1<d.length;h++)if(o<=d[h+1]){let A=d[h+1]-d[h],p=A>1e-9?(o-d[h])/A:0;return l[h]+(l[h+1]-l[h])*p}return l[l.length-1]};return b(s)*(1-f)+b(u)*f}var Oe="ABCDEFGHIJKLMNOPQRSTUVWXYZ",At="ABCDEFGHJKLMNPQRSTUVWXYZ",Rt="abcdefghijklmnopqrstuvwxyz";function fe(e,t){let n=t.length,o=e+1,r="";for(;o>0;){o-=1;let i=o%n;r=t[i]+r,o=Math.floor(o/n)}return r}function Te(e,t){let n=t.startAt-1,o=e+n;if(t.scheme==="numbers")return String(o+1);let r=t.skipAmbiguous?At:Oe;return fe(o,r)}function re(e,t=!1){let n=t?Rt:Oe;return fe(Math.max(0,Math.floor(e)-1),n)}var Ct=[[1e3,"M"],[900,"CM"],[500,"D"],[400,"CD"],[100,"C"],[90,"XC"],[50,"L"],[40,"XL"],[10,"X"],[9,"IX"],[5,"V"],[4,"IV"],[1,"I"]];function de(e){if(!Number.isFinite(e)||e<=0)return String(e);let t=Math.floor(e),n="";for(let[o,r]of Ct)for(;t>=o;)n+=r,t-=o;return n}function Et(e,t){let n=e.length;return e.map((o,r)=>{let i=t.reverse?n-1-r:r;return{...o,label:Te(i,t)}})}function Ot(e){return{kind:"radial",rowCount:0,rows:[],nearestRow:()=>-1,depthAt:(t,n)=>Math.hypot(t-e.x,n-e.y),gradientAt:(t,n)=>{let o=t-e.x,r=n-e.y,i=Math.hypot(o,r);return i<1e-9?[0,0]:[o/i,r/i]}}}function Tt(e,t){if(!e.length)return null;let n=0,o=0,r=0;for(let l of e)n+=l.x,o+=l.y,r+=Math.hypot(l.x-t.x,l.y-t.y);let i=e.length;n/=i,o/=i,r/=i;let s=e[0],u=-1;for(let l of e){let h=Math.hypot(l.x-n,l.y-o);h>u&&(u=h,s=l)}let f=s.x-n,b=s.y-o,c=Math.hypot(f,b);c>1e-9?(f/=c,b/=c):(f=1,b=0);let m=[...e].sort((l,h)=>(l.x-n)*f+(l.y-o)*b-((h.x-n)*f+(h.y-o)*b)),d=0;for(let l of m){let h=Math.hypot(l.x-n,l.y-o);h>d&&(d=h)}return{pts:m,cx:n,cy:o,radius:d,depth:r}}function _e(e,t,n){let o=e.pts;if(o.length===1)return Math.hypot(t-o[0].x,n-o[0].y);let r=1/0;for(let i=0;i+1<o.length;i++){let s=o[i],u=o[i+1],f=u.x-s.x,b=u.y-s.y,c=f*f+b*b,m=c>1e-12?((t-s.x)*f+(n-s.y)*b)/c:0;m<0?m=0:m>1&&(m=1);let d=Math.hypot(t-(s.x+m*f),n-(s.y+m*b));d<r&&(r=d)}return r}var ie=8;function _t(e,t,n){let o=new Array(ie).fill(1/0),r=new Array(ie).fill(-1);for(let c=0;c<e.length;c++){let m=e[c],d=Math.hypot(t-m.cx,n-m.cy)-m.radius;for(let l=0;l<ie;l++)if(d<o[l]){for(let h=ie-1;h>l;h--)o[h]=o[h-1],r[h]=r[h-1];o[l]=d,r[l]=c;break}}let i=new Array(3).fill(1/0),s=new Array(3).fill(-1);for(let c of r){if(c<0)continue;let m=_e(e[c],t,n);for(let d=0;d<3;d++)if(m<i[d]){for(let l=2;l>d;l--)i[l]=i[l-1],s[l]=s[l-1];i[d]=m,s[d]=c;break}}if(s[0]<0)return 0;if(i[0]<1e-6)return e[s[0]].depth;let u=i[0]*2.2,f=0,b=0;for(let c=0;c<3;c++){let m=s[c];if(m<0||i[c]>u)continue;let d=1/(i[c]*i[c]);f+=d*e[m].depth,b+=d}return b>0?f/b:e[s[0]].depth}function kt(e){let t=(o,r)=>_t(e,o,r),n=(o,r)=>{let i=1/0,s=-1;for(let u=0;u<e.length;u++){let f=e[u];if(Math.hypot(o-f.cx,r-f.cy)-f.radius>=i)continue;let b=_e(f,o,r);b<i&&(i=b,s=u)}return s};return{kind:"rows",rowCount:e.length,rows:e,nearestRow:n,depthAt:t,gradientAt:(o,r)=>{let i=(t(o+.5,r)-t(o-.5,r))/1,s=(t(o,r+.5)-t(o,r-.5))/(2*.5),u=Math.hypot(i,s);return u<1e-9?[0,0]:[i/u,s/u]}}}function Lt(e,t){let n=[];for(let o of e){let r=Tt(o.points,t);r&&n.push(r)}return n.length<2?Ot(t):(n.sort((o,r)=>o.depth-r.depth),kt(n))}var Dt=/^\d{4}-\d{2}-\d{2}$/;function Nt(e){let t=Date.parse(e);return Number.isFinite(t)?Dt.test(e)?t+864e5:t:null}function ke(e,t=Date.now()){if(e.validUntil===void 0){if(e.status!=="approved")return!0;let o=e.assessedAt?Date.parse(e.assessedAt):Number.NaN;return Number.isFinite(o)&&(t instanceof Date?t.getTime():t)<=o+366*864e5}let n=Nt(e.validUntil);return n===null?!1:(t instanceof Date?t.getTime():t)<n}function Le(e){return e.status!=="draft"&&e.status!=="retracted"}function jt(e){return e==="exact-seat"?"Exact seat in the model":e==="row-representative"?"Representative row evidence":e==="section-representative"?"Representative section evidence":e==="floor-representative"?"Representative floor evidence":"Representative venue evidence"}function Ft(e){if(!e)return"No assessment date supplied";let t=new Date(e);return Number.isFinite(t.getTime())?`Assessed ${t.toISOString().slice(0,10)}`:"No assessment date supplied"}function Bt(){return{headline:"Generated view \xB7 unverified",model:"No geometry or event-configuration verification supplied",reality:"No real-world check supplied",coverage:"Selected chart seat",provenance:"Chart-derived model",freshness:"No current organizer-approved evidence matches this Event, venue revision, or renewal window",limitations:["Generated view is not surveyed sightline truth."]}}function Gt(e){let t=Ft(e.assessedAt);if(!e.validUntil)return t;let n=Date.parse(e.validUntil);return Number.isFinite(n)?`${t} \xB7 valid until ${e.validUntil.slice(0,10)}`:t}function Ut(e,t={}){if(!e||!Le(e)||!ke(e,t.now))return Bt();let n=e.evidenceKind==="synthetic-model",o=e.modelLevel==="configuration-verified"?"Event configuration verified":e.modelLevel==="geometry-verified"?"Venue geometry verified":n?"Versioned synthetic model":"Generated model \xB7 not verified",r=e.realityLevel==="actual-build-checked"?"Actual event build reality checked":e.realityLevel==="comparable-build-reference"?"Comparable-build reference only":"No real-world check supplied",i=n?"Synthetic model evidence":e.modelLevel==="configuration-verified"?"Configuration verified":e.modelLevel==="geometry-verified"?"Geometry verified":"Generated view \xB7 unverified",s=[...e.limitations??[],...n?["Synthetic demo; not surveyed or venue-certified."]:[]],u=e.modeledTarget?`${e.modeledTarget.label} \xB7 ${e.modeledTarget.clearRayCount}/${e.modeledTarget.totalRayCount} target rays clear \xB7 ${e.modeledTarget.classification} in bounded model \xB7 ${e.modeledTarget.methodLabel}`+(e.modeledTarget.occluderLabels?.length?` \xB7 modeled occluders: ${e.modeledTarget.occluderLabels.join(", ")}`:""):void 0;return u&&s.push("Modeled target is not a percentage of the show visible."),{headline:i,model:o,reality:r,coverage:jt(e.coverage),provenance:e.sourceLabel??e.approvedByRole??"Source not supplied",freshness:Gt(e),limitations:s,...u?{modeledTarget:u}:{}}}function Vt(e){let t=new Array(e);return Array.from({length:e},(n,o)=>o).sort((n,o)=>Math.abs(2*n-(e-1))-Math.abs(2*o-(e-1))||n-o).forEach((n,o)=>t[n]=o),t}function Z(e,t){let n=e.seatLabelStart??1,o=e.seatNumbering?.direction??"ltr",r=e.seatNumbering?.step??1,i=e.seatNumbering?.scheme??"decimal",s=e.seatNumbering?.prefix??"",u=e.seatNumbering?.endAt,f=e.seatCount;if(i==="updown"||i==="updown-descending"){let l=Math.ceil(f/2),h=i==="updown"?t<l?n+2*t:n-1+2*(f-t):t<l?n+2*(l-1-t):n+1+2*(t-l);return`${s}${h}`}let b=i==="odd"||i==="even"?2:r,c=u!=null&&Number.isFinite(u)?u-(f-1)*b:n,m=o==="center"?Vt(f)[t]:o==="rtl"?f-1-t:t,d;switch(i){case"odd":{let l=c%2===1?c:c+1;d=String(l+m*2);break}case"even":{let l=c%2===0?c:c+1;d=String(l+m*2);break}case"roman":d=de(c+m*r);break;case"letters-upper":d=re(c+m*r,!1);break;case"letters-lower":d=re(c+m*r,!0);break;default:d=String(c+m*r);break}return`${s}${d}`}function De(e){return{...e.canonical,seatCount:e.totalSeats,label:e.displayLabel,displayLabel:e.displayLabel}}function pe(e,t,n){return n?.label??`${e.seatLabelBase??e.label}-${Z(e,t)}`}function he(e,t,n,o){if(o?.displayLabel)return o.displayLabel;if(e.seatDisplayLabelMode==="number")return Z(e,t);if(!n)return`${e.displayLabel||e.label}-${Z(e,t)}`;let r=De(n),i=n.displayOffset+t;return`${n.displayLabel}-${Z(r,i)}`}function Ht(e,t,n){return Math.max(t,Math.min(n,e))}function zt(e){return Ht(e,0,1)}function Ne(e){let t=zt(e);return t*t*(3-2*t)}var jn=Math.PI/180;function D(e,t){return Math.hypot(e.x-t.x,e.y-t.y)}function be(e,t,n){return{x:e.x+(t.x-e.x)*n,y:e.y+(t.y-e.y)*n}}var Y=Math.PI*2;function q(e){return Number.isFinite(e.x)&&Number.isFinite(e.y)}function $t(e,t,n){let o=t-e;if(n){for(;o<0;)o+=Y;for(;o>=Y;)o-=Y}else{for(;o>0;)o-=Y;for(;o<=-Y;)o+=Y}return o}function Kt(e){return e.end}function ye(e){if(e.version!==1||e.closed!==!0||!q(e.start)||!Array.isArray(e.segments)||e.segments.length<2||e.segments.length>512)return!1;let t=e.start;for(let n of e.segments){if(!n||!q(n.end))return!1;if(n.kind==="line"){if(D(t,n.end)<=1e-9)return!1}else if(n.kind==="bezier"){if(!q(n.control1)||!q(n.control2)||D(t,n.end)<=1e-9)return!1}else if(n.kind==="arc"){if(!q(n.center)||!Number.isFinite(n.radius)||n.radius<=1e-6||Math.abs(D(t,n.center)-n.radius)>Math.max(1e-4,n.radius*1e-4)||Math.abs(D(n.end,n.center)-n.radius)>Math.max(1e-4,n.radius*1e-4)||D(t,n.end)<=1e-9)return!1}else return!1;t=n.end}return D(t,e.start)<=1e-4}function Wt(e,t,n){let o=1-n;return{x:o**3*e.x+3*o**2*n*t.control1.x+3*o*n**2*t.control2.x+n**3*t.end.x,y:o**3*e.y+3*o**2*n*t.control1.y+3*o*n**2*t.control2.y+n**3*t.end.y}}function Xt(e,t=2){if(!ye(e))throw new Error("Section outline path is invalid");let n=Math.max(.25,t),o=[{...e.start}],r=e.start;for(let i of e.segments){if(i.kind==="line")o.push({...i.end});else if(i.kind==="arc"){let s=Math.atan2(r.y-i.center.y,r.x-i.center.x),u=Math.atan2(i.end.y-i.center.y,i.end.x-i.center.x),f=$t(s,u,i.clockwise),b=Math.max(2,Math.ceil(Math.abs(f)*i.radius/n));for(let c=1;c<=b;c+=1){let m=s+f*c/b;o.push({x:i.center.x+Math.cos(m)*i.radius,y:i.center.y+Math.sin(m)*i.radius})}}else{let s=D(r,i.control1)+D(i.control1,i.control2)+D(i.control2,i.end),u=Math.max(2,Math.ceil(s/n));for(let f=1;f<=u;f+=1)o.push(Wt(r,i,f/u))}r=i.end}return D(o[o.length-1],o[0])<=1e-4&&o.pop(),o}function Yt(e,t,n){return Be(e,r=>({x:r.x+t,y:r.y+n}))}function Be(e,t,n=1,o=!1){return{...e,start:t(e.start),segments:e.segments.map(r=>r.kind==="line"?{...r,end:t(r.end)}:r.kind==="arc"?{...r,center:t(r.center),radius:r.radius*Math.abs(n),clockwise:o?!r.clockwise:r.clockwise,end:t(r.end)}:{...r,control1:t(r.control1),control2:t(r.control2),end:t(r.end)})}}var Ge=45,me=150,qt=60;function Ue(e){let t=Ge/100;if(e<=t)return me;let n=Math.min(1,(e-t)/(1-t));return me-n*(me-qt)}var je=.5523;function Fe(e,t){return Math.abs(e.x-t.x)<=1e-6&&Math.abs(e.y-t.y)<=1e-6}function Jt(e){let t=[],n=[];for(e.forEach((o,r)=>{q(o)&&(t.length&&Fe(t[t.length-1],o)||(t.push({x:o.x,y:o.y}),n.push(r)))});t.length>1&&Fe(t[0],t[t.length-1]);)t.pop(),n.pop();return{points:t,sourceIndex:n}}function Qt(e,t,n){return He(e,{cornerSmoothing:t,...n})}var Ve=.5,Zt=4/3;function en(e,t,n){let o=t.x-e.x,r=t.y-e.y,i=Math.hypot(o,r);if(i<=1e-9)return{kind:"line",end:{...t}};let s=-r/i,u=o/i,f=n*Zt;return{kind:"bezier",control1:{x:e.x+o/3+s*f,y:e.y+r/3+u*f},control2:{x:e.x+o*2/3+s*f,y:e.y+r*2/3+u*f},end:{...t}}}function He(e,t){let{points:n,sourceIndex:o}=Jt(e),r=n.length;if(r<3)return null;let i=Math.min(100,Math.max(0,t.cornerSmoothing??0))/100,s=t.edgeCurvature,u=new Array(r).fill(0);if(s?.length)for(let a=0;a<r;a+=1){let I=s[o[a]];u[a]=Number.isFinite(I)?Math.min(100,Math.max(-100,I))/100:0}let f=u.some(a=>Math.abs(a)>1e-6);if(i<=0&&!f)return null;let b=t.wideAngleThresholdDeg??Ue(i),c=[];for(let a=0;a<r;a+=1)c[a]=D(n[a],n[(a+1)%r]);let m=new Array(r).fill(0);for(let a=0;a<r;a+=1){let I=n[(a-1+r)%r],S=n[a],R=n[(a+1)%r],_={x:I.x-S.x,y:I.y-S.y},N={x:R.x-S.x,y:R.y-S.y},U=Math.hypot(_.x,_.y),V=Math.hypot(N.x,N.y);if(U<=1e-9||V<=1e-9)continue;let J=Math.min(1,Math.max(-1,(_.x*N.x+_.y*N.y)/(U*V))),w=Math.acos(J)*180/Math.PI;if(w<b)continue;let P=Ne((w-b)/(180-b));m[a]=i*P*.5*Math.min(U,V)}for(let a=0;a<r;a+=1){let I=(a+1)%r,S=m[a]+m[I];if(S>c[a]&&S>1e-9){let R=c[a]/S;m[a]*=R,m[I]*=R}}let d=new Array(r),l=new Array(r);for(let a=0;a<r;a+=1){let I=n[(a-1+r)%r],S=n[a],R=n[(a+1)%r];if(m[a]<=1e-6){d[a]={...S},l[a]={...S};continue}let _=D(S,I)||1,N=D(S,R)||1;d[a]={x:S.x+(I.x-S.x)/_*m[a],y:S.y+(I.y-S.y)/_*m[a]},l[a]={x:S.x+(R.x-S.x)/N*m[a],y:S.y+(R.y-S.y)/N*m[a]}}if(m.every(a=>a<=1e-6)&&!f)return null;let h=[],A={...l[0]},p=A,x=(a,I)=>{if(D(p,a)<=1e-9)return;let S=u[I];Math.abs(S)>1e-6?h.push(en(p,a,S*Ve*c[I])):h.push({kind:"line",end:{...a}}),p=a};for(let a=1;a<=r;a+=1){let I=a%r,S=n[I];x(d[I],(a-1)%r),m[I]>1e-6&&D(d[I],l[I])>1e-9&&(h.push({kind:"bezier",control1:be(d[I],S,je),control2:be(l[I],S,je),end:{...l[I]}}),p=l[I])}if(!h.length)return null;let g=h[h.length-1];D(g.end,A)>1e-9&&(g.kind==="line"?g.end={...A}:h.push({kind:"line",end:{...A}}));let y={version:1,closed:!0,start:A,segments:h};return ye(y)?y:null}function tn(e){let t=[],n=e.start;for(let r of e.segments)t.push(n),n=r.end;let o=[];for(let r=e.segments.length-1;r>=0;r-=1){let i=e.segments[r],s=t[r];i.kind==="line"?o.push({kind:"line",end:{...s}}):i.kind==="arc"?o.push({kind:"arc",center:{...i.center},radius:i.radius,clockwise:!i.clockwise,end:{...s}}):o.push({kind:"bezier",control1:{...i.control2},control2:{...i.control1},end:{...s}})}return{version:1,closed:!0,start:{...e.start},segments:o}}function ze(e,t){let n=1-t,o=n*n*n,r=3*n*n*t,i=3*n*t*t,s=t*t*t;return{x:o*e.start.x+r*e.control1.x+i*e.control2.x+s*e.end.x,y:o*e.start.y+r*e.control1.y+i*e.control2.y+s*e.end.y}}function $e(e,t,n=192){if(!Number.isInteger(t)||t<1)throw new Error("Path point count must be a positive integer");if(t===1)return[ze(e,.5)];let o=Array.from({length:n+1},(f,b)=>ze(e,b/n)),r=new Float64Array(o.length);for(let f=1;f<o.length;f+=1){let b=o[f].x-o[f-1].x,c=o[f].y-o[f-1].y;r[f]=r[f-1]+Math.hypot(b,c)}let i=r[r.length-1];if(i<=1e-9)return Array.from({length:t},()=>({...e.start}));let s=[],u=1;for(let f=0;f<t;f+=1){let b=i*f/(t-1);for(;u<r.length-1&&r[u]<b;)u+=1;let c=r[u-1],m=r[u],d=m===c?0:(b-c)/(m-c);s.push({x:o[u-1].x+(o[u].x-o[u-1].x)*d,y:o[u-1].y+(o[u].y-o[u-1].y)*d})}return s}var We=.02291666666666667,Hn=1/We,nn=58,Se=nn*We;var on=3,Ke=0,xe=120,rn=0,sn=45,cn=7;function ge(e,t,n,o){return Number.isFinite(e)?Math.max(t,Math.min(n,e)):o}function an(e){return!Number.isFinite(e)||!Number.isInteger(e)||e<0?0:e<=cn?e:on}function Xe(e,t={}){let n=ge(t.floorBaseHeightM,Ke,xe,0),o=Math.min(xe,n+an(e.elevation)*Se),r=e.height===void 0?o:ge(e.height,Ke,xe,o),i=ge(e.rake,rn,sn,0);return{height:r,rake:i}}function we(e){return e?e.accessibility?.length?e.wheelchairSpaceType&&!e.accessibility.includes("wheelchair")?["wheelchair",...e.accessibility]:e.accessibility:e.wheelchairSpaceType?["wheelchair"]:e.accessible?["wheelchair"]:[]:[]}var se=Math.PI/180;var ee=16;function ve(e,t,n,o){let r=n*se,i=Math.cos(r),s=Math.sin(r);return{x:o.x+e*i-t*s,y:o.y+e*s+t*i}}function ln(e){let{seatCount:t,seatSpacing:n,curve:o,rotation:r,origin:i}=e,s=[];if(e.path)return $e(e.path,t);if(t<=1)return t===1&&s.push({x:i.x,y:i.y}),s;if(o===0){for(let b=0;b<t;b++)s.push(ve(b*n,0,r,i));return s}let u=o/(t-1)*se,f=n/(2*Math.sin(Math.abs(u)/2));for(let b=0;b<t;b++){let c=b*u,m=f*Math.sin(c),d=-f+f*Math.cos(c);s.push(ve(m,d,r,i))}return s}function un(e){let t=new Map;if(e.overrides)for(let n of e.overrides)t.set(n.index,n);return t}function fn(e,t){let n=un(e);return ln(e).map((o,r)=>{let i=n.get(r),s=we(i),u=pe(e,r,i),f={...e.commercial,...i?.commercial};return{index:r,x:o.x+(i?.dx??0),y:o.y+(i?.dy??0),label:u,displayLabel:he(e,r,t,i),categoryKey:i?.categoryKey??e.categoryKey,skipped:!!i?.skip,accessible:s.length>0,accessibility:s,wheelchairSpaceType:i?.wheelchairSpaceType,commercial:Object.values(f).some(b=>b!==void 0&&b!==!1&&b!=="")?f:void 0,glyph:i?.glyph,viewUrl:i?.viewFromSeatUrl??e.viewFromSeatUrl,viewMeta:i?.viewFromSeatUrl?i.viewFromSeatMeta:e.viewFromSeatMeta,labelStyle:i?.labelStyle??e.seatLabelStyle}})}function Pe(e){let t=[];for(let n of fn(e))n.skipped||t.push({id:`${e.id}:${n.index}`,label:n.label,displayLabel:n.displayLabel===n.label?void 0:n.displayLabel,x:n.x,y:n.y,rowId:e.id,categoryKey:n.categoryKey,accessible:n.accessible||void 0,accessibility:n.accessibility.length?n.accessibility:void 0,wheelchairSpaceType:n.wheelchairSpaceType,commercial:n.commercial,glyph:n.glyph,viewUrl:n.viewUrl,viewMeta:n.viewMeta,labelStyle:n.labelStyle});return t}function dn(e){if(e.seatCountsBySide)return{...e.seatCountsBySide};let t=e.sides&&e.sides.length?e.sides:["top","bottom"],n=["top","bottom","left","right"].filter(i=>t.includes(i)),o={top:0,bottom:0,left:0,right:0};if(!n.length)return o;let r=Math.max(0,Math.round(e.seatCount));for(let i=0;i<r;i++)o[n[i%n.length]]+=1;return o}function pn(e){let t=[],n=Math.max(0,Math.round(e.seatCount));if(n===0)return t;let o=new Map((e.overrides??[]).map(c=>[c.index,c])),r=(c,m,d,l)=>{let h=o.get(c),A=we(h),p=h?.label??`${e.label}-${c+1}`,x=e.displayLabel??e.label;return{index:c,label:p,displayLabel:h?.displayLabel??`${x}-${c+1}`,x:m+(h?.dx??0),y:d+(h?.dy??0),categoryKey:h?.categoryKey??e.categoryKey,skipped:!!h?.skip,accessible:A.length>0,accessibility:A,wheelchairSpaceType:h?.wheelchairSpaceType,commercial:h?.commercial,glyph:h?.glyph,viewUrl:h?.viewFromSeatUrl,viewMeta:h?.viewFromSeatUrl?h.viewFromSeatMeta:void 0,labelStyle:h?.labelStyle,...l?{side:l}:{}}};if(e.shape==="round"){let c=(e.radius??40)+ee,m=e.rotation*se,d=Math.max(0,Math.min(360,e.seatArc??360));if(d>=360||n===1){for(let p=0;p<n;p++){let x=m+p/n*2*Math.PI;t.push(r(p,e.center.x+c*Math.cos(x),e.center.y+c*Math.sin(x)))}return t}let l=d*se,h=(2*Math.PI-l)/2,A=m+h;for(let p=0;p<n;p++){let x=A+p/(n-1)*l;t.push(r(p,e.center.x+c*Math.cos(x),e.center.y+c*Math.sin(x)))}return t}let i=e.width??80,s=e.height??50,u=dn(e),f=["top","bottom","left","right"],b=0;for(let c of f){let m=u[c];for(let d=0;d<m;d++){let l,h;c==="top"?(l=-i/2+(d+.5)*i/m,h=-s/2-ee):c==="bottom"?(l=-i/2+(d+.5)*i/m,h=s/2+ee):c==="left"?(l=-i/2-ee,h=-s/2+(d+.5)*s/m):(l=i/2+ee,h=-s/2+(d+.5)*s/m);let A=ve(l,h,e.rotation,e.center);t.push(r(b++,A.x,A.y,c))}}return t}function Qe(e){return pn(e).filter(t=>!t.skipped).map(t=>({id:`${e.id}:${t.index}`,label:t.label,...t.displayLabel!==t.label?{displayLabel:t.displayLabel}:{},x:t.x,y:t.y,rowId:e.id,categoryKey:t.categoryKey,...t.accessible?{accessible:!0}:{},...t.accessibility.length?{accessibility:t.accessibility}:{},...t.wheelchairSpaceType?{wheelchairSpaceType:t.wheelchairSpaceType}:{},...t.commercial?{commercial:t.commercial}:{},...t.glyph?{glyph:t.glyph}:{},...t.viewUrl?{viewUrl:t.viewUrl}:{},...t.viewUrl&&t.viewMeta?{viewMeta:t.viewMeta}:{},...t.labelStyle?{labelStyle:t.labelStyle}:{}}))}function Ze(e){return[{id:`${e.id}:0`,label:e.label,...e.displayLabel&&e.displayLabel!==e.label?{displayLabel:e.displayLabel}:{},x:e.center.x,y:e.center.y,rowId:e.id,categoryKey:e.categoryKey,kind:"booth"}]}function Ye(e,t){let n=!1;for(let o=0,r=t.length-1;o<t.length;r=o++){let i=t[o].x,s=t[o].y,u=t[r].x,f=t[r].y;s>e.y!=f>e.y&&e.x<(u-i)*(e.y-s)/(f-s)+i&&(n=!n)}return n}function hn(e,t){return t.some((n,o)=>{let r=t[(o+1)%t.length],i=(e.y-n.y)*(r.x-n.x)-(e.x-n.x)*(r.y-n.y);if(Math.abs(i)>1e-7)return!1;let s=(e.x-n.x)*(r.x-n.x)+(e.y-n.y)*(r.y-n.y),u=(r.x-n.x)**2+(r.y-n.y)**2;return s>=-1e-7&&s<=u+1e-7})}function qe(e,t,n){return Ye(e,t)&&!(n??[]).some(o=>Ye(e,o)||hn(e,o))}function Me(e){if(!e.length)return{x:0,y:0};let t=0,n=0;for(let o of e)t+=o.x,n+=o.y;return{x:t/e.length,y:n/e.length}}function bn(e){switch(e.type){case"row":{let t=Pe(e);if(!t.length)return{x:e.origin.x,y:e.origin.y};let n=0,o=0;for(let r of t)n+=r.x,o+=r.y;return{x:n/t.length,y:o/t.length}}case"table":case"booth":return{x:e.center.x,y:e.center.y};case"gaArea":return Me(e.points);case"section":return Me(e.outline);case"text":return{x:e.position.x,y:e.position.y};case"shape":return e.points&&e.points.length?Me(e.points):e.x!=null&&e.y!=null&&e.width!=null&&e.height!=null?{x:e.x+e.width/2,y:e.y+e.height/2}:{x:e.x??0,y:e.y??0};case"decorImage":return{x:e.x+e.width/2,y:e.y+e.height/2}}}function Je(e,t){return e.length===t.length&&e.every((n,o)=>n.x===t[o].x&&n.y===t[o].y)}function mn(e,t){if(e.type!=="gaArea"||!Je(e.points,t.outline))return!1;let n=e.holes??[],o=t.holes??[];return n.length===o.length&&n.every((r,i)=>Je(r,o[i]))}function et(e,t){let n=e.filter(s=>s.type==="section"),o="referenceInventorySource"in t?t.referenceInventorySource?.logicalSectionId:void 0,r=bn(t);return(o?n.find(s=>(s.logicalSectionId??s.id)===o&&(mn(t,s)||qe(r,s.outline,s.holes))):void 0)??n.find(s=>qe(r,s.outline,s.holes))}function tt(e){return e.floors&&e.floors.length?e.floors.flatMap(t=>t.objects):e.objects}var nt="__sl_ga__";var yn=nt,Ie=1e5;function xn(e,t){return`${yn}${encodeURIComponent(e)}__${t+1}`}function gn(e){let t=e.inventorySegments;if(t===void 0)return!0;if(!Array.isArray(t)||t.length<1||t.length>256)return!1;let n=0,o=new Map;for(let r of t){if(!r||typeof r.sourceAreaId!="string"||!r.sourceAreaId.trim()||r.sourceAreaId.length>160||!Number.isInteger(r.startIndex)||r.startIndex<0||!Number.isInteger(r.count)||r.count<1||r.startIndex+r.count>Ie||(n+=r.count,n>Ie))return!1;let i=o.get(r.sourceAreaId)??[],s=r.startIndex+r.count;if(i.some(u=>r.startIndex<u.end&&s>u.start))return!1;i.push({start:r.startIndex,end:s}),o.set(r.sourceAreaId,i)}return n===e.capacity}function Sn(e){let t=Math.min(Ie,Math.max(0,Math.floor(e.capacity)));return e.inventorySegments===void 0?t?[{sourceAreaId:e.id,startIndex:0,count:t}]:[]:gn(e)?e.inventorySegments.map(n=>({...n})):[]}function ot(e){return Sn(e).flatMap(t=>Array.from({length:t.count},(n,o)=>xn(t.sourceAreaId,t.startIndex+o)))}var ce="__ungrouped__";function wn(e){return e.type==="row"?Pe(e).map(t=>t.label):e.type==="table"?Qe(e).map(t=>t.label):e.type==="booth"?Ze(e).map(t=>t.label):e.type==="gaArea"?ot(e):[]}function Mn(e){return e.type==="row"||e.type==="table"||e.type==="booth"||e.type==="gaArea"}function rt(e){let t=tt(e),n=t.filter(s=>s.type==="section"),o=new Map;for(let s of n){let u=s.logicalSectionId??s.id;o.get(u)||o.set(u,{id:u,label:s.displayLabel||s.label||"Section",zone:s.zone,seatCount:0,objectIds:[],seatLabels:[]})}let r={id:ce,label:"Other seats",seatCount:0,objectIds:[],seatLabels:[]},i=new Map;for(let s of t){if(!Mn(s))continue;let u=wn(s);if(u.length===0)continue;let f=et(t,s),b=f?o.get(f.logicalSectionId??f.id):r;b.seatCount+=u.length,b.objectIds.push(s.id),b.seatLabels.push(...u),i.set(s.id,b.id)}return{sections:[...o.values()],ungrouped:r.objectIds.length?r:null,objectToSection:i}}function it(e,t){return t.has(e.id)||!!e.logicalSectionId&&t.has(e.logicalSectionId)||!!e.zone&&t.has(e.zone)}function st(e,t){let n=new Set;if(!t.size)return n;let{sections:o,ungrouped:r,objectToSection:i}=rt(e),s=new Set,u=new Map(o.map(b=>[b.id,b.zone]));for(let b of o){let c=u.get(b.id);(t.has(b.id)||c&&t.has(c))&&s.add(b.id)}let f=!!r&&t.has(ce);for(let[b,c]of i)(s.has(c)||f&&c===ce)&&n.add(b);return n}function vn(e,t){if(!t.size)return e;let n=st(e,t),o=t instanceof Set?t:new Set(t),r=s=>!(n.has(s.id)||s.type==="section"&&it(s,o));if(e.floors&&e.floors.length){let s=!1,u=e.floors.map(f=>{let b=f.objects.filter(r);return b.length!==f.objects.length&&(s=!0),b.length===f.objects.length?f:{...f,objects:b}});return s?{...e,floors:u,objects:u[0].objects}:e}let i=e.objects.filter(r);return i.length===e.objects.length?e:{...e,objects:i}}0&&(module.exports={DEFAULT_SECTION_CORNER_SMOOTHING,MAX_EDGE_SAGITTA_RATIO,TIER_HEIGHT_M,UNGROUPED_ID,applyHidden,arcLevelAt,bearingDeg,buildSectionRake,computeSections,cornerSmoothingThresholdDeg,distanceToPolyline,fitBowlProfile,fitCircle,hiddenObjectIds,indexLabel,isSectionHidden,logicalNumberingRow,relabelRows,resolveSection,reverseSectionOutlinePath,sampleSectionOutlinePath,seatConfidenceDisclosure,seatDisplayLabel,seatInventoryLabel,seatLabelPart,sectionCornerSmoothingPath,sectionGeometry,sectionOutlinePathFrom,sectionPathSegmentEnd,toBijectiveBase,toLetters,toRoman,transformSectionOutlinePath,translateSectionOutlinePath,validSectionOutlinePath});
|
|
1
|
+
"use strict";var ae=Object.defineProperty;var ht=Object.getOwnPropertyDescriptor;var bt=Object.getOwnPropertyNames;var mt=Object.prototype.hasOwnProperty;var yt=(e,t)=>{for(var n in t)ae(e,n,{get:t[n],enumerable:!0})},xt=(e,t,n,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of bt(t))!mt.call(e,r)&&r!==n&&ae(e,r,{get:()=>t[r],enumerable:!(o=ht(t,r))||o.enumerable});return e};var gt=e=>xt(ae({},"__esModule",{value:!0}),e);var Tn={};yt(Tn,{DEFAULT_SECTION_CORNER_SMOOTHING:()=>Ve,MAX_EDGE_SAGITTA_RATIO:()=>ze,TIER_HEIGHT_M:()=>Se,UNGROUPED_ID:()=>ce,applyHidden:()=>On,arcLevelAt:()=>_t,bearingDeg:()=>Te,buildSectionRake:()=>Ut,computeSections:()=>En,computeSectionsPerFloor:()=>ft,cornerSmoothingThresholdDeg:()=>He,distanceToPolyline:()=>ue,fitBowlProfile:()=>Tt,fitCircle:()=>te,hiddenObjectIds:()=>pt,indexLabel:()=>Le,isSectionHidden:()=>dt,logicalNumberingRow:()=>je,relabelRows:()=>Nt,resolveSection:()=>Pt,reverseSectionOutlinePath:()=>ln,sampleSectionOutlinePath:()=>tn,seatConfidenceDisclosure:()=>Xt,seatDisplayLabel:()=>he,seatInventoryLabel:()=>pe,seatLabelPart:()=>Z,sectionCornerSmoothingPath:()=>sn,sectionGeometry:()=>qe,sectionIdentitiesById:()=>Re,sectionLabelsById:()=>Cn,sectionOutlinePathFrom:()=>$e,sectionOwnersByObject:()=>lt,sectionPathSegmentEnd:()=>Zt,toBijectiveBase:()=>fe,toLetters:()=>re,toRoman:()=>de,transformSectionOutlinePath:()=>Ue,translateSectionOutlinePath:()=>nn,validSectionOutlinePath:()=>ye});module.exports=gt(Tn);function Ce(e){let t=e.length;return t<=3?[...e]:[e[Math.floor(t*.25)],e[Math.floor(t*.5)],e[Math.floor(t*.75)]]}function ue(e,t,n){if(!e.length)return 1/0;if(e.length===1)return Math.hypot(t-e[0].x,n-e[0].y);let o=1/0;for(let r=0;r+1<e.length;r++){let i=e[r],s=e[r+1],u=s.x-i.x,l=s.y-i.y,b=u*u+l*l,c=b>1e-12?((t-i.x)*u+(n-i.y)*l)/b:0;c<0?c=0:c>1&&(c=1);let p=t-(i.x+c*u),d=n-(i.y+c*l);if(Math.abs(p)>=o||Math.abs(d)>=o)continue;let f=Math.hypot(p,d);f<o&&(o=f)}return o}function St(e){let t=0,n=0;for(let i of e)t+=i.x,n+=i.y;let o=e.length||1;t/=o,n/=o;let r=0;for(let i of e){let s=Math.hypot(i.x-t,i.y-n);s>r&&(r=s)}return{cx:t,cy:n,r}}function Ee(e,t){return Math.hypot(e.cx-t.cx,e.cy-t.cy)-e.r-t.r}function le(e,t){let n=1/0;for(let o of Ce(e)){let r=ue(t,o.x,o.y);r<n&&(n=r)}for(let o of Ce(t)){let r=ue(e,o.x,o.y);r<n&&(n=r)}return n}function wt(e,t){if(e.length<3)return{pts:e,seatIndices:t};let n=0,o=0;for(let c of e)n+=c.x,o+=c.y;n/=e.length,o/=e.length;let r=-1,i=e[0];for(let c of e){let p=Math.hypot(c.x-n,c.y-o);p>r&&(r=p,i=c)}let s=i.x-n,u=i.y-o,l=Math.hypot(s,u);l>1e-9?(s/=l,u/=l):(s=1,u=0);let b=e.map((c,p)=>({p:c,i:p,t:(c.x-n)*s+(c.y-o)*u})).sort((c,p)=>c.t-p.t);return{pts:b.map(c=>c.p),seatIndices:b.map(c=>t[c.i])}}function te(e){let t=e.length;if(t<3)return null;let n=0,o=0;for(let E of e)n+=E.x,o+=E.y;n/=t,o/=t;let r=0,i=0,s=0,u=0,l=0,b=0,c=0;for(let E of e){let P=E.x-n,m=E.y-o;r+=P*P,s+=m*m,i+=P*m,u+=P*P*P,l+=m*m*m,b+=P*m*m,c+=m*P*P}let p=r*s-i*i;if(Math.abs(p)<1e-9)return null;let d=(u+b)/2,f=(l+c)/2,h=(d*s-f*i)/p,R=(f*r-d*i)/p,v=h+n,T=R+o;return!Number.isFinite(v)||!Number.isFinite(T)?null:{cx:v,cy:T}}var Mt=.15;function vt(e){if(e.length<2)return null;let t=e.map(E=>{let P=0,m=0;for(let C of E.pts)P+=C.x,m+=C.y;return{x:P/E.pts.length,y:m/E.pts.length}}),n=0,o=0;for(let E of t)n+=E.x,o+=E.y;n/=t.length,o/=t.length;let r=0,i=0,s=0;for(let E of t){let P=E.x-n,m=E.y-o;r+=P*P,i+=P*m,s+=m*m}let u=r+s,l=r*s-i*i,b=u/2+Math.sqrt(Math.max(0,u*u/4-l)),c,p;Math.abs(i)>1e-12?(c=b-s,p=i):r>=s?(c=1,p=0):(c=0,p=1);let d=Math.hypot(c,p);if(!(d>1e-12))return null;c/=d,p/=d;let f=1/0,h=-1/0,R=[];for(let E of e){let P=1/0,m=-1/0;for(let C of E.pts){let a=C.x*c+C.y*p;a<P&&(P=a),a>m&&(m=a),a<f&&(f=a),a>h&&(h=a)}R.push(m-P)}let v=h-f;return v>1e-9?(R.sort((E,P)=>E-P),R[Math.min(R.length-1,Math.floor(R.length*.9))]/v<=It?{x:c,y:p}:null):null}var It=.35;function Pt(e,t,n,o){let r=new Map;for(let a of n){let y=t[a],M=y.rowId||`__seat-${a}`,g=r.get(M);g||(g={pts:[],idx:[]},r.set(M,g)),g.pts.push({x:y.x,y:y.y}),g.idx.push(a)}if(!r.size)return{sectionId:e,rows:[],blockCount:0};let i=[];for(let[a,y]of r){let M=wt(y.pts,y.idx),g=0;for(let A of M.pts)g+=Math.hypot(A.x-o.x,A.y-o.y);i.push({id:a,pts:M.pts,seatIndices:M.seatIndices,blockId:-1,ordinal:0,blockDepth:0,focalDistance:g/M.pts.length})}let s=i.map(a=>St(a.pts)),u=i.length<=256?i.length*(i.length-1)/2:0,l=u?new Float64Array(u):null;l?.fill(Number.NaN);let b=l?new Map(i.map((a,y)=>[a,y])):null,c=(a,y)=>(a>y&&([a,y]=[y,a]),a*(2*i.length-a-1)/2+(y-a-1)),p=(a,y)=>{if(!l)return le(i[a].pts,i[y].pts);let M=c(a,y),g=l[M];if(!Number.isNaN(g))return g;let A=le(i[a].pts,i[y].pts);return l[M]=A,A},d=(a,y)=>b?p(b.get(a),b.get(y)):le(a.pts,y.pts),f=[];for(let a=0;a<i.length;a++){let y=1/0;for(let M=0;M<i.length;M++){if(a===M||Ee(s[a],s[M])>=y)continue;let g=p(a,M);g<y&&(y=g)}Number.isFinite(y)&&f.push(y)}f.sort((a,y)=>a-y);let h=f.length?f[Math.floor(f.length/2)]:1,R=Math.max(h*1.8,1e-6),v=i.map(()=>[]);for(let a=0;a<i.length;a++)for(let y=a+1;y<i.length;y++)Ee(s[a],s[y])>R||p(a,y)<=R&&(v[a].push(y),v[y].push(a));let T=0;for(let a=0;a<i.length;a++){if(i[a].blockId!==-1)continue;let y=T++,M=[a];for(i[a].blockId=y;M.length;){let g=M.pop();for(let A of v[g])i[A].blockId===-1&&(i[A].blockId=y,M.push(A))}}let E=new Map;for(let a of i){let y=E.get(a.blockId)??[];y.push(a),E.set(a.blockId,y)}let P=[];for(let a of i){if(a.pts.length<4)continue;let y=te(a.pts);y&&(!Number.isFinite(y.cx)||!Number.isFinite(y.cy)||P.push({x:y.cx,y:y.cy}))}let m=P.length>=2?(()=>{let a=P.map(g=>g.x).sort((g,A)=>g-A),y=P.map(g=>g.y).sort((g,A)=>g-A),M=Math.floor(P.length/2);return{cx:a[M],cy:y[M]}})():null;if(m){let a=N=>Math.hypot(N.x-m.cx,N.y-m.cy),y=1/0,M=-1/0,g=[];for(let N of i){let x=1/0,w=-1/0;for(let _ of N.pts){let D=a(_);D<x&&(x=D),D>w&&(w=D)}g.push(w-x),x<y&&(y=x),w>M&&(M=w)}let A=M-y;g.sort((N,x)=>N-x);let V=g[Math.min(g.length-1,Math.floor(g.length*.9))];if(A>1e-9&&V/A<=Mt){let N=i.map(I=>{let j=0;for(let $ of I.pts)j+=a($);return{row:I,radius:j/I.pts.length}}),x=0,w=0;for(let I of N)x+=I.radius,w+=I.row.focalDistance;x/=N.length,w/=N.length;let _=0;for(let I of N)_+=(I.radius-x)*(I.row.focalDistance-w);if(_<0)for(let I of N)I.radius=-I.radius;let B=1/0;for(let I of N)I.radius<B&&(B=I.radius);N.sort((I,j)=>I.radius-j.radius);let z=-1,O=-1/0,H=A/Math.max(1,N.length)*.5,G=[];for(let I of N)I.radius-O>H&&(z++,O=I.radius),I.row.ordinal=z,I.row.blockDepth=I.radius-B,G.push(I.row);return{sectionId:e,rows:G,blockCount:T}}}let C=[];for(let[,a]of E){let y=vt(a);if(y){let M=A=>{let V=0;for(let N of A.pts)V+=N.x*y.x+N.y*y.y;return V/A.pts.length};a.sort((A,V)=>M(A)-M(V)),a.length>=2&&a[0].focalDistance>a[a.length-1].focalDistance&&a.reverse();let g=0;for(let A=0;A<a.length;A++)A>0&&(g+=d(a[A-1],a[A])),a[A].ordinal=A,a[A].blockDepth=g,C.push(a[A])}else{let M=1/0;for(let g of a)g.focalDistance<M&&(M=g.focalDistance);a.sort((g,A)=>g.focalDistance-A.focalDistance);for(let g=0;g<a.length;g++)a[g].ordinal=g,a[g].blockDepth=Math.max(0,a[g].focalDistance-M),C.push(a[g])}}return{sectionId:e,rows:C,blockCount:T}}var At=Math.PI/180,L=96,Rt=6,Ct=60,Et=150,Oe=.2,Ot=.35;function Te(e,t){let n=Math.atan2(t.x-e.x,t.y-e.y)/At;return n<0?n+360:n}function ne(e){if(!e.length)return NaN;let t=[...e].sort((n,o)=>n-o);return t[Math.floor(t.length/2)]}function oe(e,t,n=2){let o=e.length,r=new Float64Array(o);for(let i=0;i<o;i++){let s=0,u=0;for(let l=-n;l<=n;l++){let b=i+l;if(t)b=(b%o+o)%o;else if(b<0||b>=o)continue;s+=e[b],u++}r[i]=s/u}return r}function Tt(e,t){let n=e.filter(d=>d.rows.length>=1);if(n.length<1)return null;let o=[],r=0,i=0,s=0;for(let d of n)for(let f of d.rows){for(let h of f.pts)r+=h.x,i+=h.y,s++;if(f.pts.length>=4){let h=te(f.pts);h&&Number.isFinite(h.cx)&&Number.isFinite(h.cy)&&o.push({x:h.cx,y:h.cy})}}if(!s)return null;let u={x:r/s,y:i/s},l=u;if(o.length>=8){let d=ne(o.map(T=>T.x)),f=ne(o.map(T=>T.y)),h=0;for(let T of n)for(let E of T.rows)for(let P of E.pts){let m=Math.hypot(P.x-u.x,P.y-u.y);m>h&&(h=m)}let R=0,v=h*.2;for(let T of n)for(let E of T.rows)for(let P of E.pts)Math.hypot(P.x-d,P.y-f)<v&&R++;Math.hypot(d-u.x,f-u.y)<=h&&R/s<.01&&(l={x:d,y:f})}let b=[];for(let d of n){let f={sectionId:d.sectionId,rMin:1/0,rMax:-1/0,samples:[]};for(let h of d.rows)for(let R of h.pts){let v=Math.hypot(R.x-l.x,R.y-l.y),T=Math.min(L-1,Math.floor(Te(l,R)/(360/L)));f.samples.push({r:v,bin:T,levelM:h.levelM}),v<f.rMin&&(f.rMin=v),v>f.rMax&&(f.rMax=v)}f.samples.length&&b.push(f)}if(!b.length)return null;b.sort((d,f)=>d.rMin+d.rMax-(f.rMin+f.rMax));let c=[];for(let d of b){let f=!1;for(let h of c){let R=Math.min(d.rMax,h.rMax)-Math.max(d.rMin,h.rMin),v=Math.min(d.rMax-d.rMin,h.rMax-h.rMin);if(v>1e-9&&R>=Ot*v){h.members.push(d),h.rMin=Math.min(h.rMin,d.rMin),h.rMax=Math.max(h.rMax,d.rMax),f=!0;break}}f||c.push({members:[d],rMin:d.rMin,rMax:d.rMax})}let p=[];for(let d of c){let f=new Array(L).fill(null);for(let x of d.members)for(let w of x.samples){let _=f[w.bin];_||(_={samples:[]},f[w.bin]=_),_.samples.push({r:w.r,levelM:w.levelM})}let h=f.map(x=>!!x);if(!h.filter(Boolean).length)continue;let v=[],T=[];for(let x of f){if(!x)continue;let w=1/0,_=-1/0;for(let D of x.samples)D.r<w&&(w=D.r),D.r>_&&(_=D.r);v.push(w),T.push(_)}let E=ne(v),P=ne(T);if(!(E>=Oe*P)||!(P>0))continue;let m=[...v].sort((x,w)=>x-w);if(!(m[Math.floor(m.length*.1)]>=Oe*P))continue;let a=f.map(x=>{if(!x)return null;let w=[...x.samples].sort((I,j)=>I.r-j.r),_=w[0].r,D=w[w.length-1].r,B=w[0].levelM,z=-1/0;for(let I of w)I.levelM>z&&(z=I.levelM);let O=[];for(let I of w){let j={r:I.r,l:I.levelM};for(;O.length&&Math.abs(O[O.length-1].r-j.r)<1e-9;){if(O[O.length-1].l<=j.l){j.skip=!0;break}O.pop()}if(!j.skip){for(;O.length>=2;){let $=O[O.length-2],W=O[O.length-1];if((W.r-$.r)*(j.l-$.l)-(W.l-$.l)*(j.r-$.r)<=0)O.pop();else break}O.push(j)}}let H=O.map(I=>I.r),G=O.map(I=>I.l);return{inner:_,outer:D,front:B,top:z,profile:{rs:H,ls:G}}}),y=h.slice();for(let x=0;x<L;x++){if(y[x])continue;let w=-1,_=-1,D=0;for(let S=1;S<=L;S++){let k=(x-S+L*2)%L;if(y[k]){w=k;break}}for(let S=1;S<=L;S++){let k=(x+S)%L;if(y[k]){_=k,D=S;break}}if(w<0||_<0)continue;let B=0;for(let S=1;S<=L;S++){let k=(x-S+L*2)%L;if(h[k]){B=S;break}}if(B-1+D>Rt)continue;let O=a[w],H=a[_],G=B/(B+D),I=O.inner+(H.inner-O.inner)*G,j=O.outer+(H.outer-O.outer)*G,$=O.front+(H.front-O.front)*G,W=O.top+(H.top-O.top)*G;a[x]={inner:I,outer:j,front:$,top:W,profile:{rs:[I,j],ls:[$,W]}}}for(let x=0;x<L;x++)a[x]&&(y[x]=!0);let M=360/L,g=[],A=y.filter(Boolean).length,V=[];if(A===L)V.push({start:0,len:L});else{let x=0;for(;y[x];)x=(x+1)%L;let w=-1;for(let _=0;_<=L;_++){let D=(x+_)%L,B=_<L&&y[D];if(B&&w<0)w=D;else if(!B&&w>=0){let z=(D-w+L)%L||L;V.push({start:w,len:z}),w=-1}}}for(let x of V){if(x.len*M<Ct&&x.len<L)continue;let w=x.len===L,_=new Float64Array(x.len),D=new Float64Array(x.len),B=new Float64Array(x.len),z=new Float64Array(x.len),O=[];for(let S=0;S<x.len;S++){let k=a[(x.start+S)%L];_[S]=k.inner,D[S]=k.outer,B[S]=k.front,z[S]=k.top,O.push(k.profile??{rs:[k.inner,k.outer],ls:[k.front,k.top]})}let H=oe(_,w),G=oe(D,w),I=oe(B,w),j=oe(z,w);for(let S=0;S<x.len;S++)H[S]>_[S]&&(H[S]=_[S]),G[S]<D[S]&&(G[S]=D[S]),H[S]>G[S]-1e-6&&(H[S]=Math.max(0,G[S]-1e-6)),j[S]<I[S]&&(j[S]=I[S]);let $={startBin:x.start,binCount:x.len,closed:w,innerR:H,outerR:G,frontLevelM:I,topLevelM:j,profiles:O},W=(S,k,U)=>{let Q=O[S],X=Q.rs,K=Q.ls;if(k<=X[0]){K[0]>U&&(K[0]=U);return}if(k>=X[X.length-1]){K[K.length-1]>U&&(K[K.length-1]=U);return}for(let Y=0;Y+1<X.length;Y++)if(k<=X[Y+1]){K[Y]>U&&(K[Y]=U),K[Y+1]>U&&(K[Y+1]=U);return}};for(let S=0;S<x.len;S++){let k=f[(x.start+S)%L];if(k)for(let U of k.samples){W(S,U.r,U.levelM);let Q=w?(S-1+x.len)%x.len:S-1,X=w?(S+1)%x.len:S+1;Q>=0&&W(Q,U.r,U.levelM),X<x.len&&W(X,U.r,U.levelM)}}g.push($)}g.reduce((x,w)=>x+w.binCount*M,0)<Et||p.push({arcs:g,sectionIds:d.members.map(x=>x.sectionId),innerRMedian:E,outerRMedian:P})}if(!p.length)return null;if(p.sort((d,f)=>d.innerRMedian-f.innerRMedian),t){let d=p[p.length-1].outerRMedian;if(Math.hypot(t.x-l.x,t.y-l.y)>.9*d)return null}return{centre:l,binCount:L,binStepDeg:360/L,rings:p}}function _t(e,t,n,o){let r=e.binStepDeg,i=n/r-.5-t.startBin;i=(i%e.binCount+e.binCount)%e.binCount,i>t.binCount-1&&(t.closed?i=i-t.binCount<t.binCount-i?0:t.binCount-1:i=i-(t.binCount-1)<e.binCount-i?t.binCount-1:0);let s=Math.floor(i),u=t.closed?(s+1)%t.binCount:Math.min(t.binCount-1,s+1),l=i-s,b=c=>{let p=t.profiles[c],d=p.rs,f=p.ls;if(o<=d[0])return f[0];if(o>=d[d.length-1])return f[f.length-1];for(let h=0;h+1<d.length;h++)if(o<=d[h+1]){let R=d[h+1]-d[h],v=R>1e-9?(o-d[h])/R:0;return f[h]+(f[h+1]-f[h])*v}return f[f.length-1]};return b(s)*(1-l)+b(u)*l}var _e="ABCDEFGHIJKLMNOPQRSTUVWXYZ",Lt="ABCDEFGHJKLMNPQRSTUVWXYZ",Dt="abcdefghijklmnopqrstuvwxyz";function fe(e,t){let n=t.length,o=e+1,r="";for(;o>0;){o-=1;let i=o%n;r=t[i]+r,o=Math.floor(o/n)}return r}function Le(e,t){let n=t.startAt-1,o=e+n;if(t.scheme==="numbers")return String(o+1);let r=t.skipAmbiguous?Lt:_e;return fe(o,r)}function re(e,t=!1){let n=t?Dt:_e;return fe(Math.max(0,Math.floor(e)-1),n)}var kt=[[1e3,"M"],[900,"CM"],[500,"D"],[400,"CD"],[100,"C"],[90,"XC"],[50,"L"],[40,"XL"],[10,"X"],[9,"IX"],[5,"V"],[4,"IV"],[1,"I"]];function de(e){if(!Number.isFinite(e)||e<=0)return String(e);let t=Math.floor(e),n="";for(let[o,r]of kt)for(;t>=o;)n+=r,t-=o;return n}function Nt(e,t){let n=e.length;return e.map((o,r)=>{let i=t.reverse?n-1-r:r;return{...o,label:Le(i,t)}})}function jt(e){return{kind:"radial",rowCount:0,rows:[],nearestRow:()=>-1,depthAt:(t,n)=>Math.hypot(t-e.x,n-e.y),gradientAt:(t,n)=>{let o=t-e.x,r=n-e.y,i=Math.hypot(o,r);return i<1e-9?[0,0]:[o/i,r/i]}}}function Ft(e,t){if(!e.length)return null;let n=0,o=0,r=0;for(let f of e)n+=f.x,o+=f.y,r+=Math.hypot(f.x-t.x,f.y-t.y);let i=e.length;n/=i,o/=i,r/=i;let s=e[0],u=-1;for(let f of e){let h=Math.hypot(f.x-n,f.y-o);h>u&&(u=h,s=f)}let l=s.x-n,b=s.y-o,c=Math.hypot(l,b);c>1e-9?(l/=c,b/=c):(l=1,b=0);let p=[...e].sort((f,h)=>(f.x-n)*l+(f.y-o)*b-((h.x-n)*l+(h.y-o)*b)),d=0;for(let f of p){let h=Math.hypot(f.x-n,f.y-o);h>d&&(d=h)}return{pts:p,cx:n,cy:o,radius:d,depth:r}}function De(e,t,n){let o=e.pts;if(o.length===1)return Math.hypot(t-o[0].x,n-o[0].y);let r=1/0;for(let i=0;i+1<o.length;i++){let s=o[i],u=o[i+1],l=u.x-s.x,b=u.y-s.y,c=l*l+b*b,p=c>1e-12?((t-s.x)*l+(n-s.y)*b)/c:0;p<0?p=0:p>1&&(p=1);let d=Math.hypot(t-(s.x+p*l),n-(s.y+p*b));d<r&&(r=d)}return r}var ie=8;function Bt(e,t,n){let o=new Array(ie).fill(1/0),r=new Array(ie).fill(-1);for(let c=0;c<e.length;c++){let p=e[c],d=Math.hypot(t-p.cx,n-p.cy)-p.radius;for(let f=0;f<ie;f++)if(d<o[f]){for(let h=ie-1;h>f;h--)o[h]=o[h-1],r[h]=r[h-1];o[f]=d,r[f]=c;break}}let i=new Array(3).fill(1/0),s=new Array(3).fill(-1);for(let c of r){if(c<0)continue;let p=De(e[c],t,n);for(let d=0;d<3;d++)if(p<i[d]){for(let f=2;f>d;f--)i[f]=i[f-1],s[f]=s[f-1];i[d]=p,s[d]=c;break}}if(s[0]<0)return 0;if(i[0]<1e-6)return e[s[0]].depth;let u=i[0]*2.2,l=0,b=0;for(let c=0;c<3;c++){let p=s[c];if(p<0||i[c]>u)continue;let d=1/(i[c]*i[c]);l+=d*e[p].depth,b+=d}return b>0?l/b:e[s[0]].depth}function Gt(e){let t=(o,r)=>Bt(e,o,r),n=(o,r)=>{let i=1/0,s=-1;for(let u=0;u<e.length;u++){let l=e[u];if(Math.hypot(o-l.cx,r-l.cy)-l.radius>=i)continue;let b=De(l,o,r);b<i&&(i=b,s=u)}return s};return{kind:"rows",rowCount:e.length,rows:e,nearestRow:n,depthAt:t,gradientAt:(o,r)=>{let i=(t(o+.5,r)-t(o-.5,r))/1,s=(t(o,r+.5)-t(o,r-.5))/(2*.5),u=Math.hypot(i,s);return u<1e-9?[0,0]:[i/u,s/u]}}}function Ut(e,t){let n=[];for(let o of e){let r=Ft(o.points,t);r&&n.push(r)}return n.length<2?jt(t):(n.sort((o,r)=>o.depth-r.depth),Gt(n))}var Vt=/^\d{4}-\d{2}-\d{2}$/;function Ht(e){let t=Date.parse(e);return Number.isFinite(t)?Vt.test(e)?t+864e5:t:null}function ke(e,t=Date.now()){if(e.validUntil===void 0){if(e.status!=="approved")return!0;let o=e.assessedAt?Date.parse(e.assessedAt):Number.NaN;return Number.isFinite(o)&&(t instanceof Date?t.getTime():t)<=o+366*864e5}let n=Ht(e.validUntil);return n===null?!1:(t instanceof Date?t.getTime():t)<n}function Ne(e){return e.status!=="draft"&&e.status!=="retracted"}function zt(e){return e==="exact-seat"?"Exact seat in the model":e==="row-representative"?"Representative row evidence":e==="section-representative"?"Representative section evidence":e==="floor-representative"?"Representative floor evidence":"Representative venue evidence"}function $t(e){if(!e)return"No assessment date supplied";let t=new Date(e);return Number.isFinite(t.getTime())?`Assessed ${t.toISOString().slice(0,10)}`:"No assessment date supplied"}function Kt(){return{headline:"Generated view \xB7 unverified",model:"No geometry or event-configuration verification supplied",reality:"No real-world check supplied",coverage:"Selected chart seat",provenance:"Chart-derived model",freshness:"No current organizer-approved evidence matches this Event, venue revision, or renewal window",limitations:["Generated view is not surveyed sightline truth."]}}function Wt(e){let t=$t(e.assessedAt);if(!e.validUntil)return t;let n=Date.parse(e.validUntil);return Number.isFinite(n)?`${t} \xB7 valid until ${e.validUntil.slice(0,10)}`:t}function Xt(e,t={}){if(!e||!Ne(e)||!ke(e,t.now))return Kt();let n=e.evidenceKind==="synthetic-model",o=e.modelLevel==="configuration-verified"?"Event configuration verified":e.modelLevel==="geometry-verified"?"Venue geometry verified":n?"Versioned synthetic model":"Generated model \xB7 not verified",r=e.realityLevel==="actual-build-checked"?"Actual event build reality checked":e.realityLevel==="comparable-build-reference"?"Comparable-build reference only":"No real-world check supplied",i=n?"Synthetic model evidence":e.modelLevel==="configuration-verified"?"Configuration verified":e.modelLevel==="geometry-verified"?"Geometry verified":"Generated view \xB7 unverified",s=[...e.limitations??[],...n?["Synthetic demo; not surveyed or venue-certified."]:[]],u=e.modeledTarget?`${e.modeledTarget.label} \xB7 ${e.modeledTarget.clearRayCount}/${e.modeledTarget.totalRayCount} target rays clear \xB7 ${e.modeledTarget.classification} in bounded model \xB7 ${e.modeledTarget.methodLabel}`+(e.modeledTarget.occluderLabels?.length?` \xB7 modeled occluders: ${e.modeledTarget.occluderLabels.join(", ")}`:""):void 0;return u&&s.push("Modeled target is not a percentage of the show visible."),{headline:i,model:o,reality:r,coverage:zt(e.coverage),provenance:e.sourceLabel??e.approvedByRole??"Source not supplied",freshness:Wt(e),limitations:s,...u?{modeledTarget:u}:{}}}function Yt(e){let t=new Array(e);return Array.from({length:e},(n,o)=>o).sort((n,o)=>Math.abs(2*n-(e-1))-Math.abs(2*o-(e-1))||n-o).forEach((n,o)=>t[n]=o),t}function Z(e,t){let n=e.seatLabelStart??1,o=e.seatNumbering?.direction??"ltr",r=e.seatNumbering?.step??1,i=e.seatNumbering?.scheme??"decimal",s=e.seatNumbering?.prefix??"",u=e.seatNumbering?.endAt,l=e.seatCount;if(i==="updown"||i==="updown-descending"){let f=Math.ceil(l/2),h=i==="updown"?t<f?n+2*t:n-1+2*(l-t):t<f?n+2*(f-1-t):n+1+2*(t-f);return`${s}${h}`}let b=i==="odd"||i==="even"?2:r,c=u!=null&&Number.isFinite(u)?u-(l-1)*b:n,p=o==="center"?Yt(l)[t]:o==="rtl"?l-1-t:t,d;switch(i){case"odd":{let f=c%2===1?c:c+1;d=String(f+p*2);break}case"even":{let f=c%2===0?c:c+1;d=String(f+p*2);break}case"roman":d=de(c+p*r);break;case"letters-upper":d=re(c+p*r,!1);break;case"letters-lower":d=re(c+p*r,!0);break;default:d=String(c+p*r);break}return`${s}${d}`}function je(e){return{...e.canonical,seatCount:e.totalSeats,label:e.displayLabel,displayLabel:e.displayLabel}}function pe(e,t,n){return n?.label??`${e.seatLabelBase??e.label}-${Z(e,t)}`}function he(e,t,n,o){if(o?.displayLabel)return o.displayLabel;if(e.seatDisplayLabelMode==="number")return Z(e,t);if(!n)return`${e.displayLabel||e.label}-${Z(e,t)}`;let r=je(n),i=n.displayOffset+t;return`${n.displayLabel}-${Z(r,i)}`}function qt(e,t,n){return Math.max(t,Math.min(n,e))}function Jt(e){return qt(e,0,1)}function Fe(e){let t=Jt(e);return t*t*(3-2*t)}var zn=Math.PI/180;function F(e,t){return Math.hypot(e.x-t.x,e.y-t.y)}function be(e,t,n){return{x:e.x+(t.x-e.x)*n,y:e.y+(t.y-e.y)*n}}var q=Math.PI*2;function J(e){return Number.isFinite(e.x)&&Number.isFinite(e.y)}function Qt(e,t,n){let o=t-e;if(n){for(;o<0;)o+=q;for(;o>=q;)o-=q}else{for(;o>0;)o-=q;for(;o<=-q;)o+=q}return o}function Zt(e){return e.end}function ye(e){if(e.version!==1||e.closed!==!0||!J(e.start)||!Array.isArray(e.segments)||e.segments.length<2||e.segments.length>512)return!1;let t=e.start;for(let n of e.segments){if(!n||!J(n.end))return!1;if(n.kind==="line"){if(F(t,n.end)<=1e-9)return!1}else if(n.kind==="bezier"){if(!J(n.control1)||!J(n.control2)||F(t,n.end)<=1e-9)return!1}else if(n.kind==="arc"){if(!J(n.center)||!Number.isFinite(n.radius)||n.radius<=1e-6||Math.abs(F(t,n.center)-n.radius)>Math.max(1e-4,n.radius*1e-4)||Math.abs(F(n.end,n.center)-n.radius)>Math.max(1e-4,n.radius*1e-4)||F(t,n.end)<=1e-9)return!1}else return!1;t=n.end}return F(t,e.start)<=1e-4}function en(e,t,n){let o=1-n;return{x:o**3*e.x+3*o**2*n*t.control1.x+3*o*n**2*t.control2.x+n**3*t.end.x,y:o**3*e.y+3*o**2*n*t.control1.y+3*o*n**2*t.control2.y+n**3*t.end.y}}function tn(e,t=2){if(!ye(e))throw new Error("Section outline path is invalid");let n=Math.max(.25,t),o=[{...e.start}],r=e.start;for(let i of e.segments){if(i.kind==="line")o.push({...i.end});else if(i.kind==="arc"){let s=Math.atan2(r.y-i.center.y,r.x-i.center.x),u=Math.atan2(i.end.y-i.center.y,i.end.x-i.center.x),l=Qt(s,u,i.clockwise),b=Math.max(2,Math.ceil(Math.abs(l)*i.radius/n));for(let c=1;c<=b;c+=1){let p=s+l*c/b;o.push({x:i.center.x+Math.cos(p)*i.radius,y:i.center.y+Math.sin(p)*i.radius})}}else{let s=F(r,i.control1)+F(i.control1,i.control2)+F(i.control2,i.end),u=Math.max(2,Math.ceil(s/n));for(let l=1;l<=u;l+=1)o.push(en(r,i,l/u))}r=i.end}return F(o[o.length-1],o[0])<=1e-4&&o.pop(),o}function nn(e,t,n){return Ue(e,r=>({x:r.x+t,y:r.y+n}))}function Ue(e,t,n=1,o=!1){return{...e,start:t(e.start),segments:e.segments.map(r=>r.kind==="line"?{...r,end:t(r.end)}:r.kind==="arc"?{...r,center:t(r.center),radius:r.radius*Math.abs(n),clockwise:o?!r.clockwise:r.clockwise,end:t(r.end)}:{...r,control1:t(r.control1),control2:t(r.control2),end:t(r.end)})}}var Ve=45,me=150,on=60;function He(e){let t=Ve/100;if(e<=t)return me;let n=Math.min(1,(e-t)/(1-t));return me-n*(me-on)}var Be=.5523;function Ge(e,t){return Math.abs(e.x-t.x)<=1e-6&&Math.abs(e.y-t.y)<=1e-6}function rn(e){let t=[],n=[];for(e.forEach((o,r)=>{J(o)&&(t.length&&Ge(t[t.length-1],o)||(t.push({x:o.x,y:o.y}),n.push(r)))});t.length>1&&Ge(t[0],t[t.length-1]);)t.pop(),n.pop();return{points:t,sourceIndex:n}}function sn(e,t,n){return $e(e,{cornerSmoothing:t,...n})}var ze=.5,cn=4/3;function an(e,t,n){let o=t.x-e.x,r=t.y-e.y,i=Math.hypot(o,r);if(i<=1e-9)return{kind:"line",end:{...t}};let s=-r/i,u=o/i,l=n*cn;return{kind:"bezier",control1:{x:e.x+o/3+s*l,y:e.y+r/3+u*l},control2:{x:e.x+o*2/3+s*l,y:e.y+r*2/3+u*l},end:{...t}}}function $e(e,t){let{points:n,sourceIndex:o}=rn(e),r=n.length;if(r<3)return null;let i=Math.min(100,Math.max(0,t.cornerSmoothing??0))/100,s=t.edgeCurvature,u=new Array(r).fill(0);if(s?.length)for(let m=0;m<r;m+=1){let C=s[o[m]];u[m]=Number.isFinite(C)?Math.min(100,Math.max(-100,C))/100:0}let l=u.some(m=>Math.abs(m)>1e-6);if(i<=0&&!l)return null;let b=t.wideAngleThresholdDeg??He(i),c=[];for(let m=0;m<r;m+=1)c[m]=F(n[m],n[(m+1)%r]);let p=new Array(r).fill(0);for(let m=0;m<r;m+=1){let C=n[(m-1+r)%r],a=n[m],y=n[(m+1)%r],M={x:C.x-a.x,y:C.y-a.y},g={x:y.x-a.x,y:y.y-a.y},A=Math.hypot(M.x,M.y),V=Math.hypot(g.x,g.y);if(A<=1e-9||V<=1e-9)continue;let N=Math.min(1,Math.max(-1,(M.x*g.x+M.y*g.y)/(A*V))),x=Math.acos(N)*180/Math.PI;if(x<b)continue;let w=Fe((x-b)/(180-b));p[m]=i*w*.5*Math.min(A,V)}for(let m=0;m<r;m+=1){let C=(m+1)%r,a=p[m]+p[C];if(a>c[m]&&a>1e-9){let y=c[m]/a;p[m]*=y,p[C]*=y}}let d=new Array(r),f=new Array(r);for(let m=0;m<r;m+=1){let C=n[(m-1+r)%r],a=n[m],y=n[(m+1)%r];if(p[m]<=1e-6){d[m]={...a},f[m]={...a};continue}let M=F(a,C)||1,g=F(a,y)||1;d[m]={x:a.x+(C.x-a.x)/M*p[m],y:a.y+(C.y-a.y)/M*p[m]},f[m]={x:a.x+(y.x-a.x)/g*p[m],y:a.y+(y.y-a.y)/g*p[m]}}if(p.every(m=>m<=1e-6)&&!l)return null;let h=[],R={...f[0]},v=R,T=(m,C)=>{if(F(v,m)<=1e-9)return;let a=u[C];Math.abs(a)>1e-6?h.push(an(v,m,a*ze*c[C])):h.push({kind:"line",end:{...m}}),v=m};for(let m=1;m<=r;m+=1){let C=m%r,a=n[C];T(d[C],(m-1)%r),p[C]>1e-6&&F(d[C],f[C])>1e-9&&(h.push({kind:"bezier",control1:be(d[C],a,Be),control2:be(f[C],a,Be),end:{...f[C]}}),v=f[C])}if(!h.length)return null;let E=h[h.length-1];F(E.end,R)>1e-9&&(E.kind==="line"?E.end={...R}:h.push({kind:"line",end:{...R}}));let P={version:1,closed:!0,start:R,segments:h};return ye(P)?P:null}function ln(e){let t=[],n=e.start;for(let r of e.segments)t.push(n),n=r.end;let o=[];for(let r=e.segments.length-1;r>=0;r-=1){let i=e.segments[r],s=t[r];i.kind==="line"?o.push({kind:"line",end:{...s}}):i.kind==="arc"?o.push({kind:"arc",center:{...i.center},radius:i.radius,clockwise:!i.clockwise,end:{...s}}):o.push({kind:"bezier",control1:{...i.control2},control2:{...i.control1},end:{...s}})}return{version:1,closed:!0,start:{...e.start},segments:o}}function Ke(e,t){let n=1-t,o=n*n*n,r=3*n*n*t,i=3*n*t*t,s=t*t*t;return{x:o*e.start.x+r*e.control1.x+i*e.control2.x+s*e.end.x,y:o*e.start.y+r*e.control1.y+i*e.control2.y+s*e.end.y}}function We(e,t,n=192){if(!Number.isInteger(t)||t<1)throw new Error("Path point count must be a positive integer");if(t===1)return[Ke(e,.5)];let o=Array.from({length:n+1},(l,b)=>Ke(e,b/n)),r=new Float64Array(o.length);for(let l=1;l<o.length;l+=1){let b=o[l].x-o[l-1].x,c=o[l].y-o[l-1].y;r[l]=r[l-1]+Math.hypot(b,c)}let i=r[r.length-1];if(i<=1e-9)return Array.from({length:t},()=>({...e.start}));let s=[],u=1;for(let l=0;l<t;l+=1){let b=i*l/(t-1);for(;u<r.length-1&&r[u]<b;)u+=1;let c=r[u-1],p=r[u],d=p===c?0:(b-c)/(p-c);s.push({x:o[u-1].x+(o[u].x-o[u-1].x)*d,y:o[u-1].y+(o[u].y-o[u-1].y)*d})}return s}var Ye=.02291666666666667,qn=1/Ye,un=58,Se=un*Ye;var fn=3,Xe=0,xe=120,dn=0,pn=45,hn=7;function ge(e,t,n,o){return Number.isFinite(e)?Math.max(t,Math.min(n,e)):o}function bn(e){return!Number.isFinite(e)||!Number.isInteger(e)||e<0?0:e<=hn?e:fn}function qe(e,t={}){let n=ge(t.floorBaseHeightM,Xe,xe,0),o=Math.min(xe,n+bn(e.elevation)*Se),r=e.height===void 0?o:ge(e.height,Xe,xe,o),i=ge(e.rake,dn,pn,0);return{height:r,rake:i}}function we(e){return e?e.accessibility?.length?e.wheelchairSpaceType&&!e.accessibility.includes("wheelchair")?["wheelchair",...e.accessibility]:e.accessibility:e.wheelchairSpaceType?["wheelchair"]:e.accessible?["wheelchair"]:[]:[]}var se=Math.PI/180;var ee=16;function ve(e,t,n,o){let r=n*se,i=Math.cos(r),s=Math.sin(r);return{x:o.x+e*i-t*s,y:o.y+e*s+t*i}}function et(e){let{seatCount:t,seatSpacing:n,curve:o,rotation:r,origin:i}=e,s=[];if(e.path)return We(e.path,t);if(t<=1)return t===1&&s.push({x:i.x,y:i.y}),s;if(o===0){for(let b=0;b<t;b++)s.push(ve(b*n,0,r,i));return s}let u=o/(t-1)*se,l=n/(2*Math.sin(Math.abs(u)/2));for(let b=0;b<t;b++){let c=b*u,p=l*Math.sin(c),d=-l+l*Math.cos(c);s.push(ve(p,d,r,i))}return s}function tt(e){let t=new Map;if(e.overrides)for(let n of e.overrides)t.set(n.index,n);return t}function mn(e,t){let n=tt(e);return et(e).map((o,r)=>{let i=n.get(r),s=we(i),u=pe(e,r,i),l={...e.commercial,...i?.commercial};return{index:r,x:o.x+(i?.dx??0),y:o.y+(i?.dy??0),label:u,displayLabel:he(e,r,t,i),categoryKey:i?.categoryKey??e.categoryKey,skipped:!!i?.skip,accessible:s.length>0,accessibility:s,wheelchairSpaceType:i?.wheelchairSpaceType,commercial:Object.values(l).some(b=>b!==void 0&&b!==!1&&b!=="")?l:void 0,glyph:i?.glyph,viewUrl:i?.viewFromSeatUrl??e.viewFromSeatUrl,viewMeta:i?.viewFromSeatUrl?i.viewFromSeatMeta:e.viewFromSeatMeta,labelStyle:i?.labelStyle??e.seatLabelStyle}})}function nt(e){let t=[];for(let n of mn(e))n.skipped||t.push({id:`${e.id}:${n.index}`,label:n.label,displayLabel:n.displayLabel===n.label?void 0:n.displayLabel,x:n.x,y:n.y,rowId:e.id,categoryKey:n.categoryKey,accessible:n.accessible||void 0,accessibility:n.accessibility.length?n.accessibility:void 0,wheelchairSpaceType:n.wheelchairSpaceType,commercial:n.commercial,glyph:n.glyph,viewUrl:n.viewUrl,viewMeta:n.viewMeta,labelStyle:n.labelStyle});return t}function yn(e){if(e.seatCountsBySide)return{...e.seatCountsBySide};let t=e.sides&&e.sides.length?e.sides:["top","bottom"],n=["top","bottom","left","right"].filter(i=>t.includes(i)),o={top:0,bottom:0,left:0,right:0};if(!n.length)return o;let r=Math.max(0,Math.round(e.seatCount));for(let i=0;i<r;i++)o[n[i%n.length]]+=1;return o}function xn(e){let t=[],n=Math.max(0,Math.round(e.seatCount));if(n===0)return t;let o=new Map((e.overrides??[]).map(c=>[c.index,c])),r=(c,p,d,f)=>{let h=o.get(c),R=we(h),v=h?.label??`${e.label}-${c+1}`,T=e.displayLabel??e.label;return{index:c,label:v,displayLabel:h?.displayLabel??`${T}-${c+1}`,x:p+(h?.dx??0),y:d+(h?.dy??0),categoryKey:h?.categoryKey??e.categoryKey,skipped:!!h?.skip,accessible:R.length>0,accessibility:R,wheelchairSpaceType:h?.wheelchairSpaceType,commercial:h?.commercial,glyph:h?.glyph,viewUrl:h?.viewFromSeatUrl,viewMeta:h?.viewFromSeatUrl?h.viewFromSeatMeta:void 0,labelStyle:h?.labelStyle,...f?{side:f}:{}}};if(e.shape==="round"){let c=(e.radius??40)+ee,p=e.rotation*se,d=Math.max(0,Math.min(360,e.seatArc??360));if(d>=360||n===1){for(let v=0;v<n;v++){let T=p+v/n*2*Math.PI;t.push(r(v,e.center.x+c*Math.cos(T),e.center.y+c*Math.sin(T)))}return t}let f=d*se,h=(2*Math.PI-f)/2,R=p+h;for(let v=0;v<n;v++){let T=R+v/(n-1)*f;t.push(r(v,e.center.x+c*Math.cos(T),e.center.y+c*Math.sin(T)))}return t}let i=e.width??80,s=e.height??50,u=yn(e),l=["top","bottom","left","right"],b=0;for(let c of l){let p=u[c];for(let d=0;d<p;d++){let f,h;c==="top"?(f=-i/2+(d+.5)*i/p,h=-s/2-ee):c==="bottom"?(f=-i/2+(d+.5)*i/p,h=s/2+ee):c==="left"?(f=-i/2-ee,h=-s/2+(d+.5)*s/p):(f=i/2+ee,h=-s/2+(d+.5)*s/p);let R=ve(f,h,e.rotation,e.center);t.push(r(b++,R.x,R.y,c))}}return t}function ot(e){return xn(e).filter(t=>!t.skipped).map(t=>({id:`${e.id}:${t.index}`,label:t.label,...t.displayLabel!==t.label?{displayLabel:t.displayLabel}:{},x:t.x,y:t.y,rowId:e.id,categoryKey:t.categoryKey,...t.accessible?{accessible:!0}:{},...t.accessibility.length?{accessibility:t.accessibility}:{},...t.wheelchairSpaceType?{wheelchairSpaceType:t.wheelchairSpaceType}:{},...t.commercial?{commercial:t.commercial}:{},...t.glyph?{glyph:t.glyph}:{},...t.viewUrl?{viewUrl:t.viewUrl}:{},...t.viewUrl&&t.viewMeta?{viewMeta:t.viewMeta}:{},...t.labelStyle?{labelStyle:t.labelStyle}:{}}))}function rt(e){return[{id:`${e.id}:0`,label:e.label,...e.displayLabel&&e.displayLabel!==e.label?{displayLabel:e.displayLabel}:{},x:e.center.x,y:e.center.y,rowId:e.id,categoryKey:e.categoryKey,kind:"booth"}]}function Je(e,t){let n=!1;for(let o=0,r=t.length-1;o<t.length;r=o++){let i=t[o].x,s=t[o].y,u=t[r].x,l=t[r].y;s>e.y!=l>e.y&&e.x<(u-i)*(e.y-s)/(l-s)+i&&(n=!n)}return n}function gn(e,t){return t.some((n,o)=>{let r=t[(o+1)%t.length],i=(e.y-n.y)*(r.x-n.x)-(e.x-n.x)*(r.y-n.y);if(Math.abs(i)>1e-7)return!1;let s=(e.x-n.x)*(r.x-n.x)+(e.y-n.y)*(r.y-n.y),u=(r.x-n.x)**2+(r.y-n.y)**2;return s>=-1e-7&&s<=u+1e-7})}function Qe(e,t,n){return Je(e,t)&&!(n??[]).some(o=>Je(e,o)||gn(e,o))}function Me(e){if(!e.length)return{x:0,y:0};let t=0,n=0;for(let o of e)t+=o.x,n+=o.y;return{x:t/e.length,y:n/e.length}}function Sn(e){switch(e.type){case"row":{let t=et(e),n=tt(e),o=0,r=0,i=0;for(let s=0;s<t.length;s++){let u=n.get(s);u?.skip||(o+=t[s].x+(u?.dx??0),r+=t[s].y+(u?.dy??0),i++)}return i?{x:o/i,y:r/i}:{x:e.origin.x,y:e.origin.y}}case"table":case"booth":return{x:e.center.x,y:e.center.y};case"gaArea":return Me(e.points);case"section":return Me(e.outline);case"text":return{x:e.position.x,y:e.position.y};case"shape":return e.points&&e.points.length?Me(e.points):e.x!=null&&e.y!=null&&e.width!=null&&e.height!=null?{x:e.x+e.width/2,y:e.y+e.height/2}:{x:e.x??0,y:e.y??0};case"decorImage":return{x:e.x+e.width/2,y:e.y+e.height/2}}}function Ze(e,t){return e.length===t.length&&e.every((n,o)=>n.x===t[o].x&&n.y===t[o].y)}function wn(e,t){if(e.type!=="gaArea"||!Ze(e.points,t.outline))return!1;let n=e.holes??[],o=t.holes??[];return n.length===o.length&&n.every((r,i)=>Ze(r,o[i]))}function Ie(e,t,n=e.filter(r=>r.type==="section"),o=Sn(t)){let r="referenceInventorySource"in t?t.referenceInventorySource?.logicalSectionId:void 0;return(r?n.find(s=>(s.logicalSectionId??s.id)===r&&(wn(t,s)||Qe(o,s.outline,s.holes))):void 0)??n.find(s=>Qe(o,s.outline,s.holes))}function it(e){return e.floors&&e.floors.length?e.floors:[{id:"floor-0",name:"Main",objects:e.objects,focalPoint:e.focalPoint,referenceImage:e.referenceImage,backgroundImage:e.backgroundImage}]}function Pe(e){return e.floors&&e.floors.length?e.floors.flatMap(t=>t.objects):e.objects}var st="__sl_ga__";var Mn=st,Ae=1e5;function vn(e,t){return`${Mn}${encodeURIComponent(e)}__${t+1}`}function In(e){let t=e.inventorySegments;if(t===void 0)return!0;if(!Array.isArray(t)||t.length<1||t.length>256)return!1;let n=0,o=new Map;for(let r of t){if(!r||typeof r.sourceAreaId!="string"||!r.sourceAreaId.trim()||r.sourceAreaId.length>160||!Number.isInteger(r.startIndex)||r.startIndex<0||!Number.isInteger(r.count)||r.count<1||r.startIndex+r.count>Ae||(n+=r.count,n>Ae))return!1;let i=o.get(r.sourceAreaId)??[],s=r.startIndex+r.count;if(i.some(u=>r.startIndex<u.end&&s>u.start))return!1;i.push({start:r.startIndex,end:s}),o.set(r.sourceAreaId,i)}return n===e.capacity}function Pn(e){let t=Math.min(Ae,Math.max(0,Math.floor(e.capacity)));return e.inventorySegments===void 0?t?[{sourceAreaId:e.id,startIndex:0,count:t}]:[]:In(e)?e.inventorySegments.map(n=>({...n})):[]}function ct(e){return Pn(e).flatMap(t=>Array.from({length:t.count},(n,o)=>vn(t.sourceAreaId,t.startIndex+o)))}var ce="__ungrouped__";function An(e){return e.type==="row"?nt(e).map(t=>t.label):e.type==="table"?ot(e).map(t=>t.label):e.type==="booth"?rt(e).map(t=>t.label):e.type==="gaArea"?ct(e):[]}function at(e){return e.type==="row"||e.type==="table"||e.type==="booth"||e.type==="gaArea"}function Rn(e){return e.displayLabel||e.label||"Section"}function Re(e){let t=new Map;for(let n of Pe(e)){if(n.type!=="section")continue;let o=n.logicalSectionId??n.id;t.has(o)||t.set(o,{id:o,label:Rn(n),zone:n.zone})}return t}function Cn(e){let t=new Map;for(let[n,o]of Re(e))t.set(n,o.label);return t}function lt(e){let t=new Map;for(let n of it(e)){let o=n.objects.filter(r=>r.type==="section");if(o.length)for(let r of n.objects){if(!at(r))continue;let i=Ie(n.objects,r,o);i&&t.set(r.id,i.logicalSectionId??i.id)}}return t}function ut(e,t){let n=Pe(e),o=n.filter(u=>u.type==="section"),r=new Map;for(let[u,l]of Re(e))r.set(u,{id:u,label:l.label,zone:l.zone,seatCount:0,objectIds:[],seatLabels:[]});let i={id:ce,label:"Other seats",seatCount:0,objectIds:[],seatLabels:[]},s=new Map;for(let u of n){if(!at(u))continue;let l=An(u);if(l.length===0)continue;let b;if(t)b=t.get(u.id);else{let p=Ie(n,u,o);b=p?p.logicalSectionId??p.id:void 0}let c=b?r.get(b):i;c.seatCount+=l.length,c.objectIds.push(u.id),c.seatLabels.push(...l),s.set(u.id,c.id)}return{sections:[...r.values()],ungrouped:i.objectIds.length?i:null,objectToSection:s}}function En(e){return ut(e,null)}function ft(e){return ut(e,lt(e))}function dt(e,t){return t.has(e.id)||!!e.logicalSectionId&&t.has(e.logicalSectionId)||!!e.zone&&t.has(e.zone)}function pt(e,t){let n=new Set;if(!t.size)return n;let{sections:o,ungrouped:r,objectToSection:i}=ft(e),s=new Set,u=new Map(o.map(b=>[b.id,b.zone]));for(let b of o){let c=u.get(b.id);(t.has(b.id)||c&&t.has(c))&&s.add(b.id)}let l=!!r&&t.has(ce);for(let[b,c]of i)(s.has(c)||l&&c===ce)&&n.add(b);return n}function On(e,t){if(!t.size)return e;let n=pt(e,t),o=t instanceof Set?t:new Set(t),r=s=>!(n.has(s.id)||s.type==="section"&&dt(s,o));if(e.floors&&e.floors.length){let s=!1,u=e.floors.map(l=>{let b=l.objects.filter(r);return b.length!==l.objects.length&&(s=!0),b.length===l.objects.length?l:{...l,objects:b}});return s?{...e,floors:u,objects:u[0].objects}:e}let i=e.objects.filter(r);return i.length===e.objects.length?e:{...e,objects:i}}0&&(module.exports={DEFAULT_SECTION_CORNER_SMOOTHING,MAX_EDGE_SAGITTA_RATIO,TIER_HEIGHT_M,UNGROUPED_ID,applyHidden,arcLevelAt,bearingDeg,buildSectionRake,computeSections,computeSectionsPerFloor,cornerSmoothingThresholdDeg,distanceToPolyline,fitBowlProfile,fitCircle,hiddenObjectIds,indexLabel,isSectionHidden,logicalNumberingRow,relabelRows,resolveSection,reverseSectionOutlinePath,sampleSectionOutlinePath,seatConfidenceDisclosure,seatDisplayLabel,seatInventoryLabel,seatLabelPart,sectionCornerSmoothingPath,sectionGeometry,sectionIdentitiesById,sectionLabelsById,sectionOutlinePathFrom,sectionOwnersByObject,sectionPathSegmentEnd,toBijectiveBase,toLetters,toRoman,transformSectionOutlinePath,translateSectionOutlinePath,validSectionOutlinePath});
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { P as Point, R as RowObject, j as SeatOverride } from '../../types-
|
|
2
|
-
export { D as DEFAULT_SECTION_CORNER_SMOOTHING, M as MAX_EDGE_SAGITTA_RATIO, R as RelabelOptions, S as SectionOutlineDerivation, c as cornerSmoothingThresholdDeg, i as indexLabel, r as relabelRows, a as reverseSectionOutlinePath, s as sampleSectionOutlinePath, b as sectionCornerSmoothingPath, d as sectionOutlinePathFrom, e as sectionPathSegmentEnd, t as toBijectiveBase, f as toLetters, g as toRoman, h as transformSectionOutlinePath, j as translateSectionOutlinePath, v as validSectionOutlinePath } from '../../labeling
|
|
1
|
+
import { P as Point, R as RowObject, j as SeatOverride } from '../../types-BbqhOJ5L.cjs';
|
|
2
|
+
export { D as DEFAULT_SECTION_CORNER_SMOOTHING, M as MAX_EDGE_SAGITTA_RATIO, R as RelabelOptions, S as SectionOutlineDerivation, c as cornerSmoothingThresholdDeg, i as indexLabel, r as relabelRows, a as reverseSectionOutlinePath, s as sampleSectionOutlinePath, b as sectionCornerSmoothingPath, d as sectionOutlinePathFrom, e as sectionPathSegmentEnd, t as toBijectiveBase, f as toLetters, g as toRoman, h as transformSectionOutlinePath, j as translateSectionOutlinePath, v as validSectionOutlinePath } from '../../labeling-SURRJh5u.cjs';
|
|
3
3
|
export { SeatConfidenceDisclosure, seatConfidenceDisclosure } from '../seatConfidence.cjs';
|
|
4
|
-
import { S as SegmentedRowPlacement } from '../../segmentedRowModel-
|
|
5
|
-
export { A as AvailabilityRule, S as SectionNode, T as TIER_HEIGHT_M, U as UNGROUPED_ID,
|
|
6
|
-
import { E as ExpandedSeat } from '../../renderer-
|
|
4
|
+
import { S as SegmentedRowPlacement } from '../../segmentedRowModel-BbHdWqJy.cjs';
|
|
5
|
+
export { A as AvailabilityRule, S as SectionIdentity, a as SectionMembership, b as SectionNode, T as TIER_HEIGHT_M, U as UNGROUPED_ID, c as applyHidden, d as computeSections, e as computeSectionsPerFloor, h as hiddenObjectIds, i as isSectionHidden, s as sectionGeometry, f as sectionIdentitiesById, g as sectionLabelsById, j as sectionOwnersByObject } from '../../sections-BlCiPWJJ.cjs';
|
|
6
|
+
import { E as ExpandedSeat } from '../../renderer-CMkBzwCP.cjs';
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
9
|
* THE bowl resolver — whether a floor's stands wrap a centre, and the smooth
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { P as Point, R as RowObject, j as SeatOverride } from '../../types-
|
|
2
|
-
export { D as DEFAULT_SECTION_CORNER_SMOOTHING, M as MAX_EDGE_SAGITTA_RATIO, R as RelabelOptions, S as SectionOutlineDerivation, c as cornerSmoothingThresholdDeg, i as indexLabel, r as relabelRows, a as reverseSectionOutlinePath, s as sampleSectionOutlinePath, b as sectionCornerSmoothingPath, d as sectionOutlinePathFrom, e as sectionPathSegmentEnd, t as toBijectiveBase, f as toLetters, g as toRoman, h as transformSectionOutlinePath, j as translateSectionOutlinePath, v as validSectionOutlinePath } from '../../labeling-
|
|
1
|
+
import { P as Point, R as RowObject, j as SeatOverride } from '../../types-BbqhOJ5L.js';
|
|
2
|
+
export { D as DEFAULT_SECTION_CORNER_SMOOTHING, M as MAX_EDGE_SAGITTA_RATIO, R as RelabelOptions, S as SectionOutlineDerivation, c as cornerSmoothingThresholdDeg, i as indexLabel, r as relabelRows, a as reverseSectionOutlinePath, s as sampleSectionOutlinePath, b as sectionCornerSmoothingPath, d as sectionOutlinePathFrom, e as sectionPathSegmentEnd, t as toBijectiveBase, f as toLetters, g as toRoman, h as transformSectionOutlinePath, j as translateSectionOutlinePath, v as validSectionOutlinePath } from '../../labeling-HWSKKrX8.js';
|
|
3
3
|
export { SeatConfidenceDisclosure, seatConfidenceDisclosure } from '../seatConfidence.js';
|
|
4
|
-
import { S as SegmentedRowPlacement } from '../../segmentedRowModel-
|
|
5
|
-
export { A as AvailabilityRule, S as SectionNode, T as TIER_HEIGHT_M, U as UNGROUPED_ID,
|
|
6
|
-
import { E as ExpandedSeat } from '../../renderer-
|
|
4
|
+
import { S as SegmentedRowPlacement } from '../../segmentedRowModel-oVUtwW87.js';
|
|
5
|
+
export { A as AvailabilityRule, S as SectionIdentity, a as SectionMembership, b as SectionNode, T as TIER_HEIGHT_M, U as UNGROUPED_ID, c as applyHidden, d as computeSections, e as computeSectionsPerFloor, h as hiddenObjectIds, i as isSectionHidden, s as sectionGeometry, f as sectionIdentitiesById, g as sectionLabelsById, j as sectionOwnersByObject } from '../../sections-DOk8zxm5.js';
|
|
6
|
+
import { E as ExpandedSeat } from '../../renderer-BI7dyJjD.js';
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
9
|
* THE bowl resolver — whether a floor's stands wrap a centre, and the smooth
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as
|
|
1
|
+
import{a as I}from"../../chunk-Y2J55NLS.js";import{a as J,b as K,c as L,d as M}from"../../chunk-LQKUHEL6.js";import{j as z,k as A,l as B,m as C,n as D,o as E,p as F,q as G,r as H}from"../../chunk-S4H34KCG.js";import{O as o,P as r,Q as e,R as f,S as m,T as p,U as t,V as x,W as a,X as b,Y as c,da as s,na as u,oa as v,pa as w,qa as y}from"../../chunk-F45ZMLCU.js";import{a as d,b as g,c as h,d as i,e as j,f as k,g as l,h as n,i as q}from"../../chunk-5ITK5236.js";import"../../chunk-CRCGO52K.js";export{p as DEFAULT_SECTION_CORNER_SMOOTHING,a as MAX_EDGE_SAGITTA_RATIO,s as TIER_HEIGHT_M,z as UNGROUPED_ID,H as applyHidden,M as arcLevelAt,K as bearingDeg,J as buildSectionRake,D as computeSections,E as computeSectionsPerFloor,t as cornerSmoothingThresholdDeg,v as distanceToPolyline,L as fitBowlProfile,w as fitCircle,G as hiddenObjectIds,g as indexLabel,F as isSectionHidden,l as logicalNumberingRow,j as relabelRows,y as resolveSection,c as reverseSectionOutlinePath,e as sampleSectionOutlinePath,I as seatConfidenceDisclosure,q as seatDisplayLabel,n as seatInventoryLabel,k as seatLabelPart,x as sectionCornerSmoothingPath,u as sectionGeometry,A as sectionIdentitiesById,B as sectionLabelsById,b as sectionOutlinePathFrom,C as sectionOwnersByObject,o as sectionPathSegmentEnd,d as toBijectiveBase,h as toLetters,i as toRoman,m as transformSectionOutlinePath,f as translateSectionOutlinePath,r as validSectionOutlinePath};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as ChartObject, C as ChartDoc } from './types-
|
|
1
|
+
import { a as ChartObject, C as ChartDoc } from './types-BbqhOJ5L.cjs';
|
|
2
2
|
|
|
3
3
|
declare const EVENT_CONFIGURATION_SCHEMA: "seatlayer.event-configuration/1";
|
|
4
4
|
declare const EVENT_CONFIGURATION_EXPORT_SCHEMA: "seatlayer.event-configuration-export/1";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as ChartObject, C as ChartDoc } from './types-
|
|
1
|
+
import { a as ChartObject, C as ChartDoc } from './types-BbqhOJ5L.js';
|
|
2
2
|
|
|
3
3
|
declare const EVENT_CONFIGURATION_SCHEMA: "seatlayer.event-configuration/1";
|
|
4
4
|
declare const EVENT_CONFIGURATION_EXPORT_SCHEMA: "seatlayer.event-configuration-export/1";
|