@seatlayer/core 0.101.0 → 0.103.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ar-D6ASWQBI.js +1 -0
- package/dist/be-T23MSCFC.js +1 -0
- package/dist/bg-2MMSY43I.js +1 -0
- package/dist/ca-EXRTYE33.js +1 -0
- package/dist/{categoryInventory-H77A_8pF.d.cts → categoryInventory-D_gpkfsq.d.cts} +1 -1
- package/dist/{categoryInventory-DZ5IcDOy.d.ts → categoryInventory-i-mGCBD3.d.ts} +1 -1
- package/dist/chunk-2STEWCI2.js +1 -0
- package/dist/chunk-33SRM2CP.js +1 -0
- package/dist/chunk-3W4ZMU4G.js +1 -0
- package/dist/chunk-76AUT55N.js +1 -0
- package/dist/chunk-B75VUM6L.js +1 -0
- package/dist/{chunk-L34T3APU.js → chunk-FAY7ARLB.js} +1 -1
- package/dist/{chunk-2RNZOV5I.js → chunk-GPZFVQXV.js} +1 -1
- package/dist/chunk-JRZHC75P.js +1 -0
- package/dist/chunk-KTMZ3QAO.js +1 -0
- package/dist/chunk-NWRHKTMV.js +1 -0
- package/dist/{chunk-5HXTEMRE.js → chunk-QG7ZFUNX.js} +1 -1
- package/dist/{chunk-GLGXP5I7.js → chunk-R2TRYVOY.js} +1 -1
- package/dist/chunk-RF4QU72N.js +1 -0
- package/dist/chunk-TFYAMLCK.js +1 -0
- package/dist/chunk-TZBJCAXH.js +1 -0
- package/dist/chunk-UEDS3HJ3.js +1 -0
- package/dist/chunk-UEYHH7Y5.js +1 -0
- package/dist/chunk-WH2EVBIG.js +1 -0
- package/dist/chunk-WKWXU5QM.js +1 -0
- package/dist/{chunk-P4J57TK6.js → chunk-YPVYZYMH.js} +1 -1
- package/dist/core/chart-ops/index.cjs +1 -1
- package/dist/core/chart-ops/index.d.cts +491 -18
- package/dist/core/chart-ops/index.d.ts +491 -18
- package/dist/core/chart-ops/index.js +1 -1
- package/dist/core/color.d.cts +1 -1
- package/dist/core/color.d.ts +1 -1
- package/dist/core/inventory/index.cjs +1 -1
- package/dist/core/inventory/index.d.cts +72 -5
- package/dist/core/inventory/index.d.ts +72 -5
- package/dist/core/inventory/index.js +1 -1
- package/dist/core/layout/index.cjs +1 -1
- package/dist/core/layout/index.d.cts +63 -6
- package/dist/core/layout/index.d.ts +63 -6
- package/dist/core/layout/index.js +1 -1
- package/dist/core/quality/index.cjs +1 -1
- package/dist/core/quality/index.d.cts +18 -4
- package/dist/core/quality/index.d.ts +18 -4
- 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 +45 -5
- package/dist/core/render-assets/index.d.ts +45 -5
- 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/cs-L5EG7LLR.js +1 -0
- package/dist/cy-AB2Q6XHI.js +1 -0
- package/dist/da-EGJO7W4Q.js +1 -0
- package/dist/de-Q56NNVPD.js +1 -0
- package/dist/el-JW2YADAL.js +1 -0
- package/dist/es-N35HVHMD.js +1 -0
- package/dist/et-53UYPQR7.js +1 -0
- package/dist/{eventConfigurations-ClFqXQi9.d.cts → eventConfigurations-C0x_OtjQ.d.cts} +1 -1
- package/dist/{eventConfigurations-B6aS6c-_.d.ts → eventConfigurations-CDPqKz_8.d.ts} +1 -1
- package/dist/fa-JL3HW42Q.js +1 -0
- package/dist/fi-ZFWROLPU.js +1 -0
- package/dist/fr-6EKBGKIT.js +1 -0
- package/dist/he-KSOTIRJW.js +1 -0
- package/dist/hi-RWHSYCVV.js +1 -0
- package/dist/hr-ECH5LYKR.js +1 -0
- package/dist/hu-BAXHRRWC.js +1 -0
- package/dist/id-ECFNLK3G.js +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +65 -17
- package/dist/index.d.ts +65 -17
- package/dist/index.js +1 -1
- package/dist/it-HT57FDFI.js +1 -0
- package/dist/ja-LHVHSM5J.js +1 -0
- package/dist/ko-G2HVHBKT.js +1 -0
- package/dist/ku-MNPV6BJJ.js +1 -0
- package/dist/{labeling-ByEZkLee.d.cts → labeling-20iLar-Q.d.ts} +11 -3
- package/dist/{labeling-CP3GhUrf.d.ts → labeling-DW_pEMgl.d.cts} +11 -3
- package/dist/localeLoaders-L36RHPNS.js +1 -0
- package/dist/lt-GB2GJDNS.js +1 -0
- package/dist/lv-3ZE6IM47.js +1 -0
- package/dist/ms-YH2PYOHG.js +1 -0
- package/dist/nl-D4FX7T7U.js +1 -0
- package/dist/no-5YNLYHN4.js +1 -0
- package/dist/pl-RUXCR6JV.js +1 -0
- package/dist/pt-TKFGIUL6.js +1 -0
- package/dist/{renderedQuality--H0toc-2.d.cts → renderedQuality-BIWwSRMS.d.cts} +1 -1
- package/dist/{renderedQuality-Bo4k99GE.d.ts → renderedQuality-CdpKQidA.d.ts} +1 -1
- package/dist/{renderer-BPhSZUGh.d.cts → renderer-BSjyHBDK.d.cts} +8 -1
- package/dist/{renderer-CWbam_zr.d.ts → renderer-BurPZ2Io.d.ts} +8 -1
- package/dist/ro-UFIOIOVH.js +1 -0
- package/dist/ru-VMRD53B7.js +1 -0
- package/dist/{seatTypeIcons-CSt1isBY.d.ts → seatTypeIcons-BlEzPXFf.d.cts} +2 -2
- package/dist/{seatTypeIcons-B2tvcQ0H.d.cts → seatTypeIcons-D_T5HfJs.d.ts} +2 -2
- package/dist/{sections-C_AKwOIh.d.cts → sections-BySKMsFE.d.ts} +5 -2
- package/dist/{sections-JHox6Lsw.d.ts → sections-DXUcW0ZT.d.cts} +5 -2
- package/dist/{segmentedRowModel-DQO0vHR1.d.ts → segmentedRowModel-C5qFY6jJ.d.ts} +1 -1
- package/dist/{segmentedRowModel-CZ0Ciea-.d.cts → segmentedRowModel-CyW-LFuI.d.cts} +1 -1
- package/dist/sk-XIK2KO3F.js +1 -0
- package/dist/sl-CDZGH6C6.js +1 -0
- package/dist/sr-A3TESNV3.js +1 -0
- package/dist/sv-HKGKDGSG.js +1 -0
- package/dist/{tableSizing-ClgbhNks.d.ts → tableSizing-Bos5ueqg.d.cts} +5 -4
- package/dist/{tableSizing-Cp5T_6Lw.d.cts → tableSizing-CAiE_oii.d.ts} +5 -4
- package/dist/th-ZPGRIY7D.js +1 -0
- package/dist/{ticketRestrictions-DUdzkp4F.d.ts → ticketRestrictions-DKdJWh9u.d.cts} +39 -3
- package/dist/{ticketRestrictions-BHNbxzFT.d.cts → ticketRestrictions-DRDtAVKw.d.ts} +39 -3
- package/dist/tr-IUB54G3R.js +1 -0
- package/dist/{types-5AlKCD4j.d.ts → types-ZviQR7ch.d.cts} +194 -9
- package/dist/{types-5AlKCD4j.d.cts → types-ZviQR7ch.d.ts} +194 -9
- package/dist/uk-JQKEV42K.js +1 -0
- package/dist/vi-KRM5S2Q7.js +1 -0
- package/dist/view3d/crossfade/panorama.d.cts +1 -1
- package/dist/view3d/crossfade/panorama.d.ts +1 -1
- package/dist/view3d/index.cjs +54 -54
- package/dist/view3d/index.d.cts +13 -3
- package/dist/view3d/index.d.ts +13 -3
- package/dist/view3d/index.js +44 -44
- package/dist/view3d/scene/scene.worker.cjs +1 -1
- package/dist/view3d/scene/scene.worker.js +1 -1
- package/dist/zh-Hans-FEUYIOYS.js +1 -0
- package/dist/zh-Hant-PK2XOE2G.js +1 -0
- package/package.json +1 -1
- package/dist/ar-Q44JP5JY.js +0 -1
- package/dist/be-CGFFSIQL.js +0 -1
- package/dist/bg-WOYK6OLH.js +0 -1
- package/dist/ca-77ZVI3X5.js +0 -1
- package/dist/chunk-52XO3LA7.js +0 -1
- package/dist/chunk-5BMXWOE7.js +0 -1
- package/dist/chunk-5ITK5236.js +0 -1
- package/dist/chunk-5N4H3KMR.js +0 -1
- package/dist/chunk-5PFYIYM5.js +0 -1
- package/dist/chunk-CTIGUXXK.js +0 -1
- package/dist/chunk-D723OZEY.js +0 -1
- package/dist/chunk-FLZKBXHA.js +0 -1
- package/dist/chunk-HO4MFTVX.js +0 -1
- package/dist/chunk-JK3DUFRX.js +0 -1
- package/dist/chunk-N4J4CT6P.js +0 -1
- package/dist/chunk-NO6OLVTT.js +0 -1
- package/dist/chunk-TQN2VWQO.js +0 -1
- package/dist/chunk-UISTXRO5.js +0 -1
- package/dist/cs-OSBZYCSR.js +0 -1
- package/dist/cy-ZCOJW2WH.js +0 -1
- package/dist/da-2PDK6JTR.js +0 -1
- package/dist/de-R5LLVFUU.js +0 -1
- package/dist/el-ZPFVDCWA.js +0 -1
- package/dist/es-7YASJP32.js +0 -1
- package/dist/et-J4TV6KQL.js +0 -1
- package/dist/fa-4TEO7UGM.js +0 -1
- package/dist/fi-GIUDDKMH.js +0 -1
- package/dist/fr-J5J2XJLA.js +0 -1
- package/dist/he-OCEHSVUJ.js +0 -1
- package/dist/hi-EK5CTBW5.js +0 -1
- package/dist/hr-SLDTQOYC.js +0 -1
- package/dist/hu-2QNE77NO.js +0 -1
- package/dist/id-LGDAFQJK.js +0 -1
- package/dist/it-DT4Y3IYB.js +0 -1
- package/dist/ja-D5EY2XCQ.js +0 -1
- package/dist/ko-DD2NV45Q.js +0 -1
- package/dist/ku-KZCMVLBE.js +0 -1
- package/dist/localeLoaders-GGAKX22E.js +0 -1
- package/dist/lt-QWGTJ47Y.js +0 -1
- package/dist/lv-LYAIG3VK.js +0 -1
- package/dist/ms-XTF4KNGD.js +0 -1
- package/dist/nl-QEXY6XHS.js +0 -1
- package/dist/no-HCOXN2CN.js +0 -1
- package/dist/pl-BWY53TSD.js +0 -1
- package/dist/pt-2UJUBCPL.js +0 -1
- package/dist/ro-GGXOLTED.js +0 -1
- package/dist/ru-ZTFK3WCU.js +0 -1
- package/dist/sk-KU543Y2U.js +0 -1
- package/dist/sl-FT576R7A.js +0 -1
- package/dist/sr-WE3J46JE.js +0 -1
- package/dist/sv-YEAOPSEB.js +0 -1
- package/dist/th-BEBRDHJA.js +0 -1
- package/dist/tr-LOAHUPSH.js +0 -1
- package/dist/uk-2GMICSHN.js +0 -1
- package/dist/vi-TC5B6AUR.js +0 -1
- package/dist/zh-Hans-TSZWTZQY.js +0 -1
- package/dist/zh-Hant-TLB4FZYM.js +0 -1
|
@@ -598,6 +598,120 @@ interface RadialClearanceLayoutConstraint {
|
|
|
598
598
|
}
|
|
599
599
|
type ChartLayoutConstraint = RadialClearanceLayoutConstraint;
|
|
600
600
|
|
|
601
|
+
/**
|
|
602
|
+
* Gates and step-free routes: the named ways in and out of a venue (board 3).
|
|
603
|
+
*
|
|
604
|
+
* THE MODEL. A gate is a `ShapeObject` with `role: 'entrance' | 'exit'` that
|
|
605
|
+
* carries a `gate` record. The shape's `label` is the gate's name ("Gate C")
|
|
606
|
+
* and its box is the pill drawn on the map, so every path that already knows
|
|
607
|
+
* shapes (move, rotate, floors, copy, 3D gate signs, selection layers) handles
|
|
608
|
+
* a gate with no new object type. An old décor Entrance or Exit (no `gate`)
|
|
609
|
+
* keeps rendering exactly as before, and "Make this a gate" adds the record.
|
|
610
|
+
*
|
|
611
|
+
* Sections, rows, tables, booths and standing areas point at a gate with
|
|
612
|
+
* `entranceGateId`. Their free-text `entrance` stays: while a gate is assigned
|
|
613
|
+
* it holds the gate's name, so a buyer runtime that only knows `entrance`
|
|
614
|
+
* still reads "Gate C". Typing a different entrance by hand detaches the gate.
|
|
615
|
+
*
|
|
616
|
+
* A step-free route is an open path (`line`/`polyline`) carrying `route`; its
|
|
617
|
+
* `label` is the route's name.
|
|
618
|
+
*/
|
|
619
|
+
|
|
620
|
+
type GateUse = 'in' | 'out' | 'both';
|
|
621
|
+
interface GateInfo {
|
|
622
|
+
/** What people use it for: coming in, leaving, or both. */
|
|
623
|
+
use: GateUse;
|
|
624
|
+
/** Step-free access (level or ramped, no stairs). Stored only when true. */
|
|
625
|
+
stepFree?: boolean;
|
|
626
|
+
/** When it opens, in the organizer's words ("90 min before"). ≤40 characters. */
|
|
627
|
+
opens?: string;
|
|
628
|
+
/** Organizer-only: buyers get no sign and no "Enter by" line. Stored only when true. */
|
|
629
|
+
hideFromBuyers?: boolean;
|
|
630
|
+
}
|
|
631
|
+
interface RouteInfo {
|
|
632
|
+
/** The path is step-free. Stored only when true. */
|
|
633
|
+
stepFree?: boolean;
|
|
634
|
+
}
|
|
635
|
+
/** Fields a shape gains to be a gate or a route. */
|
|
636
|
+
interface GateFields {
|
|
637
|
+
gate?: GateInfo;
|
|
638
|
+
route?: RouteInfo;
|
|
639
|
+
}
|
|
640
|
+
/** The gate a place's buyers enter by. */
|
|
641
|
+
interface GateEntranceRef {
|
|
642
|
+
/** Id of a gate shape anywhere in the chart (any floor). */
|
|
643
|
+
entranceGateId?: string;
|
|
644
|
+
}
|
|
645
|
+
type GateShape = ShapeObject & {
|
|
646
|
+
gate: GateInfo;
|
|
647
|
+
};
|
|
648
|
+
type RouteShape = ShapeObject & {
|
|
649
|
+
route: RouteInfo;
|
|
650
|
+
};
|
|
651
|
+
|
|
652
|
+
/**
|
|
653
|
+
* Real lengths in the organizer's unit (board 8, "Real sizes").
|
|
654
|
+
*
|
|
655
|
+
* The chart stores geometry in chart units. What a person reads is metres or
|
|
656
|
+
* feet, chosen per chart in Chart settings. Every place that shows a distance
|
|
657
|
+
* (canvas labels, rulers, the scale bar, panel fields, venue advice) formats it
|
|
658
|
+
* here, so a size never reads differently in two places.
|
|
659
|
+
*
|
|
660
|
+
* Pure: no DOM, no chart document.
|
|
661
|
+
*/
|
|
662
|
+
type LengthUnit = 'm' | 'ft';
|
|
663
|
+
|
|
664
|
+
/**
|
|
665
|
+
* Organizer-only chart settings for real sizes and venue advice (boards 8, 9).
|
|
666
|
+
*
|
|
667
|
+
* THE FIELD. `ChartDoc.designerSettings` is optional; a chart without it reads
|
|
668
|
+
* in metres at the standard seat scale with no advice limits, exactly as every
|
|
669
|
+
* chart did before. Nothing here is buyer-facing: the buyer projection drops
|
|
670
|
+
* the whole field (`buyerFacingChartDoc`), and the confidence view basis
|
|
671
|
+
* ignores it, so changing a limit never re-stamps a published view.
|
|
672
|
+
*
|
|
673
|
+
* Readers never trust the stored shape: an imported or agent-written value
|
|
674
|
+
* that is out of range reads as "not set", never as a throw.
|
|
675
|
+
*/
|
|
676
|
+
|
|
677
|
+
/** Venue advice limits. Each is off until the organizer sets it. */
|
|
678
|
+
interface AdviceLimits {
|
|
679
|
+
/** Most seats in a row between two aisles. */
|
|
680
|
+
maxSeatsBetweenAisles?: number;
|
|
681
|
+
/** Narrowest aisle, in metres. */
|
|
682
|
+
minAisleWidthM?: number;
|
|
683
|
+
/** Farthest any seat may be from an exit, in metres, along the aisles. */
|
|
684
|
+
maxExitDistanceM?: number;
|
|
685
|
+
/** Warn when booths, tables or standing areas overlap each other. */
|
|
686
|
+
warnOverlaps?: boolean;
|
|
687
|
+
}
|
|
688
|
+
/** One advice item the organizer marked "Fine as it is". */
|
|
689
|
+
interface AdviceFineMark {
|
|
690
|
+
/** The advice item's stable key ("seats:row_12", "aisle:sec_a|sec_b"). */
|
|
691
|
+
key: string;
|
|
692
|
+
/** What it was about, as the list named it ("Row A, Circle"). */
|
|
693
|
+
subject: string;
|
|
694
|
+
/** Who marked it, by first name, when known. */
|
|
695
|
+
by?: string;
|
|
696
|
+
/** When, in epoch milliseconds. */
|
|
697
|
+
at: number;
|
|
698
|
+
}
|
|
699
|
+
interface ChartDesignerSettings {
|
|
700
|
+
/** The unit every size reads in. Absent = metres. */
|
|
701
|
+
units?: LengthUnit;
|
|
702
|
+
/**
|
|
703
|
+
* Chart units per metre, from "Set the scale" on a chart without a plan.
|
|
704
|
+
* A plan's own calibration wins over it; absent = the standard seat scale.
|
|
705
|
+
*/
|
|
706
|
+
unitsPerMetre?: number;
|
|
707
|
+
advice?: AdviceLimits;
|
|
708
|
+
adviceFine?: AdviceFineMark[];
|
|
709
|
+
}
|
|
710
|
+
/** What a chart document gains to carry these settings. */
|
|
711
|
+
interface DesignerSettingsFields {
|
|
712
|
+
designerSettings?: ChartDesignerSettings;
|
|
713
|
+
}
|
|
714
|
+
|
|
601
715
|
interface Point {
|
|
602
716
|
x: number;
|
|
603
717
|
y: number;
|
|
@@ -1051,7 +1165,10 @@ interface ChartTheme {
|
|
|
1051
1165
|
/** Premium, bounded material palette for the optional 3D venue renderer. */
|
|
1052
1166
|
venue3d?: Venue3DMaterialPalette;
|
|
1053
1167
|
}
|
|
1054
|
-
|
|
1168
|
+
/** A row's aisle-seat ends, when the author overrides the automatic ones. */
|
|
1169
|
+
type RowAisleSeats = 'start' | 'end' | 'both' | 'none';
|
|
1170
|
+
declare const ROW_AISLE_SEATS: readonly RowAisleSeats[];
|
|
1171
|
+
interface RowObject extends AuthoringObjectState, GateEntranceRef {
|
|
1055
1172
|
type: 'row';
|
|
1056
1173
|
id: string;
|
|
1057
1174
|
/** Present when this row was materialized by the in-canvas reference scan.
|
|
@@ -1095,6 +1212,16 @@ interface RowObject extends AuthoringObjectState {
|
|
|
1095
1212
|
* booking identity, is untouched.
|
|
1096
1213
|
*/
|
|
1097
1214
|
seatDisplayLabelMode?: 'number';
|
|
1215
|
+
/**
|
|
1216
|
+
* Which ENDS of this physical row are aisle seats for buyers ("Aisle seat"
|
|
1217
|
+
* on the seat card). Absent = automatic: the first and last seat, except
|
|
1218
|
+
* at a segmented-row junction declared `continuous`. Set, it replaces those
|
|
1219
|
+
* two ends only; a seat beside a skipped seat is an aisle seat either way.
|
|
1220
|
+
* Pure presentation: never an accessibility type (that is
|
|
1221
|
+
* `designated-aisle`, "Aisle transfer"), and never booking identity.
|
|
1222
|
+
* See `core/layout/aisleSeats`.
|
|
1223
|
+
*/
|
|
1224
|
+
aisleSeats?: RowAisleSeats;
|
|
1098
1225
|
/** Buyer-facing row name. `label` remains the legacy inventory prefix. */
|
|
1099
1226
|
displayLabel?: string;
|
|
1100
1227
|
/**
|
|
@@ -1269,7 +1396,7 @@ interface RowObject extends AuthoringObjectState {
|
|
|
1269
1396
|
/** Default commercial attributes inherited by seats without an override. */
|
|
1270
1397
|
commercial?: SeatCommercialAttributes;
|
|
1271
1398
|
}
|
|
1272
|
-
interface GAAreaObject extends AuthoringObjectState {
|
|
1399
|
+
interface GAAreaObject extends AuthoringObjectState, GateEntranceRef {
|
|
1273
1400
|
type: 'gaArea';
|
|
1274
1401
|
id: string;
|
|
1275
1402
|
/** Stable technical/inventory label. */
|
|
@@ -1307,6 +1434,24 @@ interface GAAreaObject extends AuthoringObjectState {
|
|
|
1307
1434
|
*/
|
|
1308
1435
|
inventorySegments?: GAInventorySegment[];
|
|
1309
1436
|
referenceInventorySource?: ReferenceInventorySource;
|
|
1437
|
+
/** Sold as a box (model-2 events only): one party takes the whole area at
|
|
1438
|
+
* exactly `capacity` guests. One inventory unit labelled `label`. */
|
|
1439
|
+
bookAsWhole?: boolean;
|
|
1440
|
+
/** Sold as a box to one party choosing a guest count within the bounds below. */
|
|
1441
|
+
variableOccupancy?: boolean;
|
|
1442
|
+
/** Required inclusive guest bounds when `variableOccupancy` is true. */
|
|
1443
|
+
minOccupancy?: number;
|
|
1444
|
+
maxOccupancy?: number;
|
|
1445
|
+
/** How many of the `capacity` places are wheelchair places (0 ≤ n ≤ capacity).
|
|
1446
|
+
* The last n standing units carry `accessibility: ['wheelchair']`; a box
|
|
1447
|
+
* area's single unit carries it when n > 0. Labels never change. */
|
|
1448
|
+
wheelchairPlaces?: number;
|
|
1449
|
+
/** Name drawn on the map: `visible` and `labelStyle.size` only (buyer and
|
|
1450
|
+
* Designer renderers). Absent = shown at the default size. */
|
|
1451
|
+
labelPresentation?: LabelPresentation;
|
|
1452
|
+
/** Buyer-facing entrance/door hint ("Door 4"), ≤40 chars. Absent = the owning
|
|
1453
|
+
* section's entrance, if any. Pure presentation. */
|
|
1454
|
+
entrance?: string;
|
|
1310
1455
|
}
|
|
1311
1456
|
interface GAInventorySegment {
|
|
1312
1457
|
sourceAreaId: string;
|
|
@@ -1367,7 +1512,7 @@ type ShapeLineCap = 'butt' | 'round' | 'square';
|
|
|
1367
1512
|
type ShapeLineJoin = 'miter' | 'round' | 'bevel';
|
|
1368
1513
|
type ShapeLineEnding = 'none' | 'arrow';
|
|
1369
1514
|
/** Non-bookable décor: stage, walls, exits. */
|
|
1370
|
-
interface ShapeObject extends AuthoringObjectState {
|
|
1515
|
+
interface ShapeObject extends AuthoringObjectState, GateFields {
|
|
1371
1516
|
type: 'shape';
|
|
1372
1517
|
id: string;
|
|
1373
1518
|
/**
|
|
@@ -1386,6 +1531,11 @@ interface ShapeObject extends AuthoringObjectState {
|
|
|
1386
1531
|
height?: number;
|
|
1387
1532
|
/** For polygon/line/polyline. */
|
|
1388
1533
|
points?: Point[];
|
|
1534
|
+
/** Polygon only: one curve per side of {@link points} (side `i` runs from point `i` to `i+1`), -100..100,
|
|
1535
|
+
* 0 = straight, as {@link SectionObject.edgeCurvature}. The points stay authoritative. */
|
|
1536
|
+
edgeCurvature?: number[];
|
|
1537
|
+
/** Polygon only: cut-outs (a pillar, a ring bar's middle): simple polygons inside the outline, never overlapping. */
|
|
1538
|
+
holes?: Point[][];
|
|
1389
1539
|
fill?: string;
|
|
1390
1540
|
/** Optional outline. `width` is in chart units; both fields are required together. */
|
|
1391
1541
|
stroke?: {
|
|
@@ -1444,7 +1594,7 @@ interface RectTableSeatCounts {
|
|
|
1444
1594
|
/** Seats arranged around a table. Grouped selling is activated only by an
|
|
1445
1595
|
* event's explicit inventory-model-2 snapshot; model-1 events continue to
|
|
1446
1596
|
* treat every authored chair as an independent unit. */
|
|
1447
|
-
interface TableObject extends AuthoringObjectState {
|
|
1597
|
+
interface TableObject extends AuthoringObjectState, GateEntranceRef {
|
|
1448
1598
|
type: 'table';
|
|
1449
1599
|
id: string;
|
|
1450
1600
|
/** e.g. "T1" — seat labels are `${label}-${n}`. */
|
|
@@ -1503,9 +1653,30 @@ interface TableObject extends AuthoringObjectState {
|
|
|
1503
1653
|
assetId: string;
|
|
1504
1654
|
sectionId?: string;
|
|
1505
1655
|
};
|
|
1656
|
+
/** How chairs are NUMBERED for buyers (display only). Booking labels stay
|
|
1657
|
+
* `${label}-${index + 1}` whatever this says. Absent = today's "T1-1…" order. */
|
|
1658
|
+
chairNumbering?: TableChairNumbering;
|
|
1659
|
+
/** Name drawn on the map: `visible` and `labelStyle.size` only (buyer and
|
|
1660
|
+
* Designer renderers). Absent = shown at the default size. */
|
|
1661
|
+
labelPresentation?: LabelPresentation;
|
|
1662
|
+
/** Buyer-facing entrance/door hint ("Door 4"), ≤40 chars. Absent = the owning
|
|
1663
|
+
* section's entrance, if any. Pure presentation. */
|
|
1664
|
+
entrance?: string;
|
|
1506
1665
|
}
|
|
1666
|
+
/** Buyer-facing chair numbering of a table. Changes only what buyers read. */
|
|
1667
|
+
interface TableChairNumbering {
|
|
1668
|
+
/** First chair's number, 0–999. Default 1. */
|
|
1669
|
+
start?: number;
|
|
1670
|
+
/** Walk the chairs in the authored order (clockwise) or reversed. Default clockwise. */
|
|
1671
|
+
direction?: 'clockwise' | 'anticlockwise';
|
|
1672
|
+
/** "T1-1" (table name + number), "1", or "A". Default 'table-number'. */
|
|
1673
|
+
format?: 'table-number' | 'number' | 'letter';
|
|
1674
|
+
}
|
|
1675
|
+
/** How many sides of a booth are open to the aisle: inline 1, corner 2, peninsula 3, island 4. */
|
|
1676
|
+
type BoothType = 'inline' | 'corner' | 'peninsula' | 'island';
|
|
1677
|
+
declare const BOOTH_TYPES: readonly BoothType[];
|
|
1507
1678
|
/** A booth: one bookable unit rendered as a block (trade shows, VIP boxes). */
|
|
1508
|
-
interface BoothObject extends AuthoringObjectState {
|
|
1679
|
+
interface BoothObject extends AuthoringObjectState, GateEntranceRef {
|
|
1509
1680
|
type: 'booth';
|
|
1510
1681
|
id: string;
|
|
1511
1682
|
/** Stable technical/inventory label. */
|
|
@@ -1531,6 +1702,18 @@ interface BoothObject extends AuthoringObjectState {
|
|
|
1531
1702
|
points?: Point[];
|
|
1532
1703
|
categoryKey: string;
|
|
1533
1704
|
referenceInventorySource?: ReferenceInventorySource;
|
|
1705
|
+
/** Open sides of the stand (inline/corner/peninsula/island). Buyer-facing. */
|
|
1706
|
+
boothType?: BoothType;
|
|
1707
|
+
/** Buyer note (≤160 chars, normalised like a seat note), shown wherever a seat note is. */
|
|
1708
|
+
commercial?: {
|
|
1709
|
+
note?: string;
|
|
1710
|
+
};
|
|
1711
|
+
/** Name drawn on the map: `visible` and `labelStyle.size` only (buyer and
|
|
1712
|
+
* Designer renderers). Absent = shown at the default size. */
|
|
1713
|
+
labelPresentation?: LabelPresentation;
|
|
1714
|
+
/** Buyer-facing entrance/door hint ("Door 4"), ≤40 chars. Absent = the owning
|
|
1715
|
+
* section's entrance, if any. Pure presentation. */
|
|
1716
|
+
entrance?: string;
|
|
1534
1717
|
}
|
|
1535
1718
|
/**
|
|
1536
1719
|
* A named region of the venue (Balcony Left, Floor B…). Sections are outlines
|
|
@@ -1539,7 +1722,7 @@ interface BoothObject extends AuthoringObjectState {
|
|
|
1539
1722
|
* Renderer: far zoom shows section shapes/labels instead of seats; clicking
|
|
1540
1723
|
* a section zooms into it.
|
|
1541
1724
|
*/
|
|
1542
|
-
interface SectionObject extends AuthoringObjectState {
|
|
1725
|
+
interface SectionObject extends AuthoringObjectState, GateEntranceRef {
|
|
1543
1726
|
type: 'section';
|
|
1544
1727
|
id: string;
|
|
1545
1728
|
label: string;
|
|
@@ -1681,7 +1864,9 @@ interface SectionObject extends AuthoringObjectState {
|
|
|
1681
1864
|
*
|
|
1682
1865
|
* Positive bows to the LEFT of that edge's own direction. The sign is relative
|
|
1683
1866
|
* to the edge, never to world axes, which is what lets curvature survive
|
|
1684
|
-
*
|
|
1867
|
+
* move / rotate / scale / radial repeat with no per-operation handling. A
|
|
1868
|
+
* flip or mirror reverses the winding, so it must negate every entry
|
|
1869
|
+
* (`reflectEdgeCurvature`) or the curves come out inside out.
|
|
1685
1870
|
*
|
|
1686
1871
|
* Coordinate-free like {@link cornerSmoothing}, so it round-trips over MCP and
|
|
1687
1872
|
* the server never accepts client geometry. Absent/all-zero = straight edges;
|
|
@@ -1925,7 +2110,7 @@ interface ChartDeliveryPerformance {
|
|
|
1925
2110
|
/** Whether the transformed chart body was served from a warm edge copy. */
|
|
1926
2111
|
cache: 'hit' | 'miss' | 'materialized';
|
|
1927
2112
|
}
|
|
1928
|
-
interface ChartDoc {
|
|
2113
|
+
interface ChartDoc extends DesignerSettingsFields {
|
|
1929
2114
|
version: 1;
|
|
1930
2115
|
name: string;
|
|
1931
2116
|
venueType: 'SIMPLE' | 'MIXED';
|
|
@@ -1998,4 +2183,4 @@ interface ChartDoc {
|
|
|
1998
2183
|
derivedRestrictedView?: boolean;
|
|
1999
2184
|
}
|
|
2000
2185
|
|
|
2001
|
-
export { type
|
|
2186
|
+
export { type ReferenceAccessibilitySource as $, type AccessibilityType as A, type BoothObject as B, type ChartDoc as C, ACCESSIBILITY_RING_COLOR as D, ACCESSIBILITY_TYPES as E, type FloorLabelStyle as F, type GAAreaObject as G, type AccessibilityMeta as H, type AuthoringObjectState as I, BOOTH_TYPES as J, type ChartDeliveryPerformance as K, type LabelStyle as L, type ChartLayoutConstraint as M, type ChartTheme as N, type ConfidenceEvidenceScope as O, type Point as P, type DecorImageObject as Q, type RowObject as R, type SeatCommercialMark as S, type TableObject as T, LABEL_STYLE_MAX_SIZE as U, LABEL_STYLE_MIN_SIZE as V, type LabelPresentation as W, type ObjectEditorState as X, type Physical3dEvidence as Y, ROW_AISLE_SEATS as Z, type RadialClearanceLayoutConstraint as _, type ChartObject as a, type ReferenceCalibration as a0, type ReferenceCategorySource as a1, type ReferenceDerivedScale as a2, type ReferenceDirectAnnotationSource as a3, type ReferenceDirectLandmarkCandidate as a4, type ReferenceDirectLandmarkDisposition as a5, type ReferenceDirectLandmarkRole as a6, type ReferenceDirectLandmarkSource as a7, type ReferenceDirectSeatGroup as a8, type ReferenceDirectSeatImportSource as a9, type SeatConfidenceModeledTarget as aA, type SeatConfidenceRealityLevel as aB, type SeatViewVariant as aC, type SelectionLayer as aD, type StageLabelDirection as aE, type StageLabelStyle as aF, type TextAlignment as aG, type TextBackground as aH, type TicketTierApplicability as aI, type TicketTierEvidence as aJ, type TicketTierRestriction as aK, type Venue3DMaterialPalette as aL, type VenueSurveyRegistrationEvidence as aM, type ZoneDef as aN, accessibilityMeta as aO, accessibilityRingColor as aP, layerOf as aQ, seatCommercialMeta as aR, type GateUse as aS, type GateShape as aT, type RouteShape as aU, type ReferenceDirectSeatPlan as aa, type ReferenceDirectStageSource as ab, type ReferenceEnrichmentStatus as ac, type ReferenceExtractEmptyReason as ad, type ReferenceExtractEnrichment as ae, type ReferenceExtractInput as af, type ReferenceExtractProposal as ag, type ReferenceExtractRegionSeats as ah, type ReferenceInventoryExclusionSource as ai, type ReferenceInventorySource as aj, type ReferenceMatchReport as ak, type ReferenceScanProposal as al, type ReferenceScanRowProposal as am, type ReferenceScanSectionProposal as an, type ReferenceSeatSeed as ao, type ReferenceSectionTraceBatchInput as ap, type ReferenceSectionTraceBatchProposal as aq, type ReferenceSectionTraceInput as ar, type ReferenceSectionTraceProposal as as, SEAT_COMMERCIAL_MARKS as at, STAGE_LABEL_STYLE_MAX_SIZE as au, SURROUNDINGS_SHAPE_ROLES as av, type SeatCommercialMeta as aw, type SeatConfidenceCoverage as ax, type SeatConfidenceEvidence as ay, type SeatConfidenceModelLevel as az, type SeatCommercialAttributes as b, type SeatViewMetadata as c, type ResolvedSeatConfidenceEvidence as d, type SeatGlyphKind as e, type SeatViewCoverage as f, type SectionOutlinePath as g, type SectionPathSegment as h, type SectionObject as i, type SeatOverride as j, type RectTableSide as k, type Floor as l, type RectTableSeatCounts as m, type ChartReferenceImage as n, type Category as o, type ShapeLineCap as p, type ShapeLineEnding as q, type ShapeLineJoin as r, type ShapeObject as s, type GAInventorySegment as t, type CategoryTier as u, type CubicPath as v, type TextObject as w, type TableChairNumbering as x, type RowAisleSeats as y, type BoothType as z };
|
|
@@ -598,6 +598,120 @@ interface RadialClearanceLayoutConstraint {
|
|
|
598
598
|
}
|
|
599
599
|
type ChartLayoutConstraint = RadialClearanceLayoutConstraint;
|
|
600
600
|
|
|
601
|
+
/**
|
|
602
|
+
* Gates and step-free routes: the named ways in and out of a venue (board 3).
|
|
603
|
+
*
|
|
604
|
+
* THE MODEL. A gate is a `ShapeObject` with `role: 'entrance' | 'exit'` that
|
|
605
|
+
* carries a `gate` record. The shape's `label` is the gate's name ("Gate C")
|
|
606
|
+
* and its box is the pill drawn on the map, so every path that already knows
|
|
607
|
+
* shapes (move, rotate, floors, copy, 3D gate signs, selection layers) handles
|
|
608
|
+
* a gate with no new object type. An old décor Entrance or Exit (no `gate`)
|
|
609
|
+
* keeps rendering exactly as before, and "Make this a gate" adds the record.
|
|
610
|
+
*
|
|
611
|
+
* Sections, rows, tables, booths and standing areas point at a gate with
|
|
612
|
+
* `entranceGateId`. Their free-text `entrance` stays: while a gate is assigned
|
|
613
|
+
* it holds the gate's name, so a buyer runtime that only knows `entrance`
|
|
614
|
+
* still reads "Gate C". Typing a different entrance by hand detaches the gate.
|
|
615
|
+
*
|
|
616
|
+
* A step-free route is an open path (`line`/`polyline`) carrying `route`; its
|
|
617
|
+
* `label` is the route's name.
|
|
618
|
+
*/
|
|
619
|
+
|
|
620
|
+
type GateUse = 'in' | 'out' | 'both';
|
|
621
|
+
interface GateInfo {
|
|
622
|
+
/** What people use it for: coming in, leaving, or both. */
|
|
623
|
+
use: GateUse;
|
|
624
|
+
/** Step-free access (level or ramped, no stairs). Stored only when true. */
|
|
625
|
+
stepFree?: boolean;
|
|
626
|
+
/** When it opens, in the organizer's words ("90 min before"). ≤40 characters. */
|
|
627
|
+
opens?: string;
|
|
628
|
+
/** Organizer-only: buyers get no sign and no "Enter by" line. Stored only when true. */
|
|
629
|
+
hideFromBuyers?: boolean;
|
|
630
|
+
}
|
|
631
|
+
interface RouteInfo {
|
|
632
|
+
/** The path is step-free. Stored only when true. */
|
|
633
|
+
stepFree?: boolean;
|
|
634
|
+
}
|
|
635
|
+
/** Fields a shape gains to be a gate or a route. */
|
|
636
|
+
interface GateFields {
|
|
637
|
+
gate?: GateInfo;
|
|
638
|
+
route?: RouteInfo;
|
|
639
|
+
}
|
|
640
|
+
/** The gate a place's buyers enter by. */
|
|
641
|
+
interface GateEntranceRef {
|
|
642
|
+
/** Id of a gate shape anywhere in the chart (any floor). */
|
|
643
|
+
entranceGateId?: string;
|
|
644
|
+
}
|
|
645
|
+
type GateShape = ShapeObject & {
|
|
646
|
+
gate: GateInfo;
|
|
647
|
+
};
|
|
648
|
+
type RouteShape = ShapeObject & {
|
|
649
|
+
route: RouteInfo;
|
|
650
|
+
};
|
|
651
|
+
|
|
652
|
+
/**
|
|
653
|
+
* Real lengths in the organizer's unit (board 8, "Real sizes").
|
|
654
|
+
*
|
|
655
|
+
* The chart stores geometry in chart units. What a person reads is metres or
|
|
656
|
+
* feet, chosen per chart in Chart settings. Every place that shows a distance
|
|
657
|
+
* (canvas labels, rulers, the scale bar, panel fields, venue advice) formats it
|
|
658
|
+
* here, so a size never reads differently in two places.
|
|
659
|
+
*
|
|
660
|
+
* Pure: no DOM, no chart document.
|
|
661
|
+
*/
|
|
662
|
+
type LengthUnit = 'm' | 'ft';
|
|
663
|
+
|
|
664
|
+
/**
|
|
665
|
+
* Organizer-only chart settings for real sizes and venue advice (boards 8, 9).
|
|
666
|
+
*
|
|
667
|
+
* THE FIELD. `ChartDoc.designerSettings` is optional; a chart without it reads
|
|
668
|
+
* in metres at the standard seat scale with no advice limits, exactly as every
|
|
669
|
+
* chart did before. Nothing here is buyer-facing: the buyer projection drops
|
|
670
|
+
* the whole field (`buyerFacingChartDoc`), and the confidence view basis
|
|
671
|
+
* ignores it, so changing a limit never re-stamps a published view.
|
|
672
|
+
*
|
|
673
|
+
* Readers never trust the stored shape: an imported or agent-written value
|
|
674
|
+
* that is out of range reads as "not set", never as a throw.
|
|
675
|
+
*/
|
|
676
|
+
|
|
677
|
+
/** Venue advice limits. Each is off until the organizer sets it. */
|
|
678
|
+
interface AdviceLimits {
|
|
679
|
+
/** Most seats in a row between two aisles. */
|
|
680
|
+
maxSeatsBetweenAisles?: number;
|
|
681
|
+
/** Narrowest aisle, in metres. */
|
|
682
|
+
minAisleWidthM?: number;
|
|
683
|
+
/** Farthest any seat may be from an exit, in metres, along the aisles. */
|
|
684
|
+
maxExitDistanceM?: number;
|
|
685
|
+
/** Warn when booths, tables or standing areas overlap each other. */
|
|
686
|
+
warnOverlaps?: boolean;
|
|
687
|
+
}
|
|
688
|
+
/** One advice item the organizer marked "Fine as it is". */
|
|
689
|
+
interface AdviceFineMark {
|
|
690
|
+
/** The advice item's stable key ("seats:row_12", "aisle:sec_a|sec_b"). */
|
|
691
|
+
key: string;
|
|
692
|
+
/** What it was about, as the list named it ("Row A, Circle"). */
|
|
693
|
+
subject: string;
|
|
694
|
+
/** Who marked it, by first name, when known. */
|
|
695
|
+
by?: string;
|
|
696
|
+
/** When, in epoch milliseconds. */
|
|
697
|
+
at: number;
|
|
698
|
+
}
|
|
699
|
+
interface ChartDesignerSettings {
|
|
700
|
+
/** The unit every size reads in. Absent = metres. */
|
|
701
|
+
units?: LengthUnit;
|
|
702
|
+
/**
|
|
703
|
+
* Chart units per metre, from "Set the scale" on a chart without a plan.
|
|
704
|
+
* A plan's own calibration wins over it; absent = the standard seat scale.
|
|
705
|
+
*/
|
|
706
|
+
unitsPerMetre?: number;
|
|
707
|
+
advice?: AdviceLimits;
|
|
708
|
+
adviceFine?: AdviceFineMark[];
|
|
709
|
+
}
|
|
710
|
+
/** What a chart document gains to carry these settings. */
|
|
711
|
+
interface DesignerSettingsFields {
|
|
712
|
+
designerSettings?: ChartDesignerSettings;
|
|
713
|
+
}
|
|
714
|
+
|
|
601
715
|
interface Point {
|
|
602
716
|
x: number;
|
|
603
717
|
y: number;
|
|
@@ -1051,7 +1165,10 @@ interface ChartTheme {
|
|
|
1051
1165
|
/** Premium, bounded material palette for the optional 3D venue renderer. */
|
|
1052
1166
|
venue3d?: Venue3DMaterialPalette;
|
|
1053
1167
|
}
|
|
1054
|
-
|
|
1168
|
+
/** A row's aisle-seat ends, when the author overrides the automatic ones. */
|
|
1169
|
+
type RowAisleSeats = 'start' | 'end' | 'both' | 'none';
|
|
1170
|
+
declare const ROW_AISLE_SEATS: readonly RowAisleSeats[];
|
|
1171
|
+
interface RowObject extends AuthoringObjectState, GateEntranceRef {
|
|
1055
1172
|
type: 'row';
|
|
1056
1173
|
id: string;
|
|
1057
1174
|
/** Present when this row was materialized by the in-canvas reference scan.
|
|
@@ -1095,6 +1212,16 @@ interface RowObject extends AuthoringObjectState {
|
|
|
1095
1212
|
* booking identity, is untouched.
|
|
1096
1213
|
*/
|
|
1097
1214
|
seatDisplayLabelMode?: 'number';
|
|
1215
|
+
/**
|
|
1216
|
+
* Which ENDS of this physical row are aisle seats for buyers ("Aisle seat"
|
|
1217
|
+
* on the seat card). Absent = automatic: the first and last seat, except
|
|
1218
|
+
* at a segmented-row junction declared `continuous`. Set, it replaces those
|
|
1219
|
+
* two ends only; a seat beside a skipped seat is an aisle seat either way.
|
|
1220
|
+
* Pure presentation: never an accessibility type (that is
|
|
1221
|
+
* `designated-aisle`, "Aisle transfer"), and never booking identity.
|
|
1222
|
+
* See `core/layout/aisleSeats`.
|
|
1223
|
+
*/
|
|
1224
|
+
aisleSeats?: RowAisleSeats;
|
|
1098
1225
|
/** Buyer-facing row name. `label` remains the legacy inventory prefix. */
|
|
1099
1226
|
displayLabel?: string;
|
|
1100
1227
|
/**
|
|
@@ -1269,7 +1396,7 @@ interface RowObject extends AuthoringObjectState {
|
|
|
1269
1396
|
/** Default commercial attributes inherited by seats without an override. */
|
|
1270
1397
|
commercial?: SeatCommercialAttributes;
|
|
1271
1398
|
}
|
|
1272
|
-
interface GAAreaObject extends AuthoringObjectState {
|
|
1399
|
+
interface GAAreaObject extends AuthoringObjectState, GateEntranceRef {
|
|
1273
1400
|
type: 'gaArea';
|
|
1274
1401
|
id: string;
|
|
1275
1402
|
/** Stable technical/inventory label. */
|
|
@@ -1307,6 +1434,24 @@ interface GAAreaObject extends AuthoringObjectState {
|
|
|
1307
1434
|
*/
|
|
1308
1435
|
inventorySegments?: GAInventorySegment[];
|
|
1309
1436
|
referenceInventorySource?: ReferenceInventorySource;
|
|
1437
|
+
/** Sold as a box (model-2 events only): one party takes the whole area at
|
|
1438
|
+
* exactly `capacity` guests. One inventory unit labelled `label`. */
|
|
1439
|
+
bookAsWhole?: boolean;
|
|
1440
|
+
/** Sold as a box to one party choosing a guest count within the bounds below. */
|
|
1441
|
+
variableOccupancy?: boolean;
|
|
1442
|
+
/** Required inclusive guest bounds when `variableOccupancy` is true. */
|
|
1443
|
+
minOccupancy?: number;
|
|
1444
|
+
maxOccupancy?: number;
|
|
1445
|
+
/** How many of the `capacity` places are wheelchair places (0 ≤ n ≤ capacity).
|
|
1446
|
+
* The last n standing units carry `accessibility: ['wheelchair']`; a box
|
|
1447
|
+
* area's single unit carries it when n > 0. Labels never change. */
|
|
1448
|
+
wheelchairPlaces?: number;
|
|
1449
|
+
/** Name drawn on the map: `visible` and `labelStyle.size` only (buyer and
|
|
1450
|
+
* Designer renderers). Absent = shown at the default size. */
|
|
1451
|
+
labelPresentation?: LabelPresentation;
|
|
1452
|
+
/** Buyer-facing entrance/door hint ("Door 4"), ≤40 chars. Absent = the owning
|
|
1453
|
+
* section's entrance, if any. Pure presentation. */
|
|
1454
|
+
entrance?: string;
|
|
1310
1455
|
}
|
|
1311
1456
|
interface GAInventorySegment {
|
|
1312
1457
|
sourceAreaId: string;
|
|
@@ -1367,7 +1512,7 @@ type ShapeLineCap = 'butt' | 'round' | 'square';
|
|
|
1367
1512
|
type ShapeLineJoin = 'miter' | 'round' | 'bevel';
|
|
1368
1513
|
type ShapeLineEnding = 'none' | 'arrow';
|
|
1369
1514
|
/** Non-bookable décor: stage, walls, exits. */
|
|
1370
|
-
interface ShapeObject extends AuthoringObjectState {
|
|
1515
|
+
interface ShapeObject extends AuthoringObjectState, GateFields {
|
|
1371
1516
|
type: 'shape';
|
|
1372
1517
|
id: string;
|
|
1373
1518
|
/**
|
|
@@ -1386,6 +1531,11 @@ interface ShapeObject extends AuthoringObjectState {
|
|
|
1386
1531
|
height?: number;
|
|
1387
1532
|
/** For polygon/line/polyline. */
|
|
1388
1533
|
points?: Point[];
|
|
1534
|
+
/** Polygon only: one curve per side of {@link points} (side `i` runs from point `i` to `i+1`), -100..100,
|
|
1535
|
+
* 0 = straight, as {@link SectionObject.edgeCurvature}. The points stay authoritative. */
|
|
1536
|
+
edgeCurvature?: number[];
|
|
1537
|
+
/** Polygon only: cut-outs (a pillar, a ring bar's middle): simple polygons inside the outline, never overlapping. */
|
|
1538
|
+
holes?: Point[][];
|
|
1389
1539
|
fill?: string;
|
|
1390
1540
|
/** Optional outline. `width` is in chart units; both fields are required together. */
|
|
1391
1541
|
stroke?: {
|
|
@@ -1444,7 +1594,7 @@ interface RectTableSeatCounts {
|
|
|
1444
1594
|
/** Seats arranged around a table. Grouped selling is activated only by an
|
|
1445
1595
|
* event's explicit inventory-model-2 snapshot; model-1 events continue to
|
|
1446
1596
|
* treat every authored chair as an independent unit. */
|
|
1447
|
-
interface TableObject extends AuthoringObjectState {
|
|
1597
|
+
interface TableObject extends AuthoringObjectState, GateEntranceRef {
|
|
1448
1598
|
type: 'table';
|
|
1449
1599
|
id: string;
|
|
1450
1600
|
/** e.g. "T1" — seat labels are `${label}-${n}`. */
|
|
@@ -1503,9 +1653,30 @@ interface TableObject extends AuthoringObjectState {
|
|
|
1503
1653
|
assetId: string;
|
|
1504
1654
|
sectionId?: string;
|
|
1505
1655
|
};
|
|
1656
|
+
/** How chairs are NUMBERED for buyers (display only). Booking labels stay
|
|
1657
|
+
* `${label}-${index + 1}` whatever this says. Absent = today's "T1-1…" order. */
|
|
1658
|
+
chairNumbering?: TableChairNumbering;
|
|
1659
|
+
/** Name drawn on the map: `visible` and `labelStyle.size` only (buyer and
|
|
1660
|
+
* Designer renderers). Absent = shown at the default size. */
|
|
1661
|
+
labelPresentation?: LabelPresentation;
|
|
1662
|
+
/** Buyer-facing entrance/door hint ("Door 4"), ≤40 chars. Absent = the owning
|
|
1663
|
+
* section's entrance, if any. Pure presentation. */
|
|
1664
|
+
entrance?: string;
|
|
1506
1665
|
}
|
|
1666
|
+
/** Buyer-facing chair numbering of a table. Changes only what buyers read. */
|
|
1667
|
+
interface TableChairNumbering {
|
|
1668
|
+
/** First chair's number, 0–999. Default 1. */
|
|
1669
|
+
start?: number;
|
|
1670
|
+
/** Walk the chairs in the authored order (clockwise) or reversed. Default clockwise. */
|
|
1671
|
+
direction?: 'clockwise' | 'anticlockwise';
|
|
1672
|
+
/** "T1-1" (table name + number), "1", or "A". Default 'table-number'. */
|
|
1673
|
+
format?: 'table-number' | 'number' | 'letter';
|
|
1674
|
+
}
|
|
1675
|
+
/** How many sides of a booth are open to the aisle: inline 1, corner 2, peninsula 3, island 4. */
|
|
1676
|
+
type BoothType = 'inline' | 'corner' | 'peninsula' | 'island';
|
|
1677
|
+
declare const BOOTH_TYPES: readonly BoothType[];
|
|
1507
1678
|
/** A booth: one bookable unit rendered as a block (trade shows, VIP boxes). */
|
|
1508
|
-
interface BoothObject extends AuthoringObjectState {
|
|
1679
|
+
interface BoothObject extends AuthoringObjectState, GateEntranceRef {
|
|
1509
1680
|
type: 'booth';
|
|
1510
1681
|
id: string;
|
|
1511
1682
|
/** Stable technical/inventory label. */
|
|
@@ -1531,6 +1702,18 @@ interface BoothObject extends AuthoringObjectState {
|
|
|
1531
1702
|
points?: Point[];
|
|
1532
1703
|
categoryKey: string;
|
|
1533
1704
|
referenceInventorySource?: ReferenceInventorySource;
|
|
1705
|
+
/** Open sides of the stand (inline/corner/peninsula/island). Buyer-facing. */
|
|
1706
|
+
boothType?: BoothType;
|
|
1707
|
+
/** Buyer note (≤160 chars, normalised like a seat note), shown wherever a seat note is. */
|
|
1708
|
+
commercial?: {
|
|
1709
|
+
note?: string;
|
|
1710
|
+
};
|
|
1711
|
+
/** Name drawn on the map: `visible` and `labelStyle.size` only (buyer and
|
|
1712
|
+
* Designer renderers). Absent = shown at the default size. */
|
|
1713
|
+
labelPresentation?: LabelPresentation;
|
|
1714
|
+
/** Buyer-facing entrance/door hint ("Door 4"), ≤40 chars. Absent = the owning
|
|
1715
|
+
* section's entrance, if any. Pure presentation. */
|
|
1716
|
+
entrance?: string;
|
|
1534
1717
|
}
|
|
1535
1718
|
/**
|
|
1536
1719
|
* A named region of the venue (Balcony Left, Floor B…). Sections are outlines
|
|
@@ -1539,7 +1722,7 @@ interface BoothObject extends AuthoringObjectState {
|
|
|
1539
1722
|
* Renderer: far zoom shows section shapes/labels instead of seats; clicking
|
|
1540
1723
|
* a section zooms into it.
|
|
1541
1724
|
*/
|
|
1542
|
-
interface SectionObject extends AuthoringObjectState {
|
|
1725
|
+
interface SectionObject extends AuthoringObjectState, GateEntranceRef {
|
|
1543
1726
|
type: 'section';
|
|
1544
1727
|
id: string;
|
|
1545
1728
|
label: string;
|
|
@@ -1681,7 +1864,9 @@ interface SectionObject extends AuthoringObjectState {
|
|
|
1681
1864
|
*
|
|
1682
1865
|
* Positive bows to the LEFT of that edge's own direction. The sign is relative
|
|
1683
1866
|
* to the edge, never to world axes, which is what lets curvature survive
|
|
1684
|
-
*
|
|
1867
|
+
* move / rotate / scale / radial repeat with no per-operation handling. A
|
|
1868
|
+
* flip or mirror reverses the winding, so it must negate every entry
|
|
1869
|
+
* (`reflectEdgeCurvature`) or the curves come out inside out.
|
|
1685
1870
|
*
|
|
1686
1871
|
* Coordinate-free like {@link cornerSmoothing}, so it round-trips over MCP and
|
|
1687
1872
|
* the server never accepts client geometry. Absent/all-zero = straight edges;
|
|
@@ -1925,7 +2110,7 @@ interface ChartDeliveryPerformance {
|
|
|
1925
2110
|
/** Whether the transformed chart body was served from a warm edge copy. */
|
|
1926
2111
|
cache: 'hit' | 'miss' | 'materialized';
|
|
1927
2112
|
}
|
|
1928
|
-
interface ChartDoc {
|
|
2113
|
+
interface ChartDoc extends DesignerSettingsFields {
|
|
1929
2114
|
version: 1;
|
|
1930
2115
|
name: string;
|
|
1931
2116
|
venueType: 'SIMPLE' | 'MIXED';
|
|
@@ -1998,4 +2183,4 @@ interface ChartDoc {
|
|
|
1998
2183
|
derivedRestrictedView?: boolean;
|
|
1999
2184
|
}
|
|
2000
2185
|
|
|
2001
|
-
export { type
|
|
2186
|
+
export { type ReferenceAccessibilitySource as $, type AccessibilityType as A, type BoothObject as B, type ChartDoc as C, ACCESSIBILITY_RING_COLOR as D, ACCESSIBILITY_TYPES as E, type FloorLabelStyle as F, type GAAreaObject as G, type AccessibilityMeta as H, type AuthoringObjectState as I, BOOTH_TYPES as J, type ChartDeliveryPerformance as K, type LabelStyle as L, type ChartLayoutConstraint as M, type ChartTheme as N, type ConfidenceEvidenceScope as O, type Point as P, type DecorImageObject as Q, type RowObject as R, type SeatCommercialMark as S, type TableObject as T, LABEL_STYLE_MAX_SIZE as U, LABEL_STYLE_MIN_SIZE as V, type LabelPresentation as W, type ObjectEditorState as X, type Physical3dEvidence as Y, ROW_AISLE_SEATS as Z, type RadialClearanceLayoutConstraint as _, type ChartObject as a, type ReferenceCalibration as a0, type ReferenceCategorySource as a1, type ReferenceDerivedScale as a2, type ReferenceDirectAnnotationSource as a3, type ReferenceDirectLandmarkCandidate as a4, type ReferenceDirectLandmarkDisposition as a5, type ReferenceDirectLandmarkRole as a6, type ReferenceDirectLandmarkSource as a7, type ReferenceDirectSeatGroup as a8, type ReferenceDirectSeatImportSource as a9, type SeatConfidenceModeledTarget as aA, type SeatConfidenceRealityLevel as aB, type SeatViewVariant as aC, type SelectionLayer as aD, type StageLabelDirection as aE, type StageLabelStyle as aF, type TextAlignment as aG, type TextBackground as aH, type TicketTierApplicability as aI, type TicketTierEvidence as aJ, type TicketTierRestriction as aK, type Venue3DMaterialPalette as aL, type VenueSurveyRegistrationEvidence as aM, type ZoneDef as aN, accessibilityMeta as aO, accessibilityRingColor as aP, layerOf as aQ, seatCommercialMeta as aR, type GateUse as aS, type GateShape as aT, type RouteShape as aU, type ReferenceDirectSeatPlan as aa, type ReferenceDirectStageSource as ab, type ReferenceEnrichmentStatus as ac, type ReferenceExtractEmptyReason as ad, type ReferenceExtractEnrichment as ae, type ReferenceExtractInput as af, type ReferenceExtractProposal as ag, type ReferenceExtractRegionSeats as ah, type ReferenceInventoryExclusionSource as ai, type ReferenceInventorySource as aj, type ReferenceMatchReport as ak, type ReferenceScanProposal as al, type ReferenceScanRowProposal as am, type ReferenceScanSectionProposal as an, type ReferenceSeatSeed as ao, type ReferenceSectionTraceBatchInput as ap, type ReferenceSectionTraceBatchProposal as aq, type ReferenceSectionTraceInput as ar, type ReferenceSectionTraceProposal as as, SEAT_COMMERCIAL_MARKS as at, STAGE_LABEL_STYLE_MAX_SIZE as au, SURROUNDINGS_SHAPE_ROLES as av, type SeatCommercialMeta as aw, type SeatConfidenceCoverage as ax, type SeatConfidenceEvidence as ay, type SeatConfidenceModelLevel as az, type SeatCommercialAttributes as b, type SeatViewMetadata as c, type ResolvedSeatConfidenceEvidence as d, type SeatGlyphKind as e, type SeatViewCoverage as f, type SectionOutlinePath as g, type SectionPathSegment as h, type SectionObject as i, type SeatOverride as j, type RectTableSide as k, type Floor as l, type RectTableSeatCounts as m, type ChartReferenceImage as n, type Category as o, type ShapeLineCap as p, type ShapeLineEnding as q, type ShapeLineJoin as r, type ShapeObject as s, type GAInventorySegment as t, type CategoryTier as u, type CubicPath as v, type TextObject as w, type TableChairNumbering as x, type RowAisleSeats as y, type BoothType as z };
|