@seatlayer/core 0.67.12 → 0.67.13
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-DEgsjxCC.d.cts → categoryInventory-BI3jJaqD.d.cts} +1 -1
- package/dist/{categoryInventory-C3RogGHF.d.ts → categoryInventory-CDGQe2Ag.d.ts} +1 -1
- package/dist/chunk-3TAVIEVO.js +1 -0
- package/dist/chunk-52MZJZMW.js +1 -0
- package/dist/chunk-5BGP7S3Q.js +1 -0
- package/dist/chunk-BTW7IGNT.js +1 -0
- package/dist/{chunk-F4GG7KDS.js → chunk-BV6FHURE.js} +1 -1
- package/dist/chunk-CRCGO52K.js +1 -0
- package/dist/{chunk-5S3OQBZJ.js → chunk-HZT2U5IY.js} +1 -1
- package/dist/chunk-I6DNJFRF.js +1 -0
- package/dist/{chunk-V7PECHME.js → chunk-QYZ3P5L6.js} +1 -1
- package/dist/{chunk-L35GJOTC.js → chunk-RMNTGICO.js} +1 -1
- package/dist/chunk-Y2J55NLS.js +1 -0
- package/dist/core/chart-ops/index.cjs +1 -1
- package/dist/core/chart-ops/index.d.cts +71 -7
- package/dist/core/chart-ops/index.d.ts +71 -7
- package/dist/core/chart-ops/index.js +1 -1
- package/dist/core/inventory/index.cjs +1 -1
- package/dist/core/inventory/index.d.cts +4 -4
- package/dist/core/inventory/index.d.ts +4 -4
- package/dist/core/inventory/index.js +1 -1
- package/dist/core/layout/index.cjs +1 -1
- package/dist/core/layout/index.d.cts +4 -4
- package/dist/core/layout/index.d.ts +4 -4
- package/dist/core/layout/index.js +1 -1
- package/dist/core/quality/index.d.cts +3 -3
- package/dist/core/quality/index.d.ts +3 -3
- package/dist/core/render-assets/index.d.cts +1 -1
- package/dist/core/render-assets/index.d.ts +1 -1
- package/dist/core/seatConfidence.cjs +1 -1
- package/dist/core/seatConfidence.d.cts +5 -3
- package/dist/core/seatConfidence.d.ts +5 -3
- package/dist/core/seatConfidence.js +1 -1
- package/dist/core/sections/index.cjs +1 -1
- package/dist/core/sections/index.d.cts +5 -5
- package/dist/core/sections/index.d.ts +5 -5
- package/dist/core/sections/index.js +1 -1
- package/dist/eventConfigurations-DImP8Cd6.d.ts +130 -0
- package/dist/eventConfigurations-YqyHnreh.d.cts +130 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +32 -11
- package/dist/index.d.ts +32 -11
- package/dist/index.js +1 -1
- package/dist/{labeling-DTHo03rf.d.ts → labeling-Cb7ZwhoO.d.ts} +1 -1
- package/dist/{labeling-DRFC35VK.d.cts → labeling-lXzjJrgV.d.cts} +1 -1
- package/dist/{layout-BSb0-47G.d.ts → layout-ByBMw1t7.d.ts} +7 -3
- package/dist/{layout-wVlsj-_w.d.cts → layout-cZ3VfeJR.d.cts} +7 -3
- package/dist/{openPanorama-ALLZ6ADE.js → openPanorama-HGRYMWKC.js} +1 -1
- package/dist/{renderedQuality-8i9bYccr.d.cts → renderedQuality-6ta0nSPm.d.cts} +1 -1
- package/dist/{renderedQuality-CbHiqt1W.d.ts → renderedQuality-BJKHot_g.d.ts} +1 -1
- package/dist/{renderer-BxLV6zjl.d.ts → renderer-B9GavToM.d.ts} +3 -1
- package/dist/{renderer-DOVelTZw.d.cts → renderer-C9BLd1g2.d.cts} +3 -1
- package/dist/{sections-BrQV1WzI.d.ts → sections-BvZ1cQkD.d.ts} +1 -1
- package/dist/{sections-D2bxgVgg.d.cts → sections-ND5PRE4j.d.cts} +1 -1
- package/dist/{segmentedRowModel-BQYSdf7k.d.cts → segmentedRowModel-BB9MPufB.d.cts} +1 -1
- package/dist/{segmentedRowModel-Cl3X8SKt.d.ts → segmentedRowModel-CLKP-2ca.d.ts} +1 -1
- package/dist/{ticketRestrictions-D0GRRQ3i.d.cts → ticketRestrictions-CjV47RNG.d.cts} +2 -2
- package/dist/{ticketRestrictions-SteRFSGg.d.ts → ticketRestrictions-DUQ8wHjG.d.ts} +2 -2
- package/dist/{types-DmgX-iuD.d.cts → types-hv6QjPRV.d.cts} +32 -3
- package/dist/{types-DmgX-iuD.d.ts → types-hv6QjPRV.d.ts} +32 -3
- package/dist/view/panoramaDelivery.cjs +1 -1
- package/dist/view/panoramaDelivery.d.cts +5 -0
- package/dist/view/panoramaDelivery.d.ts +5 -0
- package/dist/view/panoramaDelivery.js +1 -1
- package/dist/view3d/crossfade/panorama.cjs +1 -1
- package/dist/view3d/crossfade/panorama.d.cts +7 -1
- package/dist/view3d/crossfade/panorama.d.ts +7 -1
- package/dist/view3d/crossfade/panorama.js +1 -1
- package/dist/view3d/index.cjs +30 -30
- package/dist/view3d/index.d.cts +27 -2
- package/dist/view3d/index.d.ts +27 -2
- package/dist/view3d/index.js +24 -24
- package/package.json +1 -1
- package/dist/chunk-EQM4FFN5.js +0 -1
- package/dist/chunk-IJI4WU57.js +0 -1
- package/dist/chunk-TTTRXXAA.js +0 -1
- package/dist/chunk-XHXBFFWR.js +0 -1
- package/dist/chunk-XPPT3OGQ.js +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { j as SectionOutlinePath, P as Point, k as SectionPathSegment } from './types-
|
|
1
|
+
import { j as SectionOutlinePath, P as Point, k as SectionPathSegment } from './types-hv6QjPRV.js';
|
|
2
2
|
|
|
3
3
|
declare function sectionPathSegmentEnd(segment: SectionPathSegment): Point;
|
|
4
4
|
/** Validate finite, continuous closed-path geometry without trusting renderer
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { j as SectionOutlinePath, P as Point, k as SectionPathSegment } from './types-
|
|
1
|
+
import { j as SectionOutlinePath, P as Point, k as SectionPathSegment } from './types-hv6QjPRV.cjs';
|
|
2
2
|
|
|
3
3
|
declare function sectionPathSegmentEnd(segment: SectionPathSegment): Point;
|
|
4
4
|
/** Validate finite, continuous closed-path geometry without trusting renderer
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { A as AccessibilityType, S as SeatOverride, R as RowObject, a as SeatGlyphKind, b as SeatViewMetadata, L as LabelStyle, c as RectTableSide, C as ChartDoc, d as ChartObject, B as BoothObject, T as TableObject, P as Point, F as Floor, e as SectionObject, f as RectTableSeatCounts } from './types-
|
|
2
|
-
import { S as SegmentedRowPlacement } from './segmentedRowModel-
|
|
3
|
-
import { E as ExpandedSeat } from './renderer-
|
|
1
|
+
import { A as AccessibilityType, S as SeatOverride, R as RowObject, a as SeatGlyphKind, b as SeatViewMetadata, L as LabelStyle, c as RectTableSide, C as ChartDoc, d as ChartObject, B as BoothObject, T as TableObject, P as Point, F as Floor, e as SectionObject, f as RectTableSeatCounts } from './types-hv6QjPRV.js';
|
|
2
|
+
import { S as SegmentedRowPlacement } from './segmentedRowModel-CLKP-2ca.js';
|
|
3
|
+
import { E as ExpandedSeat } from './renderer-B9GavToM.js';
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* Pure geometry helpers — no Konva, no DOM. Turns the parametric chart
|
|
@@ -207,6 +207,10 @@ interface ExpandChartOptions {
|
|
|
207
207
|
/** Resolve per-seat 3D eye heights (default true). Two-dimensional consumers
|
|
208
208
|
* such as thumbnails can disable this expensive stand-structure pass. */
|
|
209
209
|
resolveEyeHeights?: boolean;
|
|
210
|
+
/** Clock for evidence expiry. Tests inject this; production uses now. */
|
|
211
|
+
now?: Date | number;
|
|
212
|
+
/** Bound Event configuration version; evidence pinned to another version is dropped. */
|
|
213
|
+
eventConfigurationVersion?: number;
|
|
210
214
|
}
|
|
211
215
|
/** Expand every seat-bearing object across all floors (rows, tables, booths).
|
|
212
216
|
* Multi-floor ownership is resolved one floor at a time: local coordinates may
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { A as AccessibilityType, S as SeatOverride, R as RowObject, a as SeatGlyphKind, b as SeatViewMetadata, L as LabelStyle, c as RectTableSide, C as ChartDoc, d as ChartObject, B as BoothObject, T as TableObject, P as Point, F as Floor, e as SectionObject, f as RectTableSeatCounts } from './types-
|
|
2
|
-
import { S as SegmentedRowPlacement } from './segmentedRowModel-
|
|
3
|
-
import { E as ExpandedSeat } from './renderer-
|
|
1
|
+
import { A as AccessibilityType, S as SeatOverride, R as RowObject, a as SeatGlyphKind, b as SeatViewMetadata, L as LabelStyle, c as RectTableSide, C as ChartDoc, d as ChartObject, B as BoothObject, T as TableObject, P as Point, F as Floor, e as SectionObject, f as RectTableSeatCounts } from './types-hv6QjPRV.cjs';
|
|
2
|
+
import { S as SegmentedRowPlacement } from './segmentedRowModel-BB9MPufB.cjs';
|
|
3
|
+
import { E as ExpandedSeat } from './renderer-C9BLd1g2.cjs';
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* Pure geometry helpers — no Konva, no DOM. Turns the parametric chart
|
|
@@ -207,6 +207,10 @@ interface ExpandChartOptions {
|
|
|
207
207
|
/** Resolve per-seat 3D eye heights (default true). Two-dimensional consumers
|
|
208
208
|
* such as thumbnails can disable this expensive stand-structure pass. */
|
|
209
209
|
resolveEyeHeights?: boolean;
|
|
210
|
+
/** Clock for evidence expiry. Tests inject this; production uses now. */
|
|
211
|
+
now?: Date | number;
|
|
212
|
+
/** Bound Event configuration version; evidence pinned to another version is dropped. */
|
|
213
|
+
eventConfigurationVersion?: number;
|
|
210
214
|
}
|
|
211
215
|
/** Expand every seat-bearing object across all floors (rows, tables, booths).
|
|
212
216
|
* Multi-floor ownership is resolved one floor at a time: local coordinates may
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as $,c as K,d as Q,e as O,j as Z}from"./chunk-
|
|
1
|
+
import{a as $,c as K,d as Q,e as O,j as Z}from"./chunk-52MZJZMW.js";import{c as N,d as Y,e as X,f as j}from"./chunk-5BGP7S3Q.js";import{Geometry as ne,Mesh as oe,Program as ae,Texture as ie}from"ogl";var se=64,le=32,ce=500;function me(m=se,i=le,t=ce){let o=m+1,f=i+1,u=o*f,a=new Float32Array(u*3),p=new Float32Array(u*2);for(let b=0;b<f;b++){let L=b/i,M=L*Math.PI,c=Math.sin(M),S=Math.cos(M);for(let g=0;g<o;g++){let y=g/m,r=(y-.5)*Math.PI*2,x=b*o+g;a[x*3]=t*c*Math.sin(r),a[x*3+1]=t*S,a[x*3+2]=-t*c*Math.cos(r),p[x*2]=y,p[x*2+1]=L}}let l=new Uint16Array(m*i*6),s=0;for(let b=0;b<i;b++)for(let L=0;L<m;L++){let M=b*o+L,c=M+o;l[s++]=M,l[s++]=c,l[s++]=M+1,l[s++]=M+1,l[s++]=c,l[s++]=c+1}return{position:a,uv:p,index:l}}function J(m,i){let t=m*Math.PI/180,o=i*Math.PI/180,f=Math.cos(o);return[f*Math.sin(t),Math.sin(o),-f*Math.cos(t)]}var ue=`#version 300 es
|
|
2
2
|
precision highp float;
|
|
3
3
|
in vec3 position;
|
|
4
4
|
in vec2 uv;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { R as RendererQualityEvidence, a as RenderedFreeTextEvidence } from './renderer-
|
|
1
|
+
import { R as RendererQualityEvidence, a as RenderedFreeTextEvidence } from './renderer-C9BLd1g2.cjs';
|
|
2
2
|
|
|
3
3
|
declare const RENDERED_QUALITY_REPORT_VERSION = 3;
|
|
4
4
|
type RenderedEvidenceState = 'overview' | 'interaction';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { R as RendererQualityEvidence, a as RenderedFreeTextEvidence } from './renderer-
|
|
1
|
+
import { R as RendererQualityEvidence, a as RenderedFreeTextEvidence } from './renderer-B9GavToM.js';
|
|
2
2
|
|
|
3
3
|
declare const RENDERED_QUALITY_REPORT_VERSION = 3;
|
|
4
4
|
type RenderedEvidenceState = 'overview' | 'interaction';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { P as Point, A as AccessibilityType, g as SeatCommercialAttributes, b as SeatViewMetadata, h as ResolvedSeatConfidenceEvidence, L as LabelStyle, a as SeatGlyphKind, C as ChartDoc } from './types-
|
|
1
|
+
import { P as Point, A as AccessibilityType, g as SeatCommercialAttributes, b as SeatViewMetadata, h as ResolvedSeatConfidenceEvidence, L as LabelStyle, a as SeatGlyphKind, C as ChartDoc } from './types-hv6QjPRV.js';
|
|
2
2
|
|
|
3
3
|
interface ExpandedSeat {
|
|
4
4
|
/** Stable id: `${rowId}:${index}` */
|
|
@@ -10,6 +10,8 @@ interface ExpandedSeat {
|
|
|
10
10
|
x: number;
|
|
11
11
|
y: number;
|
|
12
12
|
rowId: string;
|
|
13
|
+
/** Owning authored floor on multi-floor charts. */
|
|
14
|
+
floorId?: string;
|
|
13
15
|
/** Owning logical section and navigation zone, resolved once at expand time. */
|
|
14
16
|
sectionId?: string;
|
|
15
17
|
zoneId?: string;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { P as Point, A as AccessibilityType, g as SeatCommercialAttributes, b as SeatViewMetadata, h as ResolvedSeatConfidenceEvidence, L as LabelStyle, a as SeatGlyphKind, C as ChartDoc } from './types-
|
|
1
|
+
import { P as Point, A as AccessibilityType, g as SeatCommercialAttributes, b as SeatViewMetadata, h as ResolvedSeatConfidenceEvidence, L as LabelStyle, a as SeatGlyphKind, C as ChartDoc } from './types-hv6QjPRV.cjs';
|
|
2
2
|
|
|
3
3
|
interface ExpandedSeat {
|
|
4
4
|
/** Stable id: `${rowId}:${index}` */
|
|
@@ -10,6 +10,8 @@ interface ExpandedSeat {
|
|
|
10
10
|
x: number;
|
|
11
11
|
y: number;
|
|
12
12
|
rowId: string;
|
|
13
|
+
/** Owning authored floor on multi-floor charts. */
|
|
14
|
+
floorId?: string;
|
|
13
15
|
/** Owning logical section and navigation zone, resolved once at expand time. */
|
|
14
16
|
sectionId?: string;
|
|
15
17
|
zoneId?: string;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { C as ChartDoc, G as GAAreaObject, l as GAInventorySegment, m as CategoryTier } from './types-
|
|
2
|
-
import { E as ExpandedSeat } from './renderer-
|
|
1
|
+
import { C as ChartDoc, G as GAAreaObject, l as GAInventorySegment, m as CategoryTier } from './types-hv6QjPRV.cjs';
|
|
2
|
+
import { E as ExpandedSeat } from './renderer-C9BLd1g2.cjs';
|
|
3
3
|
|
|
4
4
|
declare const MAX_GA_CAPACITY = 100000;
|
|
5
5
|
declare const MAX_EVENT_INVENTORY = 100000;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { C as ChartDoc, G as GAAreaObject, l as GAInventorySegment, m as CategoryTier } from './types-
|
|
2
|
-
import { E as ExpandedSeat } from './renderer-
|
|
1
|
+
import { C as ChartDoc, G as GAAreaObject, l as GAInventorySegment, m as CategoryTier } from './types-hv6QjPRV.js';
|
|
2
|
+
import { E as ExpandedSeat } from './renderer-B9GavToM.js';
|
|
3
3
|
|
|
4
4
|
declare const MAX_GA_CAPACITY = 100000;
|
|
5
5
|
declare const MAX_EVENT_INVENTORY = 100000;
|
|
@@ -578,7 +578,15 @@ declare function accessibilityMeta(key: AccessibilityType): AccessibilityMeta |
|
|
|
578
578
|
declare const ACCESSIBILITY_RING_COLOR: Record<AccessibilityType, string>;
|
|
579
579
|
/** Ring colour for a seat's accessibility set (first-listed type wins). */
|
|
580
580
|
declare function accessibilityRingColor(types: AccessibilityType[] | undefined): string;
|
|
581
|
-
type SeatViewCoverage = 'exact-seat' | 'row-representative' | 'section-representative' | 'venue-representative';
|
|
581
|
+
type SeatViewCoverage = 'exact-seat' | 'row-representative' | 'section-representative' | 'floor-representative' | 'venue-representative';
|
|
582
|
+
/** One immutable generated equirectangular display tier. The lightweight
|
|
583
|
+
* first paint remains the dedicated preview fields for legacy compatibility. */
|
|
584
|
+
interface SeatViewVariant {
|
|
585
|
+
url: string;
|
|
586
|
+
width: number;
|
|
587
|
+
height: number;
|
|
588
|
+
sha256: string;
|
|
589
|
+
}
|
|
582
590
|
/** Calibration and truth metadata that travels with an organizer panorama.
|
|
583
591
|
* The URL remains separate for backward compatibility with existing charts. */
|
|
584
592
|
interface SeatViewMetadata {
|
|
@@ -588,6 +596,8 @@ interface SeatViewMetadata {
|
|
|
588
596
|
previewUrl?: string;
|
|
589
597
|
previewWidth?: number;
|
|
590
598
|
previewHeight?: number;
|
|
599
|
+
/** Generated display tiers, smallest to largest. The original/master is never exposed here. */
|
|
600
|
+
variants?: SeatViewVariant[];
|
|
591
601
|
/** Degrees relative to the authored focal/stage direction. */
|
|
592
602
|
initialBearingDeg?: number;
|
|
593
603
|
/** Positive looks up. The viewer clamps to its safe pitch range. */
|
|
@@ -599,6 +609,9 @@ interface SeatViewMetadata {
|
|
|
599
609
|
sourceHeight?: number;
|
|
600
610
|
captureEyeHeightM?: number;
|
|
601
611
|
eventConfigurationId?: string;
|
|
612
|
+
/** Immutable Event configuration revision. New enterprise imports always pin
|
|
613
|
+
* this together with `eventConfigurationId`; legacy id-only media remains readable. */
|
|
614
|
+
eventConfigurationVersion?: number;
|
|
602
615
|
}
|
|
603
616
|
/** How broadly a confidence record applies to the selected inventory unit.
|
|
604
617
|
* This is resolved by the layout engine from the authoring scope; authors do
|
|
@@ -613,7 +626,7 @@ interface SeatConfidenceModeledTarget {
|
|
|
613
626
|
clearRayCount: number;
|
|
614
627
|
totalRayCount: number;
|
|
615
628
|
classification: 'clear' | 'partial' | 'obstructed';
|
|
616
|
-
/** Buyer-safe method name, e.g. "45-ray
|
|
629
|
+
/** Buyer-safe method name, e.g. "45-ray performance target model". */
|
|
617
630
|
methodLabel: string;
|
|
618
631
|
occluderLabels?: string[];
|
|
619
632
|
}
|
|
@@ -632,6 +645,15 @@ interface SeatConfidenceEvidence {
|
|
|
632
645
|
realityLevel?: SeatConfidenceRealityLevel;
|
|
633
646
|
/** Required for configuration verification and actual-build checking. */
|
|
634
647
|
eventConfigurationId?: string;
|
|
648
|
+
/** Exact configuration version this evidence was approved against. */
|
|
649
|
+
eventConfigurationVersion?: number;
|
|
650
|
+
/**
|
|
651
|
+
* Publication state. Absent means legacy live evidence (pre-registry).
|
|
652
|
+
* Draft and retracted records must never reach buyers as verified claims.
|
|
653
|
+
*/
|
|
654
|
+
status?: 'draft' | 'approved' | 'retracted';
|
|
655
|
+
/** Server-stamped SHA-256 of view-relevant venue facts at approval time. */
|
|
656
|
+
basisSha256?: string;
|
|
635
657
|
assessedAt?: string;
|
|
636
658
|
validUntil?: string;
|
|
637
659
|
/** Buyer-safe approving organization or role; never a named individual. */
|
|
@@ -1545,6 +1567,11 @@ interface ChartDoc {
|
|
|
1545
1567
|
focalPoint: Point;
|
|
1546
1568
|
/** Active event layout used by configuration-scoped 3D architecture. */
|
|
1547
1569
|
eventConfigurationId?: string;
|
|
1570
|
+
/**
|
|
1571
|
+
* Exact Event binding version used at buyer expand time. Stamped onto the
|
|
1572
|
+
* in-memory buyer copy; not an authoring field organizers persist.
|
|
1573
|
+
*/
|
|
1574
|
+
eventConfigurationVersion?: number;
|
|
1548
1575
|
categories: Category[];
|
|
1549
1576
|
/** Section groupings for far-zoom navigation + pricing (optional; sections reference by id). */
|
|
1550
1577
|
zones?: ZoneDef[];
|
|
@@ -1553,6 +1580,8 @@ interface ChartDoc {
|
|
|
1553
1580
|
* is kept mirroring floor 0 so single-floor readers never branch. */
|
|
1554
1581
|
floors?: Floor[];
|
|
1555
1582
|
objects: ChartObject[];
|
|
1583
|
+
/** Server-stamped SHA-256 of the current view-relevant venue projection. */
|
|
1584
|
+
confidenceBasisSha256?: string;
|
|
1556
1585
|
/** Re-runnable geometric relationships between focal components and sections. */
|
|
1557
1586
|
layoutConstraints?: ChartLayoutConstraint[];
|
|
1558
1587
|
/**
|
|
@@ -1586,4 +1615,4 @@ interface ChartDoc {
|
|
|
1586
1615
|
confidenceEvidence?: SeatConfidenceEvidence;
|
|
1587
1616
|
}
|
|
1588
1617
|
|
|
1589
|
-
export { type ReferenceExtractRegionSeats as $, type AccessibilityType as A, type BoothObject as B, type ChartDoc as C, type ChartTheme as D, type DecorImageObject as E, type Floor as F, type GAAreaObject as G, LABEL_STYLE_MAX_SIZE as H, LABEL_STYLE_MIN_SIZE as I, type LabelPresentation as J, type Physical3dEvidence as K, type LabelStyle as L, type RadialClearanceLayoutConstraint as M, type ReferenceAccessibilitySource as N, type ObjectEditorState as O, type Point as P, type ReferenceCalibration as Q, type RowObject as R, type SeatOverride as S, type TableObject as T, type ReferenceCategorySource as U, type ReferenceDerivedScale as V, type ReferenceEnrichmentStatus as W, type ReferenceExtractEmptyReason as X, type ReferenceExtractEnrichment as Y, type ReferenceExtractInput as Z, type ReferenceExtractProposal as _, type SeatGlyphKind as a, type ReferenceInventoryExclusionSource as a0, type ReferenceInventorySource as a1, type ReferenceMatchReport as a2, type ReferenceScanProposal as a3, type ReferenceScanRowProposal as a4, type ReferenceScanSectionProposal as a5, type ReferenceSeatSeed as a6, type ReferenceSectionTraceBatchInput as a7, type ReferenceSectionTraceBatchProposal as a8, type ReferenceSectionTraceInput as a9, type ReferenceSectionTraceProposal as aa, SEAT_COMMERCIAL_MARKS as ab, SURROUNDINGS_SHAPE_ROLES as ac, type SeatCommercialMark as ad, type SeatCommercialMeta as ae, type SeatConfidenceCoverage as af, type SeatConfidenceEvidence as ag, type SeatConfidenceModelLevel as ah, type SeatConfidenceModeledTarget as ai, type SeatConfidenceRealityLevel as aj, type
|
|
1618
|
+
export { type ReferenceExtractRegionSeats as $, type AccessibilityType as A, type BoothObject as B, type ChartDoc as C, type ChartTheme as D, type DecorImageObject as E, type Floor as F, type GAAreaObject as G, LABEL_STYLE_MAX_SIZE as H, LABEL_STYLE_MIN_SIZE as I, type LabelPresentation as J, type Physical3dEvidence as K, type LabelStyle as L, type RadialClearanceLayoutConstraint as M, type ReferenceAccessibilitySource as N, type ObjectEditorState as O, type Point as P, type ReferenceCalibration as Q, type RowObject as R, type SeatOverride as S, type TableObject as T, type ReferenceCategorySource as U, type ReferenceDerivedScale as V, type ReferenceEnrichmentStatus as W, type ReferenceExtractEmptyReason as X, type ReferenceExtractEnrichment as Y, type ReferenceExtractInput as Z, type ReferenceExtractProposal as _, type SeatGlyphKind as a, type ReferenceInventoryExclusionSource as a0, type ReferenceInventorySource as a1, type ReferenceMatchReport as a2, type ReferenceScanProposal as a3, type ReferenceScanRowProposal as a4, type ReferenceScanSectionProposal as a5, type ReferenceSeatSeed as a6, type ReferenceSectionTraceBatchInput as a7, type ReferenceSectionTraceBatchProposal as a8, type ReferenceSectionTraceInput as a9, type ReferenceSectionTraceProposal as aa, SEAT_COMMERCIAL_MARKS as ab, SURROUNDINGS_SHAPE_ROLES as ac, type SeatCommercialMark as ad, type SeatCommercialMeta as ae, type SeatConfidenceCoverage as af, type SeatConfidenceEvidence as ag, type SeatConfidenceModelLevel as ah, type SeatConfidenceModeledTarget as ai, type SeatConfidenceRealityLevel as aj, type SeatViewVariant as ak, type SelectionLayer as al, type TextAlignment as am, type TextBackground as an, type TicketTierApplicability as ao, type TicketTierEvidence as ap, type TicketTierRestriction as aq, type ZoneDef as ar, accessibilityMeta as as, accessibilityRingColor as at, layerOf as au, seatCommercialMeta as av, type SeatViewMetadata as b, type RectTableSide as c, type ChartObject as d, type SectionObject as e, type RectTableSeatCounts as f, type SeatCommercialAttributes as g, type ResolvedSeatConfidenceEvidence as h, type SeatViewCoverage as i, type SectionOutlinePath as j, type SectionPathSegment as k, type GAInventorySegment as l, type CategoryTier 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 CubicPath as t, type TextObject as u, ACCESSIBILITY_RING_COLOR as v, ACCESSIBILITY_TYPES as w, type AccessibilityMeta as x, type AuthoringObjectState as y, type ChartLayoutConstraint as z };
|
|
@@ -578,7 +578,15 @@ declare function accessibilityMeta(key: AccessibilityType): AccessibilityMeta |
|
|
|
578
578
|
declare const ACCESSIBILITY_RING_COLOR: Record<AccessibilityType, string>;
|
|
579
579
|
/** Ring colour for a seat's accessibility set (first-listed type wins). */
|
|
580
580
|
declare function accessibilityRingColor(types: AccessibilityType[] | undefined): string;
|
|
581
|
-
type SeatViewCoverage = 'exact-seat' | 'row-representative' | 'section-representative' | 'venue-representative';
|
|
581
|
+
type SeatViewCoverage = 'exact-seat' | 'row-representative' | 'section-representative' | 'floor-representative' | 'venue-representative';
|
|
582
|
+
/** One immutable generated equirectangular display tier. The lightweight
|
|
583
|
+
* first paint remains the dedicated preview fields for legacy compatibility. */
|
|
584
|
+
interface SeatViewVariant {
|
|
585
|
+
url: string;
|
|
586
|
+
width: number;
|
|
587
|
+
height: number;
|
|
588
|
+
sha256: string;
|
|
589
|
+
}
|
|
582
590
|
/** Calibration and truth metadata that travels with an organizer panorama.
|
|
583
591
|
* The URL remains separate for backward compatibility with existing charts. */
|
|
584
592
|
interface SeatViewMetadata {
|
|
@@ -588,6 +596,8 @@ interface SeatViewMetadata {
|
|
|
588
596
|
previewUrl?: string;
|
|
589
597
|
previewWidth?: number;
|
|
590
598
|
previewHeight?: number;
|
|
599
|
+
/** Generated display tiers, smallest to largest. The original/master is never exposed here. */
|
|
600
|
+
variants?: SeatViewVariant[];
|
|
591
601
|
/** Degrees relative to the authored focal/stage direction. */
|
|
592
602
|
initialBearingDeg?: number;
|
|
593
603
|
/** Positive looks up. The viewer clamps to its safe pitch range. */
|
|
@@ -599,6 +609,9 @@ interface SeatViewMetadata {
|
|
|
599
609
|
sourceHeight?: number;
|
|
600
610
|
captureEyeHeightM?: number;
|
|
601
611
|
eventConfigurationId?: string;
|
|
612
|
+
/** Immutable Event configuration revision. New enterprise imports always pin
|
|
613
|
+
* this together with `eventConfigurationId`; legacy id-only media remains readable. */
|
|
614
|
+
eventConfigurationVersion?: number;
|
|
602
615
|
}
|
|
603
616
|
/** How broadly a confidence record applies to the selected inventory unit.
|
|
604
617
|
* This is resolved by the layout engine from the authoring scope; authors do
|
|
@@ -613,7 +626,7 @@ interface SeatConfidenceModeledTarget {
|
|
|
613
626
|
clearRayCount: number;
|
|
614
627
|
totalRayCount: number;
|
|
615
628
|
classification: 'clear' | 'partial' | 'obstructed';
|
|
616
|
-
/** Buyer-safe method name, e.g. "45-ray
|
|
629
|
+
/** Buyer-safe method name, e.g. "45-ray performance target model". */
|
|
617
630
|
methodLabel: string;
|
|
618
631
|
occluderLabels?: string[];
|
|
619
632
|
}
|
|
@@ -632,6 +645,15 @@ interface SeatConfidenceEvidence {
|
|
|
632
645
|
realityLevel?: SeatConfidenceRealityLevel;
|
|
633
646
|
/** Required for configuration verification and actual-build checking. */
|
|
634
647
|
eventConfigurationId?: string;
|
|
648
|
+
/** Exact configuration version this evidence was approved against. */
|
|
649
|
+
eventConfigurationVersion?: number;
|
|
650
|
+
/**
|
|
651
|
+
* Publication state. Absent means legacy live evidence (pre-registry).
|
|
652
|
+
* Draft and retracted records must never reach buyers as verified claims.
|
|
653
|
+
*/
|
|
654
|
+
status?: 'draft' | 'approved' | 'retracted';
|
|
655
|
+
/** Server-stamped SHA-256 of view-relevant venue facts at approval time. */
|
|
656
|
+
basisSha256?: string;
|
|
635
657
|
assessedAt?: string;
|
|
636
658
|
validUntil?: string;
|
|
637
659
|
/** Buyer-safe approving organization or role; never a named individual. */
|
|
@@ -1545,6 +1567,11 @@ interface ChartDoc {
|
|
|
1545
1567
|
focalPoint: Point;
|
|
1546
1568
|
/** Active event layout used by configuration-scoped 3D architecture. */
|
|
1547
1569
|
eventConfigurationId?: string;
|
|
1570
|
+
/**
|
|
1571
|
+
* Exact Event binding version used at buyer expand time. Stamped onto the
|
|
1572
|
+
* in-memory buyer copy; not an authoring field organizers persist.
|
|
1573
|
+
*/
|
|
1574
|
+
eventConfigurationVersion?: number;
|
|
1548
1575
|
categories: Category[];
|
|
1549
1576
|
/** Section groupings for far-zoom navigation + pricing (optional; sections reference by id). */
|
|
1550
1577
|
zones?: ZoneDef[];
|
|
@@ -1553,6 +1580,8 @@ interface ChartDoc {
|
|
|
1553
1580
|
* is kept mirroring floor 0 so single-floor readers never branch. */
|
|
1554
1581
|
floors?: Floor[];
|
|
1555
1582
|
objects: ChartObject[];
|
|
1583
|
+
/** Server-stamped SHA-256 of the current view-relevant venue projection. */
|
|
1584
|
+
confidenceBasisSha256?: string;
|
|
1556
1585
|
/** Re-runnable geometric relationships between focal components and sections. */
|
|
1557
1586
|
layoutConstraints?: ChartLayoutConstraint[];
|
|
1558
1587
|
/**
|
|
@@ -1586,4 +1615,4 @@ interface ChartDoc {
|
|
|
1586
1615
|
confidenceEvidence?: SeatConfidenceEvidence;
|
|
1587
1616
|
}
|
|
1588
1617
|
|
|
1589
|
-
export { type ReferenceExtractRegionSeats as $, type AccessibilityType as A, type BoothObject as B, type ChartDoc as C, type ChartTheme as D, type DecorImageObject as E, type Floor as F, type GAAreaObject as G, LABEL_STYLE_MAX_SIZE as H, LABEL_STYLE_MIN_SIZE as I, type LabelPresentation as J, type Physical3dEvidence as K, type LabelStyle as L, type RadialClearanceLayoutConstraint as M, type ReferenceAccessibilitySource as N, type ObjectEditorState as O, type Point as P, type ReferenceCalibration as Q, type RowObject as R, type SeatOverride as S, type TableObject as T, type ReferenceCategorySource as U, type ReferenceDerivedScale as V, type ReferenceEnrichmentStatus as W, type ReferenceExtractEmptyReason as X, type ReferenceExtractEnrichment as Y, type ReferenceExtractInput as Z, type ReferenceExtractProposal as _, type SeatGlyphKind as a, type ReferenceInventoryExclusionSource as a0, type ReferenceInventorySource as a1, type ReferenceMatchReport as a2, type ReferenceScanProposal as a3, type ReferenceScanRowProposal as a4, type ReferenceScanSectionProposal as a5, type ReferenceSeatSeed as a6, type ReferenceSectionTraceBatchInput as a7, type ReferenceSectionTraceBatchProposal as a8, type ReferenceSectionTraceInput as a9, type ReferenceSectionTraceProposal as aa, SEAT_COMMERCIAL_MARKS as ab, SURROUNDINGS_SHAPE_ROLES as ac, type SeatCommercialMark as ad, type SeatCommercialMeta as ae, type SeatConfidenceCoverage as af, type SeatConfidenceEvidence as ag, type SeatConfidenceModelLevel as ah, type SeatConfidenceModeledTarget as ai, type SeatConfidenceRealityLevel as aj, type
|
|
1618
|
+
export { type ReferenceExtractRegionSeats as $, type AccessibilityType as A, type BoothObject as B, type ChartDoc as C, type ChartTheme as D, type DecorImageObject as E, type Floor as F, type GAAreaObject as G, LABEL_STYLE_MAX_SIZE as H, LABEL_STYLE_MIN_SIZE as I, type LabelPresentation as J, type Physical3dEvidence as K, type LabelStyle as L, type RadialClearanceLayoutConstraint as M, type ReferenceAccessibilitySource as N, type ObjectEditorState as O, type Point as P, type ReferenceCalibration as Q, type RowObject as R, type SeatOverride as S, type TableObject as T, type ReferenceCategorySource as U, type ReferenceDerivedScale as V, type ReferenceEnrichmentStatus as W, type ReferenceExtractEmptyReason as X, type ReferenceExtractEnrichment as Y, type ReferenceExtractInput as Z, type ReferenceExtractProposal as _, type SeatGlyphKind as a, type ReferenceInventoryExclusionSource as a0, type ReferenceInventorySource as a1, type ReferenceMatchReport as a2, type ReferenceScanProposal as a3, type ReferenceScanRowProposal as a4, type ReferenceScanSectionProposal as a5, type ReferenceSeatSeed as a6, type ReferenceSectionTraceBatchInput as a7, type ReferenceSectionTraceBatchProposal as a8, type ReferenceSectionTraceInput as a9, type ReferenceSectionTraceProposal as aa, SEAT_COMMERCIAL_MARKS as ab, SURROUNDINGS_SHAPE_ROLES as ac, type SeatCommercialMark as ad, type SeatCommercialMeta as ae, type SeatConfidenceCoverage as af, type SeatConfidenceEvidence as ag, type SeatConfidenceModelLevel as ah, type SeatConfidenceModeledTarget as ai, type SeatConfidenceRealityLevel as aj, type SeatViewVariant as ak, type SelectionLayer as al, type TextAlignment as am, type TextBackground as an, type TicketTierApplicability as ao, type TicketTierEvidence as ap, type TicketTierRestriction as aq, type ZoneDef as ar, accessibilityMeta as as, accessibilityRingColor as at, layerOf as au, seatCommercialMeta as av, type SeatViewMetadata as b, type RectTableSide as c, type ChartObject as d, type SectionObject as e, type RectTableSeatCounts as f, type SeatCommercialAttributes as g, type ResolvedSeatConfidenceEvidence as h, type SeatViewCoverage as i, type SectionOutlinePath as j, type SectionPathSegment as k, type GAInventorySegment as l, type CategoryTier 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 CubicPath as t, type TextObject as u, ACCESSIBILITY_RING_COLOR as v, ACCESSIBILITY_TYPES as w, type AccessibilityMeta as x, type AuthoringObjectState as y, type ChartLayoutConstraint as z };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var m=Object.defineProperty;var g=Object.getOwnPropertyDescriptor;var b=Object.getOwnPropertyNames;var v=Object.prototype.hasOwnProperty;var f=(e,r)=>{for(var n in r)m(e,n,{get:r[n],enumerable:!0})},p=(e,r,n,a)=>{if(r&&typeof r=="object"||typeof r=="function")for(let t of b(r))!v.call(e,t)&&t!==n&&m(e,t,{get:()=>r[t],enumerable:!(a=g(r,t))||a.enumerable});return e};var x=e=>p(m({},"__esModule",{value:!0}),e);var T={};f(T,{browserPanoramaConstraints:()=>y,estimatePanoramaTextureBytes:()=>h,loadPanoramaImage:()=>w,panoramaTextureBudgetBytes:()=>c,planPanoramaDelivery:()=>D,schedulePanoramaUpgrade:()=>P});module.exports=x(T);function h(e,r){return!Number.isFinite(e)||!Number.isFinite(r)||e<=0||r<=0?0:Math.ceil(e*r*4*(4/3))}function c(e){return(e!==void 0&&e<=2?32:e!==void 0&&e>=8?192:96)*1024*1024}function y(e){let r=typeof navigator>"u"?void 0:navigator;return{saveData:r?.connection?.saveData===!0,maxTextureSize:e,maxDecodedBytes:c(r?.deviceMemory)}}function D(e,r={}){let n=e.previewUrl?.trim();if(!n||n===e.url)return{initialUrl:e.url,initialWidth:e.sourceWidth,initialHeight:e.sourceHeight,reason:"full-only"};let a={initialUrl:n,initialWidth:e.previewWidth,initialHeight:e.previewHeight};if(r.saveData)return{...a,reason:"save-data"};let t=[...e.variants??[],...e.sourceWidth!==void 0&&e.sourceHeight!==void 0?[{url:e.url,width:e.sourceWidth,height:e.sourceHeight}]:[]].filter(i=>i.url.trim()&&i.url!==n&&Number.isFinite(i.width)&&i.width>0&&Number.isFinite(i.height)&&i.height>0).sort((i,l)=>i.width*i.height-l.width*l.height);if(!t.length)return{...a,upgradeUrl:e.url,reason:"progressive"};let u=t.filter(i=>r.maxTextureSize===void 0||Math.max(i.width,i.height)<=r.maxTextureSize);if(!u.length)return{...a,reason:"texture-limit"};let s=u.filter(i=>r.maxDecodedBytes===void 0||h(i.width,i.height)<=r.maxDecodedBytes);if(!s.length)return{...a,reason:"memory-limit"};let o=s[s.length-1];return{...a,upgradeUrl:o.url,reason:"progressive"}}function d(){return new DOMException("Panorama image load aborted","AbortError")}function w(e,r){return new Promise((n,a)=>{if(r?.aborted){a(d());return}let t=new Image;t.crossOrigin="anonymous";let u=!1,s=()=>{t.onload=null,t.onerror=null,r?.removeEventListener("abort",i)},o=l=>{u||(u=!0,s(),l?a(l):n(t))},i=()=>{t.src="",o(d())};t.onload=()=>{(typeof t.decode=="function"?t.decode():Promise.resolve()).then(()=>o(),()=>o())},t.onerror=()=>o(new Error("panorama_image_failed")),r?.addEventListener("abort",i,{once:!0}),t.src=e})}function P(e){let r=globalThis;if(r.requestIdleCallback){let a=r.requestIdleCallback(e,{timeout:1200});return()=>r.cancelIdleCallback?.(a)}let n=globalThis.setTimeout(e,32);return()=>globalThis.clearTimeout(n)}0&&(module.exports={browserPanoramaConstraints,estimatePanoramaTextureBytes,loadPanoramaImage,panoramaTextureBudgetBytes,planPanoramaDelivery,schedulePanoramaUpgrade});
|
|
@@ -6,6 +6,11 @@ interface PanoramaDeliverySource {
|
|
|
6
6
|
sourceHeight?: number;
|
|
7
7
|
previewWidth?: number;
|
|
8
8
|
previewHeight?: number;
|
|
9
|
+
variants?: ReadonlyArray<{
|
|
10
|
+
url: string;
|
|
11
|
+
width: number;
|
|
12
|
+
height: number;
|
|
13
|
+
}>;
|
|
9
14
|
}
|
|
10
15
|
interface PanoramaDeliveryConstraints {
|
|
11
16
|
saveData?: boolean;
|
|
@@ -6,6 +6,11 @@ interface PanoramaDeliverySource {
|
|
|
6
6
|
sourceHeight?: number;
|
|
7
7
|
previewWidth?: number;
|
|
8
8
|
previewHeight?: number;
|
|
9
|
+
variants?: ReadonlyArray<{
|
|
10
|
+
url: string;
|
|
11
|
+
width: number;
|
|
12
|
+
height: number;
|
|
13
|
+
}>;
|
|
9
14
|
}
|
|
10
15
|
interface PanoramaDeliveryConstraints {
|
|
11
16
|
saveData?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a,b,c,d,e,f}from"../chunk-
|
|
1
|
+
import{a,b,c,d,e,f}from"../chunk-5BGP7S3Q.js";export{c as browserPanoramaConstraints,a as estimatePanoramaTextureBytes,e as loadPanoramaImage,b as panoramaTextureBudgetBytes,d as planPanoramaDelivery,f as schedulePanoramaUpgrade};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var W=Object.defineProperty;var ae=Object.getOwnPropertyDescriptor;var se=Object.getOwnPropertyNames;var le=Object.prototype.hasOwnProperty;var de=(e,r)=>{for(var o in r)W(e,o,{get:r[o],enumerable:!0})},ue=(e,r,o,a)=>{if(r&&typeof r=="object"||typeof r=="function")for(let s of se(r))!le.call(e,s)&&s!==o&&W(e,s,{get:()=>r[s],enumerable:!(a=ae(r,s))||a.enumerable});return e};var ce=e=>ue(W({},"__esModule",{value:!0}),e);var xe={};de(xe,{MAX_PITCH_DEG:()=>Z,VFOV_DEG:()=>z,bearingToOffsetPx:()=>ee,clampPanoramaFov:()=>Q,clampPitchPx:()=>E,horizonOffsetPy:()=>O,isAuthoredSeatView:()=>ge,mountPanorama:()=>he,seatViewDisclosure:()=>ve,windowedBgHeight:()=>te});module.exports=ce(xe);function me(e,r){return!Number.isFinite(e)||!Number.isFinite(r)||e<=0||r<=0?0:Math.ceil(e*r*4*(4/3))}function pe(e){return(e!==void 0&&e<=2?32:e!==void 0&&e>=8?192:96)*1024*1024}function j(e){let r=typeof navigator>"u"?void 0:navigator;return{saveData:r?.connection?.saveData===!0,maxTextureSize:e,maxDecodedBytes:pe(r?.deviceMemory)}}function q(e,r={}){let o=e.previewUrl?.trim();if(!o||o===e.url)return{initialUrl:e.url,initialWidth:e.sourceWidth,initialHeight:e.sourceHeight,reason:"full-only"};let a={initialUrl:o,initialWidth:e.previewWidth,initialHeight:e.previewHeight};if(r.saveData)return{...a,reason:"save-data"};let s=[...e.variants??[],...e.sourceWidth!==void 0&&e.sourceHeight!==void 0?[{url:e.url,width:e.sourceWidth,height:e.sourceHeight}]:[]].filter(n=>n.url.trim()&&n.url!==o&&Number.isFinite(n.width)&&n.width>0&&Number.isFinite(n.height)&&n.height>0).sort((n,v)=>n.width*n.height-v.width*v.height);if(!s.length)return{...a,upgradeUrl:e.url,reason:"progressive"};let u=s.filter(n=>r.maxTextureSize===void 0||Math.max(n.width,n.height)<=r.maxTextureSize);if(!u.length)return{...a,reason:"texture-limit"};let c=u.filter(n=>r.maxDecodedBytes===void 0||me(n.width,n.height)<=r.maxDecodedBytes);if(!c.length)return{...a,reason:"memory-limit"};let p=c[c.length-1];return{...a,upgradeUrl:p.url,reason:"progressive"}}function Y(){return new DOMException("Panorama image load aborted","AbortError")}function G(e,r){return new Promise((o,a)=>{if(r?.aborted){a(Y());return}let s=new Image;s.crossOrigin="anonymous";let u=!1,c=()=>{s.onload=null,s.onerror=null,r?.removeEventListener("abort",n)},p=v=>{u||(u=!0,c(),v?a(v):o(s))},n=()=>{s.src="",p(Y())};s.onload=()=>{(typeof s.decode=="function"?s.decode():Promise.resolve()).then(()=>p(),()=>p())},s.onerror=()=>p(new Error("panorama_image_failed")),r?.addEventListener("abort",n,{once:!0}),s.src=e})}function J(e){let r=globalThis;if(r.requestIdleCallback){let a=r.requestIdleCallback(e,{timeout:1200});return()=>r.cancelIdleCallback?.(a)}let o=globalThis.setTimeout(e,32);return()=>globalThis.clearTimeout(o)}function ve(e){let r=e.mediaKind==="demo-render",o=e.generated||e.mediaKind==="model"?"Live 3D \xB7 chart-derived seat-eye":r?e.coverage==="exact-seat"?"AI-generated exact-seat demo":e.coverage==="row-representative"?"AI-generated representative row demo":e.coverage==="section-representative"?"AI-generated representative section demo":e.coverage==="floor-representative"?"AI-generated representative floor demo":"AI-generated illustrative venue demo":e.coverage==="exact-seat"?"Exact seat photo":e.coverage==="row-representative"?"Representative row view":e.coverage==="section-representative"?"Representative section view":e.coverage==="floor-representative"?"Representative floor view":e.coverage==="venue-representative"?"Representative venue view":"Venue photo",a=e.capturedAt&&/^\d{4}/.test(e.capturedAt)?e.capturedAt.slice(0,4):"";return[o,a?`${r?"created":"captured"} ${a}`:"",e.sourceLabel??""].filter(Boolean).join(" \xB7 ")}function ge(e){if(e.generated||e.mediaKind==="model"||e.mediaKind==="demo-render")return!1;let r=e.sourceLabel?.trim()??"";return!/^(?:AI[- ]generated|generated\s+(?:demo|preview))/i.test(r)}var z=70,be=35,fe=90;function Q(e){return Math.max(be,Math.min(fe,e))}var Z=35;function ee(e,r,o){let a=(.5+e/360)*o;return r/2-a}function te(e,r=z){return e*(180/r)}function O(e,r,o){return(e-r)/2+E(o,r)}function E(e,r){let o=Z/180*r;return Math.max(-o,Math.min(o,e))}function he(e,r,o={}){let a=o.fadeMs??400,s=r.initialBearingDeg??0,u=q(r,j()),c=new AbortController,p=()=>c.abort();o.signal?.addEventListener("abort",p,{once:!0});let n=document.createElement("div"),v=document.activeElement instanceof HTMLElement?document.activeElement:null;n.setAttribute("role","dialog"),n.setAttribute("aria-modal","true"),n.setAttribute("aria-label",o.seatLabel?`View from ${o.seatLabel}`:"View from seat"),n.tabIndex=-1,Object.assign(n.style,{position:"absolute",inset:"0",zIndex:"10",opacity:"0",transition:`opacity ${a}ms ease`,background:"#05070c",overflow:"hidden",touchAction:"none"});let l=document.createElement("div");Object.assign(l.style,{position:"absolute",inset:"0",backgroundImage:`url("${u.initialUrl}")`,backgroundRepeat:"repeat-x",cursor:"grab"}),n.appendChild(l);let b=document.createElement("button");if(b.type="button",b.setAttribute("aria-label","Close"),b.textContent="\u2715",Object.assign(b.style,{position:"absolute",top:"12px",right:"12px",zIndex:"2",width:"44px",height:"44px",borderRadius:"999px",cursor:"pointer",border:"1px solid rgba(255,255,255,0.25)",background:"rgba(8,12,18,0.6)",color:"#e6edf3",fontSize:"15px",lineHeight:"1"}),n.appendChild(b),o.disclosure){let t=document.createElement("div");t.textContent=`${o.disclosurePrefix??"360\xB0 panorama"} \xB7 ${o.disclosure}`,Object.assign(t.style,{position:"absolute",top:"12px",left:"12px",zIndex:"2",maxWidth:"calc(100% - 88px)",padding:"8px 11px",borderRadius:"999px",overflow:"hidden",color:"#dce6f8",background:"rgba(8,12,18,0.68)",font:"600 11px/1.2 ui-sans-serif, system-ui, sans-serif",textOverflow:"ellipsis",whiteSpace:"nowrap",pointerEvents:"none",backdropFilter:"blur(6px)"}),n.appendChild(t)}let L=document.createElement("div");L.textContent="Drag to look \xB7 pinch or scroll to zoom \xB7 Esc to close",Object.assign(L.style,{position:"absolute",bottom:"12px",left:"0",right:"0",textAlign:"center",color:"rgba(230,237,243,0.7)",font:"12px ui-sans-serif, system-ui, sans-serif",pointerEvents:"none"}),n.appendChild(L),e.appendChild(n),b.focus({preventScroll:!0});let x=0,d=0,f=0,g=0,h=z,D=()=>{let t=n.clientHeight||1,i=n.clientWidth||1,V=y.naturalWidth||i*2,ne=y.naturalHeight||t,oe=x>0?(i/2-f)/x:0,ie=d>0?g/d:0;d=te(t,h),x=d*(V/ne),l.style.backgroundSize=`${x}px ${d}px`,F?f=i/2-oe*x:(f=ee(s,i,x),g=E((r.initialPitchDeg??0)/180*d,d),F=!0),g=E(ie*d,d),l.style.backgroundPosition=`${f}px ${O(t,d,g)}px`},F=!1,$=()=>{let t=n.clientHeight||1;g=E(g,d),l.style.backgroundPosition=`${f}px ${O(t,d,g)}px`},y=new Image;y.onload=D,y.src=u.initialUrl;let B=()=>{};u.upgradeUrl&&(B=J(()=>{(r.resolveUrl?r.resolveUrl(u.upgradeUrl):Promise.resolve(u.upgradeUrl)).then(i=>!i||c.signal.aborted?null:G(i,c.signal).then(V=>({full:V,url:i}))).then(i=>{i&&(T||c.signal.aborted||(y=i.full,l.style.backgroundImage=`url("${i.url}")`,D()))}).catch(()=>{})})),requestAnimationFrame(D);let S=!1,A=0,C=0,w=0,m=new Map,U=()=>{let[t,i]=[...m.values()];return t&&i?Math.hypot(t.x-i.x,t.y-i.y):0},I=t=>{let i=Q(t);i!==h&&(h=i,D())},R=t=>{m.set(t.pointerId,{x:t.clientX,y:t.clientY}),S=m.size===1,A=t.clientX,C=t.clientY,m.size===2&&(w=U()),l.style.cursor="grabbing";try{l.setPointerCapture?.(t.pointerId)}catch{}},X=t=>{if(m.has(t.pointerId)){if(m.set(t.pointerId,{x:t.clientX,y:t.clientY}),m.size>=2){let i=U();w>0&&i>0&&I(h*(w/i)),w=i,S=!1;return}S&&(f+=t.clientX-A,g+=t.clientY-C,A=t.clientX,C=t.clientY,$())}},k=t=>{m.delete(t.pointerId),w=m.size===2?U():0;let i=m.values().next().value;S=m.size===1,i?(A=i.x,C=i.y):l.style.cursor="grab";try{l.releasePointerCapture?.(t.pointerId)}catch{}},_=t=>{t.preventDefault(),I(h+t.deltaY*.04)};l.addEventListener("pointerdown",R),l.addEventListener("pointermove",X),l.addEventListener("pointerup",k),l.addEventListener("pointercancel",k),l.addEventListener("wheel",_,{passive:!1});let H=!1,T=!1,P=0,re=()=>{l.removeEventListener("pointerdown",R),l.removeEventListener("pointermove",X),l.removeEventListener("pointerup",k),l.removeEventListener("pointercancel",k),l.removeEventListener("wheel",_),window.removeEventListener("keydown",K)},N=()=>{B(),c.abort(),o.signal?.removeEventListener("abort",p),P&&(window.clearTimeout(P),P=0),re(),n.parentNode&&n.parentNode.removeChild(n),v?.isConnected&&v.focus({preventScroll:!0})},M=()=>{if(H)return;H=!0,n.style.opacity="0";let t=()=>{P=0,!T&&(N(),o.onClose?.())};P=window.setTimeout(t,a)},K=t=>{if(t.key==="Tab"){t.preventDefault(),b.focus({preventScroll:!0});return}if(t.key==="Escape"){t.stopPropagation(),M();return}if(t.key==="ArrowLeft"||t.key==="ArrowRight")f+=t.key==="ArrowLeft"?-32:32;else if(t.key==="ArrowUp"||t.key==="ArrowDown")g+=(t.key==="ArrowUp"?4:-4)*(d/180);else if(t.key==="+"||t.key==="="){I(h-5),t.preventDefault();return}else if(t.key==="-"){I(h+5),t.preventDefault();return}else return;t.preventDefault(),$()};return window.addEventListener("keydown",K),b.addEventListener("click",M),requestAnimationFrame(()=>{n.style.opacity="1"}),{close:M,dispose(){H=!0,T=!0,N()}}}0&&(module.exports={MAX_PITCH_DEG,VFOV_DEG,bearingToOffsetPx,clampPanoramaFov,clampPitchPx,horizonOffsetPy,isAuthoredSeatView,mountPanorama,seatViewDisclosure,windowedBgHeight});
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { i as SeatViewCoverage } from '../../types-
|
|
1
|
+
import { i as SeatViewCoverage } from '../../types-hv6QjPRV.cjs';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* Slice 3 hand-off — the DOM panorama overlay the fly-to-seat cinematic
|
|
@@ -26,6 +26,12 @@ interface SeatView {
|
|
|
26
26
|
sourceHeight?: number;
|
|
27
27
|
previewWidth?: number;
|
|
28
28
|
previewHeight?: number;
|
|
29
|
+
/** Generated equirectangular tiers; the delivery planner chooses one within device limits. */
|
|
30
|
+
variants?: ReadonlyArray<{
|
|
31
|
+
url: string;
|
|
32
|
+
width: number;
|
|
33
|
+
height: number;
|
|
34
|
+
}>;
|
|
29
35
|
/**
|
|
30
36
|
* True when `url` is a SYNTHESISED panorama rather than a real photograph.
|
|
31
37
|
*
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { i as SeatViewCoverage } from '../../types-
|
|
1
|
+
import { i as SeatViewCoverage } from '../../types-hv6QjPRV.js';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* Slice 3 hand-off — the DOM panorama overlay the fly-to-seat cinematic
|
|
@@ -26,6 +26,12 @@ interface SeatView {
|
|
|
26
26
|
sourceHeight?: number;
|
|
27
27
|
previewWidth?: number;
|
|
28
28
|
previewHeight?: number;
|
|
29
|
+
/** Generated equirectangular tiers; the delivery planner chooses one within device limits. */
|
|
30
|
+
variants?: ReadonlyArray<{
|
|
31
|
+
url: string;
|
|
32
|
+
width: number;
|
|
33
|
+
height: number;
|
|
34
|
+
}>;
|
|
29
35
|
/**
|
|
30
36
|
* True when `url` is a SYNTHESISED panorama rather than a real photograph.
|
|
31
37
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a,b,c,d,e,f,g,h,i,j}from"../../chunk-
|
|
1
|
+
import{a,b,c,d,e,f,g,h,i,j}from"../../chunk-52MZJZMW.js";import"../../chunk-5BGP7S3Q.js";export{e as MAX_PITCH_DEG,c as VFOV_DEG,f as bearingToOffsetPx,d as clampPanoramaFov,i as clampPitchPx,h as horizonOffsetPy,b as isAuthoredSeatView,j as mountPanorama,a as seatViewDisclosure,g as windowedBgHeight};
|