@twinfinity/printing 6.1.0-beta → 6.1.2-ci.30738-beta

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 (157) hide show
  1. package/dist/BuildInfo.js +3 -3
  2. package/dist/index.d.ts +1 -0
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +3 -0
  5. package/dist/index.js.map +1 -1
  6. package/dist/layout/analyzeTemplate.d.ts +4 -4
  7. package/dist/layout/analyzeTemplate.d.ts.map +1 -1
  8. package/dist/layout/analyzeTemplate.js +18 -16
  9. package/dist/layout/analyzeTemplate.js.map +1 -1
  10. package/dist/layout/classClosure.d.ts +41 -0
  11. package/dist/layout/classClosure.d.ts.map +1 -0
  12. package/dist/layout/classClosure.js +143 -0
  13. package/dist/layout/classClosure.js.map +1 -0
  14. package/dist/layout/clipUtils.d.ts +11 -0
  15. package/dist/layout/clipUtils.d.ts.map +1 -1
  16. package/dist/layout/clipUtils.js +67 -6
  17. package/dist/layout/clipUtils.js.map +1 -1
  18. package/dist/layout/filters.d.ts +14 -8
  19. package/dist/layout/filters.d.ts.map +1 -1
  20. package/dist/layout/filters.js +28 -3
  21. package/dist/layout/filters.js.map +1 -1
  22. package/dist/layout/index.d.ts +24 -57
  23. package/dist/layout/index.d.ts.map +1 -1
  24. package/dist/layout/index.js +20 -337
  25. package/dist/layout/index.js.map +1 -1
  26. package/dist/layout/itemBuilders.d.ts +11 -0
  27. package/dist/layout/itemBuilders.d.ts.map +1 -1
  28. package/dist/layout/itemBuilders.js +17 -3
  29. package/dist/layout/itemBuilders.js.map +1 -1
  30. package/dist/layout/labelsRender.d.ts.map +1 -1
  31. package/dist/layout/labelsRender.js +15 -27
  32. package/dist/layout/labelsRender.js.map +1 -1
  33. package/dist/layout/legendRender.d.ts +18 -6
  34. package/dist/layout/legendRender.d.ts.map +1 -1
  35. package/dist/layout/legendRender.js +49 -79
  36. package/dist/layout/legendRender.js.map +1 -1
  37. package/dist/layout/metadata.d.ts.map +1 -1
  38. package/dist/layout/metadata.js +26 -5
  39. package/dist/layout/metadata.js.map +1 -1
  40. package/dist/layout/model.d.ts +4 -3
  41. package/dist/layout/model.d.ts.map +1 -1
  42. package/dist/layout/model.js +17 -57
  43. package/dist/layout/model.js.map +1 -1
  44. package/dist/layout/options.d.ts +1 -2
  45. package/dist/layout/options.d.ts.map +1 -1
  46. package/dist/layout/options.js.map +1 -1
  47. package/dist/layout/preflight.d.ts +32 -0
  48. package/dist/layout/preflight.d.ts.map +1 -0
  49. package/dist/layout/preflight.js +69 -0
  50. package/dist/layout/preflight.js.map +1 -0
  51. package/dist/layout/qrRender.d.ts.map +1 -1
  52. package/dist/layout/qrRender.js +11 -10
  53. package/dist/layout/qrRender.js.map +1 -1
  54. package/dist/layout/renderDrawing.d.ts +28 -17
  55. package/dist/layout/renderDrawing.d.ts.map +1 -1
  56. package/dist/layout/renderDrawing.js +107 -88
  57. package/dist/layout/renderDrawing.js.map +1 -1
  58. package/dist/layout/renderLayout.d.ts +25 -0
  59. package/dist/layout/renderLayout.d.ts.map +1 -0
  60. package/dist/layout/renderLayout.js +315 -0
  61. package/dist/layout/renderLayout.js.map +1 -0
  62. package/dist/layout/renderTemplateSheet.d.ts +99 -0
  63. package/dist/layout/renderTemplateSheet.d.ts.map +1 -0
  64. package/dist/layout/renderTemplateSheet.js +296 -0
  65. package/dist/layout/renderTemplateSheet.js.map +1 -0
  66. package/dist/layout/renderUtils.d.ts +19 -0
  67. package/dist/layout/renderUtils.d.ts.map +1 -1
  68. package/dist/layout/renderUtils.js +47 -4
  69. package/dist/layout/renderUtils.js.map +1 -1
  70. package/dist/layout/sectionDefs.d.ts +65 -0
  71. package/dist/layout/sectionDefs.d.ts.map +1 -0
  72. package/dist/layout/sectionDefs.js +88 -0
  73. package/dist/layout/sectionDefs.js.map +1 -0
  74. package/dist/layout/slabModelView.d.ts +34 -0
  75. package/dist/layout/slabModelView.d.ts.map +1 -0
  76. package/dist/layout/slabModelView.js +175 -0
  77. package/dist/layout/slabModelView.js.map +1 -0
  78. package/dist/layout/templateVariables.d.ts +1 -1
  79. package/dist/layout/templateVariables.d.ts.map +1 -1
  80. package/dist/layout/templateVariables.js +21 -9
  81. package/dist/layout/templateVariables.js.map +1 -1
  82. package/dist/layout/types.d.ts +164 -83
  83. package/dist/layout/types.d.ts.map +1 -1
  84. package/dist/layout/types.js.map +1 -1
  85. package/dist/layout/validation.d.ts.map +1 -1
  86. package/dist/layout/validation.js +78 -33
  87. package/dist/layout/validation.js.map +1 -1
  88. package/dist/layout/viewportPrep.d.ts +8 -6
  89. package/dist/layout/viewportPrep.d.ts.map +1 -1
  90. package/dist/layout/viewportPrep.js +35 -23
  91. package/dist/layout/viewportPrep.js.map +1 -1
  92. package/dist/layout/viewportRender.d.ts +9 -7
  93. package/dist/layout/viewportRender.d.ts.map +1 -1
  94. package/dist/layout/viewportRender.js +93 -126
  95. package/dist/layout/viewportRender.js.map +1 -1
  96. package/dist/layout/viewportUtils.d.ts +20 -0
  97. package/dist/layout/viewportUtils.d.ts.map +1 -1
  98. package/dist/layout/viewportUtils.js +107 -4
  99. package/dist/layout/viewportUtils.js.map +1 -1
  100. package/dist/printToPdf.d.ts +7 -1
  101. package/dist/printToPdf.d.ts.map +1 -1
  102. package/dist/printToPdf.js +81 -14
  103. package/dist/printToPdf.js.map +1 -1
  104. package/dist/printToSvg.d.ts.map +1 -1
  105. package/dist/printToSvg.js +7 -3
  106. package/dist/printToSvg.js.map +1 -1
  107. package/dist/schemaUtils.d.ts +9 -0
  108. package/dist/schemaUtils.d.ts.map +1 -0
  109. package/dist/schemaUtils.js +14 -0
  110. package/dist/schemaUtils.js.map +1 -0
  111. package/dist/templates/default-template.json +30 -8
  112. package/dist/types.d.ts +2 -1
  113. package/dist/types.d.ts.map +1 -1
  114. package/dist/types.js +10 -1
  115. package/dist/types.js.map +1 -1
  116. package/package.json +8 -3
  117. package/src/index.ts +4 -0
  118. package/src/layout/analyzeTemplate.ts +21 -19
  119. package/src/layout/classClosure.ts +142 -0
  120. package/src/layout/clipUtils.ts +65 -6
  121. package/src/layout/filters.ts +31 -3
  122. package/src/layout/index.ts +61 -571
  123. package/src/layout/itemBuilders.ts +20 -5
  124. package/src/layout/labelsRender.ts +23 -40
  125. package/src/layout/legendRender.ts +64 -84
  126. package/src/layout/metadata.ts +26 -5
  127. package/src/layout/model.ts +21 -66
  128. package/src/layout/options.ts +1 -2
  129. package/src/layout/preflight.ts +96 -0
  130. package/src/layout/qrRender.ts +11 -10
  131. package/src/layout/renderDrawing.ts +132 -110
  132. package/src/layout/renderLayout.ts +483 -0
  133. package/src/layout/renderTemplateSheet.ts +435 -0
  134. package/src/layout/renderUtils.ts +53 -4
  135. package/src/layout/sectionDefs.ts +131 -0
  136. package/src/layout/slabModelView.ts +196 -0
  137. package/src/layout/templateVariables.ts +25 -9
  138. package/src/layout/types.ts +160 -70
  139. package/src/layout/validation.ts +98 -32
  140. package/src/layout/viewportPrep.ts +47 -29
  141. package/src/layout/viewportRender.ts +114 -141
  142. package/src/layout/viewportUtils.ts +118 -5
  143. package/src/printToPdf.ts +84 -15
  144. package/src/printToSvg.ts +7 -3
  145. package/src/schemaUtils.ts +13 -0
  146. package/src/templates/default-template.json +30 -8
  147. package/src/types.ts +12 -2
  148. package/templates/default-a0-landscape.json +171 -66
  149. package/templates/default-a0-portrait.json +159 -60
  150. package/templates/default-a1-landscape.json +135 -48
  151. package/templates/default-a1-portrait.json +123 -42
  152. package/templates/default-a3-landscape.json +87 -24
  153. package/templates/default-a3-portrait.json +99 -30
  154. package/templates/default-a4-landscape.json +75 -18
  155. package/templates/default-a4-portrait.json +75 -18
  156. package/templates/llm-authoring-guide.md +247 -0
  157. package/templates/template-schema.json +295 -120
@@ -1,4 +1,4 @@
1
- import type { SectionPath, SectionLabel } from '@twinfinity/geometry';
1
+ import type { ClassBehaviorRule, SectionPath, SectionLabel } from '@twinfinity/geometry';
2
2
  export type PagePresetKey = 'a1' | 'a3' | 'a4';
3
3
  export type PageOrientation = 'portrait' | 'landscape';
4
4
  export interface PageSpec {
@@ -18,20 +18,48 @@ export interface TextStyle {
18
18
  export interface StyleMap {
19
19
  [styleName: string]: TextStyle;
20
20
  }
21
- export interface AssetSpec {
21
+ export interface ResourceSpec {
22
22
  id: string;
23
23
  src?: string;
24
24
  content?: string;
25
25
  }
26
+ /**
27
+ * Property-value filter narrowing a set of items *within* a class — the `where`
28
+ * of an include filter, a fill rule or a legend query. Templates use it to pick
29
+ * out "the IfcSpaces that are apartments" rather than all IfcSpaces.
30
+ *
31
+ * Each key is a short property path resolved against the item's property sets
32
+ * (e.g. `"BIP.spacetype"`; see `resolveProperty`). Each value is either a scalar,
33
+ * matched for equality, or an array, matched as any-of. Multiple keys are ANDed.
34
+ *
35
+ * String comparison on both sides is lowercased and trimmed, so `"Apartment"`,
36
+ * `"apartment"` and `" APARTMENT "` are the same condition. Numbers and booleans
37
+ * compare strictly — a property holding the string `"3"` does not match `3`.
38
+ *
39
+ * A key whose path resolves to nothing simply fails to match; it is not an error,
40
+ * so a typo'd path silently selects zero items rather than reporting itself.
41
+ */
26
42
  export type WhereCondition = Record<string, string | number | boolean | Array<string | number>>;
43
+ /**
44
+ * A whole-value variable binding, e.g. `"{{vars.cutHeight}}"`. On numeric
45
+ * fields that accept it, substitution preserves the variable's type (a
46
+ * number variable produces a number, not a string) — this is how template
47
+ * variables drive section placement.
48
+ */
49
+ export type VariableBinding = `{{vars.${string}}}`;
27
50
  export interface ClipConfig {
28
51
  class?: string | string[];
29
52
  where: WhereCondition;
30
- expandByM?: number;
53
+ expandBy?: number;
31
54
  clipLabels?: boolean;
32
- stroke?: string;
33
- strokeWidthMm?: number;
34
- strokeOpacity?: number;
55
+ /** Outline colour (same vocabulary as viewport lineStyles). */
56
+ color?: string;
57
+ /** Outline width in mm. */
58
+ widthMm?: number;
59
+ /** Outline opacity (0..1). */
60
+ opacity?: number;
61
+ /** SVG stroke-dasharray for the clip outline (e.g. '4 2'). */
62
+ dash?: string;
35
63
  fill?: string;
36
64
  fillOpacity?: number;
37
65
  }
@@ -57,7 +85,7 @@ export interface FillRule {
57
85
  /** Fill opacity (0–1). Default: 0.35. */
58
86
  fillOpacity?: number;
59
87
  /** When true, only apply fill to items whose centroid is spatially inside the clip polygon.
60
- * Useful when expandByM reveals adjacent spaces that shouldn't be filled.
88
+ * Useful when expandBy reveals adjacent spaces that shouldn't be filled.
61
89
  * @default false */
62
90
  matchClipFilter?: boolean;
63
91
  }
@@ -66,9 +94,14 @@ export interface HighlightConfig {
66
94
  where: WhereCondition;
67
95
  /** Only highlight items that also appear in the referenced viewport (i.e., intersect both planes). */
68
96
  intersectsViewport?: string;
69
- stroke?: string;
70
- strokeWidthMm?: number;
71
- strokeOpacity?: number;
97
+ /** Outline colour (same vocabulary as viewport lineStyles). */
98
+ color?: string;
99
+ /** Outline width in mm. */
100
+ widthMm?: number;
101
+ /** Outline opacity (0..1). */
102
+ opacity?: number;
103
+ /** SVG stroke-dasharray for highlighted outlines (e.g. '4 2'). */
104
+ dash?: string;
72
105
  fill?: string;
73
106
  fillOpacity?: number;
74
107
  }
@@ -92,24 +125,39 @@ export interface ViewportLineStyle {
92
125
  /**
93
126
  * Per-category line styles for a viewport.
94
127
  *
95
- * Resolution order: category-specific → `default` → built-in defaults.
128
+ * Resolution order: category-specific → `defaultVisibleLines`/`defaultHiddenLines`
129
+ * (by the category's visibility group) → built-in category defaults → `default`
130
+ * → built-in defaults.
131
+ *
132
+ * Visibility groups: `defaultVisibleLines` covers cutLines, visibleLines,
133
+ * silhouettesVisible, featureEdges and outlineVisible; `defaultHiddenLines`
134
+ * covers hiddenLines, silhouettesHidden and outlineHidden. `stairArrows` is an
135
+ * annotation and belongs to neither group.
96
136
  *
97
137
  * Example:
98
138
  * ```json
99
139
  * {
100
- * "default": { "widthMm": 0.01, "color": "#1f2937" },
101
- * "cutLines": { "widthMm": 0.02, "color": "#000000" },
102
- * "hiddenLines": { "widthMm": 0.005, "color": "#9ca3af", "dash": "4 2" }
140
+ * "default": { "widthMm": 0.01, "color": "#1f2937" },
141
+ * "defaultVisibleLines": { "widthMm": 0.1, "color": "#000000" },
142
+ * "defaultHiddenLines": { "widthMm": 0.05, "color": "#9ca3af", "dash": "4 2" },
143
+ * "cutLines": { "widthMm": 0.2 }
103
144
  * }
104
145
  * ```
105
146
  */
106
147
  export interface ViewportLineStyles {
107
148
  /** Fallback style for any category not explicitly listed. */
108
149
  default?: ViewportLineStyle;
150
+ /** Group default for all visible-class categories (cutLines, visibleLines, silhouettesVisible, featureEdges, outlineVisible). */
151
+ defaultVisibleLines?: ViewportLineStyle;
152
+ /** Group default for all hidden-class categories (hiddenLines, silhouettesHidden, outlineHidden). */
153
+ defaultHiddenLines?: ViewportLineStyle;
109
154
  cutLines?: ViewportLineStyle;
110
155
  visibleLines?: ViewportLineStyle;
111
156
  hiddenLines?: ViewportLineStyle;
112
- silhouettes?: ViewportLineStyle;
157
+ /** Visible silhouette / apparent-contour traces. */
158
+ silhouettesVisible?: ViewportLineStyle;
159
+ /** Occluded silhouette traces — inherits the hiddenLines group style (dashed). */
160
+ silhouettesHidden?: ViewportLineStyle;
113
161
  featureEdges?: ViewportLineStyle;
114
162
  stairArrows?: ViewportLineStyle;
115
163
  outlineVisible?: ViewportLineStyle;
@@ -120,7 +168,8 @@ export interface ViewportLineStyles {
120
168
  *
121
169
  * Can be:
122
170
  * - String or string array: class names only
123
- * - Object with class + where: property-based filtering
171
+ * - Object with class + where: property-based filtering, optionally carrying the
172
+ * per-class drawing-generation flags of {@link ClassBehaviorRule} (occludes/classify)
124
173
  * - Preset reference: { preset: "presetName" }
125
174
  *
126
175
  * Examples:
@@ -130,20 +179,22 @@ export interface ViewportLineStyles {
130
179
  * "includeClasses": { "preset": "defaultBuilding" }
131
180
  * ```
132
181
  */
133
- export type IncludeClassesFilter = string | string[] | {
134
- class?: string | string[];
182
+ export type IncludeClassesFilter = string | string[] | (Partial<ClassBehaviorRule> & {
135
183
  where?: WhereCondition;
136
- } | {
184
+ }) | {
137
185
  preset: string;
138
186
  };
139
187
  /**
140
188
  * Resolved include filter (after preset expansion).
141
- * Either a simple class name or a class+where filter.
189
+ * Either a simple class name or a class+where filter carrying the per-class
190
+ * drawing-generation flags of {@link ClassBehaviorRule}: `occludes: false` — the
191
+ * class's geometry hides nothing; `classify: false` — its lines skip hidden-line
192
+ * testing and draw as-is. Both default true; the flags a template carries and the
193
+ * flags SlabSection evaluates are the same declaration.
142
194
  */
143
- export type ResolvedIncludeFilter = string | {
144
- class?: string | string[];
145
- where: WhereCondition;
146
- };
195
+ export type ResolvedIncludeFilter = string | (Partial<ClassBehaviorRule> & {
196
+ where?: WhereCondition;
197
+ });
147
198
  export interface ViewportElement extends BaseElement {
148
199
  kind: 'viewport';
149
200
  xMm: number;
@@ -158,22 +209,18 @@ export interface ViewportElement extends BaseElement {
158
209
  rotationDeg?: number;
159
210
  includeClasses?: IncludeClassesFilter | IncludeClassesFilter[];
160
211
  /**
161
- * Per-category line styles. When set, overrides `lineWidthMm`/`lineColor`.
162
- * Use `lineStyles.default` for a single style across all categories,
163
- * or specify individual categories (cutLines, hiddenLines, etc.).
212
+ * Per-category line styles. Use `lineStyles.default` for a single style
213
+ * across all categories, or specify individual categories
214
+ * (cutLines, hiddenLines, etc.).
164
215
  */
165
216
  lineStyles?: ViewportLineStyles;
166
- /** Simple shorthand: default line width for all categories. Overridden by `lineStyles`. */
167
- lineWidthMm?: number;
168
- /** Simple shorthand: default line color for all categories. Overridden by `lineStyles`. */
169
- lineColor?: string;
170
217
  /**
171
218
  * Fill rules controlling which products get filled polygons.
172
219
  * When absent, no fills are rendered (default: no fill).
173
220
  */
174
221
  fills?: FillRule[];
175
222
  northArrow?: {
176
- assetId: string;
223
+ resourceId: string;
177
224
  sizeMm?: number;
178
225
  offsetXMm?: number;
179
226
  offsetYMm?: number;
@@ -182,15 +229,17 @@ export interface ViewportElement extends BaseElement {
182
229
  border?: {
183
230
  stroke?: string;
184
231
  strokeWidthMm?: number;
185
- dashed?: boolean;
232
+ dash?: string;
186
233
  };
187
234
  clip?: ClipConfig;
188
235
  highlight?: HighlightConfig;
189
236
  /**
190
- * Override cutting plane height for horizontal plans (Y coordinate).
191
- * If omitted, uses app default. Shorthand for planeNormal=[0,1,0], planePosition=cutHeight.
237
+ * Override cutting plane height for horizontal plans (Y coordinate,
238
+ * metres). Shorthand for planeNormal=[0,1,0], planePosition=cutHeight.
239
+ * May be a variable binding ("{{vars.cutHeight}}" with a number
240
+ * variable) so end users control the cut through the variables UI.
192
241
  */
193
- cutHeight?: number;
242
+ cutHeight?: number | VariableBinding;
194
243
  /**
195
244
  * Override depth above/below cutting plane. If omitted, uses app default.
196
245
  * Only applicable for SLAB mode (PLANE mode doesn't use depth).
@@ -210,21 +259,38 @@ export interface ViewportElement extends BaseElement {
210
259
  */
211
260
  planeNormal?: [number, number, number];
212
261
  /**
213
- * Distance from origin along the (normalized) plane normal.
262
+ * Distance from origin along the (normalized) plane normal (metres).
214
263
  * Used with planeNormal to define the cutting plane.
215
264
  * The plane passes through the point: normalize(planeNormal) * planePosition.
265
+ * May be a variable binding like cutHeight.
216
266
  */
217
- planePosition?: number;
267
+ planePosition?: number | VariableBinding;
218
268
  /**
219
- * Section computation mode: 'slab' or 'plane'.
220
- * - 'slab': Optimized for horizontal floor plans. Uses depth above/below to include geometry.
221
- * - 'plane': Arbitrary plane cuts (vertical sections, diagonal sections). Computes exact intersection.
222
- *
223
- * If omitted, mode is auto-detected from plane orientation:
224
- * - Horizontal planes (planeNormal ≈ Y-axis) → 'slab'
225
- * - Vertical or diagonal planes → 'plane'
269
+ * Stair-arrow geometry options for plan viewports (marker shapes and run
270
+ * sizing). These shape the GENERATED arrow geometry stroke/color/width
271
+ * and hiding stay with `lineStyles.stairArrows`. Ignored in PLANE mode
272
+ * (elevations generate no stair arrows).
226
273
  */
227
- mode?: 'slab' | 'plane';
274
+ stairArrows?: ViewportStairArrowOptions;
275
+ }
276
+ /**
277
+ * Template surface for `SlabSectionStairArrowOptions` (product-geometry) —
278
+ * kept as its own type so the template schema and the geometry package can
279
+ * evolve independently; renderTemplateSheet forwards field-by-field.
280
+ */
281
+ export interface ViewportStairArrowOptions {
282
+ /** Marker at the run's bottom end (drawing-convention circle). Default 'filled'. */
283
+ startMarker?: 'filled' | 'open' | 'none';
284
+ /** Arrowhead at the run's top end. Default 'filled' (solid triangle). */
285
+ arrowhead?: 'filled' | 'outline' | 'open';
286
+ /** Fraction of the flight length the arrow occupies. */
287
+ lengthScale?: number;
288
+ /** Minimum arrow length in metres. */
289
+ minLength?: number;
290
+ /** Maximum arrow length in metres. */
291
+ maxLength?: number;
292
+ /** How far the walking line extends onto an un-anchored landing (metres). */
293
+ landingExtension?: number;
228
294
  }
229
295
  export interface TextElement extends BaseElement {
230
296
  kind: 'text';
@@ -232,7 +298,6 @@ export interface TextElement extends BaseElement {
232
298
  yMm: number;
233
299
  textStyle?: string;
234
300
  text: string;
235
- maxWidthMm?: number;
236
301
  align?: 'left' | 'center' | 'right';
237
302
  }
238
303
  export interface ImageElement extends BaseElement {
@@ -241,7 +306,7 @@ export interface ImageElement extends BaseElement {
241
306
  yMm: number;
242
307
  widthMm: number;
243
308
  heightMm: number;
244
- assetId: string;
309
+ resourceId: string;
245
310
  fit?: 'contain' | 'cover' | 'stretch';
246
311
  }
247
312
  export interface LineElement extends BaseElement {
@@ -252,7 +317,8 @@ export interface LineElement extends BaseElement {
252
317
  y2Mm: number;
253
318
  stroke?: string;
254
319
  strokeWidthMm?: number;
255
- dashed?: boolean;
320
+ /** SVG stroke-dasharray in mm, e.g. "4 2". */
321
+ dash?: string;
256
322
  }
257
323
  export interface RectElement extends BaseElement {
258
324
  kind: 'rect';
@@ -263,7 +329,8 @@ export interface RectElement extends BaseElement {
263
329
  stroke?: string;
264
330
  strokeWidthMm?: number;
265
331
  fill?: string;
266
- dashed?: boolean;
332
+ /** SVG stroke-dasharray in mm, e.g. "4 2". */
333
+ dash?: string;
267
334
  }
268
335
  export interface CircleElement extends BaseElement {
269
336
  kind: 'circle';
@@ -273,7 +340,8 @@ export interface CircleElement extends BaseElement {
273
340
  stroke?: string;
274
341
  strokeWidthMm?: number;
275
342
  fill?: string;
276
- dashed?: boolean;
343
+ /** SVG stroke-dasharray in mm, e.g. "4 2". */
344
+ dash?: string;
277
345
  }
278
346
  export interface PointMm {
279
347
  xMm: number;
@@ -284,7 +352,8 @@ export interface PolylineElement extends BaseElement {
284
352
  points: PointMm[];
285
353
  stroke: string;
286
354
  strokeWidthMm: number;
287
- dashed?: boolean;
355
+ /** SVG stroke-dasharray in mm, e.g. "4 2". */
356
+ dash?: string;
288
357
  }
289
358
  export interface PolygonElement extends BaseElement {
290
359
  kind: 'polygon';
@@ -292,7 +361,8 @@ export interface PolygonElement extends BaseElement {
292
361
  stroke?: string;
293
362
  strokeWidthMm?: number;
294
363
  fill?: string;
295
- dashed?: boolean;
364
+ /** SVG stroke-dasharray in mm, e.g. "4 2". */
365
+ dash?: string;
296
366
  }
297
367
  export interface ScaleBarElement extends BaseElement {
298
368
  kind: 'scaleBar';
@@ -325,12 +395,16 @@ export interface LabelsElement extends BaseElement {
325
395
  text: string;
326
396
  textStyle?: string;
327
397
  align?: 'left' | 'center' | 'right';
328
- maxWidthMm?: number;
329
398
  /** When true, only show labels for items whose position is spatially inside the clip polygon.
330
399
  * @default false */
331
400
  matchClipFilter?: boolean;
332
401
  }
333
402
  export type LegendAnchor = 'top-right' | 'top-left' | 'bottom-right' | 'bottom-left';
403
+ /** Table line style — same stroke vocabulary as shape elements. */
404
+ export interface LegendLineStyle {
405
+ stroke?: string;
406
+ strokeWidthMm?: number;
407
+ }
334
408
  export interface LegendColumn {
335
409
  id: string;
336
410
  label: string;
@@ -367,12 +441,12 @@ export interface LegendElement extends BaseElement {
367
441
  showColorColumn?: boolean;
368
442
  colorColumnWidthMm?: number;
369
443
  cellPaddingMm?: number;
370
- borderStrokeWidthMm?: number;
371
- borderStrokeColor?: string;
372
- gridStrokeWidthMm?: number;
373
- gridStrokeColor?: string;
374
- headerStrokeWidthMm?: number;
375
- headerStrokeColor?: string;
444
+ /** Outer table border — same vocabulary as the viewport border. */
445
+ border?: LegendLineStyle;
446
+ /** Inner grid lines between rows/columns. */
447
+ grid?: LegendLineStyle;
448
+ /** Header separator (and summary separator) line. */
449
+ header?: LegendLineStyle;
376
450
  columns: LegendColumn[];
377
451
  /**
378
452
  * Summary row configuration.
@@ -582,7 +656,7 @@ export interface LayoutTemplate {
582
656
  variables?: Record<string, TemplateVariableDef>;
583
657
  page: PageSpec;
584
658
  styles?: StyleMap;
585
- assets?: AssetSpec[];
659
+ resources?: ResourceSpec[];
586
660
  elements: LayoutElement[];
587
661
  presets?: {
588
662
  includeClasses?: Record<string, string[]>;
@@ -590,8 +664,8 @@ export interface LayoutTemplate {
590
664
  preferredScales?: number[];
591
665
  }>;
592
666
  };
593
- /** Allow fetching remote assets (images, fonts). Default: false. */
594
- allowRemoteAssets?: boolean;
667
+ /** Allow fetching remote resources (images, fonts). Default: false. */
668
+ allowRemoteResources?: boolean;
595
669
  }
596
670
  export interface ModelMetadataEntry {
597
671
  productId?: string;
@@ -670,9 +744,15 @@ export type LayoutDataViewports = {
670
744
  viewports: ViewportItemsMap;
671
745
  } & Record<string, any>;
672
746
  export interface ValidationOptions {
673
- allowRemoteAssets?: boolean;
747
+ allowRemoteResources?: boolean;
674
748
  allowDataUrls?: boolean;
675
749
  maxViewports?: number;
750
+ /**
751
+ * Treat an `image.resourceId` that names no declared resource as an error. Off by default:
752
+ * `renderLayout` throws on validation errors, so switching this on mid-render turns one missing
753
+ * logo into no print at all. Authoring tools want it on; rendering paths do not.
754
+ */
755
+ strictResourceRefs?: boolean;
676
756
  }
677
757
  export interface ValidationIssue {
678
758
  path: string;
@@ -721,7 +801,7 @@ export interface RenderDrawingInput {
721
801
  */
722
802
  models?: ModelContext;
723
803
  options?: {
724
- allowRemoteAssets?: boolean;
804
+ allowRemoteResources?: boolean;
725
805
  qrContext?: {
726
806
  host?: string | null;
727
807
  containerName?: string | null;
@@ -746,6 +826,8 @@ export interface RenderDrawingInput {
746
826
  *
747
827
  * Each entry needs a `product` (BIM object with gid, name, class, properties)
748
828
  * and `polylines` (for centroid computation and fill polygon rendering).
829
+ * Either one flat list applied to every viewport, or a record keyed by
830
+ * viewport id when viewports show different cuts.
749
831
  *
750
832
  * When provided, renderDrawing builds NormalizedProductItems per viewport,
751
833
  * resolving fill colors from each viewport's fill rules. This replaces
@@ -753,15 +835,7 @@ export interface RenderDrawingInput {
753
835
  *
754
836
  * Ignored when `viewportItems` is also provided (explicit items take priority).
755
837
  */
756
- productEntries?: Array<{
757
- product: unknown;
758
- polylines: Array<{
759
- points: Array<{
760
- x: number;
761
- z: number;
762
- }>;
763
- }>;
764
- }>;
838
+ productEntries?: ProductPolylineEntry[] | Record<string, ProductPolylineEntry[]>;
765
839
  /**
766
840
  * Pre-built product items when `models` is provided directly.
767
841
  * Keyed by viewport ID, each containing an array of NormalizedProductItems.
@@ -773,16 +847,13 @@ export interface RenderDrawingInput {
773
847
  items: NormalizedProductItem[];
774
848
  }>;
775
849
  /**
776
- * App default section settings. Used as fallback when viewports don't specify
777
- * their own cutHeight/depth configuration.
850
+ * gid class/property metadata for products beyond the entry lists. Entries
851
+ * only cover cut-bearing products, but render-time includeClasses filtering
852
+ * must classify every product with drawable lines — without this map, products
853
+ * whose geometry never crosses the cut (furniture below a plan cut) lose their
854
+ * visible/hidden lines. Entry-derived metadata overrides on shared gids.
778
855
  */
779
- sectionDefaults?: {
780
- cutHeight?: number;
781
- depth?: {
782
- above?: number;
783
- below?: number;
784
- };
785
- };
856
+ metadataById?: ModelMetadata;
786
857
  /**
787
858
  * Template variable values.
788
859
  *
@@ -809,6 +880,16 @@ export interface RenderDrawingInput {
809
880
  variables?: Record<string, any>;
810
881
  };
811
882
  }
883
+ /** Raw per-product item-data entry: the product plus its cut polylines in world x/z. */
884
+ export interface ProductPolylineEntry {
885
+ product: unknown;
886
+ polylines: Array<{
887
+ points: Array<{
888
+ x: number;
889
+ z: number;
890
+ }>;
891
+ }>;
892
+ }
812
893
  export interface RenderDrawingResult {
813
894
  svg: string;
814
895
  warnings: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"/","sources":["layout/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"/","sources":["layout/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzF,MAAM,MAAM,aAAa,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAC/C,MAAM,MAAM,eAAe,GAAG,UAAU,GAAG,WAAW,CAAC;AAEvD,MAAM,WAAW,QAAQ;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,SAAS;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC/D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,QAAQ;IACrB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;CAClC;AAED,MAAM,WAAW,YAAY;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC;AAEhG;;;;;GAKG;AACH,MAAM,MAAM,eAAe,GAAG,UAAU,MAAM,IAAI,CAAC;AAEnD,MAAM,WAAW,UAAU;IACvB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC1B,KAAK,EAAE,cAAc,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,+DAA+D;IAC/D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2BAA2B;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,8BAA8B;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,8DAA8D;IAC9D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,QAAQ;IACrB,gFAAgF;IAChF,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC1B,8DAA8D;IAC9D,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,mIAAmI;IACnI,IAAI,EAAE,MAAM,CAAC;IACb,yCAAyC;IACzC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;yBAEqB;IACrB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,eAAe;IAC5B,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC1B,KAAK,EAAE,cAAc,CAAC;IACtB,sGAAsG;IACtG,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,+DAA+D;IAC/D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2BAA2B;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,8BAA8B;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kEAAkE;IAClE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,MAAM,aAAa,GACnB,eAAe,GACf,WAAW,GACX,YAAY,GACZ,WAAW,GACX,WAAW,GACX,aAAa,GACb,eAAe,GACf,cAAc,GACd,eAAe,GACf,SAAS,GACT,aAAa,GACb,aAAa,GACb,YAAY,CAAC;AAEnB,MAAM,WAAW,WAAW;IACxB,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,sDAAsD;AACtD,MAAM,WAAW,iBAAiB;IAC9B,wBAAwB;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qCAAqC;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mCAAmC;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,wDAAwD;IACxD,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,WAAW,kBAAkB;IAC/B,6DAA6D;IAC7D,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,iIAAiI;IACjI,mBAAmB,CAAC,EAAE,iBAAiB,CAAC;IACxC,qGAAqG;IACrG,kBAAkB,CAAC,EAAE,iBAAiB,CAAC;IACvC,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,YAAY,CAAC,EAAE,iBAAiB,CAAC;IACjC,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,oDAAoD;IACpD,kBAAkB,CAAC,EAAE,iBAAiB,CAAC;IACvC,kFAAkF;IAClF,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,YAAY,CAAC,EAAE,iBAAiB,CAAC;IACjC,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,cAAc,CAAC,EAAE,iBAAiB,CAAC;IACnC,aAAa,CAAC,EAAE,iBAAiB,CAAC;CACrC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,oBAAoB,GAC1B,MAAM,GACN,MAAM,EAAE,GACR,CAAC,OAAO,CAAC,iBAAiB,CAAC,GAAG;IAAE,KAAK,CAAC,EAAE,cAAc,CAAA;CAAE,CAAC,GACzD;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzB;;;;;;;GAOG;AACH,MAAM,MAAM,qBAAqB,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC,GAAG;IAAE,KAAK,CAAC,EAAE,cAAc,CAAA;CAAE,CAAC,CAAC;AAEvG,MAAM,WAAW,eAAgB,SAAQ,WAAW;IAChD,IAAI,EAAE,UAAU,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,KAAK,GAAG,aAAa,GAAG,OAAO,CAAC;IAC5C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,oBAAoB,GAAG,oBAAoB,EAAE,CAAC;IAC/D;;;;OAIG;IACH,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAChC;;;OAGG;IACH,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC;IACnB,UAAU,CAAC,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACnH,MAAM,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACpE,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,SAAS,CAAC,EAAE,eAAe,CAAC;IAG5B;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,eAAe,CAAC;IACrC;;;OAGG;IACH,KAAK,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3C;;;;;;;;OAQG;IACH,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC;;;;;OAKG;IACH,aAAa,CAAC,EAAE,MAAM,GAAG,eAAe,CAAC;IACzC;;;;;OAKG;IACH,WAAW,CAAC,EAAE,yBAAyB,CAAC;CAC3C;AAED;;;;GAIG;AACH,MAAM,WAAW,yBAAyB;IACtC,oFAAoF;IACpF,WAAW,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;IACzC,yEAAyE;IACzE,SAAS,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC;IAC1C,wDAAwD;IACxD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sCAAsC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sCAAsC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6EAA6E;IAC7E,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,WAAY,SAAQ,WAAW;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;CACvC;AAED,MAAM,WAAW,YAAa,SAAQ,WAAW;IAC7C,IAAI,EAAE,OAAO,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC;CACzC;AAED,MAAM,WAAW,WAAY,SAAQ,WAAW;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,8CAA8C;IAC9C,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAY,SAAQ,WAAW;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8CAA8C;IAC9C,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAc,SAAQ,WAAW;IAC9C,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8CAA8C;IAC9C,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,OAAO;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,eAAgB,SAAQ,WAAW;IAChD,IAAI,EAAE,UAAU,CAAC;IACjB,MAAM,EAAE,OAAO,EAAE,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,8CAA8C;IAC9C,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAe,SAAQ,WAAW;IAC/C,IAAI,EAAE,SAAS,CAAC;IAChB,MAAM,EAAE,OAAO,EAAE,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8CAA8C;IAC9C,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,eAAgB,SAAQ,WAAW;IAChD,IAAI,EAAE,UAAU,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,SAAU,SAAQ,WAAW;IAC1C,IAAI,EAAE,IAAI,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACpC,YAAY,CAAC,EAAE,aAAa,GAAG,cAAc,GAAG,UAAU,GAAG,WAAW,CAAC;IACzE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,aAAc,SAAQ,WAAW;IAC9C,IAAI,EAAE,QAAQ,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC1B,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;IACpC;yBACqB;IACrB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,MAAM,YAAY,GAAG,WAAW,GAAG,UAAU,GAAG,cAAc,GAAG,aAAa,CAAC;AAErF,mEAAmE;AACnE,MAAM,WAAW,eAAe;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,YAAY;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/D,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;IACpC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,aAAc,SAAQ,WAAW;IAC9C,IAAI,EAAE,QAAQ,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC1B,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,gBAAgB,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IAChD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mEAAmE;IACnE,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,6CAA6C;IAC7C,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,qDAAqD;IACrD,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB;;;;;;;;;;;;;;;;;;OAkBG;IACH,OAAO,CAAC,EAAE;QACN,0BAA0B;QAC1B,OAAO,EAAE,OAAO,CAAC;QACjB,kEAAkE;QAClE,KAAK,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IACF;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;;;;;;;;;;;;OAgBG;IACH,YAAY,CAAC,EAAE;QACX,iDAAiD;QACjD,OAAO,EAAE,OAAO,CAAC;QACjB,+EAA+E;QAC/E,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;KAC/B,CAAC;CACL;AAED,MAAM,WAAW,cAAc;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,YAAa,SAAQ,WAAW;IAC7C,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,QAAQ,EAAE,aAAa,EAAE,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,WAAW,mBAAmB;IAChC,gEAAgE;IAChE,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,CAAC;IAEhD;;;;OAIG;IACH,OAAO,EAAE,GAAG,CAAC;IAEb,yEAAyE;IACzE,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,+CAA+C;IAC/C,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;;;;;;;;;;;;;;;;OAmBG;IACH,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,KAAK,GAAG,MAAM,CAAC;IAG5C,kDAAkD;IAClD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kDAAkD;IAClD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yDAAyD;IACzD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yCAAyC;IACzC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAGhB,0CAA0C;IAC1C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,0CAA0C;IAC1C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,sDAAsD;IACtD,IAAI,CAAC,EAAE,MAAM,CAAC;IAGd,oDAAoD;IACpD,KAAK,CAAC,EAAE;QACJ,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;KAChB,CAAC;CACL;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,CAAC;IAChD,OAAO,EAAE,GAAG,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,KAAK,GAAG,MAAM,CAAC;IAC5C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACb,KAAK,CAAC,EAAE;QACJ,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;KAChB,CAAC;CACL;AAED,MAAM,WAAW,cAAc;IAC3B,2EAA2E;IAC3E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ;;;;;;;;OAQG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAEhD,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,CAAC,EAAE,QAAQ,CAAC;IAClB,SAAS,CAAC,EAAE,YAAY,EAAE,CAAC;IAC3B,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,OAAO,CAAC,EAAE;QACN,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QAC1C,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;YAAE,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;SAAE,CAAC,CAAC;KAC3D,CAAC;IACF,uEAAuE;IACvE,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAClC;AAED,MAAM,WAAW,kBAAkB;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACtB;AAED,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;AAE/D,MAAM,WAAW,iBAAiB;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,qBAAqB;IAClC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,sFAAsF;IACtF,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,8FAA8F;IAC9F,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,GAAG,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;IAC3F,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClB,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClB,SAAS,CAAC,EAAE,KAAK,CAAC;QAAE,MAAM,CAAC,EAAE,KAAK,CAAC;YAAE,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,CAAC,CAAC;IAChE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACtB;AAED,MAAM,MAAM,4BAA4B,GAClC;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GACZ;IACI,EAAE,EAAE,KAAK,CAAC;IACV,MAAM,EAAE,MAAM,EAAE,CAAC;CACpB,CAAC;AAER,MAAM,WAAW,UAAU;IACvB,0CAA0C;IAC1C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8EAA8E;IAC9E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kCAAkC;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,YAAY;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,EAAE;QACR,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC;IACzB,SAAS,CAAC,EAAE,YAAY,EAAE,CAAC;IAC3B,UAAU,CAAC,EAAE,UAAU,CAAC;CAC3B;AAED,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;AACxD,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAC7C,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,qBAAqB,EAAE,CAAA;CAAE,CAAC,CAAC;AAClF,MAAM,MAAM,mBAAmB,GAAG;IAAE,SAAS,EAAE,gBAAgB,CAAA;CAAE,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAExF,MAAM,WAAW,iBAAiB;IAC9B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAChC;AAED,MAAM,WAAW,eAAe;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,gBAAgB,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,GAAG,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,eAAe,EAAE,CAAA;CAAE,CAAC;AAEtG,MAAM,WAAW,qBAAqB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC1B,UAAU,EAAE,KAAK,CAAC;QACd,OAAO,EAAE,GAAG,CAAC;QACb,QAAQ,EAAE,KAAK,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;QAC5B,SAAS,EAAE,KAAK,CAAC;YAAE,MAAM,EAAE,GAAG,EAAE,CAAC;YAAC,MAAM,EAAE,OAAO,CAAA;SAAE,CAAC,CAAC;KACxD,CAAC,CAAC;CACN;AAED,MAAM,WAAW,kBAAkB;IAC/B,QAAQ,EAAE,cAAc,CAAC;IACzB;;;;;;;;OAQG;IACH,QAAQ,CAAC,EAAE,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACzD;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,OAAO,CAAC,EAAE;QACN,oBAAoB,CAAC,EAAE,OAAO,CAAC;QAC/B,SAAS,CAAC,EAAE;YACR,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;YACrB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;YAC9B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;YAC1B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;SAC/B,CAAC;QACF;;;;;;WAMG;QACH,UAAU,CAAC,EAAE;YACT,0EAA0E;YAC1E,SAAS,EAAE,MAAM,CAAC;YAClB,kFAAkF;YAClF,WAAW,CAAC,EAAE,MAAM,CAAC;SACxB,CAAC;QACF;;;;;;;;;;;;;WAaG;QACH,cAAc,CAAC,EAAE,oBAAoB,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,oBAAoB,EAAE,CAAC,CAAC;QACjF;;;;;;WAMG;QACH,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;YAAE,KAAK,EAAE,qBAAqB,EAAE,CAAA;SAAE,CAAC,CAAC;QACnE;;;;;;WAMG;QACH,YAAY,CAAC,EAAE,aAAa,CAAC;QAC7B;;;;;;;;;;;;;;;;;;;;;;WAsBG;QACH,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KACnC,CAAC;CACL;AAED,wFAAwF;AACxF,MAAM,WAAW,oBAAoB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,KAAK,CAAC;YAAE,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,CAAC,CAAC;CACjE;AAED,MAAM,WAAW,mBAAmB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,EAAE,CAAC;CACtB"}