@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.
Files changed (40) hide show
  1. package/dist/components/ContrastLegibilityPanel.d.ts +71 -0
  2. package/dist/components/ContrastLegibilityPanel.d.ts.map +1 -0
  3. package/dist/components/ContrastLegibilityPanel.js +123 -0
  4. package/dist/components/ContrastLegibilityPanel.js.map +1 -0
  5. package/dist/components/DirectionIndicatorsOverlay.d.ts +55 -0
  6. package/dist/components/DirectionIndicatorsOverlay.d.ts.map +1 -0
  7. package/dist/components/DirectionIndicatorsOverlay.js +126 -0
  8. package/dist/components/DirectionIndicatorsOverlay.js.map +1 -0
  9. package/dist/components/StreamingRenderProgress.d.ts +60 -0
  10. package/dist/components/StreamingRenderProgress.d.ts.map +1 -0
  11. package/dist/components/StreamingRenderProgress.js +99 -0
  12. package/dist/components/StreamingRenderProgress.js.map +1 -0
  13. package/dist/components/SubstrateSimOverlay.d.ts +56 -0
  14. package/dist/components/SubstrateSimOverlay.d.ts.map +1 -0
  15. package/dist/components/SubstrateSimOverlay.js +39 -0
  16. package/dist/components/SubstrateSimOverlay.js.map +1 -0
  17. package/dist/components/wave4-extras.d.ts +326 -0
  18. package/dist/components/wave4-extras.d.ts.map +1 -0
  19. package/dist/components/wave4-extras.js +264 -0
  20. package/dist/components/wave4-extras.js.map +1 -0
  21. package/dist/index.d.ts +7 -0
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +7 -0
  24. package/dist/index.js.map +1 -1
  25. package/dist/lib/editor-config.d.ts +41 -1
  26. package/dist/lib/editor-config.d.ts.map +1 -1
  27. package/dist/lib/editor-config.js +15 -0
  28. package/dist/lib/editor-config.js.map +1 -1
  29. package/dist/lib/palette-registry.d.ts.map +1 -1
  30. package/dist/lib/palette-registry.js +14 -0
  31. package/dist/lib/palette-registry.js.map +1 -1
  32. package/dist/lib/streaming-render.d.ts +100 -0
  33. package/dist/lib/streaming-render.d.ts.map +1 -0
  34. package/dist/lib/streaming-render.js +132 -0
  35. package/dist/lib/streaming-render.js.map +1 -0
  36. package/dist/lib/structural-export.d.ts +84 -0
  37. package/dist/lib/structural-export.d.ts.map +1 -0
  38. package/dist/lib/structural-export.js +100 -0
  39. package/dist/lib/structural-export.js.map +1 -0
  40. 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.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",