@seatlayer/core 0.71.5 → 0.72.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/{categoryInventory-r3OfIEQn.d.cts → categoryInventory-BU1j8Q70.d.cts} +1 -1
- package/dist/{categoryInventory-B8CDQtH4.d.ts → categoryInventory-Bt-0psga.d.ts} +1 -1
- package/dist/chunk-4V5WYN6O.js +1 -0
- package/dist/{chunk-LR7WIR5Z.js → chunk-ALE2T36W.js} +1 -1
- package/dist/chunk-BLPBTW6I.js +1 -0
- package/dist/{chunk-GXMGOWKB.js → chunk-FMZ6HLDH.js} +1 -1
- package/dist/chunk-HXYWP6NX.js +1 -0
- package/dist/chunk-JBOTRSMY.js +1 -0
- package/dist/{chunk-MR2O5WC7.js → chunk-O5UWBFUT.js} +1 -1
- package/dist/chunk-YW2WGLRM.js +1 -0
- package/dist/chunk-ZOXZWPTL.js +1 -0
- package/dist/core/chart-ops/index.cjs +1 -1
- package/dist/core/chart-ops/index.d.cts +38 -9
- package/dist/core/chart-ops/index.d.ts +38 -9
- package/dist/core/chart-ops/index.js +1 -1
- package/dist/core/color.cjs +1 -1
- package/dist/core/color.d.cts +4 -1
- package/dist/core/color.d.ts +4 -1
- package/dist/core/color.js +1 -1
- package/dist/core/inventory/index.cjs +1 -1
- package/dist/core/inventory/index.d.cts +15 -5
- package/dist/core/inventory/index.d.ts +15 -5
- package/dist/core/inventory/index.js +1 -1
- package/dist/core/layout/index.d.cts +6 -6
- package/dist/core/layout/index.d.ts +6 -6
- package/dist/core/quality/index.cjs +1 -1
- package/dist/core/quality/index.d.cts +3 -3
- package/dist/core/quality/index.d.ts +3 -3
- 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 +1 -1
- package/dist/core/render-assets/index.d.ts +1 -1
- 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.d.cts +7 -7
- package/dist/core/sections/index.d.ts +7 -7
- package/dist/{eventConfigurations-ByU_uPeS.d.cts → eventConfigurations-3uSorYVC.d.cts} +1 -1
- package/dist/{eventConfigurations-0OC43JJY.d.ts → eventConfigurations-DfVUGyCg.d.ts} +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +12 -12
- package/dist/index.d.ts +12 -12
- package/dist/index.js +1 -1
- package/dist/{labeling-DAGq3u0z.d.cts → labeling-9RWWmJhZ.d.cts} +1 -1
- package/dist/{labeling-B05IJwd2.d.ts → labeling-BiWB-8aq.d.ts} +1 -1
- package/dist/{layout-e0Qe7jmM.d.cts → layout-B6iOoPOv.d.cts} +3 -3
- package/dist/{layout-DkDRcXvu.d.ts → layout-B7URbtDR.d.ts} +3 -3
- package/dist/{renderedQuality-BaejczsK.d.cts → renderedQuality-BZsq3wDe.d.cts} +1 -1
- package/dist/{renderedQuality-BwwrqYzX.d.ts → renderedQuality-C5dQiq97.d.ts} +1 -1
- package/dist/{renderer-BNicx5sw.d.ts → renderer-6sFRupj0.d.ts} +2 -2
- package/dist/{renderer-Duv1HhQg.d.cts → renderer-CBOo1OZk.d.cts} +2 -2
- package/dist/{sections-CrX4vq-m.d.ts → sections-Cn_sk1Sx.d.ts} +1 -1
- package/dist/{sections-BjGjR21N.d.cts → sections-DU6YDYoZ.d.cts} +1 -1
- package/dist/{segmentedRowModel-UO_YIQRB.d.cts → segmentedRowModel-CKmyHvKv.d.cts} +1 -1
- package/dist/{segmentedRowModel-BOO8w9Ng.d.ts → segmentedRowModel-DbP7pWUk.d.ts} +1 -1
- package/dist/{ticketRestrictions-dvlNTwem.d.ts → ticketRestrictions-CvS2oQ8v.d.ts} +2 -2
- package/dist/{ticketRestrictions-DUQrKTpS.d.cts → ticketRestrictions-DkenahW2.d.cts} +2 -2
- package/dist/{types-0yruRsAj.d.cts → types-D6-wLa-m.d.cts} +200 -20
- package/dist/{types-0yruRsAj.d.ts → types-D6-wLa-m.d.ts} +200 -20
- package/dist/view3d/crossfade/panorama.d.cts +1 -1
- package/dist/view3d/crossfade/panorama.d.ts +1 -1
- package/dist/view3d/index.cjs +27 -27
- package/dist/view3d/index.d.cts +3 -3
- package/dist/view3d/index.d.ts +3 -3
- package/dist/view3d/index.js +1 -1
- package/dist/view3d/scene/scene.worker.cjs +1 -1
- package/dist/view3d/scene/scene.worker.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-7KS6TAYH.js +0 -1
- package/dist/chunk-CXF32VPG.js +0 -1
- package/dist/chunk-JBGLFOJO.js +0 -1
- package/dist/chunk-NXFDYBZY.js +0 -1
- package/dist/chunk-SKO3DCVB.js +0 -1
- package/dist/chunk-T2LWVOQ3.js +0 -1
|
@@ -1,3 +1,18 @@
|
|
|
1
|
+
/** Typography owned by a Stage caption. Stage text is a real editable label,
|
|
2
|
+
* but remains centred on and rotated with its Stage rather than becoming a
|
|
3
|
+
* separately positioned Text object. `bold` is true when absent to preserve
|
|
4
|
+
* the long-standing Stage treatment; false is therefore meaningful. */
|
|
5
|
+
interface StageLabelStyle {
|
|
6
|
+
color?: string;
|
|
7
|
+
size?: number;
|
|
8
|
+
fontFamily?: string;
|
|
9
|
+
bold?: boolean;
|
|
10
|
+
italic?: boolean;
|
|
11
|
+
underline?: boolean;
|
|
12
|
+
}
|
|
13
|
+
/** Stages are large focal objects and need the same useful size range as Text. */
|
|
14
|
+
declare const STAGE_LABEL_STYLE_MAX_SIZE = 72;
|
|
15
|
+
|
|
1
16
|
/** Durable publishing-review evidence for an editable physical 3D property. */
|
|
2
17
|
interface Physical3dEvidence {
|
|
3
18
|
status: 'inferred' | 'confirmed';
|
|
@@ -48,6 +63,18 @@ interface ReferenceScanRowProposal {
|
|
|
48
63
|
start: Point;
|
|
49
64
|
end: Point;
|
|
50
65
|
seatCount: number;
|
|
66
|
+
/** Browser-only reviewed direct-seat identity. Server scans never set this;
|
|
67
|
+
* chartOps still validates and collision-allocates it before materializing. */
|
|
68
|
+
rowLabel?: string;
|
|
69
|
+
/** Browser-only visible row identity for a reviewed sectionless direct plan.
|
|
70
|
+
* It is presentation-only; `rowLabel` remains the collision-safe inventory
|
|
71
|
+
* identity. Server scans never set this field. */
|
|
72
|
+
rowDisplayLabel?: string;
|
|
73
|
+
/** Local-only correlation for an explicitly reviewed row identity. The
|
|
74
|
+
* server never supplies it; chartOps sanitizes before persisting it. */
|
|
75
|
+
directSourceRowId?: string;
|
|
76
|
+
/** The explicitly approved suffix only — never the generated fallback. */
|
|
77
|
+
directReviewedSuffix?: string;
|
|
51
78
|
}
|
|
52
79
|
/** Detected rows attributed to one compiled section (or unattributed when the
|
|
53
80
|
* lattice extends outside every compiled polygon). */
|
|
@@ -61,14 +88,20 @@ interface ReferenceScanSectionProposal {
|
|
|
61
88
|
confidence: number;
|
|
62
89
|
/** Index of the seed (multi-probe) whose pitch produced these rows. */
|
|
63
90
|
seedIndex: number;
|
|
91
|
+
/** Local-only correlation for a reviewed sectionless direct-seat group.
|
|
92
|
+
* Server scans never need or return this field. */
|
|
93
|
+
sourceGroupId?: string;
|
|
64
94
|
}
|
|
65
95
|
/** Server response for an in-canvas reference scan. A PROPOSAL — nothing is
|
|
66
96
|
* committed until the author applies it in the designer (chartOps + undo). */
|
|
67
97
|
interface ReferenceScanProposal {
|
|
68
98
|
assetId: string;
|
|
69
|
-
/** Measured seat diameter / centre-to-centre
|
|
99
|
+
/** Measured seat diameter / centre-to-centre pitches, in chart units. */
|
|
70
100
|
seatDiameter: number;
|
|
71
101
|
seatPitch: number;
|
|
102
|
+
/** Perpendicular centre-to-centre spacing between inferred rows. Server
|
|
103
|
+
* scans include this; older/direct proposals may omit it. */
|
|
104
|
+
rowPitch?: number;
|
|
72
105
|
totalSeats: number;
|
|
73
106
|
totalRows: number;
|
|
74
107
|
sections: ReferenceScanSectionProposal[];
|
|
@@ -238,10 +271,80 @@ interface ReferenceExtractRegionSeats {
|
|
|
238
271
|
seatCount: number;
|
|
239
272
|
/** 0..1 — how well the region's own lattice agreed with its pitch. */
|
|
240
273
|
confidence: number;
|
|
241
|
-
|
|
274
|
+
/** Repeated primitives are measured directly; auto-fit rows are inferred from a
|
|
275
|
+
* seeded lattice. The review uses this distinction before trusting a very
|
|
276
|
+
* wide or very small region as real seating. */
|
|
277
|
+
seedOrigin: 'auto-fit' | 'repeated-primitives';
|
|
278
|
+
/** Safe bulk-selection default. Ambiguous repeated-symbol rows with nearby
|
|
279
|
+
* annotations require explicit review instead of being silently included. */
|
|
280
|
+
reviewDisposition?: 'likely-seating' | 'needs-review';
|
|
281
|
+
reviewReason?: 'annotation-near-repeated-symbols';
|
|
242
282
|
/** Present when no lattice was found in this region. */
|
|
243
283
|
emptyReason?: ReferenceExtractEmptyReason;
|
|
244
284
|
}
|
|
285
|
+
/** One measured group in a sectionless seating plan. The group exists only so
|
|
286
|
+
* the author can review related rows together; it never becomes a Section. */
|
|
287
|
+
interface ReferenceDirectSeatGroup {
|
|
288
|
+
/** Stable within one direct reread. Its derived `groupId:index` may be
|
|
289
|
+
* persisted only beside an explicitly reviewed row-identity suffix, so a
|
|
290
|
+
* fresh same-reference review can restore that author decision. */
|
|
291
|
+
id: string;
|
|
292
|
+
/** Exact measured row endpoints in chart coordinates. */
|
|
293
|
+
rows: ReferenceScanRowProposal[];
|
|
294
|
+
seatCount: number;
|
|
295
|
+
confidence: number;
|
|
296
|
+
/** Source evidence used to seed a category on an otherwise blank chart. The
|
|
297
|
+
* author still owns its final name, accessible display colour and pricing. */
|
|
298
|
+
sampledColor?: string;
|
|
299
|
+
/** Ambiguous repeated symbols are withheld from bulk selection. */
|
|
300
|
+
reviewDisposition: 'likely-seating' | 'needs-review';
|
|
301
|
+
reviewReason?: 'annotation-near-repeated-symbols';
|
|
302
|
+
}
|
|
303
|
+
/** The small, source-derived non-bookable areas found alongside a direct-seat
|
|
304
|
+
* read. They deliberately remain separate from seating groups: accepting one
|
|
305
|
+
* never creates a Section, category, row, or inventory. `bounds` are issued
|
|
306
|
+
* by the raster reader in chart coordinates; an AI reader may only enrich this
|
|
307
|
+
* id with text and a role, never supply replacement coordinates. */
|
|
308
|
+
type ReferenceDirectLandmarkRole = 'stage' | 'platform' | 'aisle' | 'ramp' | 'entrance' | 'exit' | 'other-label';
|
|
309
|
+
type ReferenceDirectLandmarkDisposition = 'recommended' | 'needs-review' | 'rejected';
|
|
310
|
+
interface ReferenceDirectLandmarkCandidate {
|
|
311
|
+
/** Stable server-issued handle within this direct reread. */
|
|
312
|
+
id: string;
|
|
313
|
+
/** Chart-space bounding box measured from the source raster. */
|
|
314
|
+
bounds: {
|
|
315
|
+
x: number;
|
|
316
|
+
y: number;
|
|
317
|
+
width: number;
|
|
318
|
+
height: number;
|
|
319
|
+
};
|
|
320
|
+
/** Exact chart-space perimeter. It remains a rectangle on an unrotated
|
|
321
|
+
* reference but preserves the source registration under rotation/crop. */
|
|
322
|
+
outline: Point[];
|
|
323
|
+
/** `area` carries non-bookable geometry; `text` carries a printed caption
|
|
324
|
+
* only. A text candidate never paints a fabricated box behind the source. */
|
|
325
|
+
kind: 'area' | 'text';
|
|
326
|
+
/** Non-semantic sampled source colour, if the raster reader measured one. */
|
|
327
|
+
sampledColor?: string;
|
|
328
|
+
/** A deterministic reader may offer an unlabelled landmark; only an accepted
|
|
329
|
+
* reader result can add printed text or a more specific role. */
|
|
330
|
+
text?: string;
|
|
331
|
+
role: ReferenceDirectLandmarkRole;
|
|
332
|
+
reviewDisposition: ReferenceDirectLandmarkDisposition;
|
|
333
|
+
}
|
|
334
|
+
/** A sectionless alternative to the normal section-first extract proposal.
|
|
335
|
+
* It contains only directly measured seating rows, never inferred sections. */
|
|
336
|
+
interface ReferenceDirectSeatPlan {
|
|
337
|
+
assetId: string;
|
|
338
|
+
groups: ReferenceDirectSeatGroup[];
|
|
339
|
+
seatDiameter: number;
|
|
340
|
+
seatPitch: number;
|
|
341
|
+
totalLikelySeats: number;
|
|
342
|
+
totalNeedsReviewSeats: number;
|
|
343
|
+
excludedBlankTiles: number;
|
|
344
|
+
/** Non-bookable source landmarks. This does not alter the deliberately
|
|
345
|
+
* sectionless direct-seat flow. */
|
|
346
|
+
landmarks?: ReferenceDirectLandmarkCandidate[];
|
|
347
|
+
}
|
|
245
348
|
interface ReferenceExtractProposal {
|
|
246
349
|
assetId: string;
|
|
247
350
|
floorId: string;
|
|
@@ -252,6 +355,9 @@ interface ReferenceExtractProposal {
|
|
|
252
355
|
seatPitch: number;
|
|
253
356
|
totalSeats: number;
|
|
254
357
|
totalRows: number;
|
|
358
|
+
/** Present only when the reader found a credible sectionless repeated-seat
|
|
359
|
+
* population. `sections` and `seatsByRegionId` are then deliberately empty. */
|
|
360
|
+
directSeatPlan?: ReferenceDirectSeatPlan;
|
|
255
361
|
diagnostics: ReferenceSectionTraceBatchProposal['diagnostics'] & {
|
|
256
362
|
scannedRegionCount: number;
|
|
257
363
|
emptyRegionCount: number;
|
|
@@ -274,6 +380,9 @@ interface ReferenceExtractProposal {
|
|
|
274
380
|
namesOutcome?: string;
|
|
275
381
|
/** Why the model-assisted fallback produced nothing, when it ran and did not ('ok' / 'not-needed' otherwise). */
|
|
276
382
|
assistOutcome?: string;
|
|
383
|
+
/** Direct-seat non-bookable landmark text/role pass. This is separate from
|
|
384
|
+
* section assistance and degrades to source-only review on any failure. */
|
|
385
|
+
annotationsOutcome?: string;
|
|
277
386
|
/**
|
|
278
387
|
* How well the plan could be read, so the review can be honest: coverage
|
|
279
388
|
* is the share of the plan's drawn extent covered by proposed regions;
|
|
@@ -352,6 +461,14 @@ interface ReferenceExtractEnrichment {
|
|
|
352
461
|
seatsByRegionId: Record<string, ReferenceExtractRegionSeats>;
|
|
353
462
|
outcome?: string;
|
|
354
463
|
};
|
|
464
|
+
/** Optional direct-seat landmark text/role enrichment. It is discriminated
|
|
465
|
+
* from section assistance so ordinary section enrichment remains unchanged. */
|
|
466
|
+
annotations?: {
|
|
467
|
+
status: ReferenceEnrichmentStatus;
|
|
468
|
+
/** Server-issued candidate id → accepted text/role only; never geometry. */
|
|
469
|
+
values: Record<string, Pick<ReferenceDirectLandmarkCandidate, 'text' | 'role' | 'reviewDisposition'>>;
|
|
470
|
+
outcome?: string;
|
|
471
|
+
};
|
|
355
472
|
updatedAt: number;
|
|
356
473
|
}
|
|
357
474
|
/** Coordinate-free physical scale derived by server code from a confirmed
|
|
@@ -371,6 +488,10 @@ interface ChartReferenceImage {
|
|
|
371
488
|
assetId?: string;
|
|
372
489
|
/** Legacy/self-contained source. Optional when assetId is present. */
|
|
373
490
|
url?: string;
|
|
491
|
+
/** The author-picked filename, retained only with the private trace. */
|
|
492
|
+
sourceName?: string;
|
|
493
|
+
/** One-based source page when a PDF was rasterised before attachment. */
|
|
494
|
+
sourcePage?: number;
|
|
374
495
|
center: Point;
|
|
375
496
|
/** Rendered width in chart units (height follows the cropped image aspect). */
|
|
376
497
|
width: number;
|
|
@@ -389,6 +510,26 @@ interface ChartReferenceImage {
|
|
|
389
510
|
calibration?: ReferenceCalibration;
|
|
390
511
|
/** Server-derived semantic calibration without source-image coordinates. */
|
|
391
512
|
derivedScale?: ReferenceDerivedScale;
|
|
513
|
+
/**
|
|
514
|
+
* Authoring-only import intent retained with this private source. Large plans
|
|
515
|
+
* begin as a reviewable section map; seats are then authored per section.
|
|
516
|
+
* A newly attached reference starts without this intent by construction.
|
|
517
|
+
*/
|
|
518
|
+
importWorkflow?: 'section-map-first';
|
|
519
|
+
/** Private reviewed choices for direct-plan non-bookable annotations. Kept on
|
|
520
|
+
* the source placement so a reread can restore an explicit exclusion without
|
|
521
|
+
* turning a hidden review decision into a fake chart object. */
|
|
522
|
+
directLandmarkReview?: {
|
|
523
|
+
kind: 'direct-landmark-review-v1';
|
|
524
|
+
referenceGeometrySignature: string;
|
|
525
|
+
values: Array<{
|
|
526
|
+
candidateId: string;
|
|
527
|
+
candidateGeometrySignature: string;
|
|
528
|
+
include: boolean;
|
|
529
|
+
text?: string;
|
|
530
|
+
role?: ReferenceDirectLandmarkRole;
|
|
531
|
+
}>;
|
|
532
|
+
};
|
|
392
533
|
}
|
|
393
534
|
/** Private, authoring-only evidence that one bounded planar CAD source was
|
|
394
535
|
* registered against independently checked chart control points. Raw source
|
|
@@ -436,16 +577,6 @@ interface RadialClearanceLayoutConstraint {
|
|
|
436
577
|
}
|
|
437
578
|
type ChartLayoutConstraint = RadialClearanceLayoutConstraint;
|
|
438
579
|
|
|
439
|
-
/**
|
|
440
|
-
* SeatMap chart document — the single source of truth shared by the
|
|
441
|
-
* Designer (authoring) and the Renderer (buyer picker).
|
|
442
|
-
*
|
|
443
|
-
* Coordinates are abstract units (roughly "pixels at scale 1"); the renderer
|
|
444
|
-
* fits the chart to its container.
|
|
445
|
-
* Rows are PARAMETRIC (origin + count + spacing + curve + rotation) — never
|
|
446
|
-
* store per-seat coordinates in the document; expansion happens in layout.ts.
|
|
447
|
-
*/
|
|
448
|
-
|
|
449
580
|
interface Point {
|
|
450
581
|
x: number;
|
|
451
582
|
y: number;
|
|
@@ -500,6 +631,13 @@ interface Category {
|
|
|
500
631
|
/** Durable evidence for semantic/display facts proposed while converting a
|
|
501
632
|
* private reference into sellable inventory. */
|
|
502
633
|
referenceCategorySource?: ReferenceCategorySource;
|
|
634
|
+
/**
|
|
635
|
+
* Narrow ownership marker for a category minted by the sectionless
|
|
636
|
+
* direct-seat reader. It deliberately records no pricing or label evidence:
|
|
637
|
+
* it only lets a later read of the same private asset replace its own
|
|
638
|
+
* provisional category without ever borrowing a commercial category.
|
|
639
|
+
*/
|
|
640
|
+
referenceDirectSeatImport?: ReferenceDirectSeatImportSource;
|
|
503
641
|
/**
|
|
504
642
|
* Ticket tiers (Adult / Child / Senior…). When present, a buyer picks a tier
|
|
505
643
|
* per seat in this category and the tier's price applies; the first tier is the
|
|
@@ -541,6 +679,14 @@ interface ReferenceCategorySource {
|
|
|
541
679
|
outputColorEvidence?: 'user-confirmed' | 'authoritative-source';
|
|
542
680
|
outputColorSourceDescription?: string;
|
|
543
681
|
}
|
|
682
|
+
/** Stable identity for a provisional category created by direct-seat import.
|
|
683
|
+
* This is intentionally separate from `ReferenceCategorySource`, whose
|
|
684
|
+
* evidence contract requires user-confirmed commercial facts. */
|
|
685
|
+
interface ReferenceDirectSeatImportSource {
|
|
686
|
+
assetId: string;
|
|
687
|
+
/** Deterministic direct-seat source-colour cluster identity. */
|
|
688
|
+
familyId: string;
|
|
689
|
+
}
|
|
544
690
|
/** One ticket tier within a category: a named price (Adult, Child, Senior…). */
|
|
545
691
|
interface CategoryTier {
|
|
546
692
|
id: string;
|
|
@@ -774,11 +920,10 @@ declare function seatCommercialMeta(key: SeatCommercialMark): SeatCommercialMeta
|
|
|
774
920
|
* Per-object label ink + size overrides layered on top of the chart-wide Theme
|
|
775
921
|
* defaults (rowLabelColor / textColor for rows, the section-name ink for
|
|
776
922
|
* sections). Both fields are optional: an absent field means "inherit the theme
|
|
777
|
-
* default". `color` is a preferred hex
|
|
778
|
-
* shared auto-contrast rule (`stateAwareBookableLabelInk`)
|
|
779
|
-
*
|
|
780
|
-
*
|
|
781
|
-
* LABEL_STYLE_MIN_SIZE..LABEL_STYLE_MAX_SIZE by the shared ops.
|
|
923
|
+
* default". For seats, rows, and sections, `color` is a preferred hex passed
|
|
924
|
+
* through the shared auto-contrast rule (`stateAwareBookableLabelInk`). A Stage
|
|
925
|
+
* uses its explicitly authored color exactly; clearing it returns to Automatic.
|
|
926
|
+
* `size` is a font size in chart units, clamped by the relevant object ops.
|
|
782
927
|
*/
|
|
783
928
|
/**
|
|
784
929
|
* How the stacked "All floors" view marks each level: the authored floor name,
|
|
@@ -793,6 +938,7 @@ interface LabelStyle {
|
|
|
793
938
|
/** Clamp bounds for a per-object label `size`, shared by ops, MCP, and UI. */
|
|
794
939
|
declare const LABEL_STYLE_MIN_SIZE = 8;
|
|
795
940
|
declare const LABEL_STYLE_MAX_SIZE = 24;
|
|
941
|
+
|
|
796
942
|
interface LabelPresentation {
|
|
797
943
|
visible?: boolean;
|
|
798
944
|
/** Exact Designer-owned label anchor; public semantic MCP schemas omit it. */
|
|
@@ -856,7 +1002,7 @@ interface ChartTheme {
|
|
|
856
1002
|
textColor?: string;
|
|
857
1003
|
/** Font family (CSS stack) for all rendered text — row labels, seat numbers, sections, décor text. */
|
|
858
1004
|
fontFamily?: string;
|
|
859
|
-
/** Seat size multiplier
|
|
1005
|
+
/** Seat-mark size multiplier (0.15–1.6, default 1); interaction keeps separate screen-space assistance. */
|
|
860
1006
|
seatScale?: number;
|
|
861
1007
|
/** Brand accent color — recolors buttons, links, the hold pill, selection UI. */
|
|
862
1008
|
accent?: string;
|
|
@@ -877,9 +1023,16 @@ interface RowObject extends AuthoringObjectState {
|
|
|
877
1023
|
/** Present when this row was materialized by the in-canvas reference scan.
|
|
878
1024
|
* A re-scan of the same asset replaces rows carrying this marker and NEVER
|
|
879
1025
|
* touches hand-authored rows — the same replace-generated-only invariant as
|
|
880
|
-
* applyReferenceInventory.
|
|
1026
|
+
* applyReferenceInventory. A section-local scan additionally carries the
|
|
1027
|
+
* immutable section identity, so replacing one local scan cannot infer
|
|
1028
|
+
* ownership from a row's current centre after a boundary reshape. */
|
|
881
1029
|
referenceScan?: {
|
|
882
1030
|
assetId: string;
|
|
1031
|
+
sectionId?: string;
|
|
1032
|
+
/** Direct-seat reread correlation. Both fields are author-reviewed local
|
|
1033
|
+
* provenance, never emitted by server-side scans. */
|
|
1034
|
+
directSourceRowId?: string;
|
|
1035
|
+
directReviewedSuffix?: string;
|
|
883
1036
|
};
|
|
884
1037
|
/** Row label, e.g. "A". Seat labels are `${label}-${n}`. */
|
|
885
1038
|
label: string;
|
|
@@ -1161,6 +1314,8 @@ interface ShapeObject extends AuthoringObjectState {
|
|
|
1161
1314
|
*/
|
|
1162
1315
|
kind: 'rect' | 'ellipse' | 'polygon' | 'line' | 'polyline';
|
|
1163
1316
|
label?: string;
|
|
1317
|
+
/** Per-stage caption typography. Absent family/color fields inherit the theme. */
|
|
1318
|
+
labelStyle?: StageLabelStyle;
|
|
1164
1319
|
/** For rect/ellipse: bounding box. For a stage polygon: the base (pre-shape) box, so its kind can be regenerated. */
|
|
1165
1320
|
x?: number;
|
|
1166
1321
|
y?: number;
|
|
@@ -1204,6 +1359,11 @@ interface ShapeObject extends AuthoringObjectState {
|
|
|
1204
1359
|
role?: string;
|
|
1205
1360
|
/** For a stage: which `StageKind` its polygon was generated from. */
|
|
1206
1361
|
stageKind?: string;
|
|
1362
|
+
/** Public buyer-safe render priority for an approved orientation label. */
|
|
1363
|
+
labelImportance?: 'orientation';
|
|
1364
|
+
/** Private source marker for a reviewed direct-plan landmark. Generic edits
|
|
1365
|
+
* relinquish it so a later reread cannot overwrite organizer-authored décor. */
|
|
1366
|
+
referenceAnnotationSource?: ReferenceDirectAnnotationSource;
|
|
1207
1367
|
}
|
|
1208
1368
|
type RectTableSide = 'top' | 'bottom' | 'left' | 'right';
|
|
1209
1369
|
/** Exact rectangular-table chair distribution. The four keys are deliberately
|
|
@@ -1530,6 +1690,26 @@ interface TextObject extends AuthoringObjectState {
|
|
|
1530
1690
|
opacity?: number;
|
|
1531
1691
|
/** Optional padded background painted behind the exact text box. */
|
|
1532
1692
|
background?: TextBackground;
|
|
1693
|
+
/** Public buyer-safe render priority for an approved orientation label. */
|
|
1694
|
+
labelImportance?: 'orientation';
|
|
1695
|
+
/** Private source marker paired with a reviewed direct-plan landmark shape. */
|
|
1696
|
+
referenceAnnotationSource?: ReferenceDirectAnnotationSource;
|
|
1697
|
+
}
|
|
1698
|
+
/** Private ownership of a non-bookable annotation materialized from a direct
|
|
1699
|
+
* reference review. It is stripped from copied/user-authored duplicates. */
|
|
1700
|
+
interface ReferenceDirectAnnotationSource {
|
|
1701
|
+
kind: 'direct-landmark-v1';
|
|
1702
|
+
assetId: string;
|
|
1703
|
+
candidateId: string;
|
|
1704
|
+
/** The candidate's exact server-issued perimeter signature. */
|
|
1705
|
+
candidateGeometrySignature: string;
|
|
1706
|
+
/** The floor-plan transform that made this source geometry meaningful. */
|
|
1707
|
+
referenceGeometrySignature: string;
|
|
1708
|
+
role: ReferenceDirectLandmarkRole;
|
|
1709
|
+
/** Generic edits deliberately retain this narrow source correlation but turn
|
|
1710
|
+
* ownership over to the organizer. Rereads then restore rather than replace
|
|
1711
|
+
* the edited landmark, and copied objects still strip it entirely. */
|
|
1712
|
+
ownership?: 'reference' | 'organizer';
|
|
1533
1713
|
}
|
|
1534
1714
|
/**
|
|
1535
1715
|
* A raster/vector decor graphic drawn IN the chart, beneath the seats and
|
|
@@ -1700,4 +1880,4 @@ interface ChartDoc {
|
|
|
1700
1880
|
confidenceEvidence?: SeatConfidenceEvidence;
|
|
1701
1881
|
}
|
|
1702
1882
|
|
|
1703
|
-
export { type
|
|
1883
|
+
export { type ReferenceDirectLandmarkDisposition as $, type AccessibilityType as A, type BoothObject as B, type ChartDoc as C, type AuthoringObjectState as D, type ChartLayoutConstraint as E, type FloorLabelStyle as F, type GAAreaObject as G, type ChartTheme as H, type ConfidenceEvidenceScope as I, type DecorImageObject as J, LABEL_STYLE_MAX_SIZE as K, type LabelStyle as L, LABEL_STYLE_MIN_SIZE as M, type LabelPresentation as N, type ObjectEditorState as O, type Point as P, type Physical3dEvidence as Q, type RowObject as R, type SeatCommercialAttributes as S, type TableObject as T, type RadialClearanceLayoutConstraint as U, type ReferenceAccessibilitySource as V, type ReferenceCalibration as W, type ReferenceCategorySource as X, type ReferenceDerivedScale as Y, type ReferenceDirectAnnotationSource as Z, type ReferenceDirectLandmarkCandidate as _, type ChartObject as a, type ReferenceDirectLandmarkRole as a0, type ReferenceDirectSeatGroup as a1, type ReferenceDirectSeatImportSource as a2, type ReferenceDirectSeatPlan as a3, type ReferenceEnrichmentStatus as a4, type ReferenceExtractEmptyReason as a5, type ReferenceExtractEnrichment as a6, type ReferenceExtractInput as a7, type ReferenceExtractProposal as a8, type ReferenceExtractRegionSeats as a9, type TicketTierApplicability as aA, type TicketTierEvidence as aB, type TicketTierRestriction as aC, type Venue3DMaterialPalette as aD, type VenueSurveyRegistrationEvidence as aE, type ZoneDef as aF, accessibilityMeta as aG, accessibilityRingColor as aH, layerOf as aI, seatCommercialMeta as aJ, type ReferenceInventoryExclusionSource as aa, type ReferenceInventorySource as ab, type ReferenceMatchReport as ac, type ReferenceScanProposal as ad, type ReferenceScanRowProposal as ae, type ReferenceScanSectionProposal as af, type ReferenceSeatSeed as ag, type ReferenceSectionTraceBatchInput as ah, type ReferenceSectionTraceBatchProposal as ai, type ReferenceSectionTraceInput as aj, type ReferenceSectionTraceProposal as ak, SEAT_COMMERCIAL_MARKS as al, STAGE_LABEL_STYLE_MAX_SIZE as am, SURROUNDINGS_SHAPE_ROLES as an, type SeatCommercialMark as ao, type SeatCommercialMeta as ap, type SeatConfidenceCoverage as aq, type SeatConfidenceEvidence as ar, type SeatConfidenceModelLevel as as, type SeatConfidenceModeledTarget as at, type SeatConfidenceRealityLevel as au, type SeatViewVariant as av, type SelectionLayer as aw, type StageLabelStyle as ax, type TextAlignment as ay, type TextBackground as az, type SeatViewMetadata as b, type ResolvedSeatConfidenceEvidence as c, type SeatGlyphKind as d, type SeatViewCoverage as e, type SectionOutlinePath as f, type SectionPathSegment as g, type GAInventorySegment as h, type CategoryTier as i, type SeatOverride as j, type RectTableSide as k, type Floor as l, type SectionObject as m, type RectTableSeatCounts as n, type ChartReferenceImage as o, type Category as p, type ShapeLineCap as q, type ShapeLineEnding as r, type ShapeLineJoin as s, type ShapeObject as t, type CubicPath as u, type TextObject as v, type ChartDeliveryPerformance as w, ACCESSIBILITY_RING_COLOR as x, ACCESSIBILITY_TYPES as y, type AccessibilityMeta as z };
|