@printwithsynergy/artwork-pdf-editor 0.3.0 → 0.5.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/components/ContrastLegibilityPanel.d.ts +71 -0
- package/dist/components/ContrastLegibilityPanel.d.ts.map +1 -0
- package/dist/components/ContrastLegibilityPanel.js +123 -0
- package/dist/components/ContrastLegibilityPanel.js.map +1 -0
- package/dist/components/DirectionIndicatorsOverlay.d.ts +55 -0
- package/dist/components/DirectionIndicatorsOverlay.d.ts.map +1 -0
- package/dist/components/DirectionIndicatorsOverlay.js +126 -0
- package/dist/components/DirectionIndicatorsOverlay.js.map +1 -0
- package/dist/components/StreamingRenderProgress.d.ts +60 -0
- package/dist/components/StreamingRenderProgress.d.ts.map +1 -0
- package/dist/components/StreamingRenderProgress.js +99 -0
- package/dist/components/StreamingRenderProgress.js.map +1 -0
- package/dist/components/SubstrateSimOverlay.d.ts +56 -0
- package/dist/components/SubstrateSimOverlay.d.ts.map +1 -0
- package/dist/components/SubstrateSimOverlay.js +39 -0
- package/dist/components/SubstrateSimOverlay.js.map +1 -0
- package/dist/components/wave4-extras.d.ts +326 -0
- package/dist/components/wave4-extras.d.ts.map +1 -0
- package/dist/components/wave4-extras.js +264 -0
- package/dist/components/wave4-extras.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/editor-config.d.ts +41 -1
- package/dist/lib/editor-config.d.ts.map +1 -1
- package/dist/lib/editor-config.js +15 -0
- package/dist/lib/editor-config.js.map +1 -1
- package/dist/lib/palette-registry.d.ts.map +1 -1
- package/dist/lib/palette-registry.js +14 -0
- package/dist/lib/palette-registry.js.map +1 -1
- package/dist/lib/streaming-render.d.ts +100 -0
- package/dist/lib/streaming-render.d.ts.map +1 -0
- package/dist/lib/streaming-render.js +132 -0
- package/dist/lib/streaming-render.js.map +1 -0
- package/dist/lib/structural-export.d.ts +84 -0
- package/dist/lib/structural-export.d.ts.map +1 -0
- package/dist/lib/structural-export.js +100 -0
- package/dist/lib/structural-export.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
// SPDX-License-Identifier: AGPL-3.0-or-later
|
|
2
|
+
const CF2_LINE_TYPE = {
|
|
3
|
+
cut: 1,
|
|
4
|
+
crease: 2,
|
|
5
|
+
perf: 3,
|
|
6
|
+
bleed: 4,
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Pure emitter — produces a CF2 (Common File Format) text buffer.
|
|
10
|
+
* CF2 is the de-facto interchange format for die makers. The grammar
|
|
11
|
+
* here is the minimum subset every CF2 reader accepts: header (`J1`),
|
|
12
|
+
* bounding box (`B1`), then one line per polyline segment with a
|
|
13
|
+
* line-type code.
|
|
14
|
+
*
|
|
15
|
+
* Pure function.
|
|
16
|
+
*
|
|
17
|
+
* @public
|
|
18
|
+
*/
|
|
19
|
+
export function emitCf2(dieline) {
|
|
20
|
+
const lines = [
|
|
21
|
+
`J1 ${dieline.name.replace(/\s+/g, "_")}`,
|
|
22
|
+
`B1 0 0 ${dieline.widthMm.toFixed(3)} ${dieline.heightMm.toFixed(3)}`,
|
|
23
|
+
];
|
|
24
|
+
for (const path of dieline.paths) {
|
|
25
|
+
const lt = CF2_LINE_TYPE[path.type];
|
|
26
|
+
for (let i = 0; i < path.points.length - 1; i++) {
|
|
27
|
+
const a = path.points[i];
|
|
28
|
+
const b = path.points[i + 1];
|
|
29
|
+
if (a === undefined || b === undefined)
|
|
30
|
+
continue;
|
|
31
|
+
// CF2 L1 segment: L<line_type> <x1> <y1> <x2> <y2>
|
|
32
|
+
lines.push(`L${lt} ${a.x.toFixed(3)} ${a.y.toFixed(3)} ${b.x.toFixed(3)} ${b.y.toFixed(3)}`);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
lines.push("END");
|
|
36
|
+
return `${lines.join("\n")}\n`;
|
|
37
|
+
}
|
|
38
|
+
const DXF_LAYER = {
|
|
39
|
+
cut: "CUT",
|
|
40
|
+
crease: "CREASE",
|
|
41
|
+
perf: "PERF",
|
|
42
|
+
bleed: "BLEED",
|
|
43
|
+
};
|
|
44
|
+
/**
|
|
45
|
+
* Pure emitter — produces a minimal AutoCAD DXF (R12) text buffer.
|
|
46
|
+
* One LINE entity per polyline segment, layered by line type so the
|
|
47
|
+
* downstream CAD package can colour them. Header carries the
|
|
48
|
+
* `$LIMMIN` / `$LIMMAX` extent so the file opens framed.
|
|
49
|
+
*
|
|
50
|
+
* Pure function.
|
|
51
|
+
*
|
|
52
|
+
* @public
|
|
53
|
+
*/
|
|
54
|
+
export function emitDxf(dieline) {
|
|
55
|
+
const out = [
|
|
56
|
+
"0",
|
|
57
|
+
"SECTION",
|
|
58
|
+
"2",
|
|
59
|
+
"HEADER",
|
|
60
|
+
"9",
|
|
61
|
+
"$LIMMIN",
|
|
62
|
+
"10",
|
|
63
|
+
"0.0",
|
|
64
|
+
"20",
|
|
65
|
+
"0.0",
|
|
66
|
+
"9",
|
|
67
|
+
"$LIMMAX",
|
|
68
|
+
"10",
|
|
69
|
+
dieline.widthMm.toFixed(3),
|
|
70
|
+
"20",
|
|
71
|
+
dieline.heightMm.toFixed(3),
|
|
72
|
+
"0",
|
|
73
|
+
"ENDSEC",
|
|
74
|
+
"0",
|
|
75
|
+
"SECTION",
|
|
76
|
+
"2",
|
|
77
|
+
"ENTITIES",
|
|
78
|
+
];
|
|
79
|
+
for (const path of dieline.paths) {
|
|
80
|
+
const layer = DXF_LAYER[path.type];
|
|
81
|
+
for (let i = 0; i < path.points.length - 1; i++) {
|
|
82
|
+
const a = path.points[i];
|
|
83
|
+
const b = path.points[i + 1];
|
|
84
|
+
if (a === undefined || b === undefined)
|
|
85
|
+
continue;
|
|
86
|
+
out.push("0", "LINE", "8", layer, "10", a.x.toFixed(3), "20", a.y.toFixed(3), "11", b.x.toFixed(3), "21", b.y.toFixed(3));
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
out.push("0", "ENDSEC", "0", "EOF");
|
|
90
|
+
return `${out.join("\n")}\n`;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Pure helper — dispatches to {@link emitCf2} or {@link emitDxf}.
|
|
94
|
+
*
|
|
95
|
+
* @public
|
|
96
|
+
*/
|
|
97
|
+
export function emitStructural(dieline, format) {
|
|
98
|
+
return format === "cf2" ? emitCf2(dieline) : emitDxf(dieline);
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=structural-export.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"structural-export.js","sourceRoot":"","sources":["../../src/lib/structural-export.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@printwithsynergy/artwork-pdf-editor",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0",
|
|
4
4
|
"description": "artworkPDF WYSIWYG editor as a host-customizable React component. Drop-in mountable in Next.js, Astro, Remix, etc.",
|
|
5
5
|
"license": "AGPL-3.0-or-later",
|
|
6
6
|
"type": "module",
|