human2ai 0.1.2 → 0.1.4

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 (181) hide show
  1. package/README.en.md +36 -4
  2. package/README.md +44 -4
  3. package/dist/cli/main.js +47 -13
  4. package/dist/cli/main.js.map +1 -1
  5. package/dist/database/style-library-repository.d.ts +14 -1
  6. package/dist/database/style-library-repository.js +59 -0
  7. package/dist/database/style-library-repository.js.map +1 -1
  8. package/dist/domain/composition/analysis.d.ts +3 -0
  9. package/dist/domain/composition/analysis.js +5 -0
  10. package/dist/domain/composition/analysis.js.map +1 -1
  11. package/dist/domain/composition/draft.d.ts +2 -0
  12. package/dist/domain/composition/draft.js +126 -5
  13. package/dist/domain/composition/draft.js.map +1 -1
  14. package/dist/domain/composition/frame.d.ts +1 -0
  15. package/dist/domain/composition/frame.js +6 -0
  16. package/dist/domain/composition/frame.js.map +1 -1
  17. package/dist/domain/composition/geometry.d.ts +5 -1
  18. package/dist/domain/composition/geometry.js +40 -2
  19. package/dist/domain/composition/geometry.js.map +1 -1
  20. package/dist/domain/composition/index.d.ts +6 -3
  21. package/dist/domain/composition/index.js +6 -3
  22. package/dist/domain/composition/index.js.map +1 -1
  23. package/dist/domain/composition/planning-intersections.d.ts +20 -0
  24. package/dist/domain/composition/planning-intersections.js +119 -0
  25. package/dist/domain/composition/planning-intersections.js.map +1 -0
  26. package/dist/domain/composition/planning.d.ts +25 -0
  27. package/dist/domain/composition/planning.js +152 -0
  28. package/dist/domain/composition/planning.js.map +1 -0
  29. package/dist/domain/composition/refinement/engine.js +1 -0
  30. package/dist/domain/composition/refinement/engine.js.map +1 -1
  31. package/dist/domain/composition/render.js +14 -1
  32. package/dist/domain/composition/render.js.map +1 -1
  33. package/dist/domain/composition/states.js +6 -3
  34. package/dist/domain/composition/states.js.map +1 -1
  35. package/dist/domain/composition/types.d.ts +49 -1
  36. package/dist/domain/session/capabilities.js +1 -0
  37. package/dist/domain/session/capabilities.js.map +1 -1
  38. package/dist/domain/spatial/camera-box-sheet.d.ts +15 -0
  39. package/dist/domain/spatial/camera-box-sheet.js +24 -0
  40. package/dist/domain/spatial/camera-box-sheet.js.map +1 -0
  41. package/dist/domain/spatial/camera-box.d.ts +1 -1
  42. package/dist/domain/spatial/camera-box.js +6 -2
  43. package/dist/domain/spatial/camera-box.js.map +1 -1
  44. package/dist/domain/spatial/camera-render-key.d.ts +7 -0
  45. package/dist/domain/spatial/camera-render-key.js +63 -0
  46. package/dist/domain/spatial/camera-render-key.js.map +1 -0
  47. package/dist/domain/spatial/index.d.ts +1 -0
  48. package/dist/domain/spatial/index.js +1 -0
  49. package/dist/domain/spatial/index.js.map +1 -1
  50. package/dist/domain/spatial/lighting.js +3 -2
  51. package/dist/domain/spatial/lighting.js.map +1 -1
  52. package/dist/domain/spatial/model.d.ts +2 -0
  53. package/dist/domain/spatial/model.js +82 -27
  54. package/dist/domain/spatial/model.js.map +1 -1
  55. package/dist/domain/spatial/preview.d.ts +4 -0
  56. package/dist/domain/spatial/preview.js +23 -0
  57. package/dist/domain/spatial/preview.js.map +1 -0
  58. package/dist/domain/spatial/reference-lines.d.ts +12 -3
  59. package/dist/domain/spatial/reference-lines.js +37 -16
  60. package/dist/domain/spatial/reference-lines.js.map +1 -1
  61. package/dist/domain/spatial/render-inputs.d.ts +3 -0
  62. package/dist/domain/spatial/render-inputs.js +14 -0
  63. package/dist/domain/spatial/render-inputs.js.map +1 -0
  64. package/dist/domain/spatial/scene-cache.d.ts +13 -1
  65. package/dist/domain/spatial/scene-cache.js +90 -11
  66. package/dist/domain/spatial/scene-cache.js.map +1 -1
  67. package/dist/domain/spatial/scene-update.d.ts +6 -0
  68. package/dist/domain/spatial/scene-update.js +52 -0
  69. package/dist/domain/spatial/scene-update.js.map +1 -0
  70. package/dist/domain/spatial/scene.d.ts +3 -1
  71. package/dist/domain/spatial/scene.js +78 -20
  72. package/dist/domain/spatial/scene.js.map +1 -1
  73. package/dist/domain/spatial/types.d.ts +8 -0
  74. package/dist/domain/spatial/types.js.map +1 -1
  75. package/dist/domain/style/model-input.d.ts +3 -0
  76. package/dist/domain/style/model-input.js +36 -0
  77. package/dist/domain/style/model-input.js.map +1 -0
  78. package/dist/domain/style/types.d.ts +8 -1
  79. package/dist/domain/style/types.js +1 -1
  80. package/dist/domain/style/types.js.map +1 -1
  81. package/dist/domain/ui-sketch/clipboard.d.ts +12 -0
  82. package/dist/domain/ui-sketch/clipboard.js +55 -0
  83. package/dist/domain/ui-sketch/clipboard.js.map +1 -0
  84. package/dist/domain/ui-sketch/index.d.ts +1 -0
  85. package/dist/domain/ui-sketch/index.js +1 -0
  86. package/dist/domain/ui-sketch/index.js.map +1 -1
  87. package/dist/server/routes/spatial-sessions.js +39 -15
  88. package/dist/server/routes/spatial-sessions.js.map +1 -1
  89. package/dist/server/routes/style-library.js +39 -0
  90. package/dist/server/routes/style-library.js.map +1 -1
  91. package/dist/server/spatial-render-service.d.ts +21 -0
  92. package/dist/server/spatial-render-service.js +67 -0
  93. package/dist/server/spatial-render-service.js.map +1 -0
  94. package/dist/server/spatial-render-worker.d.ts +1 -0
  95. package/dist/server/spatial-render-worker.js +15 -0
  96. package/dist/server/spatial-render-worker.js.map +1 -0
  97. package/dist/server/spatial-render.d.ts +15 -3
  98. package/dist/server/spatial-render.js +47 -14
  99. package/dist/server/spatial-render.js.map +1 -1
  100. package/locales/en/common.json +94 -14
  101. package/migrations/0009_spatial_styles.sql +31 -0
  102. package/migrations/0010_style_preview_models.sql +8 -0
  103. package/package.json +1 -1
  104. package/schemas/composition-draft.schema.json +474 -1
  105. package/schemas/spatial-draft.schema.json +12 -0
  106. package/schemas/spatial-operations.schema.json +12 -0
  107. package/skills/human2ai/SKILL.md +23 -9
  108. package/skills/human2ai/references/composition.md +192 -1
  109. package/skills/human2ai/references/spatial-modeling.md +119 -0
  110. package/skills/human2ai/references/spatial.md +7 -2
  111. package/web/out/404/index.html +1 -1
  112. package/web/out/404.html +1 -1
  113. package/web/out/__next.__PAGE__.txt +7 -5
  114. package/web/out/__next._full.txt +7 -5
  115. package/web/out/__next._tree.txt +4 -2
  116. package/web/out/_next/static/chunks/101.6ef34adad3e9815b.js +1 -0
  117. package/web/out/_next/static/chunks/130-7e9e715a084569bb.js +1 -0
  118. package/web/out/_next/static/chunks/166-96a8c6ae1e9aed59.js +1 -0
  119. package/web/out/_next/static/chunks/218.7b89674409b344b8.js +1 -0
  120. package/web/out/_next/static/chunks/484.92b016222d6749f2.js +1 -0
  121. package/web/out/_next/static/chunks/{381-4a803b79da320e6e.js → 635-611c009924b842be.js} +54 -54
  122. package/web/out/_next/static/chunks/653-6dfb97fec9a2d91b.js +1 -0
  123. package/web/out/_next/static/chunks/678-32d3aa1859450d63.js +1 -0
  124. package/web/out/_next/static/chunks/83607670-fd2f339702a222e4.js +1 -0
  125. package/web/out/_next/static/chunks/app/_not-found/{page-59ce938ad0594022.js → page-b92817fdc4609975.js} +1 -1
  126. package/web/out/_next/static/chunks/app/composition/page-6c12ee8472715448.js +1 -0
  127. package/web/out/_next/static/chunks/app/{layout-6351ae607c4ee18d.js → layout-1dd9196cde94389c.js} +1 -1
  128. package/web/out/_next/static/chunks/app/page-741ecaf9ee8c3c07.js +1 -0
  129. package/web/out/_next/static/chunks/app/spatial/page-5ba0940650df6c7f.js +1 -0
  130. package/web/out/_next/static/chunks/app/styles/page-1ccfc2c5fbc1e646.js +1 -0
  131. package/web/out/_next/static/chunks/app/ui-sketch/page-ef4f2e531583e684.js +1 -0
  132. package/web/out/_next/static/chunks/{c3f2cda1-9e279dab137b7272.js → c3f2cda1-ef85a0897724e46b.js} +1 -1
  133. package/web/out/_next/static/chunks/main-app-cf37a257d91ce62e.js +1 -0
  134. package/web/out/_next/static/chunks/next/dist/client/components/builtin/global-error-33b4f58f02e82215.js +1 -0
  135. package/web/out/_next/static/chunks/webpack-d16ce1f994e98178.js +1 -0
  136. package/web/out/_next/static/css/06743b5635914999.css +5 -0
  137. package/web/out/_next/static/css/0b43ff4a0439c97e.css +1 -0
  138. package/web/out/_next/static/css/1f8501a43042a5a2.css +1 -0
  139. package/web/out/_next/static/css/39e8cace36461a15.css +1 -0
  140. package/web/out/_not-found/__next._full.txt +3 -3
  141. package/web/out/_not-found/__next._not-found.__PAGE__.txt +3 -3
  142. package/web/out/_not-found/__next._tree.txt +1 -1
  143. package/web/out/_not-found/index.html +1 -1
  144. package/web/out/_not-found/index.txt +3 -3
  145. package/web/out/composition/__next._full.txt +6 -5
  146. package/web/out/composition/__next._tree.txt +3 -2
  147. package/web/out/composition/__next.composition.__PAGE__.txt +6 -5
  148. package/web/out/composition/index.html +1 -1
  149. package/web/out/composition/index.txt +6 -5
  150. package/web/out/index.html +1 -1
  151. package/web/out/index.txt +7 -5
  152. package/web/out/spatial/__next._full.txt +6 -5
  153. package/web/out/spatial/__next._tree.txt +3 -2
  154. package/web/out/spatial/__next.spatial.__PAGE__.txt +6 -5
  155. package/web/out/spatial/index.html +1 -1
  156. package/web/out/spatial/index.txt +6 -5
  157. package/web/out/styles/__next._full.txt +6 -5
  158. package/web/out/styles/__next._tree.txt +3 -2
  159. package/web/out/styles/__next.styles.__PAGE__.txt +6 -5
  160. package/web/out/styles/index.html +1 -1
  161. package/web/out/styles/index.txt +6 -5
  162. package/web/out/ui-sketch/__next._full.txt +6 -5
  163. package/web/out/ui-sketch/__next._tree.txt +3 -2
  164. package/web/out/ui-sketch/__next.ui-sketch.__PAGE__.txt +6 -5
  165. package/web/out/ui-sketch/index.html +1 -1
  166. package/web/out/ui-sketch/index.txt +6 -5
  167. package/web/out/_next/static/chunks/130-f2627352fc1e1f49.js +0 -1
  168. package/web/out/_next/static/chunks/678-b0ea409290a64ff4.js +0 -1
  169. package/web/out/_next/static/chunks/728-ce64a38c9e8339e8.js +0 -1
  170. package/web/out/_next/static/chunks/83607670-bc1279370476e59f.js +0 -1
  171. package/web/out/_next/static/chunks/app/composition/page-b0a2f7370b949cf9.js +0 -1
  172. package/web/out/_next/static/chunks/app/page-a6fde4165eb4be1e.js +0 -1
  173. package/web/out/_next/static/chunks/app/spatial/page-2c3df91fd1d7d444.js +0 -1
  174. package/web/out/_next/static/chunks/app/styles/page-54b11f1945d64255.js +0 -1
  175. package/web/out/_next/static/chunks/app/ui-sketch/page-1abcd70a81ac7b30.js +0 -1
  176. package/web/out/_next/static/chunks/main-app-8946bf6a8c0dc843.js +0 -1
  177. package/web/out/_next/static/chunks/next/dist/client/components/builtin/global-error-5ac7248e26f2e308.js +0 -1
  178. package/web/out/_next/static/chunks/webpack-97ae63c0e0b2a512.js +0 -1
  179. package/web/out/_next/static/css/7bfa3a5c92836f5c.css +0 -5
  180. /package/web/out/_next/static/{1To86KpfZhDmNzmTIgEuy → n4UcxqMmr_2CBmSxBp52z}/_buildManifest.js +0 -0
  181. /package/web/out/_next/static/{1To86KpfZhDmNzmTIgEuy → n4UcxqMmr_2CBmSxBp52z}/_ssgManifest.js +0 -0
@@ -0,0 +1,152 @@
1
+ import { normalizeCompositionSymmetryRotation, validateDraft } from "./draft.js";
2
+ import { compositionSymmetryRotations, frameBoundsInCanvas } from "./frame.js";
3
+ export const COMPOSITION_PLAN_TYPES = ["thirds", "golden-section", "symmetry", "golden-spiral", "triangle", "radial"];
4
+ export function addCompositionPlan(input, type) {
5
+ const draft = validateDraft(input);
6
+ const plans = draft.plans ?? [];
7
+ let number = 1;
8
+ while (plans.some((plan) => plan.id === `plan-${number}`))
9
+ number += 1;
10
+ const base = { id: `plan-${number}`, visible: true };
11
+ const plan = type === "triangle"
12
+ ? { ...base, type, x: 0.5, y: 0.5, rotation: 0, width: 0.6, height: 0.6 }
13
+ : type === "symmetry" ? { ...base, type, x: 0.5, y: 0.5, rotation: 90 }
14
+ : type === "golden-spiral" ? { ...base, type, x: 0.618, y: 0.382, rotation: 135, scale: 0.65, mirrored: false }
15
+ : type === "radial" ? { ...base, type, mode: "uniform", x: 0.5, y: 0.5, rotation: 0, rayCount: 8, spread: 360 }
16
+ : { ...base, type, axes: "both" };
17
+ return { draft: validateDraft({ ...draft, plans: [...plans, plan] }), id: plan.id };
18
+ }
19
+ export function replaceCompositionPlan(input, plan) {
20
+ return validateDraft({ ...input, plans: (input.plans ?? []).map((current) => current.id === plan.id ? plan : current) });
21
+ }
22
+ export function removeCompositionPlan(input, id) {
23
+ return validateDraft({ ...input, plans: (input.plans ?? []).filter((plan) => plan.id !== id) });
24
+ }
25
+ export function moveCompositionPlans(input, ids, delta) {
26
+ return validateDraft({ ...input, plans: (input.plans ?? []).map((plan) => ids.includes(plan.id)
27
+ ? transformCompositionPlan(plan, input.frame, delta) : plan) });
28
+ }
29
+ export function compositionRadialAngles(plan) {
30
+ if (plan.mode === "free")
31
+ return [...plan.angles];
32
+ const step = plan.spread / (plan.spread === 360 ? plan.rayCount : plan.rayCount - 1);
33
+ return Array.from({ length: plan.rayCount }, (_, index) => (plan.rotation + index * step) % 360);
34
+ }
35
+ export function setCompositionRadialMode(plan, mode) {
36
+ if (plan.mode === mode)
37
+ return plan;
38
+ const base = { id: plan.id, type: plan.type, visible: plan.visible, x: plan.x, y: plan.y };
39
+ const angles = compositionRadialAngles(plan);
40
+ return mode === "free" ? { ...base, mode, angles }
41
+ : { ...base, mode, rotation: angles[0], rayCount: angles.length, spread: 360 };
42
+ }
43
+ export function setCompositionRadialRayCount(plan, count) {
44
+ if (plan.mode === "uniform")
45
+ return { ...plan, rayCount: count };
46
+ const angles = plan.angles.slice(0, count);
47
+ while (angles.length < count) {
48
+ const sorted = [...angles].sort((a, b) => a - b);
49
+ const gaps = sorted.map((angle, index) => (sorted[index + 1] ?? sorted[0] + 360) - angle);
50
+ const widest = gaps.indexOf(Math.max(...gaps));
51
+ angles.push((sorted[widest] + gaps[widest] / 2) % 360);
52
+ }
53
+ return { ...plan, angles };
54
+ }
55
+ /** Shared editor/CLI geometry in physical canvas units; generation references omit this layer. */
56
+ export function compositionPlanGeometry(plan, frame) {
57
+ const bounds = frameBoundsInCanvas(frame);
58
+ const point = (p) => ({ x: bounds.x + p.x * bounds.width, y: bounds.y + p.y * bounds.height });
59
+ if (plan.type === "thirds" || plan.type === "golden-section") {
60
+ const start = plan.type === "thirds" ? 1 / 3 : (3 - Math.sqrt(5)) / 2;
61
+ const paths = [];
62
+ for (const division of [start, 1 - start]) {
63
+ if (plan.axes !== "horizontal")
64
+ paths.push([point({ x: division, y: 0 }), point({ x: division, y: 1 })]);
65
+ if (plan.axes !== "vertical")
66
+ paths.push([point({ x: 0, y: division }), point({ x: 1, y: division })]);
67
+ }
68
+ return { paths, handles: [] };
69
+ }
70
+ if (plan.type === "triangle") {
71
+ const center = point(plan);
72
+ const angle = plan.rotation * Math.PI / 180;
73
+ const width = plan.width * bounds.width, height = plan.height * bounds.height;
74
+ const vertices = [{ x: 0, y: -height / 2 }, { x: -width / 2, y: height / 2 }, { x: width / 2, y: height / 2 }]
75
+ .map(({ x, y }) => ({ x: center.x + x * Math.cos(angle) - y * Math.sin(angle), y: center.y + x * Math.sin(angle) + y * Math.cos(angle) }));
76
+ return { paths: [[...vertices, vertices[0]]], handles: vertices };
77
+ }
78
+ const center = point(plan.type === "symmetry" ? { x: 0.5, y: 0.5 } : plan);
79
+ const angle = (plan.type === "symmetry" ? normalizeCompositionSymmetryRotation(plan.rotation, frame)
80
+ : plan.type === "radial" ? 0 : plan.rotation) * Math.PI / 180;
81
+ const at = (radius, theta = 0) => ({
82
+ x: center.x + radius * Math.cos(angle + theta),
83
+ y: center.y + radius * Math.sin(angle + theta),
84
+ });
85
+ const edge = Math.min(bounds.width, bounds.height);
86
+ if (plan.type === "symmetry") {
87
+ const length = Math.hypot(bounds.width, bounds.height) + Math.hypot(center.x - bounds.x, center.y - bounds.y);
88
+ const snapPoints = compositionSymmetryRotations(frame).map((rotation) => at(edge * 0.3, rotation * Math.PI / 180 - angle));
89
+ return { paths: [[at(-length), at(length)]], handles: [center, at(edge * 0.3)], snapPoints };
90
+ }
91
+ if (plan.type === "radial") {
92
+ const length = Math.hypot(bounds.width, bounds.height) + Math.hypot(center.x - bounds.x, center.y - bounds.y);
93
+ const angles = compositionRadialAngles(plan).map((rotation) => rotation * Math.PI / 180);
94
+ const paths = angles.map((rotation) => [center, at(length, rotation)]);
95
+ const controls = plan.mode === "free" ? angles : angles.slice(0, 1);
96
+ return { paths, handles: [center, ...controls.map((rotation) => at(edge * 0.3, rotation))] };
97
+ }
98
+ const radius = edge * plan.scale;
99
+ const phi = (1 + Math.sqrt(5)) / 2;
100
+ const segments = 240, sweep = Math.PI * 6;
101
+ // A true logarithmic golden spiral: every quarter-turn increases radius by phi.
102
+ const curve = Array.from({ length: segments + 1 }, (_, index) => {
103
+ const theta = (index / segments - 1) * sweep;
104
+ return at(radius * phi ** (theta / (Math.PI / 2)), plan.mirrored ? -theta : theta);
105
+ });
106
+ // Linear interpolation error <= max |curve''| * step² / 8, in physical canvas units.
107
+ const growth = Math.log(phi) / (Math.PI / 2);
108
+ const maxCurveDeviation = radius * (1 + growth ** 2) * (sweep / segments) ** 2 / 8;
109
+ return { paths: [curve], handles: [center, at(radius)], maxCurveDeviation };
110
+ }
111
+ /** Move a guide or one of its controls by a physical canvas delta. */
112
+ export function transformCompositionPlan(plan, frame, delta, handle) {
113
+ if (plan.type === "thirds" || plan.type === "golden-section")
114
+ return plan;
115
+ const bounds = frameBoundsInCanvas(frame);
116
+ if (plan.type === "symmetry") {
117
+ const fixed = { ...plan, x: 0.5, y: 0.5, rotation: normalizeCompositionSymmetryRotation(plan.rotation, frame) };
118
+ if (handle !== 1)
119
+ return fixed;
120
+ const { handles: [center, end] } = compositionPlanGeometry(fixed, frame);
121
+ const dx = end.x + delta.x - center.x, dy = end.y + delta.y - center.y;
122
+ return Math.hypot(dx, dy) < 1 ? fixed
123
+ : { ...fixed, rotation: normalizeCompositionSymmetryRotation(Math.atan2(dy, dx) * 180 / Math.PI, frame) };
124
+ }
125
+ if (handle === undefined || (plan.type !== "triangle" && handle === 0)) {
126
+ return { ...plan, x: plan.x + delta.x / bounds.width, y: plan.y + delta.y / bounds.height };
127
+ }
128
+ const { handles } = compositionPlanGeometry(plan, frame);
129
+ const center = { x: bounds.x + plan.x * bounds.width, y: bounds.y + plan.y * bounds.height };
130
+ const dx = handles[handle].x + delta.x - center.x, dy = handles[handle].y + delta.y - center.y;
131
+ if (plan.type === "triangle") {
132
+ if (handle === 0) {
133
+ if (Math.hypot(dx, dy) < 1)
134
+ return plan;
135
+ return { ...plan, rotation: Math.atan2(dy, dx) * 180 / Math.PI + 90, height: 2 * Math.hypot(dx, dy) / bounds.height };
136
+ }
137
+ const angle = plan.rotation * Math.PI / 180;
138
+ return { ...plan,
139
+ width: Math.max(0.01, 2 * Math.abs(dx * Math.cos(angle) + dy * Math.sin(angle)) / bounds.width),
140
+ height: Math.max(0.01, 2 * (-dx * Math.sin(angle) + dy * Math.cos(angle)) / bounds.height),
141
+ };
142
+ }
143
+ if (Math.hypot(dx, dy) < 1)
144
+ return plan;
145
+ const rotation = Math.atan2(dy, dx) * 180 / Math.PI;
146
+ if (plan.type === "radial")
147
+ return plan.mode === "free"
148
+ ? { ...plan, angles: plan.angles.map((angle, index) => index === handle - 1 ? rotation : angle) }
149
+ : { ...plan, rotation };
150
+ return { ...plan, rotation, scale: Math.max(0.01, Math.hypot(dx, dy) / Math.min(bounds.width, bounds.height)) };
151
+ }
152
+ //# sourceMappingURL=planning.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"planning.js","sourceRoot":"","sources":["../../../src/domain/composition/planning.ts"],"names":[],"mappings":"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"}
@@ -469,6 +469,7 @@ function areaMetadata(area) {
469
469
  shotScale: area.shotScale,
470
470
  visualWeight: area.visualWeight,
471
471
  displayText: area.displayText,
472
+ corners: area.corners,
472
473
  isLightSource: area.isLightSource ?? false,
473
474
  };
474
475
  }
@@ -1 +1 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../../../src/domain/composition/refinement/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../../../src/domain/composition/refinement/engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAoB,MAAM,kBAAkB,CAAC;AAC7D,OAAO,+BAA+B,MAAM,6DAA6D,CAAC;IACxG,IAAI,EAAE,MAAM;CACb,CAAC;AACF,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACpE,OAAO,EACL,QAAQ,EACR,UAAU,EACV,aAAa,EACb,kBAAkB,GACnB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC9D,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,aAAa,CAAC;AAYrB,OAAO,EACL,aAAa,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,cAAc,EAAE,uBAAuB,GACpG,MAAM,gBAAgB,CAAC;AAExB,MAAM,OAAO,GAAG,IAAI,CAAC;AAErB,MAAM,CAAC,MAAM,aAAa,GAAmB,MAAM,CAAC,MAAM,CAAC;IACzD,gBAAgB,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE;IACrC,kBAAkB,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE;IACtC,oBAAoB,EAAE,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,aAAa,EAAE;IAC5D,mBAAmB,EAAE,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,aAAa,EAAE;IAC3D,oBAAoB,EAAE,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,aAAa,EAAE;IAC5D,mBAAmB,EAAE,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,aAAa,EAAE;IAC3D,mBAAmB,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE;IAC3C,kBAAkB,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE;IAC1C,mBAAmB,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE;IAC3C,kBAAkB,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE;CAC3C,CAAC,CAAC;AAEH,MAAM,kBAAkB,GAAkC;IACxD;QACE,EAAE,EAAE,cAAc;QAClB,OAAO,EAAE,CAAC;QACV,aAAa,EAAE,OAAO;QACtB,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,kBAAkB,CAAC;QAC9D,WAAW,EAAE,oFAAoF;KAClG;IACD;QACE,EAAE,EAAE,eAAe;QACnB,OAAO,EAAE,CAAC;QACV,aAAa,EAAE,OAAO;QACtB,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,kBAAkB,CAAC;QAC9D,WAAW,EAAE,6GAA6G;KAC3H;IACD;QACE,EAAE,EAAE,oBAAoB;QACxB,OAAO,EAAE,CAAC;QACV,aAAa,EAAE,OAAO;QACtB,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,kBAAkB,CAAC;QAC9D,WAAW,EAAE,4FAA4F;KAC1G;IACD;QACE,EAAE,EAAE,iBAAiB;QACrB,OAAO,EAAE,CAAC;QACV,aAAa,EAAE,OAAO;QACtB,mBAAmB,EAAE,CAAC,kBAAkB,CAAC;QACzC,WAAW,EAAE,8EAA8E;KAC5F;IACD;QACE,EAAE,EAAE,gBAAgB;QACpB,OAAO,EAAE,CAAC;QACV,aAAa,EAAE,OAAO;QACtB,mBAAmB,EAAE,CAAC,kBAAkB,CAAC;QACzC,WAAW,EAAE,2EAA2E;KACzF;IACD,GAAG;QACD,EAAE,EAAE,EAAE,iBAAiB,EAAE,WAAW,EAAE,6EAA6E,EAAE;QACrH,EAAE,EAAE,EAAE,YAAY,EAAE,WAAW,EAAE,8EAA8E,EAAE;QACjH,EAAE,EAAE,EAAE,iBAAiB,EAAE,WAAW,EAAE,gFAAgF,EAAE;QACxH,EAAE,EAAE,EAAE,YAAY,EAAE,WAAW,EAAE,+EAA+E,EAAE;KACnH,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,EAAuC,EAAE,OAAO,EAAE,CAAU;QACrG,aAAa,EAAE,OAAgB,EAAE,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,kBAAkB,CAAuD,EAAE,CAAC,CAAC;CAC5J,CAAC;AAOF,MAAM,gBAAgB,GAAqE;IACzF,cAAc,EAAE,gBAAgB;IAChC,eAAe,EAAE,iBAAiB;IAClC,oBAAoB,EAAE,sBAAsB;IAC5C,iBAAiB,EAAE,mBAAmB;IACtC,gBAAgB,EAAE,kBAAkB;IACpC,iBAAiB,EAAE,kBAAkB;IACrC,YAAY,EAAE,kBAAkB;IAChC,iBAAiB,EAAE,kBAAkB;IACrC,YAAY,EAAE,kBAAkB;CACjC,CAAC;AAEF,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AAC7C,MAAM,kBAAkB,GAAG,GAAG,CAAC,OAAO,CAA4B,+BAA+B,CAAC,CAAC;AAEnG,MAAM,OAAO,yBAA0B,SAAQ,KAAK;IACtB;IAA5B,YAA4B,KAAiC;QAC3D,KAAK,CAAC,+CAA+C,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAD7D,UAAK,GAAL,KAAK,CAA4B;QAE3D,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC;IAC1C,CAAC;CACF;AAED,MAAM,UAAU,iBAAiB;IAC/B,OAAO,eAAe,CAAC,kBAAkB,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,oBAAoB;IAClC,OAAO,eAAe,CAAC,+BAA+B,CAAC,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,KAAc;IACnD,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;IACrE,CAAC;IACD,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,KAAuB,EACvB,SAAkB;IAElB,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IACpC,MAAM,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,CAAC;IACrD,IAAI,kBAAkB,KAAK,IAAI,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CACb,iHAAiH,CAClH,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,sBAAsB,CAAC,SAAS,CAAC,CAAC;IAC/C,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACnD,IAAI,IAAI,CAAC,iBAAiB,KAAK,iBAAiB,EAAE,CAAC;QACjD,MAAM,IAAI,KAAK,CACb,sCAAsC,iBAAiB,cAAc,IAAI,CAAC,iBAAiB,GAAG,CAC/F,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,CAAC,OAAO,KAAK,CAAC;QAAE,uBAAuB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC9D,IAAI,YAAY,GAAG,MAAM,CAAC;IAC1B,MAAM,iBAAiB,GAAiC,EAAE,CAAC;IAC3D,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,SAAS,CAAC,MAAM,CAAE,CAAC;QAC7E,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;YAC7D,MAAM,IAAI,KAAK,CACb,GAAG,SAAS,CAAC,MAAM,qBAAqB,kBAAkB,GAAG,CAC9D,CAAC;QACJ,CAAC;QACD,MAAM,MAAM,GAAG,gBAAgB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QAC3E,MAAM,MAAM,GAAG,YAAY,CAAC;QAC5B,YAAY,GAAG,IAAI,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;QAClG,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;IAED,YAAY,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC;IAC3C,MAAM,KAAK,GAAG,eAAe,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;IAC1D,IAAI,IAAI,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC;QACvB,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,CAAC,uBAAuB,CACjF,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,gBAAgB,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CACpG,CAAC,CAAC;QACH,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;aACxE,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,KAAK,CAAC,cAAc,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACxE,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CACrD,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,cAAc,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC;QACpG,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,CAAC;IACjD,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,MAAM;QAAE,MAAM,IAAI,yBAAyB,CAAC,KAAK,CAAC,CAAC;IAE9D,OAAO;QACL,OAAO,EAAE,CAAC;QACV,IAAI,EAAE,+BAA+B;QACrC,iBAAiB;QACjB,IAAI;QACJ,YAAY;QACZ,iBAAiB;QACjB,KAAK;KACN,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,WAA6B,EAC7B,YAA8B,EAC9B,IAAgC;IAEhC,MAAM,MAAM,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;IAC1C,MAAM,OAAO,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC;IAC5C,MAAM,aAAa,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;IACjD,MAAM,cAAc,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACnD,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAC1D,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,KAAK,EAAE,MAAM,CAAC,CAClE,CAAC;IACF,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAClD,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,MAAM,CAAC,CAC1D,CAAC;IACF,MAAM,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CACtD,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,QAAQ,IAAI,CAAC,EAAE,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,CACnF,CAAC;IACF,MAAM,iBAAiB,GAAG,aAAa,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAC7E,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,cAAc,CAAC,iBAAiB,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CACrE,CAAC;IAEF,MAAM,OAAO,GAAG;QACd,iBAAiB,EAAE,OAAO,CAAC,WAAW,CAAC;QACvC,gBAAgB,EAAE,OAAO,CAAC,UAAU,CAAC;QACrC,oBAAoB,EAAE,OAAO,CAAC,cAAc,CAAC;QAC7C,4BAA4B,EAAE,OAAO,CAAC,iBAAiB,CAAC;QACxD,iBAAiB,EAAE,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,YAAY,GAAG,cAAc,CAAC,YAAY,CAAC;QACrF,gBAAgB,EAAE,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,WAAW,GAAG,cAAc,CAAC,WAAW,CAAC;QAClF,gBAAgB,EAAE,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,WAAW,GAAG,cAAc,CAAC,WAAW,CAAC;QAClF,iBAAiB,EAAE,QAAQ,CAAC,aAAa,CAAC,YAAY,EAAE,cAAc,CAAC,YAAY,CAAC;KACrF,CAAC;IACF,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;IACvD,MAAM,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;IACzD,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,CACpF,SAAS,CAAC,MAAM,KAAK,YAAY,IAAI,SAAS,CAAC,MAAM,KAAK,iBAAiB,IAAI,SAAS,CAAC,KAAK,KAAK,UAAU;QAC3G,CAAC,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC3C,MAAM,cAAc,GAAG,CAAC,IAAqB,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QACtE,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAC1E,MAAM,kBAAkB,GAAG,IAAI,EAAE,OAAO,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CACnF,SAAS,CAAC,MAAM,KAAK,YAAY,IAAI,SAAS,CAAC,QAAQ,KAAK,aAAa,CAAC,CAAC;IAC7E,MAAM,gBAAgB,GAAG,CAAC,KAAuB,EAAE,EAAE,CAAC,KAAK,CAAC,aAAa,IAAI,kBAAkB;QAC7F,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,aAAa,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC;IAClE,MAAM,SAAS,GAAG;QAChB,kBAAkB,EAAE,MAAM,CAAC,kBAAkB,KAAK,OAAO,CAAC,kBAAkB;QAC5E,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC;QACzC,aAAa,EAAE,KAAK,CAClB,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EACtC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CACxC;QACD,YAAY,EACV,aAAa,CAAC,MAAM,KAAK,cAAc,CAAC,MAAM;YAC9C,CAAC,GAAG,aAAa,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,cAAc,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC;QACxF,kBAAkB,EAAE,KAAK,CACvB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,EAChC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAClC;QACD,YAAY,EAAE,KAAK,CACjB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,EAC9B,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAChC;QACD,SAAS,EAAE,KAAK,CAAC,aAAa,EAAE,cAAc,CAAC;QAC/C,aAAa,EAAE,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACzE,aAAa,EAAE,KAAK,CAClB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAC1D,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAC7D;KACF,CAAC;IAEF,oFAAoF;IACpF,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC;SAC3C,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,IAAI,KAAK,eAAe,IAAI,CAAC,MAAM,CAAC;SAC/D,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC;IACxC,IAAI,MAAM,CAAC,WAAW,KAAK,OAAO,CAAC,WAAW;QAAE,YAAY,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IAC3F,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC;QAAE,YAAY,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACjF,MAAM,aAAa,GAAG,CAAC,KAAuB,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,QAAQ,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC;IACtH,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;QAAE,YAAY,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IAExG,OAAO;QACL,MAAM,EAAE,YAAY,CAAC,MAAM,KAAK,CAAC;QACjC,OAAO;QACP,SAAS;QACT,YAAY;KACb,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAuB,EAAE,SAAyC;IAC5F,IAAI,SAAS,CAAC,MAAM,KAAK,iBAAiB,IAAI,SAAS,CAAC,MAAM,KAAK,YAAY;WAC1E,SAAS,CAAC,MAAM,KAAK,iBAAiB,IAAI,SAAS,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;QACjF,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC5D,CAAC;IACD,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAChD,MAAM,KAAK,GAA6C,CAAC,GAAG,KAAK,CAAC,KAAK,EAAE,GAAG,KAAK,CAAC,WAAW,EAAE,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACtJ,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACvF,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE;YAChC,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,aAAa,EAAE,CAAU,EAAE,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;YAC3F,cAAc,EAAE,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,aAAa,CAAC,IAAI,EAAE,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;YAClI,cAAc,EAAE,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC3F,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC9C,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACxI,CAAC,CAAC,CAAC;SACJ,EAAE,CAAC;AACN,CAAC;AAED,SAAS,gBAAgB,CACvB,KAAuB,EACvB,SAAyC;IAEzC,IAAI,SAAS,CAAC,MAAM,KAAK,cAAc;QAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IAC5F,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,SAAS,CAAC,aAAa,CAAC,CAAC;IACjF,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,SAAS,CAAC,aAAa,GAAG,CAAC,CAAC;IAChF,MAAM,aAAa,GAAG,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,kBAAkB,CAAC,aAAa,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IAC9D,MAAM,KAAK,GAAG,QAAQ,CAAC,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,aAAa,CAAC,CAAC;IAC9E,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IAClD,MAAM,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,CAAE,CAAC;IAC5E,IAAI,QAAQ,CAAC,kBAAkB,CAAC,YAAY,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,aAAa,CAAC,GAAG,OAAO,EAAE,CAAC;QACrF,MAAM,IAAI,KAAK,CAAC,gCAAgC,SAAS,CAAC,MAAM,4BAA4B,CAAC,CAAC;IAChG,CAAC;IACD,OAAO;QACL,KAAK,EAAE,OAAO;QACd,OAAO,EAAE;YACP,MAAM,EAAE,SAAS,CAAC,MAAM;YACxB,aAAa,EAAE,CAAC;YAChB,SAAS,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YACrB,cAAc,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE;YAC5C,cAAc,EAAE,EAAE;SACnB;KACF,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CACxB,KAAuB,EACvB,SAAyC;IAEzC,IAAI,SAAS,CAAC,MAAM,KAAK,eAAe;QAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IAC9F,MAAM,OAAO,GAAG,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;QAC5C,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QAC/D,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,EAAE,GAAG,CAAC,CAAC;QAC3D,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;QACzC,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QACxD,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC;QACnD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;IACH,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC;QACzF,MAAM,IAAI,KAAK,CAAC,+EAA+E,CAAC,CAAC;IACnG,CAAC;IACD,MAAM,UAAU,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IACrD,MAAM,WAAW,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAClD,MAAM,UAAU,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC;IAC9C,MAAM,UAAU,GACd,SAAS,CAAC,QAAQ,KAAK,UAAU;QAC/B,CAAC,CAAC,CAAC,UAAU,EAAE,UAAU,GAAG,GAAG,CAAC;QAChC,CAAC,CAAC,SAAS,CAAC,QAAQ,KAAK,gBAAgB;YACvC,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,GAAG,GAAG,UAAU,CAAC;YACjC,CAAC,CAAC,CAAC,UAAU,GAAG,EAAE,EAAE,UAAU,GAAG,EAAE,CAAC,CAAC;IAC3C,MAAM,WAAW,GAAG,UAAU,CAAC,IAAI,CACjC,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAChB,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CACjG,CAAC,CAAC,CAAC,CAAC;IACL,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACjC,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAClC,MAAM,MAAM,GAAG,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;IAC5E,MAAM,YAAY,GAAG,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;IACjD,MAAM,OAAO,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;IAC9C,MAAM,OAAO,GAAG;QACd;YACE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,YAAY,CAAC,GAAG,kBAAkB,CAAC,KAAK;YAC3E,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,YAAY,CAAC,GAAG,kBAAkB,CAAC,MAAM;SAC7E;QACD;YACE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,YAAY,CAAC,GAAG,kBAAkB,CAAC,KAAK;YAC3E,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,YAAY,CAAC,GAAG,kBAAkB,CAAC,MAAM;SAC7E;KACF,CAAC;IACF,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;IAEtF,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QAC5B,OAAO,GAAG,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IACH,MAAM,YAAY,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,CACxC,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAE,CACtD,CAAC;IACF,MAAM,YAAY,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IACjE,IAAI,mBAAmB,CAAC,YAAY,EAAE,WAAW,CAAC,GAAG,IAAI,EAAE,CAAC;QAC1D,MAAM,IAAI,KAAK,CAAC,gFAAgF,CAAC,CAAC;IACpG,CAAC;IACD,OAAO;QACL,KAAK,EAAE,OAAO;QACd,OAAO,EAAE;YACP,MAAM,EAAE,SAAS,CAAC,MAAM;YACxB,aAAa,EAAE,CAAC;YAChB,SAAS,EAAE,CAAC,GAAG,SAAS,CAAC,QAAQ,EAAE,GAAG,SAAS,CAAC,OAAO,CAAC;YACxD,cAAc,EAAE,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/F,cAAc,EAAE,EAAE;SACnB;KACF,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAC7B,KAAuB,EACvB,SAAyC;IAEzC,IAAI,SAAS,CAAC,MAAM,KAAK,oBAAoB,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC3D,CAAC;IACD,MAAM,SAAS,GAAG;QAChB,UAAU,EAAE,CAAC;QACb,QAAQ,EAAE,EAAE;QACZ,iBAAiB,EAAE,GAAG;QACtB,kBAAkB,EAAE,EAAE;KACvB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAClB,MAAM,OAAO,GAAG,SAAS,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;QACjD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QACxD,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC;QACnD,IAAI,IAAI,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,oDAAoD,EAAE,GAAG,CAAC,CAAC;QAC7E,CAAC;QACD,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;QAC1C,MAAM,UAAU,GAAG,CAAC,SAAS,EAAE,CAAC,SAAS,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;QACxD,MAAM,cAAc,GAAG,UAAU,CAAC,IAAI,CACpC,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAChB,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;YAChD,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CACpD,CAAC,CAAC,CAAC,CAAC;QACL,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC,CAAC;QACxE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE;QAC3C,OAAO,GAAG,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IACH,OAAO;QACL,KAAK,EAAE,OAAO;QACd,OAAO,EAAE;YACP,MAAM,EAAE,SAAS,CAAC,MAAM;YACxB,aAAa,EAAE,CAAC;YAChB,SAAS,EAAE,CAAC,GAAG,SAAS,CAAC,aAAa,CAAC;YACvC,cAAc,EAAE,EAAE;YAClB,cAAc,EAAE,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SAC9F;KACF,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAC1B,KAAuB,EACvB,SAAyC;IAEzC,IAAI,SAAS,CAAC,MAAM,KAAK,iBAAiB,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACxD,CAAC;IACD,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,CAAC;QAC9D,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;IACrF,CAAC;IACD,MAAM,KAAK,GAAG,SAAS,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;QAC/C,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QAClE,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC;QACnD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,SAAS,CAAC,YAAY,CAAE,CAAC;IACtE,MAAM,YAAY,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IAC3C,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,YAAY,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAChF,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACjC,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;QACnC,MAAM,UAAU,GAAG,mBAAmB,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;QACpE,MAAM,UAAU,GAAG,CAAC,MAAM,EAAE,mBAAmB,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QACxF,MAAM,MAAM,GAAG;YACb,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,gBAAgB,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,kBAAkB,CAAC,KAAK;YACvF,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,GAAG,UAAU,CAAC,GAAG,kBAAkB,CAAC,MAAM;SACzF,CAAC;QACF,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;IACrE,CAAC,CAAC,CAAC;IAEH,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE;QACnC,OAAO,GAAG,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IACH,OAAO;QACL,KAAK,EAAE,OAAO;QACd,OAAO,EAAE;YACP,MAAM,EAAE,SAAS,CAAC,MAAM;YACxB,aAAa,EAAE,CAAC;YAChB,SAAS,EAAE,CAAC,GAAG,SAAS,CAAC,aAAa,CAAC;YACvC,cAAc,EAAE,MAAM,CAAC,WAAW,CAChC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAC1D;YACD,cAAc,EAAE,EAAE;SACnB;KACF,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CACzB,KAAuB,EACvB,SAAyC;IAEzC,IAAI,SAAS,CAAC,MAAM,KAAK,gBAAgB,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IACvD,CAAC;IACD,MAAM,UAAU,GAAG,SAAS,CAAC,IAAI,KAAK,YAAY,CAAC;IACnD,MAAM,KAAK,GAAG,SAAS,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;QAC/C,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QAClE,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;QACnC,OAAO;YACL,IAAI;YACJ,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ;YACvD,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ;SACxD,CAAC;IACJ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,CACzB,CAAC,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,CACpE,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACvB,MAAM,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC;IAC3B,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAC5B,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,EAChD,CAAC,CACF,CAAC;IACF,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC5E,IAAI,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC;IAC3B,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE;QACvD,MAAM,IAAI,GAAG,OAAO,GAAG,OAAO,CAAC;QAC/B,MAAM,YAAY,GAAG,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC;QACvC,MAAM,aAAa,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG;YACb,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,kBAAkB,CAAC,KAAK;YACtF,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,aAAa,CAAC,GAAG,kBAAkB,CAAC,MAAM;SACxF,CAAC;QACF,MAAM,IAAI,IAAI,GAAG,GAAG,CAAC;QACrB,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;IACrE,CAAC,CAAC,CAAC;IAEH,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE;QACnC,OAAO,GAAG,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IACH,OAAO;QACL,KAAK,EAAE,OAAO;QACd,OAAO,EAAE;YACP,MAAM,EAAE,SAAS,CAAC,MAAM;YACxB,aAAa,EAAE,CAAC;YAChB,SAAS,EAAE,CAAC,GAAG,SAAS,CAAC,aAAa,CAAC;YACvC,cAAc,EAAE,MAAM,CAAC,WAAW,CAChC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAC1D;YACD,cAAc,EAAE,EAAE;SACnB;KACF,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,IAAqB;IAC1C,OAAO,cAAc,CAAC,YAAY,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC,CAAC;AAChE,CAAC;AAED,SAAS,mBAAmB,CAC1B,MAAyC,EACzC,SAAwF;IAExF,IAAI,SAAS,KAAK,MAAM;QAAE,OAAO,MAAM,CAAC,QAAQ,CAAC;IACjD,IAAI,SAAS,KAAK,mBAAmB;QAAE,OAAO,CAAC,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACtF,IAAI,SAAS,KAAK,OAAO;QAAE,OAAO,MAAM,CAAC,QAAQ,CAAC;IAClD,IAAI,SAAS,KAAK,KAAK;QAAE,OAAO,MAAM,CAAC,QAAQ,CAAC;IAChD,IAAI,SAAS,KAAK,iBAAiB;QAAE,OAAO,CAAC,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACpF,OAAO,MAAM,CAAC,QAAQ,CAAC;AACzB,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAqB;IAC/C,OAAO;QACL,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,MAAM,EAAE,IAAI,CAAC,MAAM;KACpB,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,IAAqB;IACzC,OAAO;QACL,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,YAAY,EAAE,IAAI,CAAC,YAAY;QAC/B,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,YAAY,EAAE,IAAI,CAAC,YAAY;QAC/B,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,aAAa,EAAE,IAAI,CAAC,aAAa,IAAI,KAAK;KAC3C,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,KAAY,EAAE,MAAa;IAC5C,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9B,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC7B,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;AACxE,CAAC;AAED,SAAS,cAAc,CAAC,KAAa;IACnC,OAAO,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,CAAC;AACpC,CAAC;AAED,SAAS,eAAe,CAAC,KAAa,EAAE,MAAc;IACpD,OAAO,CAAC,CAAC,KAAK,GAAG,MAAM,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;AAC9C,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAa,EAAE,MAAc;IACxD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;IAC5D,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,GAAG,UAAU,CAAC,CAAC;AAChD,CAAC;AAED,SAAS,QAAQ,CAAC,KAAY;IAC5B,OAAO;QACL,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,kBAAkB,CAAC,KAAK;QACrC,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,kBAAkB,CAAC,MAAM;KACvC,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,KAAY,EAAE,MAAa,EAAE,KAAuB;IACzE,OAAO,QAAQ,CACb,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,EACtC,kBAAkB,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,CACxC,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,KAAY,EAAE,MAAa;IAC3C,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED,SAAS,OAAO,CAAC,MAAgB;IAC/B,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,KAAK,CAAC,KAAc,EAAE,MAAe;IAC5C,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AAC1D,CAAC;AAED,SAAS,KAAK,CAAC,KAAa;IAC1B,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;AACvC,CAAC;AAED,SAAS,sBAAsB,CAAC,MAAwC;IACtE,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC;SAClB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACb,IAAI,KAAK,CAAC,OAAO,KAAK,sBAAsB,EAAE,CAAC;YAC7C,OAAO,GAAG,KAAK,CAAC,YAAY,IAAI,MAAM,4BAA4B,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,CAAC;QAC9G,CAAC;QACD,OAAO,GAAG,KAAK,CAAC,YAAY,IAAI,MAAM,IAAI,KAAK,CAAC,OAAO,IAAI,YAAY,EAAE,CAAC;IAC5E,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC"}
@@ -1,7 +1,8 @@
1
1
  import { compositionLayerOrder } from "./layers.js";
2
+ import { compositionPlanGeometry } from "./planning.js";
2
3
  import { validateDraft } from "./draft.js";
3
4
  import { COMPOSITION_CANVAS, frameBoundsInCanvas, } from "./frame.js";
4
- import { areaGeometry, compositionDraftWorldBounds, directionLineGeometry, geometryBounds, } from "./geometry.js";
5
+ import { areaGeometry, compositionDraftWorldBounds, directionLineGeometry, geometryBounds, textRegionLines, } from "./geometry.js";
5
6
  export function renderCompositionSvg(input, resolveImageSource) {
6
7
  const draft = validateDraft(input);
7
8
  const frame = frameBoundsInCanvas(draft.frame);
@@ -44,6 +45,13 @@ export function renderCompositionSvg(input, resolveImageSource) {
44
45
  ].join(""));
45
46
  }
46
47
  const orderedElements = [...background, ...orderedCompositionElements(draft, elements)];
48
+ if (draft.plans?.some((plan) => plan.visible)) {
49
+ orderedElements.push(`<defs><clipPath id="composition-planning-frame"><rect x="${format(frame.x)}" y="${format(frame.y)}" width="${format(frame.width)}" height="${format(frame.height)}"/></clipPath></defs>`);
50
+ for (const plan of draft.plans.filter((entry) => entry.visible)) {
51
+ const paths = compositionPlanGeometry(plan, draft.frame).paths.map((points) => `<polyline points="${points.map((p) => `${format(p.x)},${format(p.y)}`).join(" ")}"/>`).join("");
52
+ orderedElements.push(`<g data-composition-plan="${escapeAttribute(plan.id)}" clip-path="url(#composition-planning-frame)" fill="none" stroke="#B8C4D2" stroke-width="2" stroke-dasharray="8 5">${paths}</g>`);
53
+ }
54
+ }
47
55
  orderedElements.push(`<rect x="${format(frame.x)}" y="${format(frame.y)}" width="${format(frame.width)}" height="${format(frame.height)}" fill="none" stroke="#000000" stroke-width="2"/>`);
48
56
  return `<svg xmlns="http://www.w3.org/2000/svg" viewBox="${format(world.x)} ${format(world.y)} ${format(world.width)} ${format(world.height)}" width="${format(world.width)}" height="${format(world.height)}" role="img" aria-label="构图草图">
49
57
  ${orderedElements.map((element) => ` ${element}`).join("\n")}
@@ -61,6 +69,11 @@ export function renderCompositionReferenceSvg(input, resolveImageSource) {
61
69
  if (area.isLightSource)
62
70
  return renderCompositionLightSourceSvg(area, undefined, "reference");
63
71
  const geometry = areaGeometry(area, COMPOSITION_CANVAS);
72
+ if (area.corners && geometry.type === "polygon") {
73
+ const points = geometry.points.map((point) => `${format(point.x)},${format(point.y)}`).join(" ");
74
+ const lines = textRegionLines(area, COMPOSITION_CANVAS).map(([start, end]) => `<line x1="${format(start.x)}" y1="${format(start.y)}" x2="${format(end.x)}" y2="${format(end.y)}" stroke="#555555" stroke-width="${format(strokeWidth * 2)}" stroke-linecap="round"/>`);
75
+ return `<g data-region-kind="text-region"><polygon data-reference-role="text-outline" points="${points}" fill="#e3e3e3"/><g data-reference-role="typography">${lines.join("")}</g></g>`;
76
+ }
64
77
  const shape = renderReferenceInfluenceZone(geometry, `data-reference-role="influence-zone" fill="url(#composition-region-gradient)"`);
65
78
  if (area.semanticType !== "text-region") {
66
79
  return `<g data-region-kind="content-region">${shape}</g>`;
@@ -1 +1 @@
1
- {"version":3,"file":"render.js","sourceRoot":"","sources":["../../../src/domain/composition/render.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"render.js","sourceRoot":"","sources":["../../../src/domain/composition/render.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import { validateDraft } from "./draft.js";
3
3
  import { compositionLayerOrder } from "./layers.js";
4
4
  function captureLayout(draft) {
5
5
  return {
6
+ ...(draft.plans ? { plans: structuredClone(draft.plans) } : {}),
6
7
  frame: { width: draft.frame.width, height: draft.frame.height, bounds: {
7
8
  x: draft.frame.bounds.x, y: draft.frame.bounds.y,
8
9
  width: draft.frame.bounds.width, height: draft.frame.bounds.height,
@@ -10,16 +11,18 @@ function captureLayout(draft) {
10
11
  layerOrder: compositionLayerOrder(draft),
11
12
  focusPoints: draft.focusPoints.map(({ id, x, y }) => ({ id, x, y })),
12
13
  directionLine: draft.directionLine ? (({ id, x, y, rotation }) => ({ id, x, y, rotation }))(draft.directionLine) : null,
13
- areas: draft.areas.map(({ id, x, y, area, aspect, rotation, width, height }) => ({ id, x, y, area, aspect, rotation, width, height })),
14
+ areas: draft.areas.map(({ id, x, y, area, aspect, rotation, width, height, corners }) => ({ id, x, y, area, aspect, rotation, width, height, ...(corners ? { corners: structuredClone(corners) } : {}) })),
14
15
  images: draft.images.map(({ id, x, y, width, height, rotation }) => ({ id, x, y, width, height, rotation })),
15
16
  };
16
17
  }
17
18
  function applyLayout(draft, layout) {
19
+ const { plans: _plans, ...contentDraft } = draft;
18
20
  const points = new Map(layout.focusPoints.map((node) => [node.id, node]));
19
21
  const areas = new Map(layout.areas.map((node) => [node.id, node]));
20
22
  const images = new Map(layout.images.map((node) => [node.id, node]));
21
23
  return {
22
- ...draft,
24
+ ...contentDraft,
25
+ ...(layout.plans ? { plans: structuredClone(layout.plans) } : {}),
23
26
  frame: structuredClone(layout.frame),
24
27
  layerOrder: [...layout.layerOrder],
25
28
  focusPoints: draft.focusPoints.map((node) => ({ ...node, ...points.get(node.id) })),
@@ -28,7 +31,7 @@ function applyLayout(draft, layout) {
28
31
  const saved = areas.get(node.id);
29
32
  if (!saved)
30
33
  return { ...node };
31
- const { x, y, area, aspect, rotation, width, height, ...content } = node;
34
+ const { x, y, area, aspect, rotation, width, height, corners, ...content } = node;
32
35
  return { ...content, ...saved };
33
36
  }),
34
37
  images: draft.images.map((node) => ({ ...node, ...images.get(node.id) })),
@@ -1 +1 @@
1
- {"version":3,"file":"states.js","sourceRoot":"","sources":["../../../src/domain/composition/states.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"states.js","sourceRoot":"","sources":["../../../src/domain/composition/states.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,49 @@ export interface Point {
13
13
  x: number;
14
14
  y: number;
15
15
  }
16
+ interface CompositionPlanBase {
17
+ id: string;
18
+ visible: boolean;
19
+ }
20
+ /** Planning positions are fractions of the current frame, independently of content nodes. */
21
+ export type CompositionPlan = CompositionPlanBase & ({
22
+ type: "thirds";
23
+ axes: "both" | "horizontal" | "vertical";
24
+ } | {
25
+ type: "golden-section";
26
+ axes: "both" | "horizontal" | "vertical";
27
+ } | {
28
+ type: "symmetry";
29
+ x: number;
30
+ y: number;
31
+ rotation: number;
32
+ } | {
33
+ type: "golden-spiral";
34
+ x: number;
35
+ y: number;
36
+ rotation: number;
37
+ scale: number;
38
+ mirrored: boolean;
39
+ } | {
40
+ type: "triangle";
41
+ x: number;
42
+ y: number;
43
+ rotation: number;
44
+ width: number;
45
+ height: number;
46
+ } | ({
47
+ type: "radial";
48
+ x: number;
49
+ y: number;
50
+ } & ({
51
+ mode: "uniform";
52
+ rotation: number;
53
+ rayCount: number;
54
+ spread: number;
55
+ } | {
56
+ mode: "free";
57
+ angles: number[];
58
+ })));
16
59
  export interface CompositionFrameSize {
17
60
  width: number;
18
61
  height: number;
@@ -39,6 +82,8 @@ export interface CompositionArea extends Point, CompositionNodeMetadata {
39
82
  aspect: AreaAspect;
40
83
  visualWeight: CompositionVisualWeight;
41
84
  displayText?: string;
85
+ /** Clockwise corners in the unrotated bounding box, normalized to 0..1. */
86
+ corners?: [Point, Point, Point, Point];
42
87
  isLightSource?: boolean;
43
88
  rotation?: number;
44
89
  width?: number;
@@ -58,6 +103,7 @@ export interface CompositionImage extends Point, CompositionNodeMetadata, Human2
58
103
  }
59
104
  export type CompositionAreaMetadataPatch = Partial<Pick<CompositionArea, "visualWeight" | "displayText" | "isLightSource">>;
60
105
  export interface CompositionDraft {
106
+ plans?: CompositionPlan[];
61
107
  states?: CompositionState[];
62
108
  activeStateId?: string;
63
109
  layerOrder?: string[];
@@ -72,11 +118,12 @@ export interface CompositionDraft {
72
118
  images: CompositionImage[];
73
119
  }
74
120
  export interface CompositionLayout {
121
+ plans?: CompositionPlan[];
75
122
  frame: CompositionFrame;
76
123
  layerOrder: string[];
77
124
  focusPoints: Pick<FocusPoint, "id" | "x" | "y">[];
78
125
  directionLine: Pick<DirectionLine, "id" | "x" | "y" | "rotation"> | null;
79
- areas: Pick<CompositionArea, "id" | "x" | "y" | "area" | "aspect" | "rotation" | "width" | "height">[];
126
+ areas: Pick<CompositionArea, "id" | "x" | "y" | "area" | "aspect" | "rotation" | "width" | "height" | "corners">[];
80
127
  images: Pick<CompositionImage, "id" | "x" | "y" | "width" | "height" | "rotation">[];
81
128
  }
82
129
  export interface CompositionState extends CanvasStateTab {
@@ -147,3 +194,4 @@ export interface VisibleAreaMetrics {
147
194
  overlapArea: number;
148
195
  visualCenter: Point;
149
196
  }
197
+ export {};
@@ -7,6 +7,7 @@ const SESSION_TYPE_DEFINITIONS = {
7
7
  { id: "spatial.apply@1", mode: "derive", command: ["spatial", "apply", "--revision", "<revision>", "--input", "<operations.json>"], sessionScoped: true, sourceCaptureKind: "spatial-draft" },
8
8
  { id: "spatial.render@1", mode: "artifact", command: ["spatial", "render", "--revision", "<revision>", "--camera", "<camera-id>", "--output", "<preview.png>"], sessionScoped: true, sourceCaptureKind: "spatial-draft" },
9
9
  { id: "spatial.render-box@1", mode: "artifact", command: ["spatial", "render", "--revision", "<revision>", "--box", "<box-id>", "--view", "sheet", "--output", "<six-views.png>"], sessionScoped: true, sourceCaptureKind: "spatial-draft" },
10
+ { id: "spatial.render-box-views@1", mode: "artifact", command: ["spatial", "render", "--revision", "<revision>", "--box", "<box-id>", "--views", "<views>", "--output", "<observation.png>"], sessionScoped: true, sourceCaptureKind: "spatial-draft" },
10
11
  ],
11
12
  },
12
13
  "image-composition": {
@@ -1 +1 @@
1
- {"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../../../src/domain/session/capabilities.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../../../src/domain/session/capabilities.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import { type SpatialBoxFace } from "./types.ts";
2
+ /** Parse a nonempty, unique face selection while retaining the caller's order. */
3
+ export declare function parseSpatialBoxViews(value: string): SpatialBoxFace[] | null;
4
+ /** Layout a validated selection of 1–6 faces for browser and service PNG output. */
5
+ export declare function cameraBoxSheetLayout(resolution: number, faces: readonly SpatialBoxFace[]): {
6
+ columns: number;
7
+ rows: number;
8
+ width: number;
9
+ height: number;
10
+ tiles: {
11
+ face: "left" | "top" | "right" | "bottom" | "front" | "back";
12
+ left: number;
13
+ top: number;
14
+ }[];
15
+ };