@constructorfleet/sketchforge-engine 1.8.0 → 1.10.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 (58) hide show
  1. package/dist/cadProjection.d.ts +104 -0
  2. package/dist/cadProjection.d.ts.map +1 -0
  3. package/dist/cadProjection.js +217 -0
  4. package/dist/cadProjection.js.map +1 -0
  5. package/dist/cadSection.d.ts +17 -0
  6. package/dist/cadSection.d.ts.map +1 -0
  7. package/dist/cadSection.js +30 -0
  8. package/dist/cadSection.js.map +1 -0
  9. package/dist/domain/sketchforge.d.ts +13 -0
  10. package/dist/domain/sketchforge.d.ts.map +1 -1
  11. package/dist/editorHistory.d.ts +5 -0
  12. package/dist/editorHistory.d.ts.map +1 -1
  13. package/dist/editorHistory.js +7 -0
  14. package/dist/editorHistory.js.map +1 -1
  15. package/dist/engine.d.ts +11 -0
  16. package/dist/engine.d.ts.map +1 -1
  17. package/dist/engine.js +59 -2
  18. package/dist/engine.js.map +1 -1
  19. package/dist/index.d.ts +7 -1
  20. package/dist/index.d.ts.map +1 -1
  21. package/dist/index.js +4 -0
  22. package/dist/index.js.map +1 -1
  23. package/dist/sceneExport.d.ts +14 -3
  24. package/dist/sceneExport.d.ts.map +1 -1
  25. package/dist/sceneExport.js +17 -1
  26. package/dist/sceneExport.js.map +1 -1
  27. package/dist/serverCadInterference.d.ts +56 -0
  28. package/dist/serverCadInterference.d.ts.map +1 -0
  29. package/dist/serverCadInterference.js +54 -0
  30. package/dist/serverCadInterference.js.map +1 -0
  31. package/dist/serverCadOperations.d.ts +14 -0
  32. package/dist/serverCadOperations.d.ts.map +1 -1
  33. package/dist/serverCadOperations.js +90 -1
  34. package/dist/serverCadOperations.js.map +1 -1
  35. package/dist/serverCadProjection.d.ts +40 -0
  36. package/dist/serverCadProjection.d.ts.map +1 -0
  37. package/dist/serverCadProjection.js +86 -0
  38. package/dist/serverCadProjection.js.map +1 -0
  39. package/dist/serverCadProperties.d.ts +34 -0
  40. package/dist/serverCadProperties.d.ts.map +1 -0
  41. package/dist/serverCadProperties.js +31 -0
  42. package/dist/serverCadProperties.js.map +1 -0
  43. package/dist/serverCadSection.d.ts +10 -0
  44. package/dist/serverCadSection.d.ts.map +1 -0
  45. package/dist/serverCadSection.js +125 -0
  46. package/dist/serverCadSection.js.map +1 -0
  47. package/dist/skfProject.d.ts.map +1 -1
  48. package/dist/skfProject.js +14 -0
  49. package/dist/skfProject.js.map +1 -1
  50. package/dist/support/i18n/locales/en/messages.json +4 -2
  51. package/dist/threadCatalog.d.ts +12 -4
  52. package/dist/threadCatalog.d.ts.map +1 -1
  53. package/dist/threadCatalog.js +42 -2
  54. package/dist/threadCatalog.js.map +1 -1
  55. package/dist/workplaneShapes.d.ts.map +1 -1
  56. package/dist/workplaneShapes.js +9 -0
  57. package/dist/workplaneShapes.js.map +1 -1
  58. package/package.json +1 -1
@@ -0,0 +1,104 @@
1
+ /**
2
+ * A 2D drawing of a project, with no kernel in it.
3
+ *
4
+ * The kernel's hidden-line removal (`projectEdges`) answers which edges of a
5
+ * solid a camera can see and which it cannot; everything after that is
6
+ * arithmetic and SVG text, and lives here so it can be tested against drawn
7
+ * polylines rather than against OCCT. `serverCadProjection.ts` is the half
8
+ * that drives the kernel.
9
+ *
10
+ * The kernel ships its own `toSVG` and `toMultiviewSVG` for exactly this, and
11
+ * the layout below is theirs: a grid of equal panels sharing one scale, a
12
+ * label and an XYZ gnomon per panel, the part's size in a footer. They are not
13
+ * used because the build this project pins (occt-wasm 3.6.1) reads the
14
+ * projected points in the wrong frame -- the HLR result comes back in the
15
+ * camera's own 2D coordinates, and that renderer dots them with world axes --
16
+ * so the front and right views collapse to a line and the top view is a mirror
17
+ * image. Upstream corrected it in a later major version; when the kernel is
18
+ * upgraded, this file reduces to naming the views.
19
+ */
20
+ import type { Vec3 } from "occt-wasm";
21
+ /** The viewpoints the drawing can show, named as the kernel names them. */
22
+ export declare const PROJECTION_VIEWS: readonly ["front", "back", "top", "bottom", "left", "right", "iso"];
23
+ export type ProjectionView = (typeof PROJECTION_VIEWS)[number];
24
+ /** The default grid: three orthographic views and an isometric. */
25
+ export declare const MULTIVIEW_PANELS: readonly ProjectionView[];
26
+ /** What a drawing shows: one named view, or the grid. */
27
+ export declare const PROJECTION_LAYOUTS: readonly ["multiview", "front", "back", "top", "bottom", "left", "right", "iso"];
28
+ export type ProjectionLayout = (typeof PROJECTION_LAYOUTS)[number];
29
+ /** The layout a request names; the grid when it names none; null when it names nonsense. */
30
+ export declare function parseProjectionLayout(value: unknown): ProjectionLayout | null;
31
+ /**
32
+ * The layout behind a capture `face`.
33
+ *
34
+ * `home` and `current` are what the editor's viewport words mean -- a
35
+ * three-quarter look at everything -- and the grid is the headless answer to
36
+ * that: it shows the isometric and the three faces it is made of. The six
37
+ * face names are the kernel's own.
38
+ */
39
+ export declare function projectionLayoutForCaptureFace(face: unknown): ProjectionLayout;
40
+ /**
41
+ * The editor's Y-up frame turned into the Z-up frame a drawing reads in, as
42
+ * OCCT's row-major 3x4 affine rows: `[x, y, z]` becomes `[x, -z, y]`.
43
+ *
44
+ * It is the same turn every file export makes (the STL and 3MF writers apply it
45
+ * per vertex, STEP per solid), so a drawing's "top" is the view down the
46
+ * editor's elevation axis and the footer's X×Y×Z reads as the other exports'
47
+ * coordinates do.
48
+ */
49
+ export declare const EDITOR_TO_DRAWING_TRANSFORM: readonly number[];
50
+ /**
51
+ * Where a view's camera stands, in the drawing frame.
52
+ *
53
+ * `toward` points from the part to the camera and `right` is the screen's
54
+ * horizontal; screen-up is their cross product, which is also the frame the
55
+ * kernel hands projected points back in (see `viewUp`). Every orthographic
56
+ * view keeps +Z upward. The isometric stands where the editor's home camera
57
+ * stands -- in front, to the right, and above.
58
+ */
59
+ export type ViewBasis = {
60
+ toward: Vec3;
61
+ right: Vec3;
62
+ };
63
+ export declare function viewBasis(view: ProjectionView): ViewBasis;
64
+ /** Screen-up for a basis: `toward × right`, the Y axis of OCCT's `gp_Ax2(origin, toward, right)`. */
65
+ export declare function viewUp({ toward, right }: ViewBasis): Vec3;
66
+ /** A projected edge as `[u0, v0, u1, v1, ...]` in model units, v upward. */
67
+ export type DrawingPolyline = number[];
68
+ /** One view's worth of projected edges. */
69
+ export type ViewDrawing = {
70
+ view: ProjectionView;
71
+ visible: DrawingPolyline[];
72
+ hidden: DrawingPolyline[];
73
+ };
74
+ export type DrawingOptions = {
75
+ /** Width and height of each panel in px. Each panel is square. */
76
+ panelSize?: number;
77
+ /** Space between the part and the panel edge, in px. */
78
+ padding?: number;
79
+ /** Draw occluded edges dashed. On by default; a laser-cut template wants it off. */
80
+ showHidden?: boolean;
81
+ strokeWidth?: number;
82
+ background?: string;
83
+ visibleColor?: string;
84
+ hiddenColor?: string;
85
+ };
86
+ export type Drawing = {
87
+ layout: ProjectionLayout;
88
+ panels: ViewDrawing[];
89
+ /** The part's overall extent along X, Y and Z of the drawing frame, for the footer. */
90
+ size?: {
91
+ x: number;
92
+ y: number;
93
+ z: number;
94
+ };
95
+ };
96
+ /**
97
+ * The drawing as a standalone SVG document.
98
+ *
99
+ * Every panel shares one scale, so the part is the same size in each and the
100
+ * views read against each other. A single named view is one panel with no
101
+ * label and no footer.
102
+ */
103
+ export declare function renderDrawingSvg(drawing: Drawing, options?: DrawingOptions): string;
104
+ //# sourceMappingURL=cadProjection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cadProjection.d.ts","sourceRoot":"","sources":["../src/cadProjection.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEtC,2EAA2E;AAC3E,eAAO,MAAM,gBAAgB,qEAAsE,CAAC;AACpG,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE/D,mEAAmE;AACnE,eAAO,MAAM,gBAAgB,EAAE,SAAS,cAAc,EAAqC,CAAC;AAE5F,yDAAyD;AACzD,eAAO,MAAM,kBAAkB,kFAA8C,CAAC;AAC9E,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEnE,4FAA4F;AAC5F,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB,GAAG,IAAI,CAG7E;AAED;;;;;;;GAOG;AACH,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,OAAO,GAAG,gBAAgB,CAG9E;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,2BAA2B,EAAE,SAAS,MAAM,EAIxD,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,MAAM,SAAS,GAAG;IAAE,MAAM,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,IAAI,CAAA;CAAE,CAAC;AAKtD,wBAAgB,SAAS,CAAC,IAAI,EAAE,cAAc,GAAG,SAAS,CAUzD;AAED,qGAAqG;AACrG,wBAAgB,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,SAAS,GAAG,IAAI,CAOzD;AAaD,4EAA4E;AAC5E,MAAM,MAAM,eAAe,GAAG,MAAM,EAAE,CAAC;AAEvC,2CAA2C;AAC3C,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,cAAc,CAAC;IACrB,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,MAAM,EAAE,eAAe,EAAE,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,kEAAkE;IAClE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wDAAwD;IACxD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oFAAoF;IACpF,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG;IACpB,MAAM,EAAE,gBAAgB,CAAC;IACzB,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,uFAAuF;IACvF,IAAI,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC5C,CAAC;AAwGF;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,GAAE,cAAmB,GAAG,MAAM,CAiCvF"}
@@ -0,0 +1,217 @@
1
+ /**
2
+ * A 2D drawing of a project, with no kernel in it.
3
+ *
4
+ * The kernel's hidden-line removal (`projectEdges`) answers which edges of a
5
+ * solid a camera can see and which it cannot; everything after that is
6
+ * arithmetic and SVG text, and lives here so it can be tested against drawn
7
+ * polylines rather than against OCCT. `serverCadProjection.ts` is the half
8
+ * that drives the kernel.
9
+ *
10
+ * The kernel ships its own `toSVG` and `toMultiviewSVG` for exactly this, and
11
+ * the layout below is theirs: a grid of equal panels sharing one scale, a
12
+ * label and an XYZ gnomon per panel, the part's size in a footer. They are not
13
+ * used because the build this project pins (occt-wasm 3.6.1) reads the
14
+ * projected points in the wrong frame -- the HLR result comes back in the
15
+ * camera's own 2D coordinates, and that renderer dots them with world axes --
16
+ * so the front and right views collapse to a line and the top view is a mirror
17
+ * image. Upstream corrected it in a later major version; when the kernel is
18
+ * upgraded, this file reduces to naming the views.
19
+ */
20
+ /** The viewpoints the drawing can show, named as the kernel names them. */
21
+ export const PROJECTION_VIEWS = ["front", "back", "top", "bottom", "left", "right", "iso"];
22
+ /** The default grid: three orthographic views and an isometric. */
23
+ export const MULTIVIEW_PANELS = ["front", "top", "right", "iso"];
24
+ /** What a drawing shows: one named view, or the grid. */
25
+ export const PROJECTION_LAYOUTS = ["multiview", ...PROJECTION_VIEWS];
26
+ /** The layout a request names; the grid when it names none; null when it names nonsense. */
27
+ export function parseProjectionLayout(value) {
28
+ if (value === undefined)
29
+ return "multiview";
30
+ return PROJECTION_LAYOUTS.find((layout) => layout === value) ?? null;
31
+ }
32
+ /**
33
+ * The layout behind a capture `face`.
34
+ *
35
+ * `home` and `current` are what the editor's viewport words mean -- a
36
+ * three-quarter look at everything -- and the grid is the headless answer to
37
+ * that: it shows the isometric and the three faces it is made of. The six
38
+ * face names are the kernel's own.
39
+ */
40
+ export function projectionLayoutForCaptureFace(face) {
41
+ const view = PROJECTION_VIEWS.find((candidate) => candidate === face && candidate !== "iso");
42
+ return view ?? "multiview";
43
+ }
44
+ /**
45
+ * The editor's Y-up frame turned into the Z-up frame a drawing reads in, as
46
+ * OCCT's row-major 3x4 affine rows: `[x, y, z]` becomes `[x, -z, y]`.
47
+ *
48
+ * It is the same turn every file export makes (the STL and 3MF writers apply it
49
+ * per vertex, STEP per solid), so a drawing's "top" is the view down the
50
+ * editor's elevation axis and the footer's X×Y×Z reads as the other exports'
51
+ * coordinates do.
52
+ */
53
+ export const EDITOR_TO_DRAWING_TRANSFORM = [
54
+ 1, 0, 0, 0,
55
+ 0, 0, -1, 0,
56
+ 0, 1, 0, 0,
57
+ ];
58
+ const ISO_TOWARD = unit({ x: 1, y: -1, z: 1 });
59
+ const ISO_RIGHT = unit({ x: 1, y: 1, z: 0 });
60
+ export function viewBasis(view) {
61
+ switch (view) {
62
+ case "front": return { toward: { x: 0, y: -1, z: 0 }, right: { x: 1, y: 0, z: 0 } };
63
+ case "back": return { toward: { x: 0, y: 1, z: 0 }, right: { x: -1, y: 0, z: 0 } };
64
+ case "top": return { toward: { x: 0, y: 0, z: 1 }, right: { x: 1, y: 0, z: 0 } };
65
+ case "bottom": return { toward: { x: 0, y: 0, z: -1 }, right: { x: 1, y: 0, z: 0 } };
66
+ case "right": return { toward: { x: 1, y: 0, z: 0 }, right: { x: 0, y: 1, z: 0 } };
67
+ case "left": return { toward: { x: -1, y: 0, z: 0 }, right: { x: 0, y: -1, z: 0 } };
68
+ case "iso": return { toward: ISO_TOWARD, right: ISO_RIGHT };
69
+ }
70
+ }
71
+ /** Screen-up for a basis: `toward × right`, the Y axis of OCCT's `gp_Ax2(origin, toward, right)`. */
72
+ export function viewUp({ toward, right }) {
73
+ // `0 +` turns a -0 from the arithmetic into the 0 it is.
74
+ return {
75
+ x: 0 + (toward.y * right.z - toward.z * right.y),
76
+ y: 0 + (toward.z * right.x - toward.x * right.z),
77
+ z: 0 + (toward.x * right.y - toward.y * right.x),
78
+ };
79
+ }
80
+ function unit(vector) {
81
+ const length = Math.hypot(vector.x, vector.y, vector.z) || 1;
82
+ return { x: vector.x / length, y: vector.y / length, z: vector.z / length };
83
+ }
84
+ function dot(a, b) {
85
+ return a.x * b.x + a.y * b.y + a.z * b.z;
86
+ }
87
+ const VIEW_LABEL = {
88
+ front: "Front", back: "Back", top: "Top", bottom: "Bottom", left: "Left", right: "Right", iso: "Iso",
89
+ };
90
+ const GRID_COLUMNS = 2;
91
+ const FOOTER_HEIGHT = 22;
92
+ function resolved(options) {
93
+ return {
94
+ panelSize: options.panelSize ?? 480,
95
+ padding: options.padding ?? 14,
96
+ showHidden: options.showHidden ?? true,
97
+ strokeWidth: options.strokeWidth ?? 1,
98
+ background: options.background ?? "#ffffff",
99
+ visibleColor: options.visibleColor ?? "#111111",
100
+ hiddenColor: options.hiddenColor ?? "#9aa0a6",
101
+ };
102
+ }
103
+ function round(value) {
104
+ return Math.round(value * 100) / 100;
105
+ }
106
+ function escapeXml(value) {
107
+ return value.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;");
108
+ }
109
+ function extentOf(panel) {
110
+ let minU = Infinity, maxU = -Infinity, minV = Infinity, maxV = -Infinity;
111
+ for (const line of [...panel.visible, ...panel.hidden]) {
112
+ for (let index = 0; index + 1 < line.length; index += 2) {
113
+ minU = Math.min(minU, line[index]);
114
+ maxU = Math.max(maxU, line[index]);
115
+ minV = Math.min(minV, line[index + 1]);
116
+ maxV = Math.max(maxV, line[index + 1]);
117
+ }
118
+ }
119
+ return Number.isFinite(minU) ? { minU, maxU, minV, maxV } : { minU: 0, maxU: 0, minV: 0, maxV: 0 };
120
+ }
121
+ /** Model units to panel px, centred on the view's own midpoint; v up becomes y down. */
122
+ function toPixels(extent, scale, panelSize) {
123
+ const offsetX = panelSize / 2 - ((extent.minU + extent.maxU) / 2) * scale;
124
+ const offsetY = panelSize / 2 + ((extent.minV + extent.maxV) / 2) * scale;
125
+ return ([u, v]) => [round(u * scale + offsetX), round(-v * scale + offsetY)];
126
+ }
127
+ function pathData(lines, pixel) {
128
+ let d = "";
129
+ for (const line of lines) {
130
+ for (let index = 0; index + 1 < line.length; index += 2) {
131
+ const [x, y] = pixel([line[index], line[index + 1]]);
132
+ d += `${index === 0 ? "M" : "L"}${x} ${y}`;
133
+ }
134
+ }
135
+ return d;
136
+ }
137
+ /** The world axes as the view sees them, drawn in the panel's lower-left corner. */
138
+ function gnomon(view, panelSize, padding) {
139
+ const basis = viewBasis(view);
140
+ const up = viewUp(basis);
141
+ const length = 18;
142
+ const originX = padding + length + 4;
143
+ const originY = panelSize - padding - length - 4;
144
+ const axes = [
145
+ [{ x: 1, y: 0, z: 0 }, "#d33", "X"],
146
+ [{ x: 0, y: 1, z: 0 }, "#3a3", "Y"],
147
+ [{ x: 0, y: 0, z: 1 }, "#36c", "Z"],
148
+ ];
149
+ let svg = "";
150
+ for (const [axis, color, name] of axes) {
151
+ const dx = dot(axis, basis.right);
152
+ const dy = -dot(axis, up);
153
+ if (Math.hypot(dx, dy) < 0.05)
154
+ continue; // points into the screen
155
+ const endX = round(originX + dx * length);
156
+ const endY = round(originY + dy * length);
157
+ svg += `<line x1="${originX}" y1="${originY}" x2="${endX}" y2="${endY}" stroke="${color}" stroke-width="1.5"/>`;
158
+ svg += `<text x="${endX}" y="${endY}" font-size="9" fill="${color}" text-anchor="middle" dominant-baseline="middle">${name}</text>`;
159
+ }
160
+ return svg;
161
+ }
162
+ function panelSvg(panel, scale, options, label) {
163
+ const { panelSize, padding } = options;
164
+ const pixel = toPixels(extentOf(panel), scale, panelSize);
165
+ let body = `<rect x="0.5" y="0.5" width="${panelSize - 1}" height="${panelSize - 1}" fill="${options.background}" stroke="#e0e0e0"/>`;
166
+ if (options.showHidden) {
167
+ const d = pathData(panel.hidden, pixel);
168
+ if (d)
169
+ body += `<path d="${d}" fill="none" stroke="${options.hiddenColor}" stroke-width="${options.strokeWidth}" stroke-dasharray="3 2"/>`;
170
+ }
171
+ const d = pathData(panel.visible, pixel);
172
+ if (d)
173
+ body += `<path d="${d}" fill="none" stroke="${options.visibleColor}" stroke-width="${options.strokeWidth}" stroke-linejoin="round" stroke-linecap="round"/>`;
174
+ body += gnomon(panel.view, panelSize, padding);
175
+ if (label !== null) {
176
+ body += `<text x="${padding}" y="${padding + 4}" font-size="11" fill="#333" font-family="sans-serif">${escapeXml(label)}</text>`;
177
+ }
178
+ return body;
179
+ }
180
+ /**
181
+ * The drawing as a standalone SVG document.
182
+ *
183
+ * Every panel shares one scale, so the part is the same size in each and the
184
+ * views read against each other. A single named view is one panel with no
185
+ * label and no footer.
186
+ */
187
+ export function renderDrawingSvg(drawing, options = {}) {
188
+ const o = resolved(options);
189
+ const grid = drawing.layout === "multiview";
190
+ const inner = o.panelSize - 2 * o.padding;
191
+ let range = 1e-9;
192
+ for (const panel of drawing.panels) {
193
+ const extent = extentOf(panel);
194
+ range = Math.max(range, extent.maxU - extent.minU, extent.maxV - extent.minV);
195
+ }
196
+ const scale = inner / range;
197
+ const columns = grid ? GRID_COLUMNS : 1;
198
+ const rows = Math.ceil(drawing.panels.length / columns);
199
+ const footer = grid && drawing.size ? FOOTER_HEIGHT : 0;
200
+ const width = columns * o.panelSize;
201
+ const height = rows * o.panelSize + footer;
202
+ let panels = "";
203
+ drawing.panels.forEach((panel, index) => {
204
+ const x = (index % columns) * o.panelSize;
205
+ const y = Math.floor(index / columns) * o.panelSize;
206
+ const body = panelSvg(panel, scale, o, grid ? VIEW_LABEL[panel.view] : null);
207
+ panels += grid ? `<g transform="translate(${x} ${y})">${body}</g>` : body;
208
+ });
209
+ let footerSvg = "";
210
+ if (footer && drawing.size) {
211
+ const text = `${round(drawing.size.x)} × ${round(drawing.size.y)} × ${round(drawing.size.z)} (X×Y×Z)`;
212
+ footerSvg = `<text x="${width / 2}" y="${rows * o.panelSize + 15}" font-size="11" fill="#444" font-family="sans-serif" text-anchor="middle">${escapeXml(text)}</text>`;
213
+ }
214
+ return `<svg xmlns="http://www.w3.org/2000/svg" width="${width}" height="${height}" viewBox="0 0 ${width} ${height}">`
215
+ + `<rect width="${width}" height="${height}" fill="${o.background}"/>${panels}${footerSvg}</svg>`;
216
+ }
217
+ //# sourceMappingURL=cadProjection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cadProjection.js","sourceRoot":"","sources":["../src/cadProjection.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /** The three named axis-aligned section planes in drawing coordinates. */
2
+ export declare const SECTION_PLANES: readonly ["xy", "xz", "yz"];
3
+ export type SectionPlane = (typeof SECTION_PLANES)[number];
4
+ export type SectionDrawing = {
5
+ plane: SectionPlane;
6
+ offset: number;
7
+ /** Section contours in model units as [u0, v0, u1, v1, ...]. */
8
+ contours: number[][];
9
+ };
10
+ /** Render exact-kernel section edges as a scale-readable, millimetre SVG. */
11
+ export declare function renderSectionSvg(drawing: SectionDrawing, bounds: {
12
+ minU: number;
13
+ maxU: number;
14
+ minV: number;
15
+ maxV: number;
16
+ }): string;
17
+ //# sourceMappingURL=cadSection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cadSection.d.ts","sourceRoot":"","sources":["../src/cadSection.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,eAAO,MAAM,cAAc,6BAA8B,CAAC;AAC1D,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAE3D,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,EAAE,YAAY,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,gEAAgE;IAChE,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC;CACtB,CAAC;AAoBF,6EAA6E;AAC7E,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,UAS3H"}
@@ -0,0 +1,30 @@
1
+ /** The three named axis-aligned section planes in drawing coordinates. */
2
+ export const SECTION_PLANES = ["xy", "xz", "yz"];
3
+ function escapeXml(value) {
4
+ return value.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/\"/g, "&quot;");
5
+ }
6
+ function round(value) {
7
+ return Math.round(value * 1000) / 1000;
8
+ }
9
+ function pathData(contours) {
10
+ return contours.map((contour) => {
11
+ let path = "";
12
+ for (let index = 0; index + 1 < contour.length; index += 2) {
13
+ path += `${index === 0 ? "M" : "L"}${round(contour[index])} ${round(contour[index + 1])}`;
14
+ }
15
+ return path;
16
+ }).join("");
17
+ }
18
+ /** Render exact-kernel section edges as a scale-readable, millimetre SVG. */
19
+ export function renderSectionSvg(drawing, bounds) {
20
+ const padding = Math.max(1, Math.max(bounds.maxU - bounds.minU, bounds.maxV - bounds.minV) * 0.03);
21
+ const minU = bounds.minU - padding;
22
+ const minV = -bounds.maxV - padding;
23
+ const width = Math.max(2, bounds.maxU - bounds.minU + 2 * padding);
24
+ const height = Math.max(2, bounds.maxV - bounds.minV + 2 * padding);
25
+ const d = pathData(drawing.contours);
26
+ if (!d)
27
+ throw new Error("The section plane produced no contours.");
28
+ return `<svg xmlns="http://www.w3.org/2000/svg" width="${round(width)}mm" height="${round(height)}mm" viewBox="${round(minU)} ${round(minV)} ${round(width)} ${round(height)}" data-plane="${drawing.plane}" data-offset="${round(drawing.offset)}"><g transform="scale(1 -1)"><path d="${escapeXml(d)}" fill="none" stroke="#111111" stroke-width="0.2" stroke-linejoin="round" stroke-linecap="round"/></g></svg>`;
29
+ }
30
+ //# sourceMappingURL=cadSection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cadSection.js","sourceRoot":"","sources":["../src/cadSection.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAU,CAAC;AAU1D,SAAS,SAAS,CAAC,KAAa;IAC9B,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AAC3G,CAAC;AAED,SAAS,KAAK,CAAC,KAAa;IAC1B,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;AACzC,CAAC;AAED,SAAS,QAAQ,CAAC,QAA6B;IAC7C,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QAC9B,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;YAC3D,IAAI,IAAI,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5F,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,gBAAgB,CAAC,OAAuB,EAAE,MAAkE;IAC1H,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;IACnG,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC;IACnC,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC;IACpC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;IACnE,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;IACpE,MAAM,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACrC,IAAI,CAAC,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;IACnE,OAAO,kDAAkD,KAAK,CAAC,KAAK,CAAC,eAAe,KAAK,CAAC,MAAM,CAAC,gBAAgB,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,iBAAiB,OAAO,CAAC,KAAK,kBAAkB,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,yCAAyC,SAAS,CAAC,CAAC,CAAC,8GAA8G,CAAC;AACvZ,CAAC"}
@@ -208,6 +208,8 @@ export type WorkplaneShape = {
208
208
  * A value this build does not recognise is kept as-is rather than coerced.
209
209
  */
210
210
  material?: string;
211
+ /** General surface appearance for viewport rendering; separate from print material estimates. */
212
+ appearance?: ShapeAppearance;
211
213
  hole?: boolean;
212
214
  x: number;
213
215
  z: number;
@@ -290,4 +292,15 @@ export type WorkplaneShape = {
290
292
  locked?: boolean;
291
293
  hidden?: boolean;
292
294
  };
295
+ /** Persisted per-shape surface appearance. Values are normalized to [0, 1] by the renderer. */
296
+ export type ShapeAppearance = {
297
+ /** Reusable built-in starting point such as wood, fabric, ceramic, or metal. */
298
+ presetId?: string;
299
+ /** Optional color override. When absent, a preset color or legacy shape.color is used. */
300
+ baseColor?: string;
301
+ roughness?: number;
302
+ metalness?: number;
303
+ /** Three.js physical-material sheen intensity, useful for fabric-like surfaces. */
304
+ sheen?: number;
305
+ };
293
306
  //# sourceMappingURL=sketchforge.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sketchforge.d.ts","sourceRoot":"","sources":["../../src/domain/sketchforge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sketchforge.d.ts","sourceRoot":"","sources":["../../src/domain/sketchforge.ts"],"names":[],"mappings":"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"}
@@ -28,4 +28,9 @@ export declare function appendEditorHistorySnapshot(entries: EditorHistoryEntry[
28
28
  export declare function liveEditorHistoryState(currentShapes: WorkplaneShape[], storedEntries: EditorHistoryEntry[] | undefined, requestedIndex: number | undefined, limit?: EditorHistoryExportLimit): EditorHistoryState;
29
29
  export declare function hydrateEditorHistoryState(currentShapes: WorkplaneShape[], storedEntries: EditorHistoryEntry[] | undefined, requestedIndex: number | undefined, limit?: EditorHistoryExportLimit): EditorHistoryState;
30
30
  export declare function editorHistoryForExport(entries: EditorHistoryEntry[], requestedIndex: number, limit: EditorHistoryExportLimit): EditorHistoryState;
31
+ /** Autosaves keep enough recent undo history for routine recovery without
32
+ * serializing the editor's entire retained history on every change. Explicit
33
+ * project exports continue to use the user's selected history depth. */
34
+ export declare const AUTOSAVE_EDITOR_HISTORY_ACTION_LIMIT = 30;
35
+ export declare function editorHistoryForAutosave(entries: EditorHistoryEntry[], requestedIndex: number): EditorHistoryState;
31
36
  //# sourceMappingURL=editorHistory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"editorHistory.d.ts","sourceRoot":"","sources":["../src/editorHistory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAG9D,eAAO,MAAM,0BAA0B,OAAO,CAAC;AAC/C,MAAM,MAAM,wBAAwB,GAAG,WAAW,GAAG,MAAM,CAAC;AAE5D,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,EAAE,kBAAkB,EAAE,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AA6LF,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,MAAM,UAE5D;AAmBD,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,cAAc,EAAE;;;EA4BhE;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,cAAc,EAAE,UAEhE;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,cAAc,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,kBAAkB,CAQtG;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,kBAAkB,EAAE,EAAE,KAAK,GAAE,wBAAsC,wBAEhH;AAED,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,kBAAkB,EAAE,EAC7B,cAAc,EAAE,MAAM,EACtB,KAAK,GAAE,wBAAsC,GAC5C,kBAAkB,CAapB;AAED,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,kBAAkB,EAAE,EAC7B,cAAc,EAAE,MAAM,EACtB,KAAK,EAAE,kBAAkB,EACzB,KAAK,GAAE,wBAAsC;;;;EAe9C;AAUD,wBAAgB,sBAAsB,CACpC,aAAa,EAAE,cAAc,EAAE,EAC/B,aAAa,EAAE,kBAAkB,EAAE,GAAG,SAAS,EAC/C,cAAc,EAAE,MAAM,GAAG,SAAS,EAClC,KAAK,GAAE,wBAAsC,GAC5C,kBAAkB,CAiBpB;AAED,wBAAgB,yBAAyB,CACvC,aAAa,EAAE,cAAc,EAAE,EAC/B,aAAa,EAAE,kBAAkB,EAAE,GAAG,SAAS,EAC/C,cAAc,EAAE,MAAM,GAAG,SAAS,EAClC,KAAK,GAAE,wBAAsC,GAC5C,kBAAkB,CAwBpB;AAED,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,kBAAkB,EAAE,EAC7B,cAAc,EAAE,MAAM,EACtB,KAAK,EAAE,wBAAwB,GAC9B,kBAAkB,CASpB"}
1
+ {"version":3,"file":"editorHistory.d.ts","sourceRoot":"","sources":["../src/editorHistory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAG9D,eAAO,MAAM,0BAA0B,OAAO,CAAC;AAC/C,MAAM,MAAM,wBAAwB,GAAG,WAAW,GAAG,MAAM,CAAC;AAE5D,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,EAAE,kBAAkB,EAAE,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AA6LF,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,MAAM,UAE5D;AAmBD,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,cAAc,EAAE;;;EA4BhE;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,cAAc,EAAE,UAEhE;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,cAAc,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,kBAAkB,CAQtG;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,kBAAkB,EAAE,EAAE,KAAK,GAAE,wBAAsC,wBAEhH;AAED,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,kBAAkB,EAAE,EAC7B,cAAc,EAAE,MAAM,EACtB,KAAK,GAAE,wBAAsC,GAC5C,kBAAkB,CAapB;AAED,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,kBAAkB,EAAE,EAC7B,cAAc,EAAE,MAAM,EACtB,KAAK,EAAE,kBAAkB,EACzB,KAAK,GAAE,wBAAsC;;;;EAe9C;AAUD,wBAAgB,sBAAsB,CACpC,aAAa,EAAE,cAAc,EAAE,EAC/B,aAAa,EAAE,kBAAkB,EAAE,GAAG,SAAS,EAC/C,cAAc,EAAE,MAAM,GAAG,SAAS,EAClC,KAAK,GAAE,wBAAsC,GAC5C,kBAAkB,CAiBpB;AAED,wBAAgB,yBAAyB,CACvC,aAAa,EAAE,cAAc,EAAE,EAC/B,aAAa,EAAE,kBAAkB,EAAE,GAAG,SAAS,EAC/C,cAAc,EAAE,MAAM,GAAG,SAAS,EAClC,KAAK,GAAE,wBAAsC,GAC5C,kBAAkB,CAwBpB;AAED,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,kBAAkB,EAAE,EAC7B,cAAc,EAAE,MAAM,EACtB,KAAK,EAAE,wBAAwB,GAC9B,kBAAkB,CASpB;AAED;;wEAEwE;AACxE,eAAO,MAAM,oCAAoC,KAAK,CAAC;AAEvD,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,kBAAkB,EAAE,EAC7B,cAAc,EAAE,MAAM,GACrB,kBAAkB,CAEpB"}
@@ -324,4 +324,11 @@ export function editorHistoryForExport(entries, requestedIndex, limit) {
324
324
  index: index - start,
325
325
  };
326
326
  }
327
+ /** Autosaves keep enough recent undo history for routine recovery without
328
+ * serializing the editor's entire retained history on every change. Explicit
329
+ * project exports continue to use the user's selected history depth. */
330
+ export const AUTOSAVE_EDITOR_HISTORY_ACTION_LIMIT = 30;
331
+ export function editorHistoryForAutosave(entries, requestedIndex) {
332
+ return boundedEditorHistoryState(entries, requestedIndex, AUTOSAVE_EDITOR_HISTORY_ACTION_LIMIT);
333
+ }
327
334
  //# sourceMappingURL=editorHistory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"editorHistory.js","sourceRoot":"","sources":["../src/editorHistory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"editorHistory.js","sourceRoot":"","sources":["../src/editorHistory.ts"],"names":[],"mappings":"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"}
package/dist/engine.d.ts CHANGED
@@ -17,6 +17,8 @@
17
17
  import { type ServerCadEdge, type ServerCadTreatment } from "./serverCadOperations.js";
18
18
  import { type ServerCadFace, type ServerCadShellRequest } from "./serverCadShell.js";
19
19
  import { type MeasurementEndRef, type ServerCadMeasurement, type ServerCadMeasurementPair } from "./serverCadMeasure.js";
20
+ import { type ServerCadShapeProperties } from "./serverCadProperties.js";
21
+ import { type InterferenceReport, type InterferenceRequest, type InterferenceRefusal } from "./serverCadInterference.js";
20
22
  import { type AlignAxis, type AlignTarget } from "./alignShapes.js";
21
23
  import { type DistributeSpacing } from "./distributeShapes.js";
22
24
  import { type ShapeRequest } from "./shapeRequests.js";
@@ -65,6 +67,9 @@ export type EngineFailure = {
65
67
  status: number;
66
68
  } | {
67
69
  reason: "cad_failed";
70
+ } | {
71
+ reason: "interference_refused";
72
+ refusal: InterferenceRefusal;
68
73
  }
69
74
  /** The `kind` asked for is not one that can be built from parameters. */
70
75
  | {
@@ -264,10 +269,14 @@ export type Engine = {
264
269
  faces(projectId: string, shapeId: string): Promise<EngineResult<ServerCadFace[]>>;
265
270
  /** Round or cut a shape's edges. */
266
271
  treat(projectId: string, shapeId: string, treatment: ServerCadTreatment): Promise<EngineResult<ShapeWritten>>;
272
+ /** Reflect selected parameter-built solids across their selection bounds and bake the exact result. */
273
+ mirrorBaked(projectId: string, ids: string[], axis: "x" | "y" | "z"): Promise<EngineResult<ShapesArranged>>;
267
274
  /** Hollow a shape out, optionally leaving faces open. */
268
275
  shell(projectId: string, shapeId: string, request: ServerCadShellRequest): Promise<EngineResult<ShapeWritten>>;
269
276
  /** Every edge and face of a shape, measured from its exact geometry. */
270
277
  measurements(projectId: string, shapeId: string): Promise<EngineResult<ServerCadMeasurement[]>>;
278
+ /** Volume, area, center of mass, bounds and provenance for one placed shape. */
279
+ properties(projectId: string, shapeId: string): Promise<EngineResult<ServerCadShapeProperties>>;
271
280
  /**
272
281
  * The distance between two entities, and the angle between them if both are flat faces.
273
282
  *
@@ -276,6 +285,8 @@ export type Engine = {
276
285
  * the operation exists for.
277
286
  */
278
287
  measureBetween(projectId: string, from: MeasurementEndRef, to: MeasurementEndRef): Promise<EngineResult<ServerCadMeasurementPair>>;
288
+ /** Exact, bounded gaps and overlap volumes between visible non-cutter shapes. */
289
+ interference(projectId: string, request?: InterferenceRequest): Promise<EngineResult<InterferenceReport>>;
279
290
  };
280
291
  export declare function createEngine(store: ProjectStore): Engine;
281
292
  //# sourceMappingURL=engine.d.ts.map