@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.
- package/LICENSE +16 -17
- package/README.md +8 -18
- package/dist/categoryInventory-B4xo7hE2.d.ts +109 -0
- package/dist/categoryInventory-lRtu3VjD.d.cts +109 -0
- package/dist/chunk-3QLFGEQY.js +1 -0
- package/dist/chunk-55NOSZK5.js +1 -0
- package/dist/chunk-6LIPQU4G.js +1 -0
- package/dist/chunk-6VTTBC5F.js +1 -0
- package/dist/chunk-7PT7OQUO.js +1 -0
- package/dist/chunk-AQKYUJBX.js +1 -0
- package/dist/chunk-CXF32VPG.js +1 -0
- package/dist/chunk-DDE7IOFT.js +1 -0
- package/dist/chunk-EQM4FFN5.js +1 -0
- package/dist/chunk-EYROIZGQ.js +1 -0
- package/dist/chunk-IJI4WU57.js +1 -0
- package/dist/chunk-QUKWJQLR.js +1 -0
- package/dist/chunk-VDZ24QVV.js +1 -0
- package/dist/chunk-XPPT3OGQ.js +1 -0
- package/dist/core/chart-ops/index.cjs +1 -0
- package/dist/core/chart-ops/index.d.cts +1235 -0
- package/dist/core/chart-ops/index.d.ts +1235 -0
- package/dist/core/chart-ops/index.js +1 -0
- package/dist/core/color.cjs +1 -0
- package/dist/core/color.d.cts +192 -0
- package/dist/core/color.d.ts +192 -0
- package/dist/core/color.js +1 -0
- package/dist/core/inventory/index.cjs +1 -0
- package/dist/core/inventory/index.d.cts +209 -0
- package/dist/core/inventory/index.d.ts +209 -0
- package/dist/core/inventory/index.js +1 -0
- package/dist/core/layout/index.cjs +1 -0
- package/dist/core/layout/index.d.cts +376 -0
- package/dist/core/layout/index.d.ts +376 -0
- package/dist/core/layout/index.js +1 -0
- package/dist/core/quality/index.cjs +1 -0
- package/dist/core/quality/index.d.cts +132 -0
- package/dist/core/quality/index.d.ts +132 -0
- package/dist/core/quality/index.js +1 -0
- package/dist/core/render-assets/index.cjs +1 -0
- package/dist/core/render-assets/index.d.cts +99 -0
- package/dist/core/render-assets/index.d.ts +99 -0
- package/dist/core/render-assets/index.js +1 -0
- package/dist/core/seatConfidence.cjs +1 -76
- package/dist/core/seatConfidence.d.cts +1 -1
- package/dist/core/seatConfidence.d.ts +1 -1
- package/dist/core/seatConfidence.js +1 -51
- package/dist/core/sections/index.cjs +1 -0
- package/dist/core/sections/index.d.cts +346 -0
- package/dist/core/sections/index.d.ts +346 -0
- package/dist/core/sections/index.js +1 -0
- package/dist/de-75NWRKC5.js +1 -0
- package/dist/es-BM7EJ7PW.js +1 -0
- package/dist/fr-HPXQHIB4.js +1 -0
- package/dist/index.cjs +1 -12717
- package/dist/index.d.cts +71 -580
- package/dist/index.d.ts +71 -580
- package/dist/index.js +1 -10235
- package/dist/labeling-CsPt1mC_.d.cts +90 -0
- package/dist/labeling-w8bl86cb.d.ts +90 -0
- package/dist/layout-B5UYbwnv.d.ts +181 -0
- package/dist/layout-YFmuxw_M.d.cts +181 -0
- package/dist/picker/minimapGeometry.cjs +1 -80
- package/dist/picker/minimapGeometry.js +1 -52
- package/dist/renderedQuality-CugJarFp.d.cts +113 -0
- package/dist/renderedQuality-DbZM034G.d.ts +113 -0
- package/dist/renderer-DhUHFtsI.d.cts +531 -0
- package/dist/renderer-IBi9YKWR.d.ts +531 -0
- package/dist/sections-B7cDF0Nq.d.cts +123 -0
- package/dist/sections-mLOZrGrI.d.ts +123 -0
- package/dist/segmentedRowModel-BPTnJ7Tz.d.ts +75 -0
- package/dist/segmentedRowModel-CGoH684F.d.cts +75 -0
- package/dist/ticketRestrictions-BwAebpSK.d.cts +72 -0
- package/dist/ticketRestrictions-ChHJwvTq.d.ts +72 -0
- package/dist/{types-tLOunI-B.d.cts → types-COfJorq_.d.cts} +233 -757
- package/dist/{types-tLOunI-B.d.ts → types-COfJorq_.d.ts} +233 -757
- package/dist/view/panoramaDelivery.cjs +1 -126
- package/dist/view/panoramaDelivery.js +1 -17
- package/dist/view3d/crossfade/panorama.cjs +1 -459
- package/dist/view3d/crossfade/panorama.d.cts +2 -4
- package/dist/view3d/crossfade/panorama.d.ts +2 -4
- package/dist/view3d/crossfade/panorama.js +1 -30
- package/dist/view3d/index.cjs +27 -7929
- package/dist/view3d/index.d.cts +64 -22
- package/dist/view3d/index.d.ts +64 -22
- package/dist/view3d/index.js +27 -7062
- package/package.json +95 -11
- package/dist/chunk-AZODENEL.js +0 -97
- package/dist/chunk-AZODENEL.js.map +0 -1
- package/dist/chunk-BE3F7CT3.js +0 -341
- package/dist/chunk-BE3F7CT3.js.map +0 -1
- package/dist/chunk-UID7KN44.js +0 -1569
- package/dist/chunk-UID7KN44.js.map +0 -1
- package/dist/core/seatConfidence.cjs.map +0 -1
- package/dist/core/seatConfidence.js.map +0 -1
- package/dist/de-YGODYJ3E.js +0 -292
- package/dist/de-YGODYJ3E.js.map +0 -1
- package/dist/es-VMBTGVFQ.js +0 -292
- package/dist/es-VMBTGVFQ.js.map +0 -1
- package/dist/fr-SLBE2ULB.js +0 -292
- package/dist/fr-SLBE2ULB.js.map +0 -1
- package/dist/index.cjs.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/picker/minimapGeometry.cjs.map +0 -1
- package/dist/picker/minimapGeometry.js.map +0 -1
- package/dist/view/panoramaDelivery.cjs.map +0 -1
- package/dist/view/panoramaDelivery.js.map +0 -1
- package/dist/view3d/crossfade/panorama.cjs.map +0 -1
- package/dist/view3d/crossfade/panorama.js.map +0 -1
- package/dist/view3d/index.cjs.map +0 -1
- package/dist/view3d/index.js.map +0 -1
|
@@ -1,52 +1 @@
|
|
|
1
|
-
|
|
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 };
|