@constructorfleet/sketchforge-engine 1.26.0 → 1.28.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (200) hide show
  1. package/dist/cadAnalysis.d.ts +94 -0
  2. package/dist/cadAnalysis.d.ts.map +1 -0
  3. package/dist/cadAnalysis.js +157 -0
  4. package/dist/cadAnalysis.js.map +1 -0
  5. package/dist/cadBakeMetadata.d.ts +11 -2
  6. package/dist/cadBakeMetadata.d.ts.map +1 -1
  7. package/dist/cadBakeMetadata.js +9 -0
  8. package/dist/cadBakeMetadata.js.map +1 -1
  9. package/dist/cadProjection.d.ts.map +1 -1
  10. package/dist/cadProjection.js.map +1 -1
  11. package/dist/cadSection.d.ts.map +1 -1
  12. package/dist/cadShell.d.ts +143 -0
  13. package/dist/cadShell.d.ts.map +1 -0
  14. package/dist/cadShell.js +313 -0
  15. package/dist/cadShell.js.map +1 -0
  16. package/dist/cadSolids.d.ts.map +1 -1
  17. package/dist/cadSolids.js +18 -1
  18. package/dist/cadSolids.js.map +1 -1
  19. package/dist/cutBrepFrameMigration.d.ts +46 -0
  20. package/dist/cutBrepFrameMigration.d.ts.map +1 -0
  21. package/dist/cutBrepFrameMigration.js +105 -0
  22. package/dist/cutBrepFrameMigration.js.map +1 -0
  23. package/dist/cutterPadding.d.ts.map +1 -1
  24. package/dist/domain/cameraProjection.js.map +1 -1
  25. package/dist/domain/sketchforge.d.ts +31 -1
  26. package/dist/domain/sketchforge.d.ts.map +1 -1
  27. package/dist/editorHistory.d.ts.map +1 -1
  28. package/dist/editorHistory.js.map +1 -1
  29. package/dist/engine.d.ts +3 -3
  30. package/dist/engine.d.ts.map +1 -1
  31. package/dist/engine.js +156 -78
  32. package/dist/engine.js.map +1 -1
  33. package/dist/exactBooleanParts.d.ts +4 -2
  34. package/dist/exactBooleanParts.d.ts.map +1 -1
  35. package/dist/exactBooleanParts.js +7 -3
  36. package/dist/exactBooleanParts.js.map +1 -1
  37. package/dist/exactBooleanSolids.d.ts.map +1 -1
  38. package/dist/gearProfile.d.ts.map +1 -1
  39. package/dist/index.d.ts +1 -1
  40. package/dist/index.d.ts.map +1 -1
  41. package/dist/index.js +1 -1
  42. package/dist/index.js.map +1 -1
  43. package/dist/loftProfile.d.ts +1 -1
  44. package/dist/loftProfile.d.ts.map +1 -1
  45. package/dist/loftProfile.js.map +1 -1
  46. package/dist/meshEdgeProjection.d.ts +104 -0
  47. package/dist/meshEdgeProjection.d.ts.map +1 -0
  48. package/dist/meshEdgeProjection.js +439 -0
  49. package/dist/meshEdgeProjection.js.map +1 -0
  50. package/dist/meshImport.d.ts.map +1 -1
  51. package/dist/meshImport.js +2 -20
  52. package/dist/meshImport.js.map +1 -1
  53. package/dist/meshMassProperties.d.ts +92 -0
  54. package/dist/meshMassProperties.d.ts.map +1 -0
  55. package/dist/meshMassProperties.js +570 -0
  56. package/dist/meshMassProperties.js.map +1 -0
  57. package/dist/meshSection.d.ts +44 -0
  58. package/dist/meshSection.d.ts.map +1 -0
  59. package/dist/meshSection.js +154 -0
  60. package/dist/meshSection.js.map +1 -0
  61. package/dist/meshShellOverlap.d.ts +75 -0
  62. package/dist/meshShellOverlap.d.ts.map +1 -0
  63. package/dist/meshShellOverlap.js +797 -0
  64. package/dist/meshShellOverlap.js.map +1 -0
  65. package/dist/meshShellSolids.d.ts +44 -0
  66. package/dist/meshShellSolids.d.ts.map +1 -0
  67. package/dist/meshShellSolids.js +116 -0
  68. package/dist/meshShellSolids.js.map +1 -0
  69. package/dist/nodeSvgDomParser.d.ts +3 -0
  70. package/dist/nodeSvgDomParser.d.ts.map +1 -0
  71. package/dist/nodeSvgDomParser.js +53 -0
  72. package/dist/nodeSvgDomParser.js.map +1 -0
  73. package/dist/parametricRecompute.d.ts.map +1 -1
  74. package/dist/parametricRecompute.js +63 -10
  75. package/dist/parametricRecompute.js.map +1 -1
  76. package/dist/placementWorkplane.d.ts.map +1 -1
  77. package/dist/placementWorkplane.js.map +1 -1
  78. package/dist/projectAssets.d.ts +1 -1
  79. package/dist/projectStore.d.ts +1 -1
  80. package/dist/projectStore.d.ts.map +1 -1
  81. package/dist/projectStore.js +23 -2
  82. package/dist/projectStore.js.map +1 -1
  83. package/dist/revolveRequests.d.ts +57 -1
  84. package/dist/revolveRequests.d.ts.map +1 -1
  85. package/dist/revolveRequests.js +103 -4
  86. package/dist/revolveRequests.js.map +1 -1
  87. package/dist/sceneExport.d.ts +6 -0
  88. package/dist/sceneExport.d.ts.map +1 -1
  89. package/dist/sceneExport.js +6 -2
  90. package/dist/sceneExport.js.map +1 -1
  91. package/dist/serverCadInterference.d.ts +8 -45
  92. package/dist/serverCadInterference.d.ts.map +1 -1
  93. package/dist/serverCadInterference.js +21 -43
  94. package/dist/serverCadInterference.js.map +1 -1
  95. package/dist/serverCadOperations.d.ts +73 -4
  96. package/dist/serverCadOperations.d.ts.map +1 -1
  97. package/dist/serverCadOperations.js +356 -71
  98. package/dist/serverCadOperations.js.map +1 -1
  99. package/dist/serverCadProjection.d.ts +14 -1
  100. package/dist/serverCadProjection.d.ts.map +1 -1
  101. package/dist/serverCadProjection.js +135 -13
  102. package/dist/serverCadProjection.js.map +1 -1
  103. package/dist/serverCadProperties.d.ts +14 -7
  104. package/dist/serverCadProperties.d.ts.map +1 -1
  105. package/dist/serverCadProperties.js +60 -24
  106. package/dist/serverCadProperties.js.map +1 -1
  107. package/dist/serverCadSection.d.ts +21 -1
  108. package/dist/serverCadSection.d.ts.map +1 -1
  109. package/dist/serverCadSection.js +157 -43
  110. package/dist/serverCadSection.js.map +1 -1
  111. package/dist/serverCadShell.d.ts +7 -94
  112. package/dist/serverCadShell.d.ts.map +1 -1
  113. package/dist/serverCadShell.js +25 -272
  114. package/dist/serverCadShell.js.map +1 -1
  115. package/dist/serverCadThickness.d.ts +8 -8
  116. package/dist/serverCadThickness.d.ts.map +1 -1
  117. package/dist/serverCadThickness.js +15 -42
  118. package/dist/serverCadThickness.js.map +1 -1
  119. package/dist/serverShapeBooleans.d.ts +75 -0
  120. package/dist/serverShapeBooleans.d.ts.map +1 -1
  121. package/dist/serverShapeBooleans.js +251 -9
  122. package/dist/serverShapeBooleans.js.map +1 -1
  123. package/dist/serverShapeGroups.js.map +1 -1
  124. package/dist/serverStepExplode.d.ts +1 -2
  125. package/dist/serverStepExplode.d.ts.map +1 -1
  126. package/dist/serverStepExplode.js +15 -148
  127. package/dist/serverStepExplode.js.map +1 -1
  128. package/dist/shapeBounds.d.ts.map +1 -1
  129. package/dist/shapeCatalog.d.ts.map +1 -1
  130. package/dist/shapeCatalog.js +1 -0
  131. package/dist/shapeCatalog.js.map +1 -1
  132. package/dist/shapeRequests.d.ts +13 -0
  133. package/dist/shapeRequests.d.ts.map +1 -1
  134. package/dist/shapeRequests.js +14 -0
  135. package/dist/shapeRequests.js.map +1 -1
  136. package/dist/sketchCadProfile.d.ts +13 -0
  137. package/dist/sketchCadProfile.d.ts.map +1 -1
  138. package/dist/sketchCadProfile.js +108 -0
  139. package/dist/sketchCadProfile.js.map +1 -1
  140. package/dist/sketchCadSweep.js.map +1 -1
  141. package/dist/sketchEdgeSegmentLineage.d.ts +32 -0
  142. package/dist/sketchEdgeSegmentLineage.d.ts.map +1 -0
  143. package/dist/sketchEdgeSegmentLineage.js +49 -0
  144. package/dist/sketchEdgeSegmentLineage.js.map +1 -0
  145. package/dist/sketchEdgeSegmentLineageKernel.d.ts +83 -0
  146. package/dist/sketchEdgeSegmentLineageKernel.d.ts.map +1 -0
  147. package/dist/sketchEdgeSegmentLineageKernel.js +125 -0
  148. package/dist/sketchEdgeSegmentLineageKernel.js.map +1 -0
  149. package/dist/sketchFaceDraftKernel.d.ts +16 -9
  150. package/dist/sketchFaceDraftKernel.d.ts.map +1 -1
  151. package/dist/sketchFaceDraftKernel.js +19 -11
  152. package/dist/sketchFaceDraftKernel.js.map +1 -1
  153. package/dist/sketchRevolve.d.ts +13 -0
  154. package/dist/sketchRevolve.d.ts.map +1 -1
  155. package/dist/sketchRevolve.js +4 -1
  156. package/dist/sketchRevolve.js.map +1 -1
  157. package/dist/skfProject.d.ts +1 -1
  158. package/dist/skfProject.d.ts.map +1 -1
  159. package/dist/skfProject.js +63 -4
  160. package/dist/skfProject.js.map +1 -1
  161. package/dist/sphereTessellation.d.ts.map +1 -1
  162. package/dist/stepAssemblyExplode.d.ts +45 -0
  163. package/dist/stepAssemblyExplode.d.ts.map +1 -0
  164. package/dist/stepAssemblyExplode.js +195 -0
  165. package/dist/stepAssemblyExplode.js.map +1 -0
  166. package/dist/stepAssemblyHierarchy.js.map +1 -1
  167. package/dist/stepComponentMetadata.d.ts +1 -1
  168. package/dist/stepComponentMetadata.d.ts.map +1 -1
  169. package/dist/stepComponentMetadata.js +93 -39
  170. package/dist/stepComponentMetadata.js.map +1 -1
  171. package/dist/stepExport.d.ts +14 -1
  172. package/dist/stepExport.d.ts.map +1 -1
  173. package/dist/stepExport.js +81 -32
  174. package/dist/stepExport.js.map +1 -1
  175. package/dist/stepImportCommon.d.ts +4 -1
  176. package/dist/stepImportCommon.d.ts.map +1 -1
  177. package/dist/stepImportCommon.js +7 -6
  178. package/dist/stepImportCommon.js.map +1 -1
  179. package/dist/stlImport.js.map +1 -1
  180. package/dist/support/cadModifierTypes.d.ts +100 -1
  181. package/dist/support/cadModifierTypes.d.ts.map +1 -1
  182. package/dist/support/i18n/LocalizedError.d.ts.map +1 -1
  183. package/dist/support/i18n/locales/en/messages.json +42 -2
  184. package/dist/support/i18n/locales.d.ts.map +1 -1
  185. package/dist/support/lib/appTheme.d.ts.map +1 -1
  186. package/dist/support/lib/materialPresets.js.map +1 -1
  187. package/dist/support/lib/measurementUnits.d.ts.map +1 -1
  188. package/dist/support/lib/operator-configuration.json +13 -1
  189. package/dist/support/lib/operatorConfiguration.d.ts +5 -5
  190. package/dist/support/lib/workplaneGrid.js.map +1 -1
  191. package/dist/svgImport.d.ts +2 -0
  192. package/dist/svgImport.d.ts.map +1 -1
  193. package/dist/svgImport.js +7 -0
  194. package/dist/svgImport.js.map +1 -1
  195. package/dist/threadCatalog.js.map +1 -1
  196. package/dist/workplaneSettings.js.map +1 -1
  197. package/dist/workplaneShapes.d.ts +2 -2
  198. package/dist/workplaneShapes.d.ts.map +1 -1
  199. package/dist/workplaneShapes.js.map +1 -1
  200. package/package.json +7 -6
@@ -0,0 +1 @@
1
+ {"version":3,"file":"meshShellOverlap.js","sourceRoot":"","sources":["../src/meshShellOverlap.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * A solid from a mesh made of several closed shells (#501, #527).
3
+ *
4
+ * OCCT sews one shell into one solid. A watertight mesh with a sealed internal
5
+ * void -- a float, a pressure vessel, a group that sealed a hole inside a solid
6
+ * -- or with several separate bodies has more than one shell, and sewing all of
7
+ * its triangles at once gets a shell inside a shell that no one solid can be
8
+ * made of. So each shell is sewn on its own and the solids are put back
9
+ * together by nesting.
10
+ *
11
+ * Shared by the server's exact paths and the editor's CAD modifier worker, so
12
+ * the two agree on which meshes are solids. Each brings its own sewing, since
13
+ * the worker heals what it sews and the server does not, and each words the
14
+ * refusal for its own audience from the `reason` here.
15
+ */
16
+ import type { OcctKernel, ShapeHandle } from "occt-wasm";
17
+ import type { MeshData } from "./meshTransform.js";
18
+ /**
19
+ * Why several shells made no solid: the kernel's assembly was not a valid
20
+ * solid, or the shells overlap without nesting so no reading of them is right.
21
+ */
22
+ export type MeshShellSolidFailure = "not-solid" | "shells-overlap";
23
+ export declare class MeshShellSolidError extends Error {
24
+ readonly reason: MeshShellSolidFailure;
25
+ constructor(reason: MeshShellSolidFailure);
26
+ }
27
+ /**
28
+ * How far, as a fraction of all the shells' volume together, the assembled
29
+ * solid may stray from the mesh's own. Sewing a tessellated curve may move it
30
+ * by up to the loosest sewing tolerance; an overlap misread as a void moves it
31
+ * by the overlap itself or more.
32
+ */
33
+ export declare const SHELL_VOLUME_TOLERANCE = 0.001;
34
+ /** A mesh of indexed triangles, as the editor holds one, in the form the shell analysis reads. */
35
+ export declare function meshDataFromIndexed(positions: ArrayLike<number>, indices: ArrayLike<number>): MeshData;
36
+ /**
37
+ * The solid a mesh of several closed shells bounds, or `null` when it is one
38
+ * shell (or not closed at all) and the caller should sew it whole as before.
39
+ *
40
+ * `sewShell` turns one shell's flat triangle corners into a solid, throwing
41
+ * whatever its caller throws for a shell that will not close.
42
+ */
43
+ export declare function nestedMeshShellSolid(cad: OcctKernel, mesh: MeshData, sewShell: (positions: number[]) => ShapeHandle): ShapeHandle | null;
44
+ //# sourceMappingURL=meshShellSolids.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"meshShellSolids.d.ts","sourceRoot":"","sources":["../src/meshShellSolids.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAGzD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD;;;GAGG;AACH,MAAM,MAAM,qBAAqB,GAAG,WAAW,GAAG,gBAAgB,CAAC;AAEnE,qBAAa,mBAAoB,SAAQ,KAAK;IAC5C,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAC;IACvC,YAAY,MAAM,EAAE,qBAAqB,EAMxC;CACF;AAED;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,QAAO,CAAC;AAE3C,kGAAkG;AAClG,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,GAAG,QAAQ,CAUtG;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,UAAU,EACf,IAAI,EAAE,QAAQ,EACd,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,WAAW,GAC7C,WAAW,GAAG,IAAI,CAWpB"}
@@ -0,0 +1,116 @@
1
+ /**
2
+ * A solid from a mesh made of several closed shells (#501, #527).
3
+ *
4
+ * OCCT sews one shell into one solid. A watertight mesh with a sealed internal
5
+ * void -- a float, a pressure vessel, a group that sealed a hole inside a solid
6
+ * -- or with several separate bodies has more than one shell, and sewing all of
7
+ * its triangles at once gets a shell inside a shell that no one solid can be
8
+ * made of. So each shell is sewn on its own and the solids are put back
9
+ * together by nesting.
10
+ *
11
+ * Shared by the server's exact paths and the editor's CAD modifier worker, so
12
+ * the two agree on which meshes are solids. Each brings its own sewing, since
13
+ * the worker heals what it sews and the server does not, and each words the
14
+ * refusal for its own audience from the `reason` here.
15
+ */
16
+ import { meshSolidShells } from "./meshMassProperties.js";
17
+ import { MeshShellsOverlapError } from "./meshShellOverlap.js";
18
+ export class MeshShellSolidError extends Error {
19
+ reason;
20
+ constructor(reason) {
21
+ super(reason === "shells-overlap"
22
+ ? "The mesh has closed bodies that overlap without one enclosing the other."
23
+ : "The mesh's closed shells did not assemble into a valid solid.");
24
+ this.name = "MeshShellSolidError";
25
+ this.reason = reason;
26
+ }
27
+ }
28
+ /**
29
+ * How far, as a fraction of all the shells' volume together, the assembled
30
+ * solid may stray from the mesh's own. Sewing a tessellated curve may move it
31
+ * by up to the loosest sewing tolerance; an overlap misread as a void moves it
32
+ * by the overlap itself or more.
33
+ */
34
+ export const SHELL_VOLUME_TOLERANCE = 1e-3;
35
+ /** A mesh of indexed triangles, as the editor holds one, in the form the shell analysis reads. */
36
+ export function meshDataFromIndexed(positions, indices) {
37
+ const vertices = [];
38
+ for (let index = 0; index + 2 < positions.length; index += 3) {
39
+ vertices.push([positions[index], positions[index + 1], positions[index + 2]]);
40
+ }
41
+ const faces = [];
42
+ for (let index = 0; index + 2 < indices.length; index += 3) {
43
+ faces.push([indices[index], indices[index + 1], indices[index + 2]]);
44
+ }
45
+ return { name: "mesh", vertices, faces };
46
+ }
47
+ /**
48
+ * The solid a mesh of several closed shells bounds, or `null` when it is one
49
+ * shell (or not closed at all) and the caller should sew it whole as before.
50
+ *
51
+ * `sewShell` turns one shell's flat triangle corners into a solid, throwing
52
+ * whatever its caller throws for a shell that will not close.
53
+ */
54
+ export function nestedMeshShellSolid(cad, mesh, sewShell) {
55
+ let shells;
56
+ try {
57
+ shells = meshSolidShells(mesh);
58
+ }
59
+ catch (error) {
60
+ // Bodies that overlap without nesting are found from the triangles (#529), before any sewing.
61
+ if (error instanceof MeshShellsOverlapError)
62
+ throw new MeshShellSolidError("shells-overlap");
63
+ throw error;
64
+ }
65
+ if (!shells || shells.length <= 1)
66
+ return null;
67
+ return solidFromMeshShells(cad, shells, sewShell);
68
+ }
69
+ function isValidShape(cad, shape) {
70
+ try {
71
+ return Boolean(cad.isValid(shape));
72
+ }
73
+ catch {
74
+ return false;
75
+ }
76
+ }
77
+ /**
78
+ * Depth by depth from the outside in: the outermost bodies fused, each layer of
79
+ * voids cut out of what encloses it, each body floating in a void fused back.
80
+ * A shell at depth d lies inside one at depth d - 1, so every step only ever
81
+ * works inside the region the step before it settled.
82
+ *
83
+ * Depth assumes the shells nest. Separate bodies that overlap without one
84
+ * enclosing the other -- common in an imported STL nobody unioned -- break
85
+ * that: a body poking into another reads as its void, and the assembly is
86
+ * quietly the wrong solid. `meshSolidShells` refuses those from the triangles
87
+ * before anything is sewn (#529); the mesh's own signed volume stays as the
88
+ * last check: a correctly read nesting assembles to exactly it, so a solid that
89
+ * does not is refused rather than returned.
90
+ */
91
+ function solidFromMeshShells(cad, shells, sewShell) {
92
+ const byDepth = new Map();
93
+ for (const shell of shells) {
94
+ const solid = sewShell(shell.positions);
95
+ byDepth.set(shell.depth, [...(byDepth.get(shell.depth) ?? []), solid]);
96
+ }
97
+ const deepest = Math.max(...byDepth.keys());
98
+ const union = (solids) => (solids.length === 1 ? solids[0] : cad.fuseAll(solids));
99
+ let result = union(byDepth.get(0) ?? []);
100
+ for (let depth = 1; depth <= deepest; depth += 1) {
101
+ const layer = byDepth.get(depth);
102
+ if (!layer?.length)
103
+ continue;
104
+ result = depth % 2 === 1 ? cad.cut(result, union(layer)) : cad.fuse(result, union(layer));
105
+ }
106
+ const solids = cad.getSubShapes(result, "solid");
107
+ if (solids.length === 0 || !isValidShape(cad, result))
108
+ throw new MeshShellSolidError("not-solid");
109
+ const meshVolume = shells.reduce((sum, shell) => sum + shell.volume, 0);
110
+ const scale = shells.reduce((sum, shell) => sum + Math.abs(shell.volume), 0);
111
+ if (!(meshVolume > 0) || Math.abs(cad.getVolume(result) - meshVolume) > SHELL_VOLUME_TOLERANCE * scale) {
112
+ throw new MeshShellSolidError("shells-overlap");
113
+ }
114
+ return solids.length === 1 ? solids[0] : result;
115
+ }
116
+ //# sourceMappingURL=meshShellSolids.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"meshShellSolids.js","sourceRoot":"","sources":["../src/meshShellSolids.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ /** Keep the fallback parser local to one synchronous SVGLoader parse call. */
2
+ export declare function withNodeSvgDomParser<T>(parse: () => T): T;
3
+ //# sourceMappingURL=nodeSvgDomParser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nodeSvgDomParser.d.ts","sourceRoot":"","sources":["../src/nodeSvgDomParser.ts"],"names":[],"mappings":"AA0CA,8EAA8E;AAC9E,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,CAWzD"}
@@ -0,0 +1,53 @@
1
+ import { DOMParser as XmlDomParser } from "@xmldom/xmldom";
2
+ function descendantsMatching(root, selector) {
3
+ const names = new Set(selector.split(",").map((name) => name.trim()).filter(Boolean));
4
+ const matches = [];
5
+ const visit = (parent) => {
6
+ for (const child of Array.from(parent.childNodes ?? [])) {
7
+ if (child.nodeType === 1) {
8
+ const element = child;
9
+ const name = element.localName || element.nodeName.split(":").at(-1) || "";
10
+ if (names.has(name))
11
+ matches.push(element);
12
+ }
13
+ visit(child);
14
+ }
15
+ };
16
+ visit(root);
17
+ return matches;
18
+ }
19
+ /** Add the two simple tag selectors used by three's SVGLoader to an XML tree. */
20
+ function addSvgSelectors(node) {
21
+ const target = node;
22
+ Object.defineProperties(target, {
23
+ querySelectorAll: { configurable: true, value: (selector) => descendantsMatching(node, selector) },
24
+ querySelector: { configurable: true, value: (selector) => descendantsMatching(node, selector)[0] ?? null },
25
+ });
26
+ for (const child of Array.from(node.childNodes ?? []))
27
+ addSvgSelectors(child);
28
+ }
29
+ class NodeDOMParser extends XmlDomParser {
30
+ parseFromString(source, mimeType) {
31
+ const document = super.parseFromString(source, mimeType);
32
+ addSvgSelectors(document);
33
+ return document;
34
+ }
35
+ }
36
+ /** Keep the fallback parser local to one synchronous SVGLoader parse call. */
37
+ export function withNodeSvgDomParser(parse) {
38
+ if (typeof globalThis.DOMParser !== "undefined")
39
+ return parse();
40
+ const globalWithParser = globalThis;
41
+ const previous = globalWithParser.DOMParser;
42
+ globalWithParser.DOMParser = NodeDOMParser;
43
+ try {
44
+ return parse();
45
+ }
46
+ finally {
47
+ if (previous)
48
+ globalWithParser.DOMParser = previous;
49
+ else
50
+ delete globalWithParser.DOMParser;
51
+ }
52
+ }
53
+ //# sourceMappingURL=nodeSvgDomParser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nodeSvgDomParser.js","sourceRoot":"","sources":["../src/nodeSvgDomParser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAO3D,SAAS,mBAAmB,CAAC,IAAU,EAAE,QAAgB;IACvD,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IACtF,MAAM,OAAO,GAAc,EAAE,CAAC;IAC9B,MAAM,KAAK,GAAG,CAAC,MAAY,EAAE,EAAE;QAC7B,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,EAAE,CAAC;YACxD,IAAI,KAAK,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;gBACzB,MAAM,OAAO,GAAG,KAAgB,CAAC;gBACjC,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC3E,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;oBAAE,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC7C,CAAC;YACD,KAAK,CAAC,KAAK,CAAC,CAAC;QACf,CAAC;IACH,CAAC,CAAC;IACF,KAAK,CAAC,IAAI,CAAC,CAAC;IACZ,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,iFAAiF;AACjF,SAAS,eAAe,CAAC,IAAU;IACjC,MAAM,MAAM,GAAG,IAA4B,CAAC;IAC5C,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE;QAC9B,gBAAgB,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,QAAgB,EAAE,EAAE,CAAC,mBAAmB,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE;QAC1G,aAAa,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,QAAgB,EAAE,EAAE,CAAC,mBAAmB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE;KACnH,CAAC,CAAC;IACH,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC;QAAE,eAAe,CAAC,KAAK,CAAC,CAAC;AAChF,CAAC;AAED,MAAM,aAAc,SAAQ,YAAY;IAC7B,eAAe,CAAC,MAAc,EAAE,QAAiB;QACxD,MAAM,QAAQ,GAAG,KAAK,CAAC,eAAe,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACzD,eAAe,CAAC,QAAQ,CAAC,CAAC;QAC1B,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF;AAED,8EAA8E;AAC9E,MAAM,UAAU,oBAAoB,CAAI,KAAc;IACpD,IAAI,OAAO,UAAU,CAAC,SAAS,KAAK,WAAW;QAAE,OAAO,KAAK,EAAE,CAAC;IAChE,MAAM,gBAAgB,GAAG,UAAyD,CAAC;IACnF,MAAM,QAAQ,GAAG,gBAAgB,CAAC,SAAS,CAAC;IAC5C,gBAAgB,CAAC,SAAS,GAAG,aAAiC,CAAC;IAC/D,IAAI,CAAC;QACH,OAAO,KAAK,EAAE,CAAC;IACjB,CAAC;YAAS,CAAC;QACT,IAAI,QAAQ;YAAE,gBAAgB,CAAC,SAAS,GAAG,QAAQ,CAAC;;YAC/C,OAAO,gBAAgB,CAAC,SAAS,CAAC;IACzC,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"parametricRecompute.d.ts","sourceRoot":"","sources":["../src/parametricRecompute.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,yBAAyB,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAEzF,MAAM,MAAM,mBAAmB,GAC3B;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,cAAc,EAAE,CAAC;IAAC,OAAO,EAAE,cAAc,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GACnF;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,kBAAkB,GAAG,oBAAoB,GAAG,sBAAsB,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEhH,wFAAwF;AACxF,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,cAAc,GAAG,WAAW,CAAC,yBAAyB,CAAC,cAAc,CAAC,CAAC,CAevH;AAED,0HAA0H;AAC1H,wBAAsB,4BAA4B,CAChD,QAAQ,EAAE,cAAc,EACxB,OAAO,EAAE,cAAc,EACvB,eAAe,qBAA2B,GACzC,OAAO,CAAC,cAAc,CAAC,CA+HzB;AAED,wHAAwH;AACxH,wBAAsB,qBAAqB,CACzC,KAAK,EAAE,cAAc,EAAE,EACvB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,cAAc,GAC1B,OAAO,CAAC,mBAAmB,CAAC,CAmF9B;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,cAAc,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,cAAc,EAAE,CAQ5F"}
1
+ {"version":3,"file":"parametricRecompute.d.ts","sourceRoot":"","sources":["../src/parametricRecompute.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAwB,yBAAyB,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE/G,MAAM,MAAM,mBAAmB,GAC3B;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,cAAc,EAAE,CAAC;IAAC,OAAO,EAAE,cAAc,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GACnF;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,kBAAkB,GAAG,oBAAoB,GAAG,sBAAsB,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEhH,wFAAwF;AACxF,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,cAAc,GAAG,WAAW,CAAC,yBAAyB,CAAC,cAAc,CAAC,CAAC,CAevH;AAED,0HAA0H;AAC1H,wBAAsB,4BAA4B,CAChD,QAAQ,EAAE,cAAc,EACxB,OAAO,EAAE,cAAc,EACvB,eAAe,qBAA2B,GACzC,OAAO,CAAC,cAAc,CAAC,CAgIzB;AA0DD,wHAAwH;AACxH,wBAAsB,qBAAqB,CACzC,KAAK,EAAE,cAAc,EAAE,EACvB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,cAAc,GAC1B,OAAO,CAAC,mBAAmB,CAAC,CAmF9B;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,cAAc,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,cAAc,EAAE,CAQ5F"}
@@ -5,6 +5,8 @@ import { allEdgeTreatmentEdgeCount, applyDraftPrism, applyEdgeTreatment, applySk
5
5
  import { shapeFaces } from "./serverCadShell.js";
6
6
  import { cadSketchRegions, cadSketchSweepPaths } from "./sketchCadProfile.js";
7
7
  import { draftFaceForSketchSegment, legacyDraftSegmentForShape } from "./faceDraftSegmentLineage.js";
8
+ import { retainedDraftSourcePlacement } from "./sketchFaceDraftKernel.js";
9
+ import { edgeIndexesForSketchSourceEdges } from "./sketchEdgeSegmentLineage.js";
8
10
  /** Where a treatment was applied, so reverting it later carries any move made since. */
9
11
  export function edgeTreatmentAppliedFrame(shape) {
10
12
  return {
@@ -30,6 +32,9 @@ export async function replaySingleAllEdgeTreatment(original, rebuilt, draftPrism
30
32
  return rebuilt;
31
33
  const feature = features[0];
32
34
  const historyFeature = history[0]?.feature;
35
+ if (feature?.sourceEdges !== undefined || historyFeature?.sourceEdges !== undefined) {
36
+ return replaySelectedEdgeTreatment(original, rebuilt, draftPrismAngle);
37
+ }
33
38
  const revolveSettings = original.sketchRevolve;
34
39
  const supportedFaceDraftRevolve = original.sketchOperation === "revolve"
35
40
  && revolveSettings !== undefined
@@ -62,19 +67,15 @@ export async function replaySingleAllEdgeTreatment(original, rebuilt, draftPrism
62
67
  && historyFeature?.kind === feature?.kind
63
68
  && feature?.allEdges === true
64
69
  && historyFeature.allEdges === true
65
- && supportedFaceDraftTreatmentKind
66
- && (feature.kind !== "chamfer" || Math.abs((feature.chamferAngle ?? 45) - 45) < 0.001)
67
- && (historyFeature.kind !== "chamfer" || Math.abs((historyFeature.chamferAngle ?? 45) - 45) < 0.001);
70
+ && supportedFaceDraftTreatmentKind;
68
71
  if (original.faceDraft !== undefined && !supportedFaceDraftTreatment) {
69
- throw new Error("A face draft can replay one symmetric 45-degree all-edge chamfer or all-edge fillet on a single-loop sketch extrusion, one symmetric 45-degree all-edge chamfer or all-edge fillet on a single-section sketch sweep, or one symmetric all-edge chamfer or all-edge fillet on a plain full-turn revolve.");
72
+ throw new Error("A face draft can replay one all-edge chamfer or all-edge fillet on a single-loop sketch extrusion, one all-edge chamfer or all-edge fillet on a single-section sketch sweep, or one all-edge chamfer or all-edge fillet on a plain full-turn revolve.");
70
73
  }
71
74
  if (features.length !== 1 || history.length !== 1
72
75
  || !feature || !historyFeature
73
76
  || feature.allEdges !== true || historyFeature.allEdges !== true
74
77
  || historyFeature.kind !== feature.kind
75
78
  || historyFeature.amount !== feature.amount
76
- || (feature.kind === "chamfer" && feature.chamferAngle !== undefined && Math.abs(feature.chamferAngle - 45) >= 0.001)
77
- || (historyFeature.kind === "chamfer" && historyFeature.chamferAngle !== undefined && Math.abs(historyFeature.chamferAngle - 45) >= 0.001)
78
79
  || (feature.kind === "chamfer" && historyFeature.chamferAngle !== undefined && feature.chamferAngle !== undefined
79
80
  && Math.abs(historyFeature.chamferAngle - feature.chamferAngle) >= 0.001)) {
80
81
  throw new Error("This source edit cannot safely replay its selected-edge treatments.");
@@ -123,11 +124,13 @@ export async function replaySingleAllEdgeTreatment(original, rebuilt, draftPrism
123
124
  ? segmentMatch
124
125
  : undefined;
125
126
  const faceDraft = original.faceDraft;
127
+ const drafted = shapeWithCadResult(treatmentSource, await applySketchFaceDraft(treatmentSource, {
128
+ ...faceDraft,
129
+ sourceFaceId: matchedFace.id,
130
+ }));
126
131
  treatmentSource = {
127
- ...shapeWithCadResult(treatmentSource, await applySketchFaceDraft(treatmentSource, {
128
- ...faceDraft,
129
- sourceFaceId: matchedFace.id,
130
- })),
132
+ ...drafted,
133
+ ...retainedDraftSourcePlacement(treatmentSource, drafted.cadBrepFrame, treatmentSource.cadBrepFrame),
131
134
  faceDraft: useSegmentLineage
132
135
  ? { ...faceDraft, sourceFaceId: matchedFace.id, sourceFaceNormal: sourceNormal }
133
136
  : faceDraft,
@@ -154,6 +157,56 @@ export async function replaySingleAllEdgeTreatment(original, rebuilt, draftPrism
154
157
  edgeTreatmentHistory: [{ ...entry, feature: replayedFeature, before, appliedFrame: edgeTreatmentAppliedFrame(treated) }],
155
158
  };
156
159
  }
160
+ function sameSelectedEdgeFeature(left, right) {
161
+ return left.kind === right.kind
162
+ && left.amount === right.amount
163
+ && left.allEdges === undefined && right.allEdges === undefined
164
+ && (left.kind !== "chamfer" || Math.abs((left.chamferAngle ?? 45) - (right.chamferAngle ?? 45)) < 0.001)
165
+ && JSON.stringify(left.sourceEdges) === JSON.stringify(right.sourceEdges);
166
+ }
167
+ /**
168
+ * Replay one selected-edge fillet or chamfer by its sketch lineage (#350).
169
+ *
170
+ * Each recorded (segment, cap) must name exactly one edge of the rebuilt bare
171
+ * extrusion; a segment the edit removed, or one that now names no edge or two,
172
+ * fails the whole edit before anything is written. The rebuilt indexes are
173
+ * used for this one treatment and not stored.
174
+ */
175
+ async function replaySelectedEdgeTreatment(original, rebuilt, draftPrismAngle) {
176
+ const features = original.edgeTreatments ?? [];
177
+ const history = original.edgeTreatmentHistory ?? [];
178
+ const feature = features[0];
179
+ const entry = history[0];
180
+ const distinct = new Set(feature?.sourceEdges?.map((edge) => `${edge.cap}:${edge.segmentId}`) ?? []);
181
+ if (features.length !== 1 || history.length !== 1 || !feature?.sourceEdges?.length || !entry
182
+ || distinct.size !== feature.sourceEdges.length
183
+ || !sameSelectedEdgeFeature(feature, entry.feature)
184
+ || original.sketchOperation !== "extrude" || original.faceDraft !== undefined
185
+ || original.draftPrismAngle !== undefined || draftPrismAngle !== undefined) {
186
+ throw new Error("Selected-edge lineage replays exactly one selected-edge fillet or chamfer on an undrafted sketch extrusion.");
187
+ }
188
+ const found = await edgeIndexesForSketchSourceEdges(rebuilt, feature.sourceEdges);
189
+ if (found.status === "unsupported") {
190
+ throw new Error(`The selected ${feature.kind} edges on sketch segment${feature.sourceEdges.length === 1 ? "" : "s"} ${[...new Set(feature.sourceEdges.map((edge) => edge.segmentId))].join(", ")} cannot be replayed: the edited sketch is outside selected-edge lineage, which needs one straight-line region without holes, unmirrored and undrafted.`);
191
+ }
192
+ if (found.status !== "matched") {
193
+ throw new Error(`The selected ${feature.kind} edge on sketch segment ${found.sourceEdge.segmentId} (${found.sourceEdge.cap} cap) is ${found.status} after the sketch edit.`);
194
+ }
195
+ const result = await applyEdgeTreatment(rebuilt, {
196
+ kind: feature.kind,
197
+ amount: feature.amount,
198
+ ...(feature.kind === "chamfer" ? { angle: feature.chamferAngle ?? 45 } : {}),
199
+ edges: found.edges,
200
+ });
201
+ const treated = shapeWithCadResult(rebuilt, result);
202
+ const replayedFeature = { ...feature, edgeCount: found.edges.length };
203
+ const { edgeTreatmentHistory: _ownHistory, ...before } = rebuilt;
204
+ return {
205
+ ...treated,
206
+ edgeTreatments: [replayedFeature],
207
+ edgeTreatmentHistory: [{ ...entry, feature: replayedFeature, before: structuredClone(before), appliedFrame: edgeTreatmentAppliedFrame(treated) }],
208
+ };
209
+ }
157
210
  /** Find a retained sketch output anywhere in the feature tree, replace it, then rebuild boolean ancestors bottom-up. */
158
211
  export async function recomputeSketchOutput(roots, sourceId, replacement) {
159
212
  let matchCount = 0;
@@ -1 +1 @@
1
- {"version":3,"file":"parametricRecompute.js","sourceRoot":"","sources":["../src/parametricRecompute.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parametricRecompute.js","sourceRoot":"","sources":["../src/parametricRecompute.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"placementWorkplane.d.ts","sourceRoot":"","sources":["../src/placementWorkplane.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE9D,MAAM,MAAM,cAAc,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjE,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,EAAE,cAAc,CAAC;IACvB,MAAM,EAAE,cAAc,CAAC;IACvB,KAAK,EAAE,cAAc,CAAC;IACtB,KAAK,EAAE,cAAc,CAAC;CACvB,CAAC;AA8BF,wBAAgB,4BAA4B,CAAC,SAAS,SAAI,GAAG,kBAAkB,CAO9E;AAmBD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,OAAO,EAAE,iBAAiB,SAAI,GAAG,kBAAkB,CAmBrG;AAED,wBAAgB,6BAA6B,CAAC,SAAS,EAAE,kBAAkB,UAO1E;AAED,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,cAAc,EACtB,aAAa,EAAE,cAAc,EAC7B,WAAW,EAAE,cAAc,EAC3B,OAAO,UAAQ,GACd,kBAAkB,CAyBpB;AAED,wBAAgB,4BAA4B,CAC1C,SAAS,EAAE,kBAAkB,EAC7B,IAAI,EAAE,MAAM,EACZ,eAAe,GAAE,cAAqC,GACrD,kBAAkB,CAqBpB;AAED,wBAAgB,4BAA4B,CAAC,SAAS,EAAE,kBAAkB,oBAOzE;AAED,wBAAgB,6BAA6B,CAAC,SAAS,EAAE,kBAAkB,EAAE,UAAU,EAAE,cAAc;;;;EAOtG;AAED,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,kBAAkB,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,cAAc,CAK3G;AAED,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC,EACrC,SAAS,EAAE,kBAAkB,EAC7B,SAAS,GAAE,cAAiC,GAC3C,IAAI,CAAC,cAAc,EAAE,GAAG,GAAG,GAAG,GAAG,WAAW,GAAG,UAAU,GAAG,WAAW,GAAG,WAAW,CAAC,CAYxF;AAED,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,kBAAkB,EAC7B,aAAa,EAAE,cAAc,EAAE,GAC9B,cAAc,CAUhB;AAED,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,kBAAkB,WASrE"}
1
+ {"version":3,"file":"placementWorkplane.d.ts","sourceRoot":"","sources":["../src/placementWorkplane.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE9D,MAAM,MAAM,cAAc,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjE,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,EAAE,cAAc,CAAC;IACvB,MAAM,EAAE,cAAc,CAAC;IACvB,KAAK,EAAE,cAAc,CAAC;IACtB,KAAK,EAAE,cAAc,CAAC;CACvB,CAAC;AA8BF,wBAAgB,4BAA4B,CAAC,SAAS,SAAI,GAAG,kBAAkB,CAO9E;AAmBD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,OAAO,EAAE,iBAAiB,SAAI,GAAG,kBAAkB,CAmBrG;AAED,wBAAgB,6BAA6B,CAAC,SAAS,EAAE,kBAAkB,UAO1E;AAED,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,cAAc,EACtB,aAAa,EAAE,cAAc,EAC7B,WAAW,EAAE,cAAc,EAC3B,OAAO,UAAQ,GACd,kBAAkB,CAyBpB;AAED,wBAAgB,4BAA4B,CAC1C,SAAS,EAAE,kBAAkB,EAC7B,IAAI,EAAE,MAAM,EACZ,eAAe,GAAE,cAAqC,GACrD,kBAAkB,CAqBpB;AAED,wBAAgB,4BAA4B,CAAC,SAAS,EAAE,kBAAkB,oBAOzE;AAED,wBAAgB,6BAA6B,CAAC,SAAS,EAAE,kBAAkB,EAAE,UAAU,EAAE,cAAc;IAGnG,CAAC;IACD,CAAC;IACD,CAAC;EAEJ;AAED,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,kBAAkB,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,cAAc,CAK3G;AAED,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC,EACrC,SAAS,EAAE,kBAAkB,EAC7B,SAAS,GAAE,cAAiC,GAC3C,IAAI,CAAC,cAAc,EAAE,GAAG,GAAG,GAAG,GAAG,WAAW,GAAG,UAAU,GAAG,WAAW,GAAG,WAAW,CAAC,CAYxF;AAED,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,kBAAkB,EAC7B,aAAa,EAAE,cAAc,EAAE,GAC9B,cAAc,CAUhB;AAED,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,kBAAkB,WASrE"}
@@ -1 +1 @@
1
- {"version":3,"file":"placementWorkplane.js","sourceRoot":"","sources":["../src/placementWorkplane.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAY/B,MAAM,OAAO,GAAG,IAAI,CAAC;AAErB,SAAS,MAAM,CAAC,KAAqB;IACnC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,KAAK,CAAC,KAAoB;IACjC,OAAO;QACL,CAAC,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;KAC/B,CAAC;AACJ,CAAC;AAED,SAAS,KAAK,CAAC,KAAa;IAC1B,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IACzC,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;AAChD,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACrD,MAAM,SAAS,GAAG,KAAgC,CAAC;IACnD,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,OAAO,UAAU,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;QAClI,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,EAAE,CAAC,EAAE,SAAS,CAAC,CAAW,EAAE,CAAC,EAAE,SAAS,CAAC,CAAW,EAAE,CAAC,EAAE,SAAS,CAAC,CAAW,EAAE,CAAC;AAC1F,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,SAAS,GAAG,CAAC;IACxD,OAAO;QACL,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;QACrE,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;QAC5B,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;QAC3B,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;KAC5B,CAAC;AACJ,CAAC;AAED,iFAAiF;AACjF,MAAM,aAAa,GAAG,IAAI,CAAC;AAE3B;;;GAGG;AACH,SAAS,YAAY,CAAC,MAAsB,EAAE,KAAqB,EAAE,KAA4B;IAC/F,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IACzB,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IACzB,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACxB,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,GAAG,aAAa;QAAE,OAAO,KAAK,CAAC;IAC7D,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,GAAG,aAAa;QAAE,OAAO,KAAK,CAAC;IAC7D,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,aAAa;QAAE,OAAO,KAAK,CAAC;IACrD,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,aAAa,CAAC;AAC7E,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,2BAA2B,CAAC,KAAc,EAAE,iBAAiB,GAAG,CAAC;IAC/E,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,4BAA4B,CAAC,iBAAiB,CAAC,CAAC;IAChG,MAAM,SAAS,GAAG,KAAoC,CAAC;IACvD,MAAM,MAAM,GAAG,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAC7C,MAAM,KAAK,GAAG,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC3C,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,GAAG,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,GAAG,OAAO,EAAE,CAAC;QAC9G,OAAO,4BAA4B,CAAC,iBAAiB,CAAC,CAAC;IACzD,CAAC;IACD,MAAM,KAAK,GAAG,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC3C,IAAI,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC;QACvC,OAAO;YACL,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE;YACjD,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE;YACjD,KAAK,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE;YAC7C,KAAK,EAAE,EAAE,CAAC,EAAE,KAAM,CAAC,CAAC,EAAE,CAAC,EAAE,KAAM,CAAC,CAAC,EAAE,CAAC,EAAE,KAAM,CAAC,CAAC,EAAE;SACjD,CAAC;IACJ,CAAC;IACD,OAAO,6BAA6B,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,SAA6B;IACzE,OAAO;QACL,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;QAC1D,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;QAC1D,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;QACvD,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;KACxD,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,6BAA6B,CAC3C,MAAsB,EACtB,aAA6B,EAC7B,WAA2B,EAC3B,OAAO,GAAG,KAAK;IAEf,MAAM,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC,SAAS,EAAE,CAAC;IACjD,IAAI,OAAO;QAAE,MAAM,CAAC,MAAM,EAAE,CAAC;IAE7B,IAAI,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IACvD,IAAI,KAAK,CAAC,QAAQ,EAAE,GAAG,OAAO,EAAE,CAAC;QAC/B,MAAM,UAAU,GAAG;YACjB,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAC1B,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAC1B,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;SAC3B,CAAC;QACF,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE;YAC5C,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YAC3D,OAAO,SAAS,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;QACnE,CAAC,EAAE,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IAC1B,CAAC;IACD,KAAK,CAAC,SAAS,EAAE,CAAC;IAClB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,CAAC;IAEtD,OAAO;QACL,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE;QACjD,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC;QACrB,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC;QACnB,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC;KACpB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC1C,SAA6B,EAC7B,IAAY,EACZ,kBAAkC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;IAEtD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC;IAE1D,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACxC,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACtC,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACtC,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACxC,MAAM,SAAS,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;IAC1C,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,eAAe,CAC9C,MAAM,EACN,MAAM,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAC1C,CAAC;IACF,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1C,MAAM,aAAa,GAAG,MAAM;SACzB,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;SACnE,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;IAEvE,OAAO;QACL,GAAG,SAAS;QACZ,MAAM,EAAE,KAAK,CAAC,aAAa,CAAC;KAC7B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,SAA6B;IACxE,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC,SAAS,CACzC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EACvB,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,EACxB,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CACxB,CAAC;IACF,OAAO,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,SAAS,EAAE,CAAC;AACzE,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,SAA6B,EAAE,UAA0B;IACrG,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IAClE,OAAO;QACL,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACxC,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACzC,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;KACzC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,SAA6B,EAAE,CAAS,EAAE,CAAS;IACzF,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC;SACnC,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;SAC3C,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/C,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,KAAqC,EACrC,SAA6B,EAC7B,YAA4B,SAAS,CAAC,MAAM;IAE5C,MAAM,UAAU,GAAG,4BAA4B,CAAC,SAAS,CAAC,CAAC;IAC3D,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC,iBAAiB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IACrE,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC7F,OAAO;QACL,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QAClB,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QAClB,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QAC7C,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAClD,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACnD,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;KACpD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,SAA6B,EAC7B,aAA+B;IAE/B,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IAC5D,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACxC,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACxC,MAAM,eAAe,GAAG,aAAa,CAAC,MAAM,CAC1C,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAC9E,MAAM,CAAC,iBAAiB,CACzB,CAAC;IACF,MAAM,WAAW,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC,eAAe,CAAC,CAAC;IAC5D,OAAO,KAAK,CAAC,WAAW,CAAC,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,SAA6B;IACpE,OAAO,CACL,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI;WAChC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI;WACnC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI;WACnC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI;WACnC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI;WACvC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CACvC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"placementWorkplane.js","sourceRoot":"","sources":["../src/placementWorkplane.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAY/B,MAAM,OAAO,GAAG,IAAI,CAAC;AAErB,SAAS,MAAM,CAAC,KAAqB;IACnC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,KAAK,CAAC,KAAoB;IACjC,OAAO;QACL,CAAC,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;KAC/B,CAAC;AACJ,CAAC;AAED,SAAS,KAAK,CAAC,KAAa;IAC1B,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IACzC,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;AAChD,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACrD,MAAM,SAAS,GAAG,KAAgC,CAAC;IACnD,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,OAAO,UAAU,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;QAClI,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,EAAE,CAAC,EAAE,SAAS,CAAC,CAAW,EAAE,CAAC,EAAE,SAAS,CAAC,CAAW,EAAE,CAAC,EAAE,SAAS,CAAC,CAAW,EAAE,CAAC;AAC1F,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,SAAS,GAAG,CAAC;IACxD,OAAO;QACL,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;QACrE,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;QAC5B,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;QAC3B,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;KAC5B,CAAC;AACJ,CAAC;AAED,iFAAiF;AACjF,MAAM,aAAa,GAAG,IAAI,CAAC;AAE3B;;;GAGG;AACH,SAAS,YAAY,CAAC,MAAsB,EAAE,KAAqB,EAAE,KAA4B;IAC/F,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IACzB,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IACzB,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACxB,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,GAAG,aAAa;QAAE,OAAO,KAAK,CAAC;IAC7D,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,GAAG,aAAa;QAAE,OAAO,KAAK,CAAC;IAC7D,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,aAAa;QAAE,OAAO,KAAK,CAAC;IACrD,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,aAAa,CAAC;AAC7E,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,2BAA2B,CAAC,KAAc,EAAE,iBAAiB,GAAG,CAAC;IAC/E,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,4BAA4B,CAAC,iBAAiB,CAAC,CAAC;IAChG,MAAM,SAAS,GAAG,KAAoC,CAAC;IACvD,MAAM,MAAM,GAAG,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAC7C,MAAM,KAAK,GAAG,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC3C,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,GAAG,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,GAAG,OAAO,EAAE,CAAC;QAC9G,OAAO,4BAA4B,CAAC,iBAAiB,CAAC,CAAC;IACzD,CAAC;IACD,MAAM,KAAK,GAAG,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC3C,IAAI,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC;QACvC,OAAO;YACL,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE;YACjD,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE;YACjD,KAAK,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE;YAC7C,KAAK,EAAE,EAAE,CAAC,EAAE,KAAM,CAAC,CAAC,EAAE,CAAC,EAAE,KAAM,CAAC,CAAC,EAAE,CAAC,EAAE,KAAM,CAAC,CAAC,EAAE;SACjD,CAAC;IACJ,CAAC;IACD,OAAO,6BAA6B,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,SAA6B;IACzE,OAAO;QACL,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;QAC1D,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;QAC1D,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;QACvD,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;KACxD,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,6BAA6B,CAC3C,MAAsB,EACtB,aAA6B,EAC7B,WAA2B,EAC3B,OAAO,GAAG,KAAK;IAEf,MAAM,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC,SAAS,EAAE,CAAC;IACjD,IAAI,OAAO;QAAE,MAAM,CAAC,MAAM,EAAE,CAAC;IAE7B,IAAI,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IACvD,IAAI,KAAK,CAAC,QAAQ,EAAE,GAAG,OAAO,EAAE,CAAC;QAC/B,MAAM,UAAU,GAAG;YACjB,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAC1B,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAC1B,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;SAC3B,CAAC;QACF,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE;YAC5C,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YAC3D,OAAO,SAAS,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;QACnE,CAAC,EAAE,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IAC1B,CAAC;IACD,KAAK,CAAC,SAAS,EAAE,CAAC;IAClB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,CAAC;IAEtD,OAAO;QACL,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE;QACjD,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC;QACrB,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC;QACnB,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC;KACpB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC1C,SAA6B,EAC7B,IAAY,EACZ,eAAe,GAAmB,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;IAEtD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC;IAE1D,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACxC,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACtC,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACtC,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACxC,MAAM,SAAS,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;IAC1C,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,eAAe,CAC9C,MAAM,EACN,MAAM,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAC1C,CAAC;IACF,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1C,MAAM,aAAa,GAAG,MAAM;SACzB,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;SACnE,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;IAEvE,OAAO;QACL,GAAG,SAAS;QACZ,MAAM,EAAE,KAAK,CAAC,aAAa,CAAC;KAC7B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,SAA6B;IACxE,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC,SAAS,CACzC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EACvB,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,EACxB,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CACxB,CAAC;IACF,OAAO,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,SAAS,EAAE,CAAC;AACzE,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,SAA6B,EAAE,UAA0B;IACrG,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IAClE,OAAO;QACL,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACxC,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACzC,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;KACzC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,SAA6B,EAAE,CAAS,EAAE,CAAS;IACzF,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC;SACnC,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;SAC3C,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/C,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,KAAqC,EACrC,SAA6B,EAC7B,SAAS,GAAmB,SAAS,CAAC,MAAM;IAE5C,MAAM,UAAU,GAAG,4BAA4B,CAAC,SAAS,CAAC,CAAC;IAC3D,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC,iBAAiB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IACrE,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC7F,OAAO;QACL,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QAClB,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QAClB,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QAC7C,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAClD,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACnD,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;KACpD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,SAA6B,EAC7B,aAA+B;IAE/B,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IAC5D,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACxC,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACxC,MAAM,eAAe,GAAG,aAAa,CAAC,MAAM,CAC1C,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAC9E,MAAM,CAAC,iBAAiB,CACzB,CAAC;IACF,MAAM,WAAW,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC,eAAe,CAAC,CAAC;IAC5D,OAAO,KAAK,CAAC,WAAW,CAAC,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,SAA6B;IACpE,OAAO,CACL,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI;WAChC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI;WACnC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI;WACnC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI;WACnC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI;WACvC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CACvC,CAAC;AACJ,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import type { ProjectAsset, ProjectAssetSourceFormat, WorkplaneShape } from "./domain/sketchforge.js";
2
2
  export declare function sha256Hex(bytes: Uint8Array): Promise<string>;
3
3
  export declare function sourceFormatForFileName(fileName: string): ProjectAssetSourceFormat | null;
4
- export declare function defaultMediaTypeForSource(format: ProjectAssetSourceFormat): "image/svg+xml" | "application/step" | "model/obj" | "model/stl";
4
+ export declare function defaultMediaTypeForSource(format: ProjectAssetSourceFormat): "application/step" | "image/svg+xml" | "model/obj" | "model/stl";
5
5
  export declare function projectAssetFromBytes(name: string, sourceFormat: ProjectAssetSourceFormat, bytes: Uint8Array, mediaType?: string): Promise<ProjectAsset>;
6
6
  export declare function projectAssetFromFile(file: File, sourceFormat?: ProjectAssetSourceFormat | null): Promise<ProjectAsset>;
7
7
  export declare function normalizeProjectAsset(value: ProjectAsset): ProjectAsset;
@@ -43,5 +43,5 @@ export type ProjectStore = {
43
43
  * `root` is the directory `SKETCHFORGE_PROJECTS_DIR` names, already created --
44
44
  * `apiContext` does that, and so would a macro runner's own setup.
45
45
  */
46
- export declare function directoryProjectStore(root: string): ProjectStore;
46
+ export declare function directoryProjectStore(root: string, expectedRevision?: string): ProjectStore;
47
47
  //# sourceMappingURL=projectStore.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"projectStore.d.ts","sourceRoot":"","sources":["../src/projectStore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAGL,KAAK,eAAe,EACrB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAGL,KAAK,eAAe,EACrB,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC/E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE9D,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,CAAC;AAEjD,MAAM,MAAM,YAAY,GAAG;IACzB,uEAAuE;IACvE,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC;IACzD,8EAA8E;IAC9E,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC7G;;;;;OAKG;IACH,QAAQ,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,CAAC,CAAA;KAAE,CAAC,CAAC;IAC/F,mDAAmD;IACnD,IAAI,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;CACxC,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,CAUhE"}
1
+ {"version":3,"file":"projectStore.d.ts","sourceRoot":"","sources":["../src/projectStore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAGL,KAAK,eAAe,EACrB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAGL,KAAK,eAAe,EACrB,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC/E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE9D,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,CAAC;AAEjD,MAAM,MAAM,YAAY,GAAG;IACzB,uEAAuE;IACvE,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC;IACzD,8EAA8E;IAC9E,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC7G;;;;;OAKG;IACH,QAAQ,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,CAAC,CAAA;KAAE,CAAC,CAAC;IAC/F,mDAAmD;IACnD,IAAI,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;CACxC,CAAC;AAUF;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,MAAM,GAAG,YAAY,CAqB3F"}