@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
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { c as SeatViewMetadata, i as SectionObject,
|
|
1
|
+
import { c as SeatViewMetadata, i as SectionObject, aN as ZoneDef, C as ChartDoc, P as Point, v as CubicPath, o as Category, u as CategoryTier, a9 as ReferenceDirectSeatImportSource, e as SeatGlyphKind, N as ChartTheme, R as RowObject, an as ReferenceScanSectionProposal, al as ReferenceScanProposal, B as BoothObject, z as BoothType, G as GAAreaObject, y as RowAisleSeats, s as ShapeObject, T as TableObject, x as TableChairNumbering, w as TextObject, aH as TextBackground, j as SeatOverride, a as ChartObject, A as AccessibilityType, ay as SeatConfidenceEvidence, O as ConfidenceEvidenceScope, aS as GateUse, aT as GateShape, aU as RouteShape } from '../../types-ZviQR7ch.js';
|
|
2
2
|
import { S as StageKind } from '../../stage-CKb7aNoH.js';
|
|
3
|
-
import { e as CategoryInventoryObjectType } from '../../categoryInventory-
|
|
4
|
-
import { R as RelabelOptions } from '../../labeling-
|
|
5
|
-
export { D as DEFAULT_SECTION_CORNER_SMOOTHING } from '../../labeling-
|
|
3
|
+
import { e as CategoryInventoryObjectType } from '../../categoryInventory-i-mGCBD3.js';
|
|
4
|
+
import { R as RelabelOptions } from '../../labeling-20iLar-Q.js';
|
|
5
|
+
export { D as DEFAULT_SECTION_CORNER_SMOOTHING } from '../../labeling-20iLar-Q.js';
|
|
6
6
|
|
|
7
7
|
type ChartObjectIdFactory = (prefix: string) => string;
|
|
8
8
|
type AutomaticPlacement = 'auto' | 'front' | 'rear' | 'left' | 'right';
|
|
@@ -402,7 +402,7 @@ declare function applySectionRowFit(doc: ChartDoc, input: SectionRowFitInput): S
|
|
|
402
402
|
interface PolygonHolePreview {
|
|
403
403
|
floorId: string;
|
|
404
404
|
objectId: string;
|
|
405
|
-
objectType: 'section' | 'gaArea';
|
|
405
|
+
objectType: 'section' | 'gaArea' | 'shape';
|
|
406
406
|
holeIndex: number;
|
|
407
407
|
vertexCount: number;
|
|
408
408
|
excludedObjectIds: string[];
|
|
@@ -437,6 +437,15 @@ declare function removePolygonHole(doc: ChartDoc, input: {
|
|
|
437
437
|
changed: true;
|
|
438
438
|
};
|
|
439
439
|
|
|
440
|
+
/** Okabe-Ito colorblind-safe hues (black dropped — unreadable on dark charts).
|
|
441
|
+
* Single source of truth for the colorblind-safe palette. The author-time
|
|
442
|
+
* preview, the new-category seed, the reassign op in chart-ops/categories, and
|
|
443
|
+
* SeatmapRenderer's colorblind mode all key off THIS array by category document
|
|
444
|
+
* order, so a reassigned chart reads identically with colorblind mode on or off.
|
|
445
|
+
* A dependency-free leaf so render assets (the venue pictogram badges) can use
|
|
446
|
+
* it without importing the chart-ops graph. */
|
|
447
|
+
declare const COLORBLIND_SAFE_PALETTE: readonly ["#e69f00", "#56b4e9", "#009e73", "#f0e442", "#0072b2", "#d55e00", "#cc79a7"];
|
|
448
|
+
|
|
440
449
|
type SharedCategoryPatch = Partial<Pick<Category, 'label' | 'color' | 'price' | 'notForSale' | 'seatGlyph'>> & {
|
|
441
450
|
tiers?: CategoryTier[] | null;
|
|
442
451
|
};
|
|
@@ -476,12 +485,7 @@ declare function reorderChartCategories(doc: ChartDoc, input: {
|
|
|
476
485
|
categoryKeys: string[];
|
|
477
486
|
categories: Category[];
|
|
478
487
|
};
|
|
479
|
-
|
|
480
|
-
* Single source of truth for the colorblind-safe palette. The author-time
|
|
481
|
-
* preview, the new-category seed, the reassign op below, and SeatmapRenderer's
|
|
482
|
-
* colorblind mode all key off THIS array by category document order, so a
|
|
483
|
-
* reassigned chart reads identically with colorblind mode on or off. */
|
|
484
|
-
declare const COLORBLIND_SAFE_PALETTE: readonly ["#e69f00", "#56b4e9", "#009e73", "#f0e442", "#0072b2", "#d55e00", "#cc79a7"];
|
|
488
|
+
|
|
485
489
|
/**
|
|
486
490
|
* First Okabe-Ito hue that stays distinct from every color already in use, so
|
|
487
491
|
* the next category seeds a colorblind-safe hue. Falls back to indexing into the
|
|
@@ -536,9 +540,26 @@ declare function addChartCategory(doc: ChartDoc, input: {
|
|
|
536
540
|
category: Category;
|
|
537
541
|
categories: Category[];
|
|
538
542
|
};
|
|
543
|
+
/**
|
|
544
|
+
* Distinct, contrast-safe hues for auto-created inventory-family categories.
|
|
545
|
+
* Members are widely separated so a minted sibling never trips the palette
|
|
546
|
+
* contrast or colorblind-similarity warnings on the default authoring path.
|
|
547
|
+
*
|
|
548
|
+
* Board 10, N5 "First colours": teal, indigo, amber, purple, and red never
|
|
549
|
+
* first. Red reads as "sold" or "error" on a seat map, so the reds sit at the
|
|
550
|
+
* end and are only reached once every calmer hue is taken. This seeds NEW
|
|
551
|
+
* categories only; a chart's existing colours never change. The purple is a
|
|
552
|
+
* touch warmer than the board's first #9b6bd1, which sits ΔE 19 from the
|
|
553
|
+
* indigo, and the amber a touch deeper than #d9922b so a standing area filled
|
|
554
|
+
* with it still reads 3:1 on a light and a dark map (board 10, N5).
|
|
555
|
+
*/
|
|
556
|
+
declare const FIRST_CATEGORY_COLOURS: readonly ["#3e8e7e", "#6e7ff0", "#b0700f", "#b05fc4"];
|
|
539
557
|
/** Plain-language derived name for a family sibling, e.g. “Standard – Tables”.
|
|
540
558
|
* Any family suffix already on the base is stripped first so the words never
|
|
541
|
-
* stack (“Standard – Tables” + booth → “Standard – Booths”).
|
|
559
|
+
* stack (“Standard – Tables” + booth → “Standard – Booths”). A base that is
|
|
560
|
+
* itself a plain kind word (“Seats”, the name a first row is given) says
|
|
561
|
+
* nothing about the new place, so its sibling is the plain word too: “Tables”,
|
|
562
|
+
* never “Seats – Tables” (board 10, N4). */
|
|
542
563
|
declare function familyCategoryLabel(baseLabel: string, objectType: CategoryInventoryObjectType): string;
|
|
543
564
|
interface ResolveCreationCategoryOptions {
|
|
544
565
|
idFactory: ChartObjectIdFactory;
|
|
@@ -576,7 +597,10 @@ declare function planCreationCategory(doc: ChartDoc, activeCategoryKey: string,
|
|
|
576
597
|
* designer's active key stays empty through that first mint;
|
|
577
598
|
* 3. else reuse an existing, still family-safe sibling with the derived name
|
|
578
599
|
* (e.g. “Standard – Tables”) if one already exists;
|
|
579
|
-
* 4. else
|
|
600
|
+
* 4. else reuse the category this family is already priced by, even with an
|
|
601
|
+
* active category of another kind (the Standing tool with “Seats” active
|
|
602
|
+
* takes the standing category the chart already has);
|
|
603
|
+
* 5. else mint a sibling from the base category — same price and ticket tiers,
|
|
580
604
|
* a plain “<Base> – Tables/Booths/Standing/Seats” name, and a distinct
|
|
581
605
|
* colorblind-safe color so no contrast/CVD warning appears. With no active
|
|
582
606
|
* category there is no author intent to inherit, so the mint is a plain
|
|
@@ -595,6 +619,42 @@ declare function removeChartCategory(doc: ChartDoc, input: {
|
|
|
595
619
|
categories: Category[];
|
|
596
620
|
};
|
|
597
621
|
|
|
622
|
+
interface CategoryDraft {
|
|
623
|
+
label: string;
|
|
624
|
+
color: string;
|
|
625
|
+
price?: number;
|
|
626
|
+
tiers?: CategoryTier[];
|
|
627
|
+
notForSale?: boolean;
|
|
628
|
+
seatGlyph?: SeatGlyphKind;
|
|
629
|
+
}
|
|
630
|
+
/**
|
|
631
|
+
* Add every draft in order. Labels that are already taken get " 2", " 3"… so
|
|
632
|
+
* a starter set or a plan's key never fails on one duplicate name.
|
|
633
|
+
*/
|
|
634
|
+
declare function addChartCategories(doc: ChartDoc, input: {
|
|
635
|
+
drafts: readonly CategoryDraft[];
|
|
636
|
+
idFactory: ChartObjectIdFactory;
|
|
637
|
+
}): {
|
|
638
|
+
categoryKeys: string[];
|
|
639
|
+
categories: Category[];
|
|
640
|
+
};
|
|
641
|
+
/** "Stalls", or "Stalls 2" when that name is taken (names are unique, ignoring case). */
|
|
642
|
+
declare function uniqueCategoryLabel(categories: readonly Pick<Category, 'label'>[], wanted: string): string;
|
|
643
|
+
/**
|
|
644
|
+
* Everything that uses `categoryKey` (rows, tables, booths, standing areas,
|
|
645
|
+
* seat overrides and a section's default for new seats) moves to
|
|
646
|
+
* `toCategoryKey`, then the category is removed. Returns how many objects
|
|
647
|
+
* changed. Reference-backed categories and the last category stay protected,
|
|
648
|
+
* exactly as `removeChartCategory` enforces.
|
|
649
|
+
*/
|
|
650
|
+
declare function removeCategoryMovingInventory(doc: ChartDoc, input: {
|
|
651
|
+
categoryKey: string;
|
|
652
|
+
toCategoryKey?: string;
|
|
653
|
+
}): {
|
|
654
|
+
movedObjectIds: string[];
|
|
655
|
+
categories: Category[];
|
|
656
|
+
};
|
|
657
|
+
|
|
598
658
|
type SharedThemePatch = {
|
|
599
659
|
background?: string | null;
|
|
600
660
|
seatLabelColor?: string | null;
|
|
@@ -916,7 +976,12 @@ interface ReferenceScanApplyResult extends ReferenceScanPreview {
|
|
|
916
976
|
}
|
|
917
977
|
declare function applyReferenceScanRows(doc: ChartDoc, proposal: ReferenceScanProposal, opts: ReferenceScanRowsOptions): ReferenceScanApplyResult;
|
|
918
978
|
|
|
919
|
-
type SharedRowPatch = Partial<Omit<RowObject, 'type' | 'id' | 'arcFanGeneration' | 'segmentedRow' | 'rowBlockGeneration'>> & {
|
|
979
|
+
type SharedRowPatch = Partial<Omit<RowObject, 'type' | 'id' | 'arcFanGeneration' | 'segmentedRow' | 'rowBlockGeneration' | 'aisleSeats'>> & {
|
|
980
|
+
/**
|
|
981
|
+
* Which ends of the row are aisle seats for buyers. null restores the
|
|
982
|
+
* automatic ends (see core/layout/aisleSeats). Pure presentation.
|
|
983
|
+
*/
|
|
984
|
+
aisleSeats?: RowAisleSeats | null;
|
|
920
985
|
/**
|
|
921
986
|
* Coordinate-free label size/color/visibility merge directive. Applied on top
|
|
922
987
|
* of any `labelPresentation` in the same patch and, unlike a geometry edit,
|
|
@@ -941,15 +1006,31 @@ type SharedRowPatch = Partial<Omit<RowObject, 'type' | 'id' | 'arcFanGeneration'
|
|
|
941
1006
|
*/
|
|
942
1007
|
labelStyleShape?: 'plain' | 'pill';
|
|
943
1008
|
};
|
|
944
|
-
|
|
1009
|
+
/** Buyer-facing presentation shared by tables, booths and standing areas. */
|
|
1010
|
+
interface BookablePresentationPatch {
|
|
1011
|
+
/** Name on the map: `visible` and `size` (see LabelStylePatch). Colour is not offered here. */
|
|
1012
|
+
labelStyle?: LabelStylePatch;
|
|
1013
|
+
/** Entrance/door hint, ≤40 chars after NFKC + trim. null or '' clears it. */
|
|
1014
|
+
entrance?: string | null;
|
|
1015
|
+
}
|
|
1016
|
+
type SharedTablePatch = Partial<Pick<TableObject, 'label' | 'displayLabel' | 'displayType' | 'shape' | 'seatCount' | 'sides' | 'seatCountsBySide' | 'rotation' | 'radius' | 'automaticRadius' | 'seatArc' | 'width' | 'height' | 'categoryKey' | 'bookAsWhole' | 'variableOccupancy' | 'minOccupancy' | 'maxOccupancy'>> & BookablePresentationPatch & {
|
|
945
1017
|
fill?: string | null;
|
|
1018
|
+
/** Buyer-facing chair numbering (display only). Merged into the stored
|
|
1019
|
+
* numbering; null restores today's "T1-1, T1-2 …". Booking labels never change. */
|
|
1020
|
+
chairNumbering?: TableChairNumbering | null;
|
|
946
1021
|
};
|
|
947
|
-
type SharedBoothPatch = Partial<Pick<BoothObject, 'label' | 'displayLabel' | 'displayType' | 'width' | 'height' | 'rotation' | 'categoryKey'>> & {
|
|
1022
|
+
type SharedBoothPatch = Partial<Pick<BoothObject, 'label' | 'displayLabel' | 'displayType' | 'width' | 'height' | 'rotation' | 'categoryKey'>> & BookablePresentationPatch & {
|
|
948
1023
|
/** Custom booth outline (closed polygon, local coordinates relative to the
|
|
949
1024
|
* booth centre). `null` clears it, restoring the rectangle. */
|
|
950
1025
|
points?: Point[] | null;
|
|
1026
|
+
/** Open sides of the stand. null clears it. */
|
|
1027
|
+
boothType?: BoothType | null;
|
|
1028
|
+
/** Buyer note (≤160 chars). null/'' note clears it. */
|
|
1029
|
+
commercial?: {
|
|
1030
|
+
note?: string | null;
|
|
1031
|
+
} | null;
|
|
951
1032
|
};
|
|
952
|
-
type SharedGAAreaPatch = Partial<Pick<GAAreaObject, 'label' | 'displayLabel' | 'displayType' | 'capacity' | 'categoryKey' | 'cornerRadius'
|
|
1033
|
+
type SharedGAAreaPatch = Partial<Pick<GAAreaObject, 'label' | 'displayLabel' | 'displayType' | 'capacity' | 'categoryKey' | 'cornerRadius' | 'bookAsWhole' | 'variableOccupancy' | 'minOccupancy' | 'maxOccupancy' | 'wheelchairPlaces'>> & BookablePresentationPatch;
|
|
953
1034
|
interface StageLabelStylePatch {
|
|
954
1035
|
size?: number | null;
|
|
955
1036
|
color?: string | null;
|
|
@@ -976,6 +1057,14 @@ type SharedShapePatch = Partial<Pick<ShapeObject, 'kind'>> & {
|
|
|
976
1057
|
opacity?: number | null;
|
|
977
1058
|
/** Physical 3D extrusion in metres. null restores the semantic-role default. */
|
|
978
1059
|
heightM?: number | null;
|
|
1060
|
+
/** Degrees clockwise about the shape's own centre, as the canvas rotate handle
|
|
1061
|
+
* stores it (normalised to 0–360). null or 0 clears it. */
|
|
1062
|
+
rotation?: number | null;
|
|
1063
|
+
/** Custom outline (polygon) only, one shape at a time: one curve per side,
|
|
1064
|
+
* -100..100, side `i` from point `i` to point `i+1`, positive bows left of
|
|
1065
|
+
* that side's direction. Same meaning as a section's edgeCurvature. null or
|
|
1066
|
+
* an all-zero list makes every side straight again. */
|
|
1067
|
+
edgeCurvature?: number[] | null;
|
|
979
1068
|
/** Event layouts that include this structure. null makes it common to all. */
|
|
980
1069
|
eventConfigurationIds?: string[] | null;
|
|
981
1070
|
/** Open line/polyline only. null restores the legacy round cap. */
|
|
@@ -1263,6 +1352,19 @@ declare function joinGAAreas(doc: ChartDoc, input: {
|
|
|
1263
1352
|
changed: true;
|
|
1264
1353
|
};
|
|
1265
1354
|
|
|
1355
|
+
/**
|
|
1356
|
+
* A rectangle becomes a custom outline with the same four corners, fill,
|
|
1357
|
+
* outline and turn, so it looks identical and can then be reshaped, curved
|
|
1358
|
+
* and cut. Stages keep their own generated outline and are refused.
|
|
1359
|
+
*/
|
|
1360
|
+
declare function convertShapeToOutline(doc: ChartDoc, input: {
|
|
1361
|
+
floorId?: string;
|
|
1362
|
+
shapeId: string;
|
|
1363
|
+
}): {
|
|
1364
|
+
floorId: string;
|
|
1365
|
+
changed: boolean;
|
|
1366
|
+
shapeId: string;
|
|
1367
|
+
};
|
|
1266
1368
|
declare function updateShapes(doc: ChartDoc, input: {
|
|
1267
1369
|
floorId?: string;
|
|
1268
1370
|
shapeIds: string[];
|
|
@@ -1395,6 +1497,8 @@ declare function insertSeatingBlock(doc: ChartDoc, input: {
|
|
|
1395
1497
|
idFactory: ChartObjectIdFactory;
|
|
1396
1498
|
/** Section workspaces already provide the owning boundary. */
|
|
1397
1499
|
wrapInSection?: boolean;
|
|
1500
|
+
/** Degrees clockwise about `center` (the Designer's aimed ghost, R). */
|
|
1501
|
+
rotation?: number;
|
|
1398
1502
|
}): {
|
|
1399
1503
|
floorId: string;
|
|
1400
1504
|
blockKey: string;
|
|
@@ -1467,4 +1571,373 @@ declare function approveConfidenceEvidence(doc: ChartDoc, input: ConfidenceEvide
|
|
|
1467
1571
|
}): ConfidenceEvidenceMutation;
|
|
1468
1572
|
declare function retractConfidenceEvidence(doc: ChartDoc, target: ConfidenceEvidenceTarget): ConfidenceEvidenceMutation;
|
|
1469
1573
|
|
|
1470
|
-
|
|
1574
|
+
/** The step-free route's stroke: the accessibility blue buyers know. */
|
|
1575
|
+
declare const ROUTE_STROKE: {
|
|
1576
|
+
readonly color: string;
|
|
1577
|
+
readonly width: 4;
|
|
1578
|
+
};
|
|
1579
|
+
declare const DEFAULT_ROUTE_NAME = "Step-free route";
|
|
1580
|
+
interface GateSettings {
|
|
1581
|
+
name?: string;
|
|
1582
|
+
use?: GateUse;
|
|
1583
|
+
stepFree?: boolean;
|
|
1584
|
+
/** null clears. */
|
|
1585
|
+
opens?: string | null;
|
|
1586
|
+
hideFromBuyers?: boolean;
|
|
1587
|
+
}
|
|
1588
|
+
/** A new gate pill centred on `center`. Pure: nothing is added to a chart. */
|
|
1589
|
+
declare function gateShape(id: string, center: Point, settings: GateSettings & {
|
|
1590
|
+
name: string;
|
|
1591
|
+
}, rotation?: number): GateShape;
|
|
1592
|
+
/** Add a named gate on a floor (the first when none is given). */
|
|
1593
|
+
declare function addGate(doc: ChartDoc, input: GateSettings & {
|
|
1594
|
+
floorId?: string;
|
|
1595
|
+
center: Point;
|
|
1596
|
+
rotation?: number;
|
|
1597
|
+
idFactory: ChartObjectIdFactory;
|
|
1598
|
+
}): {
|
|
1599
|
+
changed: true;
|
|
1600
|
+
floorId: string;
|
|
1601
|
+
gate: GateShape;
|
|
1602
|
+
};
|
|
1603
|
+
/** Rename a gate or change what it is for; the places it serves follow. */
|
|
1604
|
+
declare function updateGate(doc: ChartDoc, input: {
|
|
1605
|
+
gateId: string;
|
|
1606
|
+
patch: GateSettings;
|
|
1607
|
+
}): {
|
|
1608
|
+
changed: boolean;
|
|
1609
|
+
gate: GateShape;
|
|
1610
|
+
servedObjectIds: string[];
|
|
1611
|
+
};
|
|
1612
|
+
/** "Make this a gate": an old décor Entrance/Exit becomes a named gate in place. */
|
|
1613
|
+
declare function makeGate(doc: ChartDoc, input: GateSettings & {
|
|
1614
|
+
shapeId: string;
|
|
1615
|
+
}): {
|
|
1616
|
+
changed: true;
|
|
1617
|
+
gate: GateShape;
|
|
1618
|
+
};
|
|
1619
|
+
/**
|
|
1620
|
+
* Point places at a gate (or at none, with `gateId: null`). A section is set
|
|
1621
|
+
* with every part of its logical section, so its parts never disagree.
|
|
1622
|
+
*/
|
|
1623
|
+
declare function setObjectEntrance(doc: ChartDoc, input: {
|
|
1624
|
+
objectIds: string[];
|
|
1625
|
+
gateId: string | null;
|
|
1626
|
+
}): {
|
|
1627
|
+
changed: boolean;
|
|
1628
|
+
objectIds: string[];
|
|
1629
|
+
};
|
|
1630
|
+
/**
|
|
1631
|
+
* Removing gates: the places they served lose the reference, and the gate's
|
|
1632
|
+
* name too where it came from the gate. Hand-typed entrances stay.
|
|
1633
|
+
*/
|
|
1634
|
+
declare function releaseGateReferences(doc: ChartDoc, removed: readonly ChartObject[]): string[];
|
|
1635
|
+
/** Copies that include their gate point at the copied gate; the rest keep the original. */
|
|
1636
|
+
declare function remapGateReferences(objects: readonly ChartObject[], ids: ReadonlyMap<string, string>): void;
|
|
1637
|
+
/** A named step-free route along `points`. Pure: nothing is added to a chart. */
|
|
1638
|
+
declare function routeShape(id: string, points: readonly Point[], name?: string, stepFree?: boolean): RouteShape;
|
|
1639
|
+
/** Add a named route (two or more points) on a floor. */
|
|
1640
|
+
declare function addRoute(doc: ChartDoc, input: {
|
|
1641
|
+
floorId?: string;
|
|
1642
|
+
points: Point[];
|
|
1643
|
+
name?: string;
|
|
1644
|
+
stepFree?: boolean;
|
|
1645
|
+
idFactory: ChartObjectIdFactory;
|
|
1646
|
+
}): {
|
|
1647
|
+
changed: true;
|
|
1648
|
+
floorId: string;
|
|
1649
|
+
route: RouteShape;
|
|
1650
|
+
};
|
|
1651
|
+
/** Make an open path a named route, change it, or (`route: null`) make it a plain line again. */
|
|
1652
|
+
declare function setRoute(doc: ChartDoc, input: {
|
|
1653
|
+
shapeId: string;
|
|
1654
|
+
route: {
|
|
1655
|
+
stepFree?: boolean;
|
|
1656
|
+
name?: string;
|
|
1657
|
+
} | null;
|
|
1658
|
+
}): {
|
|
1659
|
+
changed: boolean;
|
|
1660
|
+
shape: ShapeObject;
|
|
1661
|
+
};
|
|
1662
|
+
|
|
1663
|
+
/**
|
|
1664
|
+
* Décor landmark palette — styled, ready-to-drop non-bookable objects that make
|
|
1665
|
+
* a buyer map legible (bar, entrances, restrooms, screen, sound booth…). Today
|
|
1666
|
+
* these are just `ShapeObject`s with an emoji-prefixed label, so they render
|
|
1667
|
+
* with the current engine; the Batch-C designer palette drops them by preset
|
|
1668
|
+
* and the renderer can later special-case icons/styling by the `role` field.
|
|
1669
|
+
*
|
|
1670
|
+
* A good seats.io-grade map is not only seats — it's the surroundings that let a
|
|
1671
|
+
* buyer orient ("I want to sit near the bar / away from the speakers"). This
|
|
1672
|
+
* palette is that vocabulary.
|
|
1673
|
+
*/
|
|
1674
|
+
|
|
1675
|
+
type DecorRole = 'bar' | 'entrance' | 'exit' | 'restroom' | 'screen' | 'sound' | 'concession' | 'coat' | 'wall' | 'rail' | 'suite' | 'obstruction';
|
|
1676
|
+
|
|
1677
|
+
/** Chart units per metre, as everywhere in the reference and 3D pipelines. */
|
|
1678
|
+
declare const DECOR_UNITS_PER_METRE = 40;
|
|
1679
|
+
type DecorSide = 'front' | 'rear' | 'left' | 'right';
|
|
1680
|
+
type DecorPlacement = AutomaticPlacement | 'center';
|
|
1681
|
+
interface DecorPlacementInput {
|
|
1682
|
+
floorId?: string;
|
|
1683
|
+
/** Beside the whole layout, or 'center' for the middle of it. Ignored when nearObjectId is set. */
|
|
1684
|
+
placement?: DecorPlacement;
|
|
1685
|
+
/** Place beside this object instead of beside the whole layout. */
|
|
1686
|
+
nearObjectId?: string;
|
|
1687
|
+
/** Which side of nearObjectId. Default rear. */
|
|
1688
|
+
side?: DecorSide;
|
|
1689
|
+
/** For front: move seats already in front of the stage back to make room (building a whole venue). */
|
|
1690
|
+
makeRoom?: boolean;
|
|
1691
|
+
}
|
|
1692
|
+
/** Where a width x height addition goes, and a note when it could not go exactly there. */
|
|
1693
|
+
declare function decorPlacement(doc: ChartDoc, input: DecorPlacementInput & {
|
|
1694
|
+
width: number;
|
|
1695
|
+
height: number;
|
|
1696
|
+
}): {
|
|
1697
|
+
center: Point;
|
|
1698
|
+
note?: string;
|
|
1699
|
+
};
|
|
1700
|
+
/** Centre for a width x height addition, placed as the caller described in words. */
|
|
1701
|
+
declare function decorPlacementCenter(doc: ChartDoc, input: DecorPlacementInput & {
|
|
1702
|
+
width: number;
|
|
1703
|
+
height: number;
|
|
1704
|
+
}): Point;
|
|
1705
|
+
interface AddStageInput extends DecorPlacementInput {
|
|
1706
|
+
kind: StageKind;
|
|
1707
|
+
label?: string;
|
|
1708
|
+
widthM?: number;
|
|
1709
|
+
depthM?: number;
|
|
1710
|
+
idFactory: ChartObjectIdFactory;
|
|
1711
|
+
}
|
|
1712
|
+
/**
|
|
1713
|
+
* Add a stage (or playing surface). When the floor had no stage, the floor's
|
|
1714
|
+
* focal point moves to its front edge, as the Designer does, so seat views
|
|
1715
|
+
* and sightlines look at it.
|
|
1716
|
+
*/
|
|
1717
|
+
declare function addStage(doc: ChartDoc, input: AddStageInput): {
|
|
1718
|
+
floorId: string;
|
|
1719
|
+
stageId: string;
|
|
1720
|
+
label: string;
|
|
1721
|
+
focalPointMoved: boolean;
|
|
1722
|
+
createdIds: string[];
|
|
1723
|
+
};
|
|
1724
|
+
interface AddLandmarkInput extends DecorPlacementInput {
|
|
1725
|
+
role: DecorRole;
|
|
1726
|
+
label?: string;
|
|
1727
|
+
idFactory: ChartObjectIdFactory;
|
|
1728
|
+
}
|
|
1729
|
+
/** Add a landmark from the Designer's décor palette: bar, entrance, exit, restrooms, screen… */
|
|
1730
|
+
declare function addLandmark(doc: ChartDoc, input: AddLandmarkInput): {
|
|
1731
|
+
floorId: string;
|
|
1732
|
+
landmarkId: string;
|
|
1733
|
+
label: string | null;
|
|
1734
|
+
createdIds: string[];
|
|
1735
|
+
note?: string;
|
|
1736
|
+
};
|
|
1737
|
+
type DecorTextSize = 'small' | 'medium' | 'large';
|
|
1738
|
+
type DecorShowAt = 'always' | 'when-it-fits' | 'close-up';
|
|
1739
|
+
interface AddTextInput extends DecorPlacementInput {
|
|
1740
|
+
text: string;
|
|
1741
|
+
size?: DecorTextSize;
|
|
1742
|
+
color?: string;
|
|
1743
|
+
bold?: boolean;
|
|
1744
|
+
showAt?: DecorShowAt;
|
|
1745
|
+
idFactory: ChartObjectIdFactory;
|
|
1746
|
+
}
|
|
1747
|
+
/** Add a free text label, e.g. "Gate C", "Level 2 bar", "Step-free route". */
|
|
1748
|
+
declare function addText(doc: ChartDoc, input: AddTextInput): {
|
|
1749
|
+
floorId: string;
|
|
1750
|
+
textId: string;
|
|
1751
|
+
createdIds: string[];
|
|
1752
|
+
note?: string;
|
|
1753
|
+
};
|
|
1754
|
+
interface AddIconInput extends DecorPlacementInput {
|
|
1755
|
+
iconKey: string;
|
|
1756
|
+
showAt?: DecorShowAt;
|
|
1757
|
+
idFactory: ChartObjectIdFactory;
|
|
1758
|
+
}
|
|
1759
|
+
/** Add a wayfinding icon from the venue icon set (restrooms, first aid, stairs, lift…). */
|
|
1760
|
+
declare function addIcon(doc: ChartDoc, input: AddIconInput): {
|
|
1761
|
+
floorId: string;
|
|
1762
|
+
iconId: string;
|
|
1763
|
+
createdIds: string[];
|
|
1764
|
+
note?: string;
|
|
1765
|
+
};
|
|
1766
|
+
/**
|
|
1767
|
+
* A named area's default floor. Every renderer writes a plain shape's name in
|
|
1768
|
+
* light ink (#cbd5e1), so the floor must be dark enough for that name to read:
|
|
1769
|
+
* a pale floor made "Dance floor" invisible in the Designer.
|
|
1770
|
+
*/
|
|
1771
|
+
declare const NAMED_AREA_FILL = "#4b5568";
|
|
1772
|
+
interface AddAreaInput extends DecorPlacementInput {
|
|
1773
|
+
label: string;
|
|
1774
|
+
shape?: 'rect' | 'ellipse';
|
|
1775
|
+
widthM: number;
|
|
1776
|
+
depthM: number;
|
|
1777
|
+
fill?: string;
|
|
1778
|
+
idFactory: ChartObjectIdFactory;
|
|
1779
|
+
}
|
|
1780
|
+
/** Add a plain named area that is not sold: a dance floor, a registration desk, a lobby. */
|
|
1781
|
+
declare function addArea(doc: ChartDoc, input: AddAreaInput): {
|
|
1782
|
+
floorId: string;
|
|
1783
|
+
areaId: string;
|
|
1784
|
+
createdIds: string[];
|
|
1785
|
+
note?: string;
|
|
1786
|
+
};
|
|
1787
|
+
/** Every landmark role an agent may ask for, with its Designer name. */
|
|
1788
|
+
declare function landmarkRoles(): Array<{
|
|
1789
|
+
role: DecorRole;
|
|
1790
|
+
label: string;
|
|
1791
|
+
}>;
|
|
1792
|
+
|
|
1793
|
+
/** Row curve in words, as degrees of bend. */
|
|
1794
|
+
declare const ROW_CURVE_DEGREES: {
|
|
1795
|
+
readonly straight: 0;
|
|
1796
|
+
readonly gentle: 15;
|
|
1797
|
+
readonly medium: 30;
|
|
1798
|
+
readonly strong: 45;
|
|
1799
|
+
};
|
|
1800
|
+
type RowCurveStyle = keyof typeof ROW_CURVE_DEGREES;
|
|
1801
|
+
interface AddPlacedRowBlocksInput {
|
|
1802
|
+
floorId?: string;
|
|
1803
|
+
rowCount: number;
|
|
1804
|
+
seatsPerRow: number;
|
|
1805
|
+
categoryKey: string;
|
|
1806
|
+
placement?: AutomaticPlacement;
|
|
1807
|
+
curveStyle?: RowCurveStyle;
|
|
1808
|
+
blockStyle?: 'multiple' | 'intertwined';
|
|
1809
|
+
/** focal-tangent turns a single block to face the stage. */
|
|
1810
|
+
orientation?: 'focal-tangent' | 'horizontal';
|
|
1811
|
+
/** Side-by-side blocks with an aisle between each. Default 1. */
|
|
1812
|
+
blocks?: number;
|
|
1813
|
+
aisleWidth?: number;
|
|
1814
|
+
/** One section name per block, or none. */
|
|
1815
|
+
sectionLabels?: string[];
|
|
1816
|
+
/** Seats per row in each block, when blocks differ (e.g. 13 and 12); default seatsPerRow in every block. */
|
|
1817
|
+
blockSeats?: number[];
|
|
1818
|
+
/** For front: move seats already in front of the stage back to make room (building a whole venue). */
|
|
1819
|
+
makeRoom?: boolean;
|
|
1820
|
+
idFactory: ChartObjectIdFactory;
|
|
1821
|
+
}
|
|
1822
|
+
/**
|
|
1823
|
+
* One block of rows beside the layout (two passes: place the flat footprint,
|
|
1824
|
+
* derive the bearing there, then reserve the ROTATED footprint so an angled
|
|
1825
|
+
* block cannot land on geometry its flat box would have cleared), or several
|
|
1826
|
+
* blocks side by side with aisles between them.
|
|
1827
|
+
*/
|
|
1828
|
+
declare function addPlacedRowBlocks(doc: ChartDoc, input: AddPlacedRowBlocksInput): {
|
|
1829
|
+
floorId: string;
|
|
1830
|
+
rowIds: string[];
|
|
1831
|
+
sectionIds: string[];
|
|
1832
|
+
createdIds: string[];
|
|
1833
|
+
note?: string;
|
|
1834
|
+
};
|
|
1835
|
+
/** Names for side-by-side blocks of one named section: Stalls Left, Stalls Right. */
|
|
1836
|
+
declare function blockSectionLabels(name: string, blocks: number): string[];
|
|
1837
|
+
declare function addPlacedTableArray(doc: ChartDoc, input: {
|
|
1838
|
+
floorId?: string;
|
|
1839
|
+
tableRows: number;
|
|
1840
|
+
tableColumns: number;
|
|
1841
|
+
seatsPerTable?: number;
|
|
1842
|
+
shape?: 'round' | 'rect';
|
|
1843
|
+
categoryKey: string;
|
|
1844
|
+
placement?: AutomaticPlacement;
|
|
1845
|
+
makeRoom?: boolean;
|
|
1846
|
+
idFactory: ChartObjectIdFactory;
|
|
1847
|
+
}): {
|
|
1848
|
+
floorId: string;
|
|
1849
|
+
tableIds: string[];
|
|
1850
|
+
createdIds: string[];
|
|
1851
|
+
} | {
|
|
1852
|
+
note: string;
|
|
1853
|
+
floorId: string;
|
|
1854
|
+
tableIds: string[];
|
|
1855
|
+
createdIds: string[];
|
|
1856
|
+
};
|
|
1857
|
+
declare function addPlacedGAArea(doc: ChartDoc, input: {
|
|
1858
|
+
floorId?: string;
|
|
1859
|
+
capacity: number;
|
|
1860
|
+
categoryKey: string;
|
|
1861
|
+
label?: string;
|
|
1862
|
+
displayLabel?: string;
|
|
1863
|
+
placement?: AutomaticPlacement;
|
|
1864
|
+
makeRoom?: boolean;
|
|
1865
|
+
idFactory: ChartObjectIdFactory;
|
|
1866
|
+
}): {
|
|
1867
|
+
floorId: string;
|
|
1868
|
+
gaAreaId: string;
|
|
1869
|
+
label: string;
|
|
1870
|
+
createdIds: string[];
|
|
1871
|
+
} | {
|
|
1872
|
+
note: string;
|
|
1873
|
+
floorId: string;
|
|
1874
|
+
gaAreaId: string;
|
|
1875
|
+
label: string;
|
|
1876
|
+
createdIds: string[];
|
|
1877
|
+
};
|
|
1878
|
+
declare function addPlacedBoothArray(doc: ChartDoc, input: {
|
|
1879
|
+
floorId?: string;
|
|
1880
|
+
boothRows: number;
|
|
1881
|
+
boothColumns: number;
|
|
1882
|
+
categoryKey: string;
|
|
1883
|
+
placement?: AutomaticPlacement;
|
|
1884
|
+
makeRoom?: boolean;
|
|
1885
|
+
idFactory: ChartObjectIdFactory;
|
|
1886
|
+
}): {
|
|
1887
|
+
floorId: string;
|
|
1888
|
+
boothIds: string[];
|
|
1889
|
+
createdIds: string[];
|
|
1890
|
+
} | {
|
|
1891
|
+
note: string;
|
|
1892
|
+
floorId: string;
|
|
1893
|
+
boothIds: string[];
|
|
1894
|
+
createdIds: string[];
|
|
1895
|
+
};
|
|
1896
|
+
/**
|
|
1897
|
+
* Where a fan of curved rows goes: centred on the floor's focal point, aimed
|
|
1898
|
+
* at where the audience already is (bearing in degrees, 0 = straight down the
|
|
1899
|
+
* page, the arc-fan convention), and starting beyond the seats already in
|
|
1900
|
+
* that direction.
|
|
1901
|
+
*/
|
|
1902
|
+
declare function curvedRowsPlacement(doc: ChartDoc, floorId: string | undefined, spreadDegrees: number): {
|
|
1903
|
+
center: Point;
|
|
1904
|
+
bearing: number;
|
|
1905
|
+
occupiedRadius: number;
|
|
1906
|
+
floorId: string;
|
|
1907
|
+
clearRadius: (spread: number) => number;
|
|
1908
|
+
};
|
|
1909
|
+
interface AddCurvedRowsInput {
|
|
1910
|
+
floorId?: string;
|
|
1911
|
+
rowCount: number;
|
|
1912
|
+
/** How wide the fan is; 180 = semicircle. Default: fits seatsPerRow, else 100. */
|
|
1913
|
+
spreadDegrees?: number;
|
|
1914
|
+
/** Seats in every row; default fits seats at the standard pitch. */
|
|
1915
|
+
seatsPerRow?: number;
|
|
1916
|
+
/** Metres from the stage to the first row. Default 4. */
|
|
1917
|
+
firstRowDistanceM?: number;
|
|
1918
|
+
aisles?: 'none' | 'center' | 'two';
|
|
1919
|
+
categoryKey: string;
|
|
1920
|
+
sectionLabel?: string;
|
|
1921
|
+
idFactory: ChartObjectIdFactory;
|
|
1922
|
+
}
|
|
1923
|
+
/** Curved rows around the stage, beyond any seats already in that direction. */
|
|
1924
|
+
declare function addCurvedRows(doc: ChartDoc, input: AddCurvedRowsInput): {
|
|
1925
|
+
spreadDegrees: number;
|
|
1926
|
+
movedBackIds: string[];
|
|
1927
|
+
floorId: string;
|
|
1928
|
+
logicalRowCount: number;
|
|
1929
|
+
rowSegmentCount: number;
|
|
1930
|
+
totalSeats: number;
|
|
1931
|
+
innerRadius: number;
|
|
1932
|
+
outerRadius: number;
|
|
1933
|
+
minSeatSpacing: number;
|
|
1934
|
+
maxSeatSpacing: number;
|
|
1935
|
+
maxPitchDeviation: number;
|
|
1936
|
+
aisleCount: number;
|
|
1937
|
+
warnings: string[];
|
|
1938
|
+
rowIds: string[];
|
|
1939
|
+
sectionId: string | null;
|
|
1940
|
+
groupId: string;
|
|
1941
|
+
};
|
|
1942
|
+
|
|
1943
|
+
export { type AddAreaInput, type AddBoothArrayInput, type AddCurvedRowsInput, type AddGAAreaInput, type AddIconInput, type AddLandmarkInput, type AddPlacedRowBlocksInput, type AddRowBlockInput, type AddStageInput, type AddTableArrayInput, type AddTextInput, type ArcFanRowsInput, type ArcFanRowsPreview, type AutomaticPlacement, type BookableGridArrayInput, type BookableGridArrayOptions, type BookableGridArrayPreview, type BookablePresentationPatch, COLORBLIND_SAFE_PALETTE, type CategoryDraft, type ChartObjectIdFactory, ChartOperationError, type ConfidenceEvidenceChange, type ConfidenceEvidenceIndex, type ConfidenceEvidenceIndexEntry, type ConfidenceEvidenceMutation, ConfidenceEvidenceScope, type ConfidenceEvidenceTarget, type CreationCategoryPlan, DECOR_UNITS_PER_METRE, DEFAULT_FLOOR_HEIGHT_STEP_M, DEFAULT_ROUTE_NAME, type DecorPlacement, type DecorPlacementInput, type DecorShowAt, type DecorSide, type DecorTextSize, FIRST_CATEGORY_COLOURS, type GateSettings, type GeneratedSectionPolygonConversionPreview, type JoinGAAreasOptions, type JoinGAAreasPreview, type LabelStylePatch, MAX_BUYER_IMAGE_URL_LENGTH, MAX_FLOOR_BASE_HEIGHT_M, type MergeRowsResult, NAMED_AREA_FILL, type PolygonHolePreview, ROUTE_STROKE, ROW_CURVE_DEGREES, type ReassignColorblindSafeResult, type ReferenceScanApplyResult, type ReferenceScanPreview, type ReferenceScanRowsOptions, type ReferenceScanSectionOutcome, type ReferenceScanSkippedSection, type ReplaceRowBlockInput, type ReplaceRowBlockResult, type ResolveCreationCategoryOptions, type RowBlockSpacingResult, type RowCubicPathPreview, type RowCurveStyle, type SeatRef, type SectionBoundaryTransform, type SectionBoundaryTransformResult, type SectionEstimate, type SectionInventorySelectionSummary, type SectionRowFitInput, type SectionRowFitPreview, type SegmentedRowGroupResult, type SharedBoothPatch, type SharedCategoryPatch, type SharedGAAreaPatch, type SharedRowPatch, type SharedSeatOverridePatch, type SharedSectionMetadataPatch, type SharedShapePatch, type SharedTablePatch, type SharedTextPatch, type SharedThemePatch, type SharedZonePatch, type SplitRowResult, type StageLabelStylePatch, type StraightenAndSpaceResult, type VenueEstimateAim, addArcFanRows, addArea, addBookableGridArray, addBoothArray, addChartCategories, addChartCategory, addChartFloor, addChartZone, addCurvedRows, addGAArea, addGate, addIcon, addLandmark, addPlacedBoothArray, addPlacedGAArea, addPlacedRowBlocks, addPlacedTableArray, addRoute, addRowBlock, addStage, addTableArray, addText, applyPolygonHole, applyReferenceScanRows, applySectionCornerSmoothing, applySectionEstimates, applySectionOutlineShaping, applySectionRowFit, approveConfidenceEvidence, arcFanInputForGroup, assignSectionInventoryCategory, automaticPlacementCenter, blockSectionLabels, clearConfidenceEvidence, compactChartDoc, compactRowOverrides, compactTableOverrides, confidenceEvidenceChangeRequiresPublish, confidenceEvidenceChanges, confidenceEvidenceIndex, confirmReferenceCategoryOutputColor, convertGeneratedSectionToPolygon, convertShapeToOutline, countCoveredInventory, curvedRowsPlacement, decorPlacement, decorPlacementCenter, detectSeatLabelRun, dropRedundantSeatOverrideFields, familyCategoryLabel, gaAreaFootprint, gateShape, groupRowsAsSegmented, insertSeatingBlock, isSafeBuyerImageUrl, joinGAAreas, landmarkRoles, makeGate, mergeRows, mirrorFirstFloor, normalizeBuyerImageUrl, normalizeDraftEvidence, parseSeatRefId, pickColorblindSafeCategoryColor, planCreationCategory, previewArcFanRows, previewBookableGridArray, previewGeneratedSectionPolygonConversion, previewJoinGAAreas, previewPolygonHole, previewRemovePolygonHole, previewRowCubicPath, previewSectionRowFit, reassignColorblindSafeCategoryColors, relabelChartRows, releaseGateReferences, remapGateReferences, removeCategoryMovingInventory, removeChartCategory, removeChartFloor, removeChartObjects, removeChartZone, removePolygonHole, renameChartFloor, renameDirectSeatImportCategory, reorderChartCategories, replaceArcFanRows, replaceRowBlock, resetSeatOverrides, resizeShapes, resolveCreationCategory, retractConfidenceEvidence, roundBuyerCoordinates, routeShape, seatRefId, seatSemanticsSignature, sectionInventorySelectionSummary, setConfidenceEvidence, setObjectEntrance, setRoute, setRowBlockSpacing, splitRow, straightenAndSpaceRows, transformSectionBoundary, transformSectionBoundaryObject, ungroupSegmentedRow, uniqueCategoryLabel, updateBooths, updateCategoryDefinitions, updateChartFloorBaseHeight, updateChartTheme, updateChartZones, updateGAAreas, updateGate, updateRowCubicPath, updateRows, updateSeatOverrides, updateSectionExactPath, updateSectionMetadata, updateSegmentedRow, updateShapes, updateStageKinds, updateTables, updateTextObjects, updateViewFromSeatFallback };
|