@hatiolab/figure-model 0.2.15 → 0.3.1

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 (43) hide show
  1. package/dist/authoring-actions.d.ts +68 -25
  2. package/dist/authoring-actions.d.ts.map +1 -1
  3. package/dist/authoring-actions.js +331 -71
  4. package/dist/authoring-actions.js.map +1 -1
  5. package/dist/index.d.ts +3 -2
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +3 -2
  8. package/dist/index.js.map +1 -1
  9. package/dist/joint-list.d.ts +76 -0
  10. package/dist/joint-list.d.ts.map +1 -0
  11. package/dist/joint-list.js +259 -0
  12. package/dist/joint-list.js.map +1 -0
  13. package/dist/kernel-version.d.ts +1 -1
  14. package/dist/kernel-version.d.ts.map +1 -1
  15. package/dist/kernel-version.js +1 -1
  16. package/dist/kernel-version.js.map +1 -1
  17. package/dist/proposal.d.ts.map +1 -1
  18. package/dist/proposal.js +5 -4
  19. package/dist/proposal.js.map +1 -1
  20. package/dist/recipe.d.ts +11 -2
  21. package/dist/recipe.d.ts.map +1 -1
  22. package/dist/recipe.js +3 -1
  23. package/dist/recipe.js.map +1 -1
  24. package/dist/release-contract.d.ts +1 -1
  25. package/dist/release-contract.d.ts.map +1 -1
  26. package/dist/release-contract.js +83 -0
  27. package/dist/release-contract.js.map +1 -1
  28. package/dist/release-metrics.d.ts +3 -0
  29. package/dist/release-metrics.d.ts.map +1 -1
  30. package/dist/release-metrics.js +13 -2
  31. package/dist/release-metrics.js.map +1 -1
  32. package/dist/render-batches.d.ts +20 -1
  33. package/dist/render-batches.d.ts.map +1 -1
  34. package/dist/render-batches.js +73 -3
  35. package/dist/render-batches.js.map +1 -1
  36. package/dist/robots.d.ts +23 -26
  37. package/dist/robots.d.ts.map +1 -1
  38. package/dist/robots.js +52 -20
  39. package/dist/robots.js.map +1 -1
  40. package/dist/score.d.ts.map +1 -1
  41. package/dist/score.js +4 -1
  42. package/dist/score.js.map +1 -1
  43. package/package.json +2 -1
package/dist/recipe.js CHANGED
@@ -12,6 +12,7 @@ import { FigureContractError } from "./contract.js";
12
12
  import { applyFigureProposal } from "./proposal.js";
13
13
  import { addFigureBox, createFigureAsset } from "./create.js";
14
14
  import { applyFigureAuthoring } from "./authoring-actions.js";
15
+ import { figureMimicTermsOf } from "./joint-list.js";
15
16
  import { inspectFigureAsset } from "./gate.js";
16
17
  const KINDS = ['face', 'ratio', 'mm', 'choice', 'flag'];
17
18
  const NAME = /^[a-z][a-z0-9-]*$/;
@@ -222,7 +223,8 @@ export function describeFigureRecipe(recipe) {
222
223
  continue;
223
224
  if (moves.some(m => m.part === j.body1.part))
224
225
  continue;
225
- moves.push({ part: j.body1.part, kind: j.type === 'prismatic' ? 'slide' : 'turn', ...(j.mimic ? { follows: j.mimic.joint } : {}) });
226
+ const follows = figureMimicTermsOf(j.mimic);
227
+ moves.push({ part: j.body1.part, kind: j.type === 'prismatic' ? 'slide' : 'turn', ...(follows ? { follows } : {}) });
226
228
  if (!j.mimic) {
227
229
  const control = j.state?.id ?? j.id;
228
230
  if (!controls.includes(control))
@@ -1 +1 @@
1
- {"version":3,"file":"recipe.js","sourceRoot":"","sources":["../src/recipe.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"recipe.js","sourceRoot":"","sources":["../src/recipe.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { FigureAsset } from './asset-types.ts';
2
- export type FigureContractChangeCode = 'placement-changed' | 'size-inputs-gone' | 'size-inputs-added' | 'size-range-narrowed' | 'authored-size-changed' | 'state-input-gone' | 'state-unit-changed' | 'state-range-narrowed' | 'state-input-added' | 'clip-gone' | 'clip-added' | 'binding-gone' | 'binding-role-changed' | 'binding-capacity-reduced' | 'binding-accepts-narrowed' | 'binding-added' | 'capability-gone' | 'capability-added' | 'occupancy-changed' | 'contact-face-changed' | 'public-input-gone' | 'public-input-range-narrowed' | 'public-input-added';
2
+ export type FigureContractChangeCode = 'placement-changed' | 'size-inputs-gone' | 'size-inputs-added' | 'size-range-narrowed' | 'authored-size-changed' | 'state-input-gone' | 'state-unit-changed' | 'state-range-narrowed' | 'state-input-added' | 'clip-gone' | 'clip-added' | 'binding-gone' | 'binding-role-changed' | 'binding-capacity-reduced' | 'binding-accepts-narrowed' | 'binding-added' | 'capability-gone' | 'capability-added' | 'occupancy-changed' | 'contact-face-changed' | 'public-input-gone' | 'public-input-range-narrowed' | 'public-input-added' | 'state-input-joints-changed' | 'joint-axis-changed' | 'joint-child-changed' | 'joint-motion-unit-changed' | 'joint-list-unread';
3
3
  export interface FigureContractChange {
4
4
  code: FigureContractChangeCode;
5
5
  /** True refuses the release. */
@@ -1 +1 @@
1
- {"version":3,"file":"release-contract.d.ts","sourceRoot":"","sources":["../src/release-contract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAA4B,MAAM,kBAAkB,CAAA;AAmC7E,MAAM,MAAM,wBAAwB,GAChC,mBAAmB,GACnB,kBAAkB,GAClB,mBAAmB,GACnB,qBAAqB,GACrB,uBAAuB,GACvB,kBAAkB,GAClB,oBAAoB,GACpB,sBAAsB,GACtB,mBAAmB,GACnB,WAAW,GACX,YAAY,GACZ,cAAc,GACd,sBAAsB,GACtB,0BAA0B,GAC1B,0BAA0B,GAC1B,eAAe,GACf,iBAAiB,GACjB,kBAAkB,GAClB,mBAAmB,GACnB,sBAAsB,GACtB,mBAAmB,GACnB,6BAA6B,GAC7B,oBAAoB,CAAA;AAExB,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,wBAAwB,CAAA;IAC9B,gCAAgC;IAChC,QAAQ,EAAE,OAAO,CAAA;IACjB,gGAAgG;IAChG,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,6DAA6D;IAC7D,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAA;IACvC,sDAAsD;IACtD,MAAM,EAAE,MAAM,CAAA;CACf;AAkDD;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,GAAG,oBAAoB,EAAE,CA8LrG"}
1
+ {"version":3,"file":"release-contract.d.ts","sourceRoot":"","sources":["../src/release-contract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAA4B,MAAM,kBAAkB,CAAA;AAwC7E,MAAM,MAAM,wBAAwB,GAChC,mBAAmB,GACnB,kBAAkB,GAClB,mBAAmB,GACnB,qBAAqB,GACrB,uBAAuB,GACvB,kBAAkB,GAClB,oBAAoB,GACpB,sBAAsB,GACtB,mBAAmB,GACnB,WAAW,GACX,YAAY,GACZ,cAAc,GACd,sBAAsB,GACtB,0BAA0B,GAC1B,0BAA0B,GAC1B,eAAe,GACf,iBAAiB,GACjB,kBAAkB,GAClB,mBAAmB,GACnB,sBAAsB,GACtB,mBAAmB,GACnB,6BAA6B,GAC7B,oBAAoB,GACpB,4BAA4B,GAC5B,oBAAoB,GACpB,qBAAqB,GACrB,2BAA2B,GAC3B,mBAAmB,CAAA;AAEvB,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,wBAAwB,CAAA;IAC9B,gCAAgC;IAChC,QAAQ,EAAE,OAAO,CAAA;IACjB,gGAAgG;IAChG,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,6DAA6D;IAC7D,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAA;IACvC,sDAAsD;IACtD,MAAM,EAAE,MAAM,CAAA;CACf;AAkDD;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,GAAG,oBAAoB,EAAE,CAiMrG"}
@@ -1,6 +1,7 @@
1
1
  import { FIGURE_SIZE_INPUTS } from "./words.js";
2
2
  import { figurePlacementOf } from "./asset.js";
3
3
  import { compileFigureGraph } from "./graph.js";
4
+ import { figureJointsOf } from "./joint-list.js";
4
5
  const stateInputs = (asset) => new Map(asset.document.model.inputs.filter(i => i.role === 'state').map(i => [i.id, i]));
5
6
  const sizeInputs = (asset) => {
6
7
  const ids = Object.values(FIGURE_SIZE_INPUTS);
@@ -238,6 +239,8 @@ export function figureContractChanges(before, after) {
238
239
  if (!wasPublic.has(id))
239
240
  push({ code: 'public-input-added', blocking: false, subject: id, values: { id }, detail: `public input ${id} is new` });
240
241
  }
242
+ /* ── joints ────────────────────────────────────────────────────────────── */
243
+ jointChanges(before, after, wasState, nowState, push);
241
244
  return changes;
242
245
  }
243
246
  /** Types a binding accepted before and does not now. An empty list afterwards means "anything", which is wider. */
@@ -246,4 +249,84 @@ function acceptsDropped(was, now) {
246
249
  return [];
247
250
  return was.accepts.filter(type => !now.accepts.includes(type));
248
251
  }
252
+ /**
253
+ * What writing a state input moves, per input: each joint it drives -- directly, or as a follower through a leader it
254
+ * drives -- with the multiplier and offset that make the joint's value from it. Sorted, so equal means the same.
255
+ */
256
+ function drivenBy(list) {
257
+ const control = new Map(list.joints.flatMap(j => (j.control ? [[j.id, j.control.input]] : [])));
258
+ const out = new Map();
259
+ const say = (input, what) => out.set(input, [...(out.get(input) ?? []), what]);
260
+ for (const j of list.joints) {
261
+ if (j.control)
262
+ say(j.control.input, j.id);
263
+ for (const t of j.follows?.sum ?? []) {
264
+ const input = control.get(t.joint);
265
+ if (input)
266
+ say(input, `${j.id}=${t.multiplier}×${t.joint}${j.follows.offset ? `+${j.follows.offset}` : ''}`);
267
+ }
268
+ }
269
+ for (const [input, what] of out)
270
+ out.set(input, what.sort());
271
+ return out;
272
+ }
273
+ /** The previous release's list, which was released before lists were measured and may not read now. */
274
+ function listOf(asset) {
275
+ try {
276
+ return figureJointsOf(asset);
277
+ }
278
+ catch (e) {
279
+ return e instanceof Error ? e.message : String(e);
280
+ }
281
+ }
282
+ /*
283
+ Blocking where a controller's stored mapping would now move something else: an input that moves other joints, or
284
+ by other amounts, and a joint turning or sliding the other way (or about another axis) -- the same kind of change as
285
+ a unit that changes what a stored number means. Said where the drawing changes and the controller's numbers keep
286
+ their meaning: the joint now carries another part. A previous release whose list cannot be read is said, never
287
+ refused: it was released by a kernel that did not measure it.
288
+ */
289
+ function jointChanges(before, after, wasState, nowState, push) {
290
+ if (!(before.joints ?? []).some(j => j.type !== 'fixed'))
291
+ return;
292
+ const was = listOf(before);
293
+ if (typeof was === 'string') {
294
+ push({ code: 'joint-list-unread', blocking: false, values: { reason: was }, detail: `the previous release's joint list cannot be read: ${was}` });
295
+ return;
296
+ }
297
+ /* The new release's list is measured by the release itself; a refusal there refuses the release. */
298
+ const now = figureJointsOf(after);
299
+ const wasDriven = drivenBy(was);
300
+ const nowDriven = drivenBy(now);
301
+ for (const [input, joints] of wasDriven) {
302
+ const a = wasState.get(input), b = nowState.get(input);
303
+ /* Gone or given another unit: the state inputs' codes said it. */
304
+ if (!a || !b || a.unit !== b.unit)
305
+ continue;
306
+ const is = nowDriven.get(input) ?? [];
307
+ if (is.join(', ') !== joints.join(', '))
308
+ push({
309
+ code: 'state-input-joints-changed',
310
+ blocking: true,
311
+ subject: input,
312
+ values: { id: input, before: joints.join(', '), after: is.join(', ') },
313
+ detail: `state input ${input} moved ${joints.join(', ')}; it now moves ${is.join(', ') || 'nothing'}`
314
+ });
315
+ }
316
+ const nowById = new Map(now.joints.map(j => [j.id, j]));
317
+ for (const j of was.joints) {
318
+ const k = nowById.get(j.id);
319
+ if (!j.axis || !k?.axis)
320
+ continue;
321
+ if (j.axis.some((v, i) => Math.abs(v - k.axis[i]) > 1e-6)) {
322
+ const [b, a] = [j.axis.join(' '), k.axis.join(' ')];
323
+ push({ code: 'joint-axis-changed', blocking: true, subject: j.id, values: { joint: j.id, before: b, after: a }, detail: `joint ${j.id} axis changed: ${b} → ${a}` });
324
+ }
325
+ /* The same control now means another physical quantity (a ratio slide that turns, say): a controller's numbers would move the wrong way. */
326
+ if (j.control && k.control && j.control.motionUnit !== k.control.motionUnit)
327
+ push({ code: 'joint-motion-unit-changed', blocking: true, subject: j.id, values: { joint: j.id, before: j.control.motionUnit, after: k.control.motionUnit }, detail: `joint ${j.id} moves in ${k.control.motionUnit}, not ${j.control.motionUnit}` });
328
+ if (j.child !== k.child)
329
+ push({ code: 'joint-child-changed', blocking: false, subject: j.id, values: { joint: j.id, before: j.child, after: k.child }, detail: `joint ${j.id} now moves ${k.child}, not ${j.child}` });
330
+ }
331
+ }
249
332
  //# sourceMappingURL=release-contract.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"release-contract.js","sourceRoot":"","sources":["../src/release-contract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"release-contract.js","sourceRoot":"","sources":["../src/release-contract.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import type { FigureAsset } from './asset-types.ts';
2
+ import { type FigureJointList } from './joint-list.ts';
2
3
  type Axis = 'x' | 'y' | 'z';
3
4
  /**
4
5
  * How "stretching is the same" is measured, recorded with every answer so a reader knows what was asked: the gate's
@@ -31,6 +32,8 @@ export interface FigureReleaseMetrics {
31
32
  mm: number;
32
33
  }>;
33
34
  };
35
+ /** The joint list, when something moves. */
36
+ joints?: FigureJointList;
34
37
  }
35
38
  /**
36
39
  * Whether the origin is at the middle of the declared room across the mounting plane, within `SKIN`. Undefined when no
@@ -1 +1 @@
1
- {"version":3,"file":"release-metrics.d.ts","sourceRoot":"","sources":["../src/release-metrics.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAQnD,KAAK,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAA;AAG3B;;;;GAIG;AACH,eAAO,MAAM,mBAAmB;;;;EAAwF,CAAA;AAExH,MAAM,WAAW,oBAAoB;IACnC,8CAA8C;IAC9C,SAAS,CAAC,EAAE;QAAE,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;IACtF,wEAAwE;IACxE,MAAM,CAAC,EAAE;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,MAAM,EAAE,CAAC;QAAC,KAAK,EAAE,OAAO,mBAAmB,CAAA;KAAE,CAAA;IAClF,qGAAqG;IACrG,MAAM,CAAC,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,GAAG,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,IAAI,CAAC;YAAC,EAAE,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,CAAA;CACtE;AAKD;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,WAAW,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAiBxF;AAUD,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,WAAW,GAAG,oBAAoB,CA8C/E"}
1
+ {"version":3,"file":"release-metrics.d.ts","sourceRoot":"","sources":["../src/release-metrics.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAOnD,OAAO,EAAkB,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAEtE,KAAK,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAA;AAG3B;;;;GAIG;AACH,eAAO,MAAM,mBAAmB;;;;EAAwF,CAAA;AAExH,MAAM,WAAW,oBAAoB;IACnC,8CAA8C;IAC9C,SAAS,CAAC,EAAE;QAAE,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;IACtF,wEAAwE;IACxE,MAAM,CAAC,EAAE;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,MAAM,EAAE,CAAC;QAAC,KAAK,EAAE,OAAO,mBAAmB,CAAA;KAAE,CAAA;IAClF,qGAAqG;IACrG,MAAM,CAAC,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,GAAG,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,IAAI,CAAC;YAAC,EAAE,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,CAAA;IACrE,4CAA4C;IAC5C,MAAM,CAAC,EAAE,eAAe,CAAA;CACzB;AAcD;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,WAAW,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAiBxF;AAUD,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,WAAW,GAAG,oBAAoB,CAgD/E"}
@@ -4,6 +4,7 @@ import { RESIZE_FACTOR, RESIZE_WAYS, figureWorldBoxesOf, figureWritersOf } from
4
4
  import { SKIN } from "./words.js";
5
5
  import { figurePlacementOf } from "./asset.js";
6
6
  import { compileFigureGraph } from "./graph.js";
7
+ import { figureJointsOf } from "./joint-list.js";
7
8
  const AXES = ['x', 'y', 'z'];
8
9
  /**
9
10
  * How "stretching is the same" is measured, recorded with every answer so a reader knows what was asked: the gate's
@@ -11,6 +12,14 @@ const AXES = ['x', 'y', 'z'];
11
12
  * extent off by at most `toleranceMm` plus a millionth of its size, and the same number of triangles.
12
13
  */
13
14
  export const FIGURE_LINEAR_PROBE = Object.freeze({ factor: RESIZE_FACTOR, ways: RESIZE_WAYS.length, toleranceMm: SKIN });
15
+ /**
16
+ * The joint list when any joint moves, or when a state input moves a part outside every joint (`unlisted`): a list
17
+ * left out would read as a figure that does not move. Refused, not left out, when one cannot be read.
18
+ */
19
+ function movingJointsOf(asset) {
20
+ const list = figureJointsOf(asset);
21
+ return list.joints.some(j => j.type !== 'fixed') || list.unlisted.length ? list : undefined;
22
+ }
14
23
  /** The axes across the plane a placement mounts on: a floor or a ceiling X and Z, a wall X and Y, the centre all three. */
15
24
  const ACROSS = { floor: ['x', 'z'], ceiling: ['x', 'z'], wall: ['x', 'y'], center: ['x', 'y', 'z'] };
16
25
  /**
@@ -41,10 +50,11 @@ const sizeInputsOf = (asset) => Object.fromEntries(AXES.flatMap(axis => {
41
50
  }));
42
51
  export function figureReleaseMetricsOf(asset) {
43
52
  const origin = figureOriginCentredOf(asset);
53
+ const joints = movingJointsOf(asset);
44
54
  const sizing = sizeInputsOf(asset);
45
55
  const axes = AXES.filter(axis => sizing[axis]);
46
56
  if (!axes.length)
47
- return origin ? { origin } : {};
57
+ return { ...(origin ? { origin } : {}), ...(joints ? { joints } : {}) };
48
58
  const largest = { ...asset.designInputs };
49
59
  for (const axis of axes)
50
60
  largest[sizing[axis].id] = sizing[axis].max;
@@ -85,7 +95,8 @@ export function figureReleaseMetricsOf(asset) {
85
95
  return {
86
96
  atLargest: { size: Object.fromEntries(axes.map(axis => [axis, sizing[axis].max])), triangles: cost.triangles, groups: cost.groups },
87
97
  linear: { scalable: off.size === 0, parts: [...off].sort(), probe: FIGURE_LINEAR_PROBE },
88
- ...(origin ? { origin } : {})
98
+ ...(origin ? { origin } : {}),
99
+ ...(joints ? { joints } : {})
89
100
  };
90
101
  }
91
102
  //# sourceMappingURL=release-metrics.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"release-metrics.js","sourceRoot":"","sources":["../src/release-metrics.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"release-metrics.js","sourceRoot":"","sources":["../src/release-metrics.ts"],"names":[],"mappings":"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"}
@@ -16,10 +16,24 @@ export interface FigureMergedGroup {
16
16
  /** The bodies merged, in drawing order: the index ranges of the merged mesh follow this order. */
17
17
  ids: string[];
18
18
  }
19
+ /**
20
+ * Moving bodies carried by one pose drawn as one mesh: baked in the first body's frame, the mesh moved by that body's pose
21
+ * (ADR-0111). Their poses relative to one another never change: the kernel proved it from the graph.
22
+ */
23
+ export interface FigureCarriedGroup {
24
+ /** The carrier and the render state they share; a renderer keeps the mesh by it. */
25
+ key: string;
26
+ /** The value that carries them: every body here is that pose composed with a pose no state input reaches. */
27
+ carrier: string;
28
+ /** The bodies, in drawing order; the first is the one whose pose moves the mesh. */
29
+ ids: string[];
30
+ }
19
31
  export interface FigureRenderPlan {
20
32
  batches: FigureRenderBatch[];
21
33
  /** Still bodies drawn together, when the caller said which are still; empty otherwise. */
22
34
  merged: FigureMergedGroup[];
35
+ /** Moving bodies carried by one pose, drawn together, when the caller said what carries them; empty otherwise. */
36
+ carried: FigureCarriedGroup[];
23
37
  /** Bodies drawn one by one: a part not in a row, or a copy that could not join a batch. */
24
38
  alone: string[];
25
39
  /** The members whose copies are drawn one by one, and why. */
@@ -36,14 +50,19 @@ export declare function figureStillBodiesOf(asset: FigureAsset, geometry: readon
36
50
  */
37
51
  export declare function figureStillJudgeOf(asset: FigureAsset, dependence?: Record<string, string[]>): (geometry: readonly FigureAssetGeometry[]) => Set<string>;
38
52
  export declare function figureBodyMovesOf(asset: FigureAsset, dependence?: Record<string, string[]>): (body: FigureAssetGeometry) => boolean;
53
+ export declare function figureCarrierJudgeOf(asset: FigureAsset, dependence?: Record<string, string[]>): (geometry: readonly FigureAssetGeometry[]) => Map<string, string>;
39
54
  /**
40
55
  * How the renderer draws these bodies of this asset: row copies batched, still parts merged by look (ADR-0109). The one
41
56
  * plan the grade, the cost and the release metrics count draws by.
57
+ *
58
+ * Carried groups (ADR-0111) are not counted yet: the renderer does not draw them as one until things-scene does, and the
59
+ * grade counts what the renderer draws. 0.3.0 counted them early; this puts the count back until the renderer ships.
42
60
  */
43
61
  export declare function figureDrawPlanOf(asset: FigureAsset, drawn: readonly FigureAssetGeometry[]): FigureRenderPlan;
44
- /** The draws a plan makes: a batch, a merged group and a body drawn alone are one each. */
62
+ /** The draws a plan makes: a batch, a merged group, a carried group and a body drawn alone are one each. */
45
63
  export declare const figureDrawsOf: (plan: FigureRenderPlan) => number;
46
64
  export declare function figureRenderBatchesOf(geometry: readonly FigureAssetGeometry[], options?: {
47
65
  still?: ReadonlySet<string>;
66
+ carried?: ReadonlyMap<string, string>;
48
67
  }): FigureRenderPlan;
49
68
  //# sourceMappingURL=render-batches.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"render-batches.d.ts","sourceRoot":"","sources":["../src/render-batches.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAKxE,MAAM,WAAW,iBAAiB;IAChC,qGAAqG;IACrG,GAAG,EAAE,MAAM,CAAA;IACX,yEAAyE;IACzE,MAAM,EAAE,MAAM,CAAA;IACd,wGAAwG;IACxG,GAAG,EAAE,MAAM,EAAE,CAAA;CACd;AAED,qDAAqD;AACrD,MAAM,MAAM,qBAAqB,GAAG,UAAU,GAAG,eAAe,CAAA;AAEhE,uHAAuH;AACvH,MAAM,WAAW,iBAAiB;IAChC,kFAAkF;IAClF,GAAG,EAAE,MAAM,CAAA;IACX,kGAAkG;IAClG,GAAG,EAAE,MAAM,EAAE,CAAA;CACd;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,iBAAiB,EAAE,CAAA;IAC5B,0FAA0F;IAC1F,MAAM,EAAE,iBAAiB,EAAE,CAAA;IAC3B,2FAA2F;IAC3F,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,8DAA8D;IAC9D,SAAS,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,EAAE,qBAAqB,CAAA;KAAE,CAAC,CAAA;CACnF;AA8BD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,mBAAmB,EAAE,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,CAEpJ;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,WAAW,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,mBAAmB,EAAE,KAAK,GAAG,CAAC,MAAM,CAAC,CAcvJ;AAQD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,WAAW,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,mBAAmB,KAAK,OAAO,CAanI;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,mBAAmB,EAAE,GAAG,gBAAgB,CAE5G;AAED,2FAA2F;AAC3F,eAAO,MAAM,aAAa,GAAI,MAAM,gBAAgB,KAAG,MAAsE,CAAA;AAK7H,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,SAAS,mBAAmB,EAAE,EAAE,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;CAAO,GAAG,gBAAgB,CA2D/I"}
1
+ {"version":3,"file":"render-batches.d.ts","sourceRoot":"","sources":["../src/render-batches.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAKxE,MAAM,WAAW,iBAAiB;IAChC,qGAAqG;IACrG,GAAG,EAAE,MAAM,CAAA;IACX,yEAAyE;IACzE,MAAM,EAAE,MAAM,CAAA;IACd,wGAAwG;IACxG,GAAG,EAAE,MAAM,EAAE,CAAA;CACd;AAED,qDAAqD;AACrD,MAAM,MAAM,qBAAqB,GAAG,UAAU,GAAG,eAAe,CAAA;AAEhE,uHAAuH;AACvH,MAAM,WAAW,iBAAiB;IAChC,kFAAkF;IAClF,GAAG,EAAE,MAAM,CAAA;IACX,kGAAkG;IAClG,GAAG,EAAE,MAAM,EAAE,CAAA;CACd;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,oFAAoF;IACpF,GAAG,EAAE,MAAM,CAAA;IACX,6GAA6G;IAC7G,OAAO,EAAE,MAAM,CAAA;IACf,oFAAoF;IACpF,GAAG,EAAE,MAAM,EAAE,CAAA;CACd;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,iBAAiB,EAAE,CAAA;IAC5B,0FAA0F;IAC1F,MAAM,EAAE,iBAAiB,EAAE,CAAA;IAC3B,kHAAkH;IAClH,OAAO,EAAE,kBAAkB,EAAE,CAAA;IAC7B,2FAA2F;IAC3F,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,8DAA8D;IAC9D,SAAS,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,EAAE,qBAAqB,CAAA;KAAE,CAAC,CAAA;CACnF;AA8BD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,mBAAmB,EAAE,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,CAEpJ;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,WAAW,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,mBAAmB,EAAE,KAAK,GAAG,CAAC,MAAM,CAAC,CAcvJ;AAQD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,WAAW,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,mBAAmB,KAAK,OAAO,CAanI;AAQD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,WAAW,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,mBAAmB,EAAE,KAAK,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CA4BjK;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,mBAAmB,EAAE,GAAG,gBAAgB,CAE5G;AAED,4GAA4G;AAC5G,eAAO,MAAM,aAAa,GAAI,MAAM,gBAAgB,KAAG,MAA4F,CAAA;AAKnJ,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,SAAS,mBAAmB,EAAE,EACxC,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAO,GACnF,gBAAgB,CAiFlB"}
@@ -67,15 +67,58 @@ export function figureBodyMovesOf(asset, dependence) {
67
67
  return key ? nodeMoves(writers.get(key)) : false;
68
68
  };
69
69
  }
70
+ /*
71
+ What carries a moving body (ADR-0111). A body drawn alone is placed by \`place@1(shape, pose)\`; its pose is a chain of
72
+ \`compose@1(a, b)\`. While \`b\` depends on no state input -- transitively, by the compiled \`dependence\`, so a joint that
73
+ follows another by mimic stops the walk -- the body keeps its pose relative to \`a\`, and the walk goes up to \`a\`. Where
74
+ it stops is the carrier: bodies with one carrier move as one. Proven from the graph, never sampled.
75
+ */
76
+ export function figureCarrierJudgeOf(asset, dependence) {
77
+ const depends = dependence ?? compileFigureDocument(asset.document).dependence;
78
+ const nodes = new Map(asset.document.model.nodes.map(node => [node.id, node]));
79
+ const writers = new Map();
80
+ for (const node of asset.document.model.nodes)
81
+ for (const ref of Object.values(node.outputs))
82
+ writers.set(ref, node);
83
+ const flagged = new Set(asset.appearance.filter(look => look.visibility !== undefined).map(look => look.target));
84
+ const moving = (ref) => typeof ref === 'string' && (depends[ref]?.length ?? 0) > 0;
85
+ const carriers = new Map();
86
+ const carrierOf = (ref) => {
87
+ const known = carriers.get(ref);
88
+ if (known !== undefined)
89
+ return known;
90
+ const node = writers.get(ref);
91
+ const found = node?.op === 'compose@1' && typeof node.args[0] === 'string' && !moving(node.args[1]) ? carrierOf(node.args[0]) : ref;
92
+ carriers.set(ref, found);
93
+ return found;
94
+ };
95
+ return geometry => {
96
+ const carried = new Map();
97
+ for (const body of geometry) {
98
+ if (!('pose' in body) || body.key || flagged.has(body.id))
99
+ continue;
100
+ const place = nodes.get(body.id);
101
+ const pose = place?.op === 'place@1' ? place.args[1] : undefined;
102
+ /* A shape a state input reaches is not baked: it would be drawn as it was when the mesh was made. */
103
+ if (typeof pose !== 'string' || !moving(pose) || moving(place.args[0]))
104
+ continue;
105
+ carried.set(body.id, carrierOf(pose));
106
+ }
107
+ return carried;
108
+ };
109
+ }
70
110
  /**
71
111
  * How the renderer draws these bodies of this asset: row copies batched, still parts merged by look (ADR-0109). The one
72
112
  * plan the grade, the cost and the release metrics count draws by.
113
+ *
114
+ * Carried groups (ADR-0111) are not counted yet: the renderer does not draw them as one until things-scene does, and the
115
+ * grade counts what the renderer draws. 0.3.0 counted them early; this puts the count back until the renderer ships.
73
116
  */
74
117
  export function figureDrawPlanOf(asset, drawn) {
75
118
  return figureRenderBatchesOf(drawn, { still: figureStillBodiesOf(asset, drawn) });
76
119
  }
77
- /** The draws a plan makes: a batch, a merged group and a body drawn alone are one each. */
78
- export const figureDrawsOf = (plan) => plan.batches.length + plan.merged.length + plan.alone.length;
120
+ /** The draws a plan makes: a batch, a merged group, a carried group and a body drawn alone are one each. */
121
+ export const figureDrawsOf = (plan) => plan.batches.length + plan.merged.length + plan.carried.length + plan.alone.length;
79
122
  /** What must be equal for still bodies to be one mesh: the look as drawn, and whether it is shown. */
80
123
  const mergeKeyOf = (body) => `${figureMaterialKeyOf(body)}|${body.visible !== false ? 'shown' : 'hidden'}`;
81
124
  export function figureRenderBatchesOf(geometry, options = {}) {
@@ -143,6 +186,33 @@ export function figureRenderBatchesOf(geometry, options = {}) {
143
186
  if (taken.size)
144
187
  alone.splice(0, alone.length, ...alone.filter(id => !taken.has(id)));
145
188
  }
146
- return { batches, merged, alone, unbatched };
189
+ /* Moving bodies drawn alone, of one carrier and one render state, merge the same way: two or more, never transparent. */
190
+ const carried = [];
191
+ if (options.carried?.size) {
192
+ const byId = new Map(geometry.map(body => [body.id, body]));
193
+ const groups = new Map();
194
+ for (const id of alone) {
195
+ const body = byId.get(id);
196
+ const carrier = options.carried.get(id);
197
+ if (!body || carrier === undefined || options.still?.has(id) || body.material.transparent)
198
+ continue;
199
+ const key = `${carrier}|${mergeKeyOf(body)}`;
200
+ const same = groups.get(key);
201
+ if (same)
202
+ same.ids.push(id);
203
+ else
204
+ groups.set(key, { carrier, ids: [id] });
205
+ }
206
+ const taken = new Set();
207
+ for (const [key, { carrier, ids }] of groups) {
208
+ if (ids.length < 2)
209
+ continue;
210
+ carried.push({ key, carrier, ids });
211
+ ids.forEach(id => taken.add(id));
212
+ }
213
+ if (taken.size)
214
+ alone.splice(0, alone.length, ...alone.filter(id => !taken.has(id)));
215
+ }
216
+ return { batches, merged, carried, alone, unbatched };
147
217
  }
148
218
  //# sourceMappingURL=render-batches.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"render-batches.js","sourceRoot":"","sources":["../src/render-batches.ts"],"names":[],"mappings":"AAAA;;GAEG;AAYH,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAkC3C,MAAM,WAAW,GAAG,CAAC,IAA+F,EAAU,EAAE,CAC9H,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU;IACxD,+HAA+H;IAE7H,IAAI,CAAC,KAKN,CAAC,SAAS;QACT,CAAC,CAAC;YACG,IAAI,CAAC,KAAiB,CAAC,SAAS,CAAC,IAAI;YACrC,IAAI,CAAC,KAAiB,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI;YAC7C,IAAI,CAAC,KAAiB,CAAC,MAAM,IAAI,IAAI;SACvC;QACH,CAAC,CAAE,IAAI,CAAC,KAAiB,CAAC,UAAU;YAClC,CAAC,CAAC,CAAE,IAAI,CAAC,KAAiB,CAAC,UAAU,CAAC,IAAI,EAAG,IAAI,CAAC,KAAiB,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC;YAC5F,CAAC,CAAE,IAAI,CAAC,KAAiB,CAAC,IAAI;gBAC5B,CAAC,CAAC,CAAE,IAAI,CAAC,KAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC;gBAC7C,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI,EAAE,mBAAmB,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAA;AAE5F;;;;EAIE;AACF,MAAM,UAAU,mBAAmB,CAAC,KAAkB,EAAE,QAAwC,EAAE,UAAqC;IACrI,OAAO,kBAAkB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,CAAA;AACxD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAkB,EAAE,UAAqC;IAC1F,MAAM,KAAK,GAAG,iBAAiB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAA;IAClD,MAAM,OAAO,GAAG,eAAe,CAAC,KAAK,CAAC,CAAA;IACtC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;IAChH,OAAO,QAAQ,CAAC,EAAE;QAChB,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAA;QAC/B,KAAK,MAAM,IAAI,IAAI,QAAiE,EAAE,CAAC;YACrF,IAAI,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC;gBAAE,SAAQ;YAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAA;YACzD,IAAI,MAAM,KAAK,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;gBAAE,SAAQ;YACzD,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACpB,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC,CAAA;AACH,CAAC;AAED;;;;;EAKE;AACF,MAAM,UAAU,iBAAiB,CAAC,KAAkB,EAAE,UAAqC;IACzF,MAAM,OAAO,GAAG,UAAU,IAAI,qBAAqB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAA;IAC9E,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAA;IAC9E,MAAM,OAAO,GAAG,eAAe,CAAC,KAAK,CAAC,CAAA;IACtC,MAAM,SAAS,GAAG,CAAC,EAAsB,EAAE,EAAE;QAC3C,MAAM,IAAI,GAAG,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACzD,OAAO,CAAC,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;IAC1F,CAAC,CAAA;IACD,OAAO,IAAI,CAAC,EAAE;QACZ,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,IAAgE,CAAA;QACtF,IAAI,SAAS,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAE,IAAI,CAAC,CAAC,CAAY,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;YAAE,OAAO,IAAI,CAAA;QACzF,OAAO,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;IAClD,CAAC,CAAA;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAkB,EAAE,KAAqC;IACxF,OAAO,qBAAqB,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,mBAAmB,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,CAAA;AACnF,CAAC;AAED,2FAA2F;AAC3F,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,IAAsB,EAAU,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAA;AAE7H,sGAAsG;AACtG,MAAM,UAAU,GAAG,CAAC,IAAyB,EAAU,EAAE,CAAC,GAAG,mBAAmB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAA;AAEvI,MAAM,UAAU,qBAAqB,CAAC,QAAwC,EAAE,UAA2C,EAAE;IAC3H,MAAM,KAAK,GAAa,EAAE,CAAA;IAE1B,MAAM,OAAO,GAAG,IAAI,GAAG,EAAoB,CAAA;IAC3C,KAAK,MAAM,IAAI,IAAI,QAA6B,EAAE,CAAC;QACjD,IAAI,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC;YAAE,SAAQ;QAC/B,MAAM,GAAG,GAAG,KAAK,IAAI,IAAI,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAA;QAChF,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YACnB,SAAQ;QACV,CAAC;QACD,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAA;QACnC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACf,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;IACxB,CAAC;IACD,MAAM,OAAO,GAAwB,EAAE,CAAA;IACvC,MAAM,SAAS,GAAkC,EAAE,CAAA;IACnD,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACvC,MAAM,WAAW,GAAG,IAAI,GAAG,EAAoB,CAAA;QAC/C,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;YAC1B,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC,CAAA;YACnC,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;YACvC,IAAI,IAAI;gBAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;;gBACvB,WAAW,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;QAC5C,CAAC;QACD,KAAK,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,IAAI,WAAW,EAAE,CAAC;YAC3C,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACnB,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,MAAM,IAAI,SAAS,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAA;gBAC5D,SAAQ;YACV,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAA;YAClB,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAA;QAC7F,CAAC;IACH,CAAC;IACD;;;MAGE;IACF,MAAM,MAAM,GAAwB,EAAE,CAAA;IACtC,IAAI,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAA;QAC3D,MAAM,MAAM,GAAG,IAAI,GAAG,EAAoB,CAAA;QAC1C,KAAK,MAAM,EAAE,IAAI,KAAK,EAAE,CAAC;YACvB,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YACzB,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW;gBAAE,SAAQ;YAC1E,MAAM,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;YAC5B,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YAC5B,IAAI,IAAI;gBAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;;gBAClB,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;QAC5B,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAA;QAC/B,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,EAAE,CAAC;YAChC,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC;gBAAE,SAAQ;YAC5B,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAA;YACzB,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;QAClC,CAAC;QACD,IAAI,KAAK,CAAC,IAAI;YAAE,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IACtF,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,CAAA;AAC9C,CAAC"}
1
+ {"version":3,"file":"render-batches.js","sourceRoot":"","sources":["../src/render-batches.ts"],"names":[],"mappings":"AAAA;;GAEG;AAYH,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAiD3C,MAAM,WAAW,GAAG,CAAC,IAA+F,EAAU,EAAE,CAC9H,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU;IACxD,+HAA+H;IAE7H,IAAI,CAAC,KAKN,CAAC,SAAS;QACT,CAAC,CAAC;YACG,IAAI,CAAC,KAAiB,CAAC,SAAS,CAAC,IAAI;YACrC,IAAI,CAAC,KAAiB,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI;YAC7C,IAAI,CAAC,KAAiB,CAAC,MAAM,IAAI,IAAI;SACvC;QACH,CAAC,CAAE,IAAI,CAAC,KAAiB,CAAC,UAAU;YAClC,CAAC,CAAC,CAAE,IAAI,CAAC,KAAiB,CAAC,UAAU,CAAC,IAAI,EAAG,IAAI,CAAC,KAAiB,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC;YAC5F,CAAC,CAAE,IAAI,CAAC,KAAiB,CAAC,IAAI;gBAC5B,CAAC,CAAC,CAAE,IAAI,CAAC,KAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC;gBAC7C,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI,EAAE,mBAAmB,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAA;AAE5F;;;;EAIE;AACF,MAAM,UAAU,mBAAmB,CAAC,KAAkB,EAAE,QAAwC,EAAE,UAAqC;IACrI,OAAO,kBAAkB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,CAAA;AACxD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAkB,EAAE,UAAqC;IAC1F,MAAM,KAAK,GAAG,iBAAiB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAA;IAClD,MAAM,OAAO,GAAG,eAAe,CAAC,KAAK,CAAC,CAAA;IACtC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;IAChH,OAAO,QAAQ,CAAC,EAAE;QAChB,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAA;QAC/B,KAAK,MAAM,IAAI,IAAI,QAAiE,EAAE,CAAC;YACrF,IAAI,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC;gBAAE,SAAQ;YAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAA;YACzD,IAAI,MAAM,KAAK,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;gBAAE,SAAQ;YACzD,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACpB,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC,CAAA;AACH,CAAC;AAED;;;;;EAKE;AACF,MAAM,UAAU,iBAAiB,CAAC,KAAkB,EAAE,UAAqC;IACzF,MAAM,OAAO,GAAG,UAAU,IAAI,qBAAqB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAA;IAC9E,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAA;IAC9E,MAAM,OAAO,GAAG,eAAe,CAAC,KAAK,CAAC,CAAA;IACtC,MAAM,SAAS,GAAG,CAAC,EAAsB,EAAE,EAAE;QAC3C,MAAM,IAAI,GAAG,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACzD,OAAO,CAAC,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;IAC1F,CAAC,CAAA;IACD,OAAO,IAAI,CAAC,EAAE;QACZ,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,IAAgE,CAAA;QACtF,IAAI,SAAS,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAE,IAAI,CAAC,CAAC,CAAY,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;YAAE,OAAO,IAAI,CAAA;QACzF,OAAO,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;IAClD,CAAC,CAAA;AACH,CAAC;AAED;;;;;EAKE;AACF,MAAM,UAAU,oBAAoB,CAAC,KAAkB,EAAE,UAAqC;IAC5F,MAAM,OAAO,GAAG,UAAU,IAAI,qBAAqB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAA;IAC9E,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAA;IAC9E,MAAM,OAAO,GAAG,IAAI,GAAG,EAAuD,CAAA;IAC9E,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK;QAAE,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;YAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;IACpH,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;IAChH,MAAM,MAAM,GAAG,CAAC,GAAY,EAAE,EAAE,CAAC,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAA;IAC3F,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAA;IAC1C,MAAM,SAAS,GAAG,CAAC,GAAW,EAAU,EAAE;QACxC,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAC/B,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,KAAK,CAAA;QACrC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAC7B,MAAM,KAAK,GAAG,IAAI,EAAE,EAAE,KAAK,WAAW,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA;QACnI,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QACxB,OAAO,KAAK,CAAA;IACd,CAAC,CAAA;IACD,OAAO,QAAQ,CAAC,EAAE;QAChB,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAA;QACzC,KAAK,MAAM,IAAI,IAAI,QAAiE,EAAE,CAAC;YACrF,IAAI,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAAE,SAAQ;YACnE,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YAChC,MAAM,IAAI,GAAG,KAAK,EAAE,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;YAChE,qGAAqG;YACrG,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,KAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAAE,SAAQ;YACjF,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAA;QACvC,CAAC;QACD,OAAO,OAAO,CAAA;IAChB,CAAC,CAAA;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAkB,EAAE,KAAqC;IACxF,OAAO,qBAAqB,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,mBAAmB,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,CAAA;AACnF,CAAC;AAED,4GAA4G;AAC5G,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,IAAsB,EAAU,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAA;AAEnJ,sGAAsG;AACtG,MAAM,UAAU,GAAG,CAAC,IAAyB,EAAU,EAAE,CAAC,GAAG,mBAAmB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAA;AAEvI,MAAM,UAAU,qBAAqB,CACnC,QAAwC,EACxC,UAAkF,EAAE;IAEpF,MAAM,KAAK,GAAa,EAAE,CAAA;IAE1B,MAAM,OAAO,GAAG,IAAI,GAAG,EAAoB,CAAA;IAC3C,KAAK,MAAM,IAAI,IAAI,QAA6B,EAAE,CAAC;QACjD,IAAI,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC;YAAE,SAAQ;QAC/B,MAAM,GAAG,GAAG,KAAK,IAAI,IAAI,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAA;QAChF,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YACnB,SAAQ;QACV,CAAC;QACD,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAA;QACnC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACf,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;IACxB,CAAC;IACD,MAAM,OAAO,GAAwB,EAAE,CAAA;IACvC,MAAM,SAAS,GAAkC,EAAE,CAAA;IACnD,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACvC,MAAM,WAAW,GAAG,IAAI,GAAG,EAAoB,CAAA;QAC/C,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;YAC1B,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC,CAAA;YACnC,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;YACvC,IAAI,IAAI;gBAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;;gBACvB,WAAW,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;QAC5C,CAAC;QACD,KAAK,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,IAAI,WAAW,EAAE,CAAC;YAC3C,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACnB,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,MAAM,IAAI,SAAS,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAA;gBAC5D,SAAQ;YACV,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAA;YAClB,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAA;QAC7F,CAAC;IACH,CAAC;IACD;;;MAGE;IACF,MAAM,MAAM,GAAwB,EAAE,CAAA;IACtC,IAAI,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAA;QAC3D,MAAM,MAAM,GAAG,IAAI,GAAG,EAAoB,CAAA;QAC1C,KAAK,MAAM,EAAE,IAAI,KAAK,EAAE,CAAC;YACvB,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YACzB,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW;gBAAE,SAAQ;YAC1E,MAAM,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;YAC5B,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YAC5B,IAAI,IAAI;gBAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;;gBAClB,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;QAC5B,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAA;QAC/B,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,EAAE,CAAC;YAChC,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC;gBAAE,SAAQ;YAC5B,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAA;YACzB,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;QAClC,CAAC;QACD,IAAI,KAAK,CAAC,IAAI;YAAE,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IACtF,CAAC;IACD,yHAAyH;IACzH,MAAM,OAAO,GAAyB,EAAE,CAAA;IACxC,IAAI,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAA;QAC3D,MAAM,MAAM,GAAG,IAAI,GAAG,EAA8C,CAAA;QACpE,KAAK,MAAM,EAAE,IAAI,KAAK,EAAE,CAAC;YACvB,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YACzB,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YACvC,IAAI,CAAC,IAAI,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW;gBAAE,SAAQ;YACnG,MAAM,GAAG,GAAG,GAAG,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAA;YAC5C,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YAC5B,IAAI,IAAI;gBAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;;gBACtB,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;QAC9C,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAA;QAC/B,KAAK,MAAM,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,MAAM,EAAE,CAAC;YAC7C,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC;gBAAE,SAAQ;YAC5B,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAA;YACnC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;QAClC,CAAC;QACD,IAAI,KAAK,CAAC,IAAI;YAAE,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IACtF,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAA;AACvD,CAAC"}