@seatlayer/core 0.52.0 → 0.54.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.
Files changed (110) hide show
  1. package/LICENSE +16 -17
  2. package/README.md +8 -18
  3. package/dist/categoryInventory-B4xo7hE2.d.ts +109 -0
  4. package/dist/categoryInventory-lRtu3VjD.d.cts +109 -0
  5. package/dist/chunk-3QLFGEQY.js +1 -0
  6. package/dist/chunk-55NOSZK5.js +1 -0
  7. package/dist/chunk-6LIPQU4G.js +1 -0
  8. package/dist/chunk-6VTTBC5F.js +1 -0
  9. package/dist/chunk-7PT7OQUO.js +1 -0
  10. package/dist/chunk-AQKYUJBX.js +1 -0
  11. package/dist/chunk-CXF32VPG.js +1 -0
  12. package/dist/chunk-DDE7IOFT.js +1 -0
  13. package/dist/chunk-EQM4FFN5.js +1 -0
  14. package/dist/chunk-EYROIZGQ.js +1 -0
  15. package/dist/chunk-IJI4WU57.js +1 -0
  16. package/dist/chunk-QUKWJQLR.js +1 -0
  17. package/dist/chunk-VDZ24QVV.js +1 -0
  18. package/dist/chunk-XPPT3OGQ.js +1 -0
  19. package/dist/core/chart-ops/index.cjs +1 -0
  20. package/dist/core/chart-ops/index.d.cts +1235 -0
  21. package/dist/core/chart-ops/index.d.ts +1235 -0
  22. package/dist/core/chart-ops/index.js +1 -0
  23. package/dist/core/color.cjs +1 -0
  24. package/dist/core/color.d.cts +192 -0
  25. package/dist/core/color.d.ts +192 -0
  26. package/dist/core/color.js +1 -0
  27. package/dist/core/inventory/index.cjs +1 -0
  28. package/dist/core/inventory/index.d.cts +209 -0
  29. package/dist/core/inventory/index.d.ts +209 -0
  30. package/dist/core/inventory/index.js +1 -0
  31. package/dist/core/layout/index.cjs +1 -0
  32. package/dist/core/layout/index.d.cts +376 -0
  33. package/dist/core/layout/index.d.ts +376 -0
  34. package/dist/core/layout/index.js +1 -0
  35. package/dist/core/quality/index.cjs +1 -0
  36. package/dist/core/quality/index.d.cts +132 -0
  37. package/dist/core/quality/index.d.ts +132 -0
  38. package/dist/core/quality/index.js +1 -0
  39. package/dist/core/render-assets/index.cjs +1 -0
  40. package/dist/core/render-assets/index.d.cts +99 -0
  41. package/dist/core/render-assets/index.d.ts +99 -0
  42. package/dist/core/render-assets/index.js +1 -0
  43. package/dist/core/seatConfidence.cjs +1 -76
  44. package/dist/core/seatConfidence.d.cts +1 -1
  45. package/dist/core/seatConfidence.d.ts +1 -1
  46. package/dist/core/seatConfidence.js +1 -51
  47. package/dist/core/sections/index.cjs +1 -0
  48. package/dist/core/sections/index.d.cts +346 -0
  49. package/dist/core/sections/index.d.ts +346 -0
  50. package/dist/core/sections/index.js +1 -0
  51. package/dist/de-75NWRKC5.js +1 -0
  52. package/dist/es-BM7EJ7PW.js +1 -0
  53. package/dist/fr-HPXQHIB4.js +1 -0
  54. package/dist/index.cjs +1 -12717
  55. package/dist/index.d.cts +71 -580
  56. package/dist/index.d.ts +71 -580
  57. package/dist/index.js +1 -10235
  58. package/dist/labeling-CsPt1mC_.d.cts +90 -0
  59. package/dist/labeling-w8bl86cb.d.ts +90 -0
  60. package/dist/layout-B5UYbwnv.d.ts +181 -0
  61. package/dist/layout-YFmuxw_M.d.cts +181 -0
  62. package/dist/picker/minimapGeometry.cjs +1 -80
  63. package/dist/picker/minimapGeometry.js +1 -52
  64. package/dist/renderedQuality-CugJarFp.d.cts +113 -0
  65. package/dist/renderedQuality-DbZM034G.d.ts +113 -0
  66. package/dist/renderer-DhUHFtsI.d.cts +531 -0
  67. package/dist/renderer-IBi9YKWR.d.ts +531 -0
  68. package/dist/sections-B7cDF0Nq.d.cts +123 -0
  69. package/dist/sections-mLOZrGrI.d.ts +123 -0
  70. package/dist/segmentedRowModel-BPTnJ7Tz.d.ts +75 -0
  71. package/dist/segmentedRowModel-CGoH684F.d.cts +75 -0
  72. package/dist/ticketRestrictions-BwAebpSK.d.cts +72 -0
  73. package/dist/ticketRestrictions-ChHJwvTq.d.ts +72 -0
  74. package/dist/{types-tLOunI-B.d.cts → types-COfJorq_.d.cts} +233 -757
  75. package/dist/{types-tLOunI-B.d.ts → types-COfJorq_.d.ts} +233 -757
  76. package/dist/view/panoramaDelivery.cjs +1 -126
  77. package/dist/view/panoramaDelivery.js +1 -17
  78. package/dist/view3d/crossfade/panorama.cjs +1 -459
  79. package/dist/view3d/crossfade/panorama.d.cts +2 -4
  80. package/dist/view3d/crossfade/panorama.d.ts +2 -4
  81. package/dist/view3d/crossfade/panorama.js +1 -30
  82. package/dist/view3d/index.cjs +27 -7929
  83. package/dist/view3d/index.d.cts +64 -22
  84. package/dist/view3d/index.d.ts +64 -22
  85. package/dist/view3d/index.js +27 -7062
  86. package/package.json +95 -11
  87. package/dist/chunk-AZODENEL.js +0 -97
  88. package/dist/chunk-AZODENEL.js.map +0 -1
  89. package/dist/chunk-BE3F7CT3.js +0 -341
  90. package/dist/chunk-BE3F7CT3.js.map +0 -1
  91. package/dist/chunk-UID7KN44.js +0 -1569
  92. package/dist/chunk-UID7KN44.js.map +0 -1
  93. package/dist/core/seatConfidence.cjs.map +0 -1
  94. package/dist/core/seatConfidence.js.map +0 -1
  95. package/dist/de-YGODYJ3E.js +0 -292
  96. package/dist/de-YGODYJ3E.js.map +0 -1
  97. package/dist/es-VMBTGVFQ.js +0 -292
  98. package/dist/es-VMBTGVFQ.js.map +0 -1
  99. package/dist/fr-SLBE2ULB.js +0 -292
  100. package/dist/fr-SLBE2ULB.js.map +0 -1
  101. package/dist/index.cjs.map +0 -1
  102. package/dist/index.js.map +0 -1
  103. package/dist/picker/minimapGeometry.cjs.map +0 -1
  104. package/dist/picker/minimapGeometry.js.map +0 -1
  105. package/dist/view/panoramaDelivery.cjs.map +0 -1
  106. package/dist/view/panoramaDelivery.js.map +0 -1
  107. package/dist/view3d/crossfade/panorama.cjs.map +0 -1
  108. package/dist/view3d/crossfade/panorama.js.map +0 -1
  109. package/dist/view3d/index.cjs.map +0 -1
  110. package/dist/view3d/index.js.map +0 -1
@@ -1,52 +1 @@
1
- // src/picker/minimapGeometry.ts
2
- function createMinimapTransform(world, pixelWidth, pixelHeight, dpr, cssPadding = 6) {
3
- const padding = cssPadding * dpr;
4
- const scale = Math.min(
5
- (pixelWidth - padding * 2) / Math.max(1, world.width),
6
- (pixelHeight - padding * 2) / Math.max(1, world.height)
7
- );
8
- return {
9
- scale,
10
- offX: (pixelWidth - world.width * scale) / 2 - world.x * scale,
11
- offY: (pixelHeight - world.height * scale) / 2 - world.y * scale,
12
- dpr
13
- };
14
- }
15
- function worldRectToMinimap(rect, transform) {
16
- return {
17
- x: rect.x * transform.scale + transform.offX,
18
- y: rect.y * transform.scale + transform.offY,
19
- width: rect.width * transform.scale,
20
- height: rect.height * transform.scale
21
- };
22
- }
23
- function minimapViewportPlan(visible, transform, pixelWidth, pixelHeight, strokeInset = 2) {
24
- const raw = worldRectToMinimap(visible, transform);
25
- const left = Math.max(strokeInset, raw.x);
26
- const top = Math.max(strokeInset, raw.y);
27
- const right = Math.min(pixelWidth - strokeInset, raw.x + raw.width);
28
- const bottom = Math.min(pixelHeight - strokeInset, raw.y + raw.height);
29
- return {
30
- raw,
31
- clipped: right > left && bottom > top ? { x: left, y: top, width: right - left, height: bottom - top } : null,
32
- clippedEdges: {
33
- left: raw.x < strokeInset,
34
- top: raw.y < strokeInset,
35
- right: raw.x + raw.width > pixelWidth - strokeInset,
36
- bottom: raw.y + raw.height > pixelHeight - strokeInset
37
- }
38
- };
39
- }
40
- function minimapPointToWorld(pixel, transform) {
41
- return {
42
- x: (pixel.x - transform.offX) / transform.scale,
43
- y: (pixel.y - transform.offY) / transform.scale
44
- };
45
- }
46
- export {
47
- createMinimapTransform,
48
- minimapPointToWorld,
49
- minimapViewportPlan,
50
- worldRectToMinimap
51
- };
52
- //# sourceMappingURL=minimapGeometry.js.map
1
+ function u(i,n,m,o,a=6){let e=a*o,t=Math.min((n-e*2)/Math.max(1,i.width),(m-e*2)/Math.max(1,i.height));return{scale:t,offX:(n-i.width*t)/2-i.x*t,offY:(m-i.height*t)/2-i.y*t,dpr:o}}function r(i,n){return{x:i.x*n.scale+n.offX,y:i.y*n.scale+n.offY,width:i.width*n.scale,height:i.height*n.scale}}function b(i,n,m,o,a=2){let e=r(i,n),t=Math.max(a,e.x),p=Math.max(a,e.y),c=Math.min(m-a,e.x+e.width),h=Math.min(o-a,e.y+e.height);return{raw:e,clipped:c>t&&h>p?{x:t,y:p,width:c-t,height:h-p}:null,clippedEdges:{left:e.x<a,top:e.y<a,right:e.x+e.width>m-a,bottom:e.y+e.height>o-a}}}function f(i,n){return{x:(i.x-n.offX)/n.scale,y:(i.y-n.offY)/n.scale}}export{u as createMinimapTransform,f as minimapPointToWorld,b as minimapViewportPlan,r as worldRectToMinimap};
@@ -0,0 +1,113 @@
1
+ import { R as RendererQualityEvidence, a as RenderedFreeTextEvidence } from './renderer-DhUHFtsI.cjs';
2
+
3
+ declare const RENDERED_QUALITY_REPORT_VERSION = 3;
4
+ type RenderedEvidenceState = 'overview' | 'interaction';
5
+ type RenderedQualityFindingCode = 'bookable-label-undersized' | 'bookable-label-contrast-low' | 'bookable-label-collision' | 'hierarchy-label-undersized' | 'hierarchy-label-contrast-low' | 'hierarchy-label-outside-section' | 'hierarchy-label-collision' | 'hierarchy-bookable-collision' | 'overview-section-category-paint' | 'overview-category-detail-visible' | 'overview-row-hints-visible' | 'overview-availability-clutter' | 'overview-ga-detail-visible' | 'free-text-undersized' | 'free-text-contrast-low' | 'free-text-collision' | 'free-text-bookable-collision' | 'free-text-hierarchy-collision' | 'ga-contrast-low' | 'detail-rung-missing' | 'detail-inventory-not-visible' | 'pointer-target-undersized' | 'pointer-target-inactive' | 'selected-state-missing' | 'selected-state-contrast-low' | 'held-state-missing' | 'booked-state-missing' | 'status-state-indistinct' | 'section-focus-missing' | 'category-filter-missing' | 'category-filter-ineffective' | 'target-category-not-visible' | 'target-category-filter-mismatch';
6
+ interface RenderedQualitySample {
7
+ primaryId: string;
8
+ primaryLabel: string;
9
+ secondaryId?: string;
10
+ secondaryLabel?: string;
11
+ measured?: number;
12
+ minimum?: number;
13
+ }
14
+ interface RenderedQualityFinding {
15
+ code: RenderedQualityFindingCode;
16
+ message: string;
17
+ count: number;
18
+ samples: RenderedQualitySample[];
19
+ }
20
+ interface RenderedQualityReport {
21
+ version: typeof RENDERED_QUALITY_REPORT_VERSION;
22
+ passed: boolean;
23
+ state: RenderedEvidenceState;
24
+ /** Server-selected category exercised by a category-specific detail scene. */
25
+ targetCategoryKey: string | null;
26
+ /** Exact overview checks discharged by this browser-rendered report. */
27
+ resolvedRules: string[];
28
+ viewport: {
29
+ width: number;
30
+ height: number;
31
+ };
32
+ canvasBackground: string;
33
+ effectiveScale: number;
34
+ rung: RendererQualityEvidence['rung'];
35
+ inventory: {
36
+ totalBookableUnits: number;
37
+ totalLabelledBookableUnits: number;
38
+ visibleBookableLabels: number;
39
+ hiddenBookableLabels: number;
40
+ visibleHierarchyLabels: number;
41
+ visibleFreeTextLabels: number;
42
+ visibleGAAreas: number;
43
+ };
44
+ overviewStyle?: RendererQualityEvidence['overviewStyle'];
45
+ /**
46
+ * Coordinate-free identity evidence from the exact buyer scene. The Worker
47
+ * uses this to compare persisted reference semantics with what Chromium
48
+ * actually painted, without exposing screen boxes or accepting geometry.
49
+ */
50
+ composition: {
51
+ hierarchy: Array<{
52
+ id: string;
53
+ kind: 'section' | 'zone';
54
+ label: string;
55
+ visible: boolean;
56
+ }>;
57
+ labelledObjects: Array<{
58
+ objectId: string;
59
+ kind: RenderedFreeTextEvidence['kind'];
60
+ text: string;
61
+ visible: boolean;
62
+ }>;
63
+ gaAreas: Array<{
64
+ areaId: string;
65
+ label: string;
66
+ categoryKey: string;
67
+ sectionId?: string;
68
+ visible: boolean;
69
+ }>;
70
+ bookableSectionIds: string[];
71
+ categoryKeys: string[];
72
+ /** Categories whose non-dimmed bookable paint is visible in this scene. */
73
+ activeCategoryKeys: string[];
74
+ };
75
+ metrics: {
76
+ minimumRenderedBookableLabelPx: number | null;
77
+ minimumBookableLabelContrast: number | null;
78
+ minimumRenderedHierarchyLabelPx: number | null;
79
+ minimumHierarchyLabelContrast: number | null;
80
+ minimumRenderedFreeTextPx: number | null;
81
+ minimumFreeTextContrast: number | null;
82
+ minimumGAContrast: number | null;
83
+ minimumEffectivePointerTargetPx: number | null;
84
+ selectedRingContrast: number | null;
85
+ };
86
+ interaction: {
87
+ applicable: {
88
+ detail: boolean;
89
+ pointer: boolean;
90
+ held: boolean;
91
+ booked: boolean;
92
+ sectionFocus: boolean;
93
+ categoryFilter: boolean;
94
+ };
95
+ selectedUnits: number;
96
+ heldUnits: number;
97
+ bookedUnits: number;
98
+ activePointerTargets: number;
99
+ focusedSectionId: string | null;
100
+ focusBackdropVisible: boolean;
101
+ categoryFilterKeys: string[] | null;
102
+ };
103
+ findings: RenderedQualityFinding[];
104
+ }
105
+ /**
106
+ * Inspect what the buyer renderer actually decided to paint at one exact
107
+ * viewport. This is deliberately downstream of ChartDoc validation: screen
108
+ * size, LOD visibility, fitted hierarchy text, transient paint, and label
109
+ * collisions cannot be proven from stored geometry alone.
110
+ */
111
+ declare function inspectRenderedQualityEvidence(evidence: RendererQualityEvidence, state?: RenderedEvidenceState, targetCategoryKey?: string | null): RenderedQualityReport;
112
+
113
+ export { RENDERED_QUALITY_REPORT_VERSION as R, type RenderedEvidenceState as a, type RenderedQualityFinding as b, type RenderedQualityFindingCode as c, type RenderedQualityReport as d, type RenderedQualitySample as e, inspectRenderedQualityEvidence as i };
@@ -0,0 +1,113 @@
1
+ import { R as RendererQualityEvidence, a as RenderedFreeTextEvidence } from './renderer-IBi9YKWR.js';
2
+
3
+ declare const RENDERED_QUALITY_REPORT_VERSION = 3;
4
+ type RenderedEvidenceState = 'overview' | 'interaction';
5
+ type RenderedQualityFindingCode = 'bookable-label-undersized' | 'bookable-label-contrast-low' | 'bookable-label-collision' | 'hierarchy-label-undersized' | 'hierarchy-label-contrast-low' | 'hierarchy-label-outside-section' | 'hierarchy-label-collision' | 'hierarchy-bookable-collision' | 'overview-section-category-paint' | 'overview-category-detail-visible' | 'overview-row-hints-visible' | 'overview-availability-clutter' | 'overview-ga-detail-visible' | 'free-text-undersized' | 'free-text-contrast-low' | 'free-text-collision' | 'free-text-bookable-collision' | 'free-text-hierarchy-collision' | 'ga-contrast-low' | 'detail-rung-missing' | 'detail-inventory-not-visible' | 'pointer-target-undersized' | 'pointer-target-inactive' | 'selected-state-missing' | 'selected-state-contrast-low' | 'held-state-missing' | 'booked-state-missing' | 'status-state-indistinct' | 'section-focus-missing' | 'category-filter-missing' | 'category-filter-ineffective' | 'target-category-not-visible' | 'target-category-filter-mismatch';
6
+ interface RenderedQualitySample {
7
+ primaryId: string;
8
+ primaryLabel: string;
9
+ secondaryId?: string;
10
+ secondaryLabel?: string;
11
+ measured?: number;
12
+ minimum?: number;
13
+ }
14
+ interface RenderedQualityFinding {
15
+ code: RenderedQualityFindingCode;
16
+ message: string;
17
+ count: number;
18
+ samples: RenderedQualitySample[];
19
+ }
20
+ interface RenderedQualityReport {
21
+ version: typeof RENDERED_QUALITY_REPORT_VERSION;
22
+ passed: boolean;
23
+ state: RenderedEvidenceState;
24
+ /** Server-selected category exercised by a category-specific detail scene. */
25
+ targetCategoryKey: string | null;
26
+ /** Exact overview checks discharged by this browser-rendered report. */
27
+ resolvedRules: string[];
28
+ viewport: {
29
+ width: number;
30
+ height: number;
31
+ };
32
+ canvasBackground: string;
33
+ effectiveScale: number;
34
+ rung: RendererQualityEvidence['rung'];
35
+ inventory: {
36
+ totalBookableUnits: number;
37
+ totalLabelledBookableUnits: number;
38
+ visibleBookableLabels: number;
39
+ hiddenBookableLabels: number;
40
+ visibleHierarchyLabels: number;
41
+ visibleFreeTextLabels: number;
42
+ visibleGAAreas: number;
43
+ };
44
+ overviewStyle?: RendererQualityEvidence['overviewStyle'];
45
+ /**
46
+ * Coordinate-free identity evidence from the exact buyer scene. The Worker
47
+ * uses this to compare persisted reference semantics with what Chromium
48
+ * actually painted, without exposing screen boxes or accepting geometry.
49
+ */
50
+ composition: {
51
+ hierarchy: Array<{
52
+ id: string;
53
+ kind: 'section' | 'zone';
54
+ label: string;
55
+ visible: boolean;
56
+ }>;
57
+ labelledObjects: Array<{
58
+ objectId: string;
59
+ kind: RenderedFreeTextEvidence['kind'];
60
+ text: string;
61
+ visible: boolean;
62
+ }>;
63
+ gaAreas: Array<{
64
+ areaId: string;
65
+ label: string;
66
+ categoryKey: string;
67
+ sectionId?: string;
68
+ visible: boolean;
69
+ }>;
70
+ bookableSectionIds: string[];
71
+ categoryKeys: string[];
72
+ /** Categories whose non-dimmed bookable paint is visible in this scene. */
73
+ activeCategoryKeys: string[];
74
+ };
75
+ metrics: {
76
+ minimumRenderedBookableLabelPx: number | null;
77
+ minimumBookableLabelContrast: number | null;
78
+ minimumRenderedHierarchyLabelPx: number | null;
79
+ minimumHierarchyLabelContrast: number | null;
80
+ minimumRenderedFreeTextPx: number | null;
81
+ minimumFreeTextContrast: number | null;
82
+ minimumGAContrast: number | null;
83
+ minimumEffectivePointerTargetPx: number | null;
84
+ selectedRingContrast: number | null;
85
+ };
86
+ interaction: {
87
+ applicable: {
88
+ detail: boolean;
89
+ pointer: boolean;
90
+ held: boolean;
91
+ booked: boolean;
92
+ sectionFocus: boolean;
93
+ categoryFilter: boolean;
94
+ };
95
+ selectedUnits: number;
96
+ heldUnits: number;
97
+ bookedUnits: number;
98
+ activePointerTargets: number;
99
+ focusedSectionId: string | null;
100
+ focusBackdropVisible: boolean;
101
+ categoryFilterKeys: string[] | null;
102
+ };
103
+ findings: RenderedQualityFinding[];
104
+ }
105
+ /**
106
+ * Inspect what the buyer renderer actually decided to paint at one exact
107
+ * viewport. This is deliberately downstream of ChartDoc validation: screen
108
+ * size, LOD visibility, fitted hierarchy text, transient paint, and label
109
+ * collisions cannot be proven from stored geometry alone.
110
+ */
111
+ declare function inspectRenderedQualityEvidence(evidence: RendererQualityEvidence, state?: RenderedEvidenceState, targetCategoryKey?: string | null): RenderedQualityReport;
112
+
113
+ export { RENDERED_QUALITY_REPORT_VERSION as R, type RenderedEvidenceState as a, type RenderedQualityFinding as b, type RenderedQualityFindingCode as c, type RenderedQualityReport as d, type RenderedQualitySample as e, inspectRenderedQualityEvidence as i };