okgeometry-api 1.48.0 → 1.49.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Mesh.d.ts +31 -0
- package/dist/Mesh.d.ts.map +1 -1
- package/dist/Mesh.js +85 -0
- package/dist/Mesh.js.map +1 -1
- package/dist/mesh-boolean.protocol.d.ts +14 -1
- package/dist/mesh-boolean.protocol.d.ts.map +1 -1
- package/dist/mesh-boolean.worker.d.ts.map +1 -1
- package/dist/mesh-boolean.worker.js +40 -0
- package/dist/mesh-boolean.worker.js.map +1 -1
- package/package.json +1 -1
- package/src/Mesh.ts +111 -0
- package/src/mesh-boolean.protocol.ts +11 -1
- package/src/mesh-boolean.worker.ts +42 -0
|
@@ -136,7 +136,7 @@ export declare class MeshBooleanExecutionError extends Error {
|
|
|
136
136
|
readonly details?: string;
|
|
137
137
|
constructor(payload: MeshBooleanErrorPayload);
|
|
138
138
|
}
|
|
139
|
-
export type MeshHeavyOperation = "unionAll" | "differenceAll" | "makeWatertight" | "voxelRemesh" | "isotropicRemesh" | "chamferEdges" | "filletEdges" | "brepBoolean" | "split" | "solidSplitBySurface" | "diagnostics" | "repair" | "importStl" | "hlrProject";
|
|
139
|
+
export type MeshHeavyOperation = "unionAll" | "differenceAll" | "makeWatertight" | "voxelRemesh" | "isotropicRemesh" | "chamferEdges" | "filletEdges" | "brepBoolean" | "split" | "solidSplitBySurface" | "diagnostics" | "repair" | "importStl" | "hlrProject" | "planeSectionFills";
|
|
140
140
|
export interface MeshHeavyParams {
|
|
141
141
|
resolution?: number;
|
|
142
142
|
iso?: number;
|
|
@@ -179,6 +179,19 @@ export interface MeshHeavyParams {
|
|
|
179
179
|
preserveFeatures?: boolean;
|
|
180
180
|
/** isotropicRemesh: re-project onto the original surface each iteration. */
|
|
181
181
|
project?: boolean;
|
|
182
|
+
/** planeSectionFills: one cutting plane per request mesh (aligned). */
|
|
183
|
+
sectionPlanes?: Array<{
|
|
184
|
+
origin: {
|
|
185
|
+
x: number;
|
|
186
|
+
y: number;
|
|
187
|
+
z: number;
|
|
188
|
+
};
|
|
189
|
+
normal: {
|
|
190
|
+
x: number;
|
|
191
|
+
y: number;
|
|
192
|
+
z: number;
|
|
193
|
+
};
|
|
194
|
+
}>;
|
|
182
195
|
/** hlrProject: view/section parameters + optional per-mesh row-major
|
|
183
196
|
* transforms (aligned with the request buffers, baked worker-side). */
|
|
184
197
|
hlr?: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mesh-boolean.protocol.d.ts","sourceRoot":"","sources":["../src/mesh-boolean.protocol.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"mesh-boolean.protocol.d.ts","sourceRoot":"","sources":["../src/mesh-boolean.protocol.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mesh-boolean.worker.d.ts","sourceRoot":"","sources":["../src/mesh-boolean.worker.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mesh-boolean.worker.d.ts","sourceRoot":"","sources":["../src/mesh-boolean.worker.ts"],"names":[],"mappings":"AAywBA,OAAO,EAAE,CAAC"}
|
|
@@ -2,6 +2,8 @@ import { init, initThreads, isInitialized } from "./engine.js";
|
|
|
2
2
|
import { Brep } from "./Brep.js";
|
|
3
3
|
import { Mesh } from "./Mesh.js";
|
|
4
4
|
import { Point } from "./Point.js";
|
|
5
|
+
import { Plane } from "./Plane.js";
|
|
6
|
+
import { Vec3 } from "./Vec3.js";
|
|
5
7
|
const workerScope = self;
|
|
6
8
|
const workerGlobal = globalThis;
|
|
7
9
|
const cancelledJobs = new Set();
|
|
@@ -228,6 +230,44 @@ function runHeavyOperation(message) {
|
|
|
228
230
|
const result = mesh.voxelRemesh(params.resolution ?? 0, params.iso ?? 0.5);
|
|
229
231
|
return packSingleResult(result, params);
|
|
230
232
|
}
|
|
233
|
+
case "planeSectionFills": {
|
|
234
|
+
const planes = params.sectionPlanes;
|
|
235
|
+
if (!planes)
|
|
236
|
+
throw new Error("planeSectionFills requires sectionPlanes params");
|
|
237
|
+
const input = meshes();
|
|
238
|
+
// Per mesh: [loopCount, (closed, pointCount, xyz...)...,
|
|
239
|
+
// vertFloatLen, idxLen, positions..., indices...]
|
|
240
|
+
const parts = [input.length];
|
|
241
|
+
for (let i = 0; i < input.length; i++) {
|
|
242
|
+
let section = null;
|
|
243
|
+
try {
|
|
244
|
+
const p = planes[i];
|
|
245
|
+
const plane = new Plane(new Point(p.origin.x, p.origin.y, p.origin.z), new Vec3(p.normal.x, p.normal.y, p.normal.z));
|
|
246
|
+
section = input[i].planeSection(plane);
|
|
247
|
+
}
|
|
248
|
+
catch {
|
|
249
|
+
section = null; // one bad mesh never blocks the batch
|
|
250
|
+
}
|
|
251
|
+
const loops = section?.loops ?? [];
|
|
252
|
+
parts.push(loops.length);
|
|
253
|
+
for (const loop of loops) {
|
|
254
|
+
parts.push(loop.isClosed() ? 1 : 0, loop.points.length);
|
|
255
|
+
for (const pt of loop.points)
|
|
256
|
+
parts.push(pt.x, pt.y, pt.z);
|
|
257
|
+
}
|
|
258
|
+
const fill = section?.fill ?? null;
|
|
259
|
+
if (!fill || fill.indices.length === 0) {
|
|
260
|
+
parts.push(0, 0);
|
|
261
|
+
continue;
|
|
262
|
+
}
|
|
263
|
+
parts.push(fill.positions.length, fill.indices.length);
|
|
264
|
+
for (let k = 0; k < fill.positions.length; k++)
|
|
265
|
+
parts.push(fill.positions[k]);
|
|
266
|
+
for (let k = 0; k < fill.indices.length; k++)
|
|
267
|
+
parts.push(fill.indices[k]);
|
|
268
|
+
}
|
|
269
|
+
return { buffer: new Float64Array(parts).buffer };
|
|
270
|
+
}
|
|
231
271
|
case "hlrProject": {
|
|
232
272
|
const view = params.hlr;
|
|
233
273
|
if (!view)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mesh-boolean.worker.js","sourceRoot":"","sources":["../src/mesh-boolean.worker.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mesh-boolean.worker.js","sourceRoot":"","sources":["../src/mesh-boolean.worker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AASjC,MAAM,WAAW,GAAG,IAGnB,CAAC;AACF,MAAM,YAAY,GAAG,UAGpB,CAAC;AAEF,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;AACxC,IAAI,WAAW,GAAyB,IAAI,CAAC;AAE7C,+EAA+E;AAC/E,EAAE;AACF,0EAA0E;AAC1E,8EAA8E;AAC9E,yEAAyE;AACzE,qEAAqE;AAErE,MAAM,kBAAkB,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC;AAC7C,MAAM,kBAAkB,GAAG,CAAC,CAAC;AAC7B,MAAM,cAAc,GAAG,IAAI,GAAG,EAAyC,CAAC;AACxE,IAAI,aAAa,GAAG,CAAC,CAAC;AAEtB,MAAM,iBAAkB,SAAQ,KAAK;IACnC,YAAY,GAAW;QACrB,KAAK,CAAC,wBAAwB,GAAG,gCAAgC,CAAC,CAAC;QACnE,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAClC,CAAC;CACF;AAED,SAAS,cAAc,CAAC,GAAW,EAAE,IAAU,EAAE,KAAa;IAC5D,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACzC,IAAI,QAAQ,EAAE,CAAC;QACb,aAAa,IAAI,QAAQ,CAAC,KAAK,CAAC;QAChC,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC3B,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;IAC1B,CAAC;IACD,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACzC,aAAa,IAAI,KAAK,CAAC;IACvB,OACE,cAAc,CAAC,IAAI,GAAG,CAAC;WACpB,CAAC,aAAa,GAAG,kBAAkB,IAAI,cAAc,CAAC,IAAI,GAAG,kBAAkB,CAAC,EACnF,CAAC;QACD,MAAM,SAAS,GAAG,cAAc,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAe,CAAC;QAC/D,IAAI,SAAS,KAAK,GAAG,IAAI,cAAc,CAAC,IAAI,KAAK,CAAC;YAAE,MAAM,CAAC,qCAAqC;QAChG,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC;QAC9C,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACjC,aAAa,IAAI,MAAM,CAAC,KAAK,CAAC;QAC9B,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,cAAc,CACrB,GAAuB,EACvB,MAAmB,EACnB,OAA4B;IAE5B,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,YAAY,CAAC,MAAM,CAAC,EAAE,EAAE,mBAAmB,EAAE,OAAO,EAAE,CAAC,CAAC;IACrF,CAAC;IACD,IAAI,MAAM,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,YAAY,CAAC,MAAM,CAAC,EAAE,EAAE,mBAAmB,EAAE,OAAO,EAAE,CAAC,CAAC;QACzF,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,cAAc,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;QAC7C,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACvC,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,iBAAiB,CAAC,GAAG,CAAC,CAAC;IAC9C,eAAe;IACf,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC3B,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAChC,OAAO,MAAM,CAAC,IAAI,CAAC;AACrB,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAc;IACtC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACtC,IAAI,CAAC,KAAK;YAAE,SAAS;QACrB,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC3B,aAAa,IAAI,KAAK,CAAC,KAAK,CAAC;QAC7B,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;IACvB,CAAC;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,yBAAyB,CAAC,MAAY,EAAE,cAA6B;IAC5E,MAAM,EAAE,GAAG,cAAc,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;IACtF,MAAM,SAAS,GAAG,CAAC,EAAE,EAAE,SAAS,IAAI,IAAI,YAAY,CAAC,CAAC,CAAC,CAAiB,CAAC;IACzE,MAAM,OAAO,GAAG,CAAC,EAAE,EAAE,OAAO,IAAI,IAAI,YAAY,CAAC,CAAC,CAAC,CAAiB,CAAC;IACrE,MAAM,KAAK,GAAG,CAAC,EAAE,EAAE,YAAY,IAAI,IAAI,YAAY,CAAC,CAAC,CAAC,CAAiB,CAAC;IACxE,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC;IACjC,MAAM,SAAS,GAAG,CAAC,CAAC;IACpB,MAAM,QAAQ,GAAG,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;IAC5C,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAClE,MAAM,SAAS,GAAG,QAAQ,GAAG,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;IAC5C,MAAM,GAAG,GAAG,IAAI,WAAW,CAAC,QAAQ,GAAG,CAAC,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC;IAC1D,MAAM,OAAO,GAAG,IAAI,YAAY,CAAC,GAAG,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;IACnD,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAC5B,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC;IAC9B,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAC5B,OAAO,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;IAC1B,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAChC,MAAM,OAAO,GAAG,IAAI,YAAY,CAAC,GAAG,EAAE,QAAQ,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC9D,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;IAC1B,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IACvC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACtD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,mBAAmB,CAAC,UAAkC;IAC7D,IAAI,CAAC,UAAU;QAAE,OAAO,KAAK,CAAC;IAC9B,IAAI,CAAC;QACH,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;IACjD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,KAAa,EAAE,UAAkC;IACpE,OAAO,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,mBAAmB,CAAC,UAAU,CAAC,CAAC;AACrE,CAAC;AAED,YAAY,CAAC,kCAAkC,GAAG,GAAG,EAAE,CACrD,mBAAmB,CAAC,YAAY,CAAC,6BAA6B,IAAI,SAAS,CAAC,CAAC;AAE/E,SAAS,cAAc,CAAC,KAAc;IACpC,IAAI,KAAK,YAAY,KAAK;QAAE,OAAO,KAAK,CAAC,OAAO,CAAC;IACjD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AAED,SAAS,SAAS,CAAC,IAAqC,EAAE,OAAe,EAAE,OAAgB;IACzF,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;AACpC,CAAC;AAED,SAAS,SAAS,CAAC,KAAa,EAAE,OAAgC;IAChE,MAAM,QAAQ,GAAmC;QAC/C,IAAI,EAAE,qBAAqB;QAC3B,KAAK;QACL,EAAE,EAAE,KAAK;QACT,KAAK,EAAE,OAAO;KACf,CAAC;IACF,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;AACpC,CAAC;AAED,SAAS,WAAW,CAClB,KAAa,EACb,MAAmB,EACnB,IAAgD;IAEhD,MAAM,QAAQ,GAAqC;QACjD,IAAI,EAAE,qBAAqB;QAC3B,KAAK;QACL,EAAE,EAAE,IAAI;QACR,MAAM;QACN,IAAI;KACL,CAAC;IACF,WAAW,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;AAC9C,CAAC;AAED;;;;GAIG;AACH,SAAS,gBAAgB,CACvB,MAAY,EACZ,MAA4E,EAC5E,SAAqD;IAErD,IAAI,MAAM,EAAE,iBAAiB,EAAE,CAAC;QAC9B,OAAO;YACL,MAAM,EAAE,yBAAyB,CAAC,MAAM,EAAE,MAAM,CAAC,cAAc,IAAI,EAAE,CAAC;YACtE,IAAI,EAAE,EAAE,GAAG,SAAS,EAAE,mBAAmB,EAAE,IAAI,EAAE;SAClD,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,IAAI,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;AAChF,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,eAAe,CACtB,OAAe,EACf,MAAc,EACd,MAA4E,EAC5E,SAAqD;IAErD,MAAM,MAAM,GAAG,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,cAAc,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACjF,MAAM,SAAS,GAAG,CAAC,MAAc,EAAe,EAAE;QAChD,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;QAC/D,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC;QACrD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAChF,OAAO,yBAAyB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnD,CAAC,CAAC;IACF,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IAClC,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;IACjC,MAAM,WAAW,GAAG,CAAC,GAAG,CAAC,CAAC;IAC1B,MAAM,GAAG,GAAG,IAAI,WAAW,CAAC,WAAW,GAAG,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;IACjF,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3C,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC;IAC9B,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC;IAC9B,IAAI,UAAU,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7D,IAAI,UAAU,CAAC,GAAG,EAAE,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;IACjF,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC;AACpE,CAAC;AAED,6EAA6E;AAC7E,SAAS,iBAAiB,CAAC,OA+C1B;IACC,MAAM,MAAM,GAAG,GAAG,EAAE,CAClB,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAC7B,cAAc,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CACrE,CAAC;IACJ,MAAM,OAAO,GAAG;QACd,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,WAAW,IAAI,IAAI;QAChD,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,MAAe;QACvC,gBAAgB,EAAE,OAAO,CAAC,OAAO,CAAC,gBAAgB;KACnD,CAAC;IACF,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC;IAEpC,QAAQ,OAAO,CAAC,SAAS,EAAE,CAAC;QAC1B,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,OAAO,CAAC,CAAC;YAChD,OAAO,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC1C,CAAC;QACD,KAAK,eAAe,CAAC,CAAC,CAAC;YACrB,MAAM,CAAC,IAAI,EAAE,GAAG,OAAO,CAAC,GAAG,MAAM,EAAE,CAAC;YACpC,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAClD,OAAO,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC1C,CAAC;QACD,KAAK,gBAAgB,CAAC,CAAC,CAAC;YACtB,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,EAAE,CAAC;YACxB,MAAM,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;gBAC5B,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,GAAG,EAAE,MAAM,CAAC,GAAG;aAChB,CAAC,CAAC;YACH,OAAO,gBAAgB,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE;gBACtC,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,mBAAmB,EAAE,CAAC,CAAC,mBAAmB;aAC3C,CAAC,CAAC;QACL,CAAC;QACD,KAAK,aAAa,CAAC,CAAC,CAAC;YACnB,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,EAAE,CAAC;YACxB,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,IAAI,CAAC,EAAE,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC;YAC3E,OAAO,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC1C,CAAC;QACD,KAAK,mBAAmB,CAAC,CAAC,CAAC;YACzB,MAAM,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC;YACpC,IAAI,CAAC,MAAM;gBAAE,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;YAChF,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC;YACvB,yDAAyD;YACzD,6DAA6D;YAC7D,MAAM,KAAK,GAAa,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACtC,IAAI,OAAO,GAA4C,IAAI,CAAC;gBAC5D,IAAI,CAAC;oBACH,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;oBACpB,MAAM,KAAK,GAAG,IAAI,KAAK,CACrB,IAAI,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAC7C,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAC7C,CAAC;oBACF,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;gBACzC,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO,GAAG,IAAI,CAAC,CAAC,sCAAsC;gBACxD,CAAC;gBACD,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC;gBACnC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBACzB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;oBACxD,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,MAAM;wBAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC7D,CAAC;gBACD,MAAM,IAAI,GAAG,OAAO,EAAE,IAAI,IAAI,IAAI,CAAC;gBACnC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACvC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBACjB,SAAS;gBACX,CAAC;gBACD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBACvD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE;oBAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC9E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE;oBAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5E,CAAC;YACD,OAAO,EAAE,MAAM,EAAE,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;QACpD,CAAC;QACD,KAAK,YAAY,CAAC,CAAC,CAAC;YAClB,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC;YACxB,IAAI,CAAC,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;YAC7D,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC;YACvB,oEAAoE;YACpE,8DAA8D;YAC9D,8DAA8D;YAC9D,8CAA8C;YAC9C,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBAC/B,MAAM,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC/B,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAClC,CAAC,CAAC,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE;gBACpC,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,eAAe,EAAE,IAAI,CAAC,eAAe;gBACrC,KAAK,EAAE,IAAI,CAAC,KAAK;aAClB,CAAC,CAAC;YACH,gEAAgE;YAChE,OAAO,EAAE,MAAM,EAAE,IAAI,YAAY,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;QAClD,CAAC;QACD,KAAK,iBAAiB,CAAC,CAAC,CAAC;YACvB,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,EAAE,CAAC;YACxB,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;gBACpB,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;gBACzC,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;gBAC3C,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,eAAe,EAAE,MAAM,CAAC,eAAe;gBACvC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;gBACzC,OAAO,EAAE,MAAM,CAAC,OAAO;aACxB,CAAC,CAAC;YACH,OAAO,gBAAgB,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE;gBACtC,gBAAgB,EAAE,CAAC,CAAC,gBAAgB;aACrC,CAAC,CAAC;QACL,CAAC;QACD,KAAK,cAAc,CAAC,CAAC,CAAC;YACpB,MAAM,IAAI,GAAG,cAAc,CACzB,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EACzB,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAClB,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CACrB,CAAC;YACF,MAAM,IAAI,GAAG,IAAI,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YAClD,MAAM,KAAK,GAAkC,EAAE,CAAC;YAChD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC5C,KAAK,CAAC,IAAI,CAAC;oBACT,CAAC,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBAC/C,CAAC,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;iBACpD,CAAC,CAAC;YACL,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC;YAC9D,OAAO,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC1C,CAAC;QACD,KAAK,aAAa,CAAC,CAAC,CAAC;YACnB,qEAAqE;YACrE,sEAAsE;YACtE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;YACxC,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChC,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;YACzE,CAAC;YACD,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC/B,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC/B,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;YAC1F,MAAM,MAAM,GACV,MAAM,KAAK,OAAO;gBAChB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC;gBACtB,CAAC,CAAC,MAAM,KAAK,UAAU;oBACrB,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,EAAE,IAAI,CAAC;oBACzB,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;YACjC,OAAO,EAAE,MAAM,EAAE,IAAI,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC;QAC7E,CAAC;QACD,KAAK,aAAa,CAAC,CAAC,CAAC;YACnB,MAAM,IAAI,GAAG,cAAc,CACzB,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EACzB,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAClB,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CACrB,CAAC;YACF,MAAM,IAAI,GAAG,IAAI,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YAClD,MAAM,KAAK,GAAkC,EAAE,CAAC;YAChD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC5C,KAAK,CAAC,IAAI,CAAC;oBACT,CAAC,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBAC/C,CAAC,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;iBACpD,CAAC,CAAC;YACL,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE;gBACzD,QAAQ,EAAE,MAAM,CAAC,QAAQ;aAC1B,CAAC,CAAC;YACH,OAAO,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC1C,CAAC;QACD,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,MAAM,EAAE,CAAC;YAChC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACtC,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;gBACtB,OAAO,eAAe,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE;oBAClD,cAAc,EAAE,CAAC,CAAC,cAAc,IAAI,QAAQ;iBAC7C,CAAC,CAAC;YACL,CAAC;YACD,8EAA8E;YAC9E,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAU,EAAE,CACxC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YACvD,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YACvD,MAAM,GAAG,GAAG,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC;YACpC,IAAI,GAAG,GAAG,CAAC,CAAC;YACZ,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;gBACzC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;gBACzB,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;oBACrB,MAAM,GAAG,GAAG,CAAC,CAAC,SAAS,CAAC;oBACxB,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC;oBACxB,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;oBAClB,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC;gBACpB,CAAC;YACH,CAAC;YACD,OAAO;gBACL,MAAM,EAAE,GAAG,CAAC,MAAqB;gBACjC,IAAI,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC,cAAc,IAAI,QAAQ,EAAE;aACvD,CAAC;QACJ,CAAC;QACD,KAAK,qBAAqB,CAAC,CAAC,CAAC;YAC3B,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,MAAM,EAAE,CAAC;YAClC,MAAM,CAAC,GAAG,KAAK,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACtD,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;gBACtB,OAAO,eAAe,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE;oBAClD,cAAc,EAAE,CAAC,CAAC,cAAc,IAAI,SAAS;iBAC9C,CAAC,CAAC;YACL,CAAC;YACD,oCAAoC;YACpC,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAU,EAAE,CACxC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YACvD,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YACvD,MAAM,GAAG,GAAG,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC;YACpC,IAAI,GAAG,GAAG,CAAC,CAAC;YACZ,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;gBACzC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;gBACzB,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;oBACrB,MAAM,GAAG,GAAG,CAAC,CAAC,SAAS,CAAC;oBACxB,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC;oBACxB,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;oBAClB,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC;gBACpB,CAAC;YACH,CAAC;YACD,OAAO;gBACL,MAAM,EAAE,GAAG,CAAC,MAAqB;gBACjC,IAAI,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC,cAAc,IAAI,SAAS,EAAE;aACxD,CAAC;QACJ,CAAC;QACD,KAAK,WAAW,CAAC,CAAC,CAAC;YACjB,wEAAwE;YACxE,yEAAyE;YACzE,oEAAoE;YACpE,2BAA2B;YAC3B,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACnC,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACpF,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;YACrD,IAAI,IAAU,CAAC;YACf,IAAI,MAA2C,CAAC;YAChD,IAAI,MAAM,CAAC,kBAAkB,EAAE,CAAC;gBAC9B,sEAAsE;gBACtE,oEAAoE;gBACpE,+DAA+D;gBAC/D,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,MAAM,CAAC,aAAa,IAAI,CAAC,CAAC,CAAC;gBACxE,IAAI,CAAC;oBACH,MAAM,EAAE,GAAG,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC;oBAClE,MAAM,SAAS,GAAG,EAAE,CAAC,SAAyB,CAAC;oBAC/C,MAAM,OAAO,GAAG,EAAE,CAAC,OAAuB,CAAC;oBAC3C,MAAM,QAAQ,GAAG,EAAE,CAAC,YAA4B,CAAC;oBACjD,MAAM,SAAS,GAAG,CAAC,CAAC;oBACpB,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;oBACrE,MAAM,SAAS,GAAG,QAAQ,GAAG,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;oBAC5C,MAAM,GAAG,GAAG,IAAI,WAAW,CAAC,SAAS,GAAG,CAAC,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC;oBAC3D,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,GAAG,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;oBACnD,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,oDAAoD;oBACnE,MAAM,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC;oBAC7B,MAAM,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;oBAC3B,MAAM,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC;oBAC5B,MAAM,OAAO,GAAG,IAAI,YAAY,CAAC,GAAG,EAAE,SAAS,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC;oBAC/D,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;oBAC1B,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;oBACvC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;oBACzD,WAAW,CAAC,WAAW,CACrB,EAAE,IAAI,EAAE,sBAAsB,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EACnE,CAAC,GAAG,CAAC,CACN,CAAC;gBACJ,CAAC;gBAAC,MAAM,CAAC;oBACP,uDAAuD;gBACzD,CAAC;gBACD,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;gBAC9C,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;gBACrB,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;YAC3B,CAAC;iBAAM,CAAC;gBACN,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,MAAM,CAAC,aAAa,IAAI,CAAC,CAAC,CAAC;gBACzE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;gBACpB,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YAC1B,CAAC;YACD,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC;YAC/B,IAAI,SAAS,GAAiB,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC;YAClD,IAAI,OAAO,GAAiB,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC;YAChD,IAAI,KAAK,GAAiB,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC;YAC9C,IAAI,MAAM,CAAC,iBAAiB,EAAE,CAAC;gBAC7B,MAAM,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC;gBAChE,SAAS,GAAG,EAAE,CAAC,SAAyB,CAAC;gBACzC,OAAO,GAAG,EAAE,CAAC,OAAuB,CAAC;gBACrC,KAAK,GAAG,EAAE,CAAC,YAA4B,CAAC;YAC1C,CAAC;YACD,wEAAwE;YACxE,qEAAqE;YACrE,MAAM,SAAS,GAAG,CAAC,CAAC;YACpB,MAAM,QAAQ,GAAG,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;YAC5C,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;YAClE,MAAM,SAAS,GAAG,QAAQ,GAAG,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;YAC5C,MAAM,GAAG,GAAG,IAAI,WAAW,CAAC,QAAQ,GAAG,CAAC,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC;YAC1D,MAAM,OAAO,GAAG,IAAI,YAAY,CAAC,GAAG,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;YACnD,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;YAC5B,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC;YAC9B,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;YAC5B,OAAO,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;YAC1B,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;YAChC,MAAM,OAAO,GAAG,IAAI,YAAY,CAAC,GAAG,EAAE,QAAQ,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC;YAC9D,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;YAC1B,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;YACvC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;YACtD,OAAO;gBACL,MAAM,EAAE,GAAG;gBACX,IAAI,EAAE;oBACJ,cAAc,EAAE,MAAM,CAAC,cAAc;oBACrC,mBAAmB,EAAE,MAAM,CAAC,mBAAmB;oBAC/C,yBAAyB,EAAE,MAAM,CAAC,yBAAyB;oBAC3D,sBAAsB,EAAE,MAAM,CAAC,sBAAsB;oBACrD,uBAAuB,EAAE,MAAM,CAAC,uBAAuB;oBACvD,uBAAuB,EAAE,MAAM,CAAC,uBAAuB;oBACvD,WAAW,EAAE,MAAM,CAAC,WAAW;oBAC/B,aAAa,EAAE,MAAM,CAAC,aAAa;oBACnC,aAAa,EAAE,MAAM,CAAC,aAAa;oBACnC,mBAAmB,EAAE,MAAM,CAAC,mBAAmB;iBAChD;aACF,CAAC;QACJ,CAAC;QACD,KAAK,aAAa,CAAC,CAAC,CAAC;YACnB,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,EAAE,CAAC;YACxB,OAAO,EAAE,MAAM,EAAE,IAAI,YAAY,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;QACpE,CAAC;QACD,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,EAAE,CAAC;YACxB,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CACxB,MAAM,CAAC,WAAW,IAAI,IAAI,EAC1B,MAAM,CAAC,aAAa,IAAI,CAAC,EACzB,MAAM,CAAC,YAAY,IAAI,CAAC,CACzB,CAAC;YACF,OAAO,EAAE,MAAM,EAAE,IAAI,YAAY,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;QAClD,CAAC;QACD;YACE,MAAM,IAAI,KAAK,CAAC,4BAA4B,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;IACrE,CAAC;AACH,CAAC;AAED,KAAK,UAAU,gBAAgB;IAC7B,IAAI,aAAa,EAAE;QAAE,OAAO;IAC5B,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,uEAAuE;QACvE,sEAAsE;QACtE,8DAA8D;QAC9D,qEAAqE;QACrE,oEAAoE;QACpE,2DAA2D;QAC3D,+CAA+C;QAC/C,WAAW,GAAG,CAAC,KAAK,IAAI,EAAE;YACxB,MAAM,KAAK,GACT,OAAO,SAAS,KAAK,WAAW,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,mBAAmB,CAAC;gBAChF,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;gBACxD,CAAC,CAAC,CAAC,CAAC;YACR,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC7F,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;YACtB,IAAI,CAAC,QAAQ;gBAAE,MAAM,IAAI,EAAE,CAAC;YAC5B,OAAO,CAAC,IAAI,CAAC,oCAAoC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;QACzF,CAAC,CAAC,EAAE,CAAC;IACP,CAAC;IACD,MAAM,WAAW,CAAC;AACpB,CAAC;AAED,WAAW,CAAC,gBAAgB,CAAC,SAAS,EAAE,KAAK,EAAE,KAA6C,EAAE,EAAE;IAC9F,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC;IAC3B,IAAI,CAAC,OAAO;QAAE,OAAO;IAErB,IAAI,OAAO,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;QAC3C,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACjC,OAAO;IACT,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,uBAAuB,EAAE,CAAC;QAC7C,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC/B,OAAO;IACT,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;QAC1C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC5B,MAAM,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC3F,IAAI,WAAW,CAAC,KAAK,EAAE,UAAU,CAAC,EAAE,CAAC;YACnC,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,gBAAgB,EAAE,GAAG,OAAO,CAAC,SAAS,WAAW,CAAC,CAAC,CAAC;YAC/E,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5B,OAAO;QACT,CAAC;QACD,IAAI,CAAC;YACH,MAAM,gBAAgB,EAAE,CAAC;YACzB,IAAI,WAAW,CAAC,KAAK,EAAE,UAAU,CAAC,EAAE,CAAC;gBACnC,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,gBAAgB,EAAE,GAAG,OAAO,CAAC,SAAS,WAAW,CAAC,CAAC,CAAC;gBAC/E,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC5B,OAAO;YACT,CAAC;YACD,YAAY,CAAC,6BAA6B,GAAG,UAAU,IAAI,IAAI,CAAC;YAChE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;YACpD,IAAI,WAAW,CAAC,KAAK,EAAE,UAAU,CAAC,EAAE,CAAC;gBACnC,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,gBAAgB,EAAE,GAAG,OAAO,CAAC,SAAS,WAAW,CAAC,CAAC,CAAC;gBAC/E,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC5B,OAAO;YACT,CAAC;YACD,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QACnC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;YACtC,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAC7F,IAAI,CAAC,SAAS,IAAI,KAAK,YAAY,iBAAiB,EAAE,CAAC;gBACrD,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC;YACxD,CAAC;iBAAM,CAAC;gBACN,SAAS,CACP,KAAK,EACL,SAAS,CACP,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,cAAc,EAC7C,SAAS,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,SAAS,WAAW,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,SAAS,UAAU,EAC5E,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAChC,CACF,CAAC;YACJ,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,6BAA6B,GAAG,IAAI,CAAC;YAClD,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;QACD,OAAO;IACT,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,sBAAsB;QAAE,OAAO;IACpD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAC5B,MAAM,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAE3F,IAAI,WAAW,CAAC,KAAK,EAAE,UAAU,CAAC,EAAE,CAAC;QACnC,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,gBAAgB,EAAE,WAAW,OAAO,CAAC,SAAS,WAAW,CAAC,CAAC,CAAC;QACvF,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5B,OAAO;IACT,CAAC;IAED,IAAI,CAAC;QACH,MAAM,gBAAgB,EAAE,CAAC;QAEzB,IAAI,WAAW,CAAC,KAAK,EAAE,UAAU,CAAC,EAAE,CAAC;YACnC,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,gBAAgB,EAAE,WAAW,OAAO,CAAC,SAAS,WAAW,CAAC,CAAC,CAAC;YACvF,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5B,OAAO;QACT,CAAC;QAED,YAAY,CAAC,6BAA6B,GAAG,UAAU,IAAI,IAAI,CAAC;QAEhE,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;QAC3F,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;QAC3F,MAAM,OAAO,GAAG;YACd,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,WAAW,IAAI,IAAI;YAChD,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM;YAC9B,gBAAgB,EAAE,OAAO,CAAC,OAAO,CAAC,gBAAgB;SACnD,CAAC;QAEF,IAAI,MAAY,CAAC;QACjB,IAAI,OAAO,CAAC,SAAS,KAAK,OAAO,EAAE,CAAC;YAClC,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACvC,CAAC;aAAM,IAAI,OAAO,CAAC,SAAS,KAAK,aAAa,EAAE,CAAC;YAC/C,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC1C,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC3C,CAAC;QAED,IAAI,WAAW,CAAC,KAAK,EAAE,UAAU,CAAC,EAAE,CAAC;YACnC,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,gBAAgB,EAAE,WAAW,OAAO,CAAC,SAAS,WAAW,CAAC,CAAC,CAAC;YACvF,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5B,OAAO;QACT,CAAC;QAED,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;YAC9B,WAAW,CACT,KAAK,EACL,yBAAyB,CAAC,MAAM,EAAE,OAAO,CAAC,cAAc,IAAI,EAAE,CAAC,EAC/D,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAC9B,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,OAAO,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACnD,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;QACtC,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC7F,IAAI,CAAC,SAAS,IAAI,KAAK,YAAY,iBAAiB,EAAE,CAAC;YACrD,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC;QACxD,CAAC;aAAM,CAAC;YACN,SAAS,CACP,KAAK,EACL,SAAS,CACP,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,cAAc,EAC7C,SAAS,CAAC,CAAC,CAAC,WAAW,OAAO,CAAC,SAAS,WAAW,CAAC,CAAC,CAAC,WAAW,OAAO,CAAC,SAAS,UAAU,EAC5F,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAChC,CACF,CAAC;QACJ,CAAC;IACH,CAAC;YAAS,CAAC;QACT,YAAY,CAAC,6BAA6B,GAAG,IAAI,CAAC;QAClD,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;AACH,CAAC,CAAC,CAAC"}
|
package/package.json
CHANGED
package/src/Mesh.ts
CHANGED
|
@@ -4323,6 +4323,117 @@ export class Mesh {
|
|
|
4323
4323
|
};
|
|
4324
4324
|
}
|
|
4325
4325
|
|
|
4326
|
+
/**
|
|
4327
|
+
* Batched plane sections on the worker pool: one job cuts every mesh at
|
|
4328
|
+
* its own plane and returns cut LOOPS + the fill triangulation per mesh
|
|
4329
|
+
* (okdraw poché + vector cut linework). The per-mesh synchronous
|
|
4330
|
+
* `planeSection` calls scale with SCENE size on an interactive path
|
|
4331
|
+
* (section drags, geometry commits in a view, sheet vector computes),
|
|
4332
|
+
* which is exactly the shape that must not run on the UI thread. Worker
|
|
4333
|
+
* infrastructure failures fall back to the synchronous loop; a kernel
|
|
4334
|
+
* failure on one mesh yields an empty section for that mesh only.
|
|
4335
|
+
*/
|
|
4336
|
+
static async planeSectionsAsync(
|
|
4337
|
+
meshes: Mesh[],
|
|
4338
|
+
planes: Array<{
|
|
4339
|
+
origin: { x: number; y: number; z: number };
|
|
4340
|
+
normal: { x: number; y: number; z: number };
|
|
4341
|
+
}>,
|
|
4342
|
+
asyncOptions?: MeshBooleanAsyncOptions
|
|
4343
|
+
): Promise<
|
|
4344
|
+
Array<{
|
|
4345
|
+
loops: Array<{ closed: boolean; points: Float64Array }>;
|
|
4346
|
+
fill: { positions: Float64Array; indices: Uint32Array } | null;
|
|
4347
|
+
}>
|
|
4348
|
+
> {
|
|
4349
|
+
if (meshes.length === 0) return [];
|
|
4350
|
+
const syncSections = (): Array<{
|
|
4351
|
+
loops: Array<{ closed: boolean; points: Float64Array }>;
|
|
4352
|
+
fill: { positions: Float64Array; indices: Uint32Array } | null;
|
|
4353
|
+
}> =>
|
|
4354
|
+
meshes.map((mesh, i) => {
|
|
4355
|
+
try {
|
|
4356
|
+
const p = planes[i];
|
|
4357
|
+
const plane = new Plane(
|
|
4358
|
+
new Point(p.origin.x, p.origin.y, p.origin.z),
|
|
4359
|
+
new Vec3(p.normal.x, p.normal.y, p.normal.z)
|
|
4360
|
+
);
|
|
4361
|
+
const section = mesh.planeSection(plane);
|
|
4362
|
+
return {
|
|
4363
|
+
loops: section.loops.map((loop) => {
|
|
4364
|
+
const pts = new Float64Array(loop.points.length * 3);
|
|
4365
|
+
for (let k = 0; k < loop.points.length; k++) {
|
|
4366
|
+
pts[k * 3] = loop.points[k].x;
|
|
4367
|
+
pts[k * 3 + 1] = loop.points[k].y;
|
|
4368
|
+
pts[k * 3 + 2] = loop.points[k].z;
|
|
4369
|
+
}
|
|
4370
|
+
return { closed: loop.isClosed(), points: pts };
|
|
4371
|
+
}),
|
|
4372
|
+
fill: section.fill
|
|
4373
|
+
? { positions: section.fill.positions, indices: section.fill.indices }
|
|
4374
|
+
: null,
|
|
4375
|
+
};
|
|
4376
|
+
} catch {
|
|
4377
|
+
return { loops: [], fill: null };
|
|
4378
|
+
}
|
|
4379
|
+
});
|
|
4380
|
+
try {
|
|
4381
|
+
const { buffer } = await runMeshHeavyInWorkerPool(
|
|
4382
|
+
"planeSectionFills",
|
|
4383
|
+
meshes.map((m) => m._buffer),
|
|
4384
|
+
{
|
|
4385
|
+
...asyncOptions,
|
|
4386
|
+
trusted: meshes.map((m) => m._trustedBooleanInput),
|
|
4387
|
+
residents: meshes,
|
|
4388
|
+
params: { sectionPlanes: planes },
|
|
4389
|
+
}
|
|
4390
|
+
);
|
|
4391
|
+
// Packing per mesh: [loopCount, (closed, pointCount, xyz...)...,
|
|
4392
|
+
// vertFloatLen, idxLen, positions..., indices...]
|
|
4393
|
+
const data = new Float64Array(buffer);
|
|
4394
|
+
const out: Array<{
|
|
4395
|
+
loops: Array<{ closed: boolean; points: Float64Array }>;
|
|
4396
|
+
fill: { positions: Float64Array; indices: Uint32Array } | null;
|
|
4397
|
+
}> = [];
|
|
4398
|
+
let offset = 0;
|
|
4399
|
+
const count = data[offset++] ?? 0;
|
|
4400
|
+
for (let i = 0; i < count; i++) {
|
|
4401
|
+
const loopCount = data[offset++];
|
|
4402
|
+
const loops: Array<{ closed: boolean; points: Float64Array }> = [];
|
|
4403
|
+
for (let l = 0; l < loopCount; l++) {
|
|
4404
|
+
const closed = data[offset++] === 1;
|
|
4405
|
+
const pointCount = data[offset++];
|
|
4406
|
+
const points = new Float64Array(
|
|
4407
|
+
data.subarray(offset, offset + pointCount * 3)
|
|
4408
|
+
);
|
|
4409
|
+
offset += pointCount * 3;
|
|
4410
|
+
loops.push({ closed, points });
|
|
4411
|
+
}
|
|
4412
|
+
const vertLen = data[offset++];
|
|
4413
|
+
const idxLen = data[offset++];
|
|
4414
|
+
let fill: { positions: Float64Array; indices: Uint32Array } | null = null;
|
|
4415
|
+
if (idxLen > 0) {
|
|
4416
|
+
const positions = new Float64Array(data.subarray(offset, offset + vertLen));
|
|
4417
|
+
offset += vertLen;
|
|
4418
|
+
const indices = new Uint32Array(idxLen);
|
|
4419
|
+
for (let k = 0; k < idxLen; k++) indices[k] = data[offset++];
|
|
4420
|
+
fill = { positions, indices };
|
|
4421
|
+
} else {
|
|
4422
|
+
offset += vertLen;
|
|
4423
|
+
}
|
|
4424
|
+
out.push({ loops, fill });
|
|
4425
|
+
}
|
|
4426
|
+
return out;
|
|
4427
|
+
} catch (error) {
|
|
4428
|
+
if (!shouldFallbackFromWorkerFailure(error)) throw error;
|
|
4429
|
+
console.warn(
|
|
4430
|
+
"Mesh.planeSectionsAsync worker failed; falling back to main thread.",
|
|
4431
|
+
error
|
|
4432
|
+
);
|
|
4433
|
+
return syncSections();
|
|
4434
|
+
}
|
|
4435
|
+
}
|
|
4436
|
+
|
|
4326
4437
|
/**
|
|
4327
4438
|
* Hidden-line removal for orthographic drawing views (okdraw
|
|
4328
4439
|
* presentation sheets): project every input mesh's drawable edges
|
|
@@ -210,7 +210,12 @@ export type MeshHeavyOperation =
|
|
|
210
210
|
// ride `params.hlr.transforms` and bake worker-side).
|
|
211
211
|
// Response buffer = the raw f64 hlr result (parse with
|
|
212
212
|
// Mesh.parseHlrResult).
|
|
213
|
-
| "hlrProject"
|
|
213
|
+
| "hlrProject"
|
|
214
|
+
// planeSectionFills: [mesh0, mesh1, ...] cut at params.sectionPlanes[i];
|
|
215
|
+
// response per mesh = [loopCount, (closed, pointCount,
|
|
216
|
+
// xyz...)..., vertFloatLen, idxLen, positions...,
|
|
217
|
+
// indices...] — cut loops + fill (idxLen 0 = no fill).
|
|
218
|
+
| "planeSectionFills";
|
|
214
219
|
|
|
215
220
|
export interface MeshHeavyParams {
|
|
216
221
|
resolution?: number;
|
|
@@ -254,6 +259,11 @@ export interface MeshHeavyParams {
|
|
|
254
259
|
preserveFeatures?: boolean;
|
|
255
260
|
/** isotropicRemesh: re-project onto the original surface each iteration. */
|
|
256
261
|
project?: boolean;
|
|
262
|
+
/** planeSectionFills: one cutting plane per request mesh (aligned). */
|
|
263
|
+
sectionPlanes?: Array<{
|
|
264
|
+
origin: { x: number; y: number; z: number };
|
|
265
|
+
normal: { x: number; y: number; z: number };
|
|
266
|
+
}>;
|
|
257
267
|
/** hlrProject: view/section parameters + optional per-mesh row-major
|
|
258
268
|
* transforms (aligned with the request buffers, baked worker-side). */
|
|
259
269
|
hlr?: {
|
|
@@ -2,6 +2,8 @@ import { init, initThreads, isInitialized } from "./engine.js";
|
|
|
2
2
|
import { Brep } from "./Brep.js";
|
|
3
3
|
import { Mesh } from "./Mesh.js";
|
|
4
4
|
import { Point } from "./Point.js";
|
|
5
|
+
import { Plane } from "./Plane.js";
|
|
6
|
+
import { Vec3 } from "./Vec3.js";
|
|
5
7
|
import type {
|
|
6
8
|
MeshBooleanErrorPayload,
|
|
7
9
|
MeshBooleanWorkerErrorResponse,
|
|
@@ -268,6 +270,10 @@ function runHeavyOperation(message: {
|
|
|
268
270
|
featureAngleDeg?: number;
|
|
269
271
|
preserveFeatures?: boolean;
|
|
270
272
|
project?: boolean;
|
|
273
|
+
sectionPlanes?: Array<{
|
|
274
|
+
origin: { x: number; y: number; z: number };
|
|
275
|
+
normal: { x: number; y: number; z: number };
|
|
276
|
+
}>;
|
|
271
277
|
hlr?: {
|
|
272
278
|
viewDir: { x: number; y: number; z: number };
|
|
273
279
|
up: { x: number; y: number; z: number };
|
|
@@ -319,6 +325,42 @@ function runHeavyOperation(message: {
|
|
|
319
325
|
const result = mesh.voxelRemesh(params.resolution ?? 0, params.iso ?? 0.5);
|
|
320
326
|
return packSingleResult(result, params);
|
|
321
327
|
}
|
|
328
|
+
case "planeSectionFills": {
|
|
329
|
+
const planes = params.sectionPlanes;
|
|
330
|
+
if (!planes) throw new Error("planeSectionFills requires sectionPlanes params");
|
|
331
|
+
const input = meshes();
|
|
332
|
+
// Per mesh: [loopCount, (closed, pointCount, xyz...)...,
|
|
333
|
+
// vertFloatLen, idxLen, positions..., indices...]
|
|
334
|
+
const parts: number[] = [input.length];
|
|
335
|
+
for (let i = 0; i < input.length; i++) {
|
|
336
|
+
let section: ReturnType<Mesh["planeSection"]> | null = null;
|
|
337
|
+
try {
|
|
338
|
+
const p = planes[i];
|
|
339
|
+
const plane = new Plane(
|
|
340
|
+
new Point(p.origin.x, p.origin.y, p.origin.z),
|
|
341
|
+
new Vec3(p.normal.x, p.normal.y, p.normal.z),
|
|
342
|
+
);
|
|
343
|
+
section = input[i].planeSection(plane);
|
|
344
|
+
} catch {
|
|
345
|
+
section = null; // one bad mesh never blocks the batch
|
|
346
|
+
}
|
|
347
|
+
const loops = section?.loops ?? [];
|
|
348
|
+
parts.push(loops.length);
|
|
349
|
+
for (const loop of loops) {
|
|
350
|
+
parts.push(loop.isClosed() ? 1 : 0, loop.points.length);
|
|
351
|
+
for (const pt of loop.points) parts.push(pt.x, pt.y, pt.z);
|
|
352
|
+
}
|
|
353
|
+
const fill = section?.fill ?? null;
|
|
354
|
+
if (!fill || fill.indices.length === 0) {
|
|
355
|
+
parts.push(0, 0);
|
|
356
|
+
continue;
|
|
357
|
+
}
|
|
358
|
+
parts.push(fill.positions.length, fill.indices.length);
|
|
359
|
+
for (let k = 0; k < fill.positions.length; k++) parts.push(fill.positions[k]);
|
|
360
|
+
for (let k = 0; k < fill.indices.length; k++) parts.push(fill.indices[k]);
|
|
361
|
+
}
|
|
362
|
+
return { buffer: new Float64Array(parts).buffer };
|
|
363
|
+
}
|
|
322
364
|
case "hlrProject": {
|
|
323
365
|
const view = params.hlr;
|
|
324
366
|
if (!view) throw new Error("hlrProject requires hlr params");
|