@tobisk/pcbs 1.0.0 → 1.1.1
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/src/cli/cli.js +0 -0
- package/dist/src/synth/3d/Kicad3DModel.d.ts +9 -0
- package/dist/src/synth/3d/Kicad3DModel.js +18 -12
- package/dist/src/synth/3d/Kicad3DModel.js.map +1 -1
- package/dist/src/synth/Layout.d.ts +13 -0
- package/dist/src/synth/Layout.js +144 -1
- package/dist/src/synth/Layout.js.map +1 -1
- package/dist/src/synth/index.d.ts +1 -1
- package/dist/src/synth/index.js +2 -1
- package/dist/src/synth/index.js.map +1 -1
- package/dist/src/tests/3d-model.test.js +12 -0
- package/dist/src/tests/3d-model.test.js.map +1 -1
- package/package.json +4 -3
- package/dist/src/tests/dmx_node.test.d.ts +0 -1
- package/dist/src/tests/dmx_node.test.js +0 -42
- package/dist/src/tests/dmx_node.test.js.map +0 -1
- package/dist/src/tests/migration.test.d.ts +0 -1
- package/dist/src/tests/migration.test.js +0 -58
- package/dist/src/tests/migration.test.js.map +0 -1
- package/dist/src/types/kicad-library.d.ts +0 -6
- package/dist/src/types/kicad-library.js +0 -7
- package/dist/src/types/kicad-library.js.map +0 -1
- package/dist/src/types/kicad-library.ts +0 -61770
package/dist/src/cli/cli.js
CHANGED
|
File without changes
|
|
@@ -60,6 +60,15 @@ export declare class Kicad3DModel {
|
|
|
60
60
|
sphere(opts: SphereOptions): SolidBuilder;
|
|
61
61
|
/** Create a cylinder primitive. */
|
|
62
62
|
cylinder(opts: CylinderOptions): SolidBuilder;
|
|
63
|
+
/**
|
|
64
|
+
* Create a pipe (a cylinder with a concentric hole).
|
|
65
|
+
*/
|
|
66
|
+
pipe(opts: {
|
|
67
|
+
r: number;
|
|
68
|
+
wallThickness: number;
|
|
69
|
+
h: number;
|
|
70
|
+
center?: boolean;
|
|
71
|
+
}): SolidBuilder;
|
|
63
72
|
/**
|
|
64
73
|
* Create a box with rounded edges (box + fillet on all edges).
|
|
65
74
|
*/
|
|
@@ -170,6 +170,18 @@ class Kicad3DModel {
|
|
|
170
170
|
this._solids.push(handle);
|
|
171
171
|
return new SolidBuilder(this.oc, handle);
|
|
172
172
|
}
|
|
173
|
+
/**
|
|
174
|
+
* Create a pipe (a cylinder with a concentric hole).
|
|
175
|
+
*/
|
|
176
|
+
pipe(opts) {
|
|
177
|
+
const outer = (0, primitives_1.makeCylinder)(this.oc, { r: opts.r, h: opts.h, center: opts.center });
|
|
178
|
+
// Make the inner cylinder slightly longer to avoid Z-fighting/coplanar faces during cut
|
|
179
|
+
const inner = (0, primitives_1.makeCylinder)(this.oc, { r: opts.r - opts.wallThickness, h: opts.h + 0.1, center: opts.center });
|
|
180
|
+
const shape = (0, booleans_1.cutShapes)(this.oc, outer, inner);
|
|
181
|
+
const handle = { shape };
|
|
182
|
+
this._solids.push(handle);
|
|
183
|
+
return new SolidBuilder(this.oc, handle);
|
|
184
|
+
}
|
|
173
185
|
/**
|
|
174
186
|
* Create a box with rounded edges (box + fillet on all edges).
|
|
175
187
|
*/
|
|
@@ -184,30 +196,24 @@ class Kicad3DModel {
|
|
|
184
196
|
/** Fuse (union) two solids. Replaces both with the result, returns new builder. */
|
|
185
197
|
union(a, b) {
|
|
186
198
|
const fused = (0, booleans_1.fuseShapes)(this.oc, a._handle.shape, b._handle.shape);
|
|
187
|
-
|
|
199
|
+
a._handle.shape = fused;
|
|
188
200
|
// Remove the original handles
|
|
189
|
-
this._removeSolid(a._handle);
|
|
190
201
|
this._removeSolid(b._handle);
|
|
191
|
-
|
|
192
|
-
return new SolidBuilder(this.oc, handle);
|
|
202
|
+
return a;
|
|
193
203
|
}
|
|
194
204
|
/** Subtract solid `b` from solid `a`. Removes `b` from model, replaces `a`. */
|
|
195
205
|
subtract(a, b) {
|
|
196
206
|
const cut = (0, booleans_1.cutShapes)(this.oc, a._handle.shape, b._handle.shape);
|
|
197
|
-
|
|
198
|
-
this._removeSolid(a._handle);
|
|
207
|
+
a._handle.shape = cut;
|
|
199
208
|
this._removeSolid(b._handle);
|
|
200
|
-
|
|
201
|
-
return new SolidBuilder(this.oc, handle);
|
|
209
|
+
return a;
|
|
202
210
|
}
|
|
203
211
|
/** Intersect two solids. Returns their common volume. */
|
|
204
212
|
intersect(a, b) {
|
|
205
213
|
const common = (0, booleans_1.intersectShapes)(this.oc, a._handle.shape, b._handle.shape);
|
|
206
|
-
|
|
207
|
-
this._removeSolid(a._handle);
|
|
214
|
+
a._handle.shape = common;
|
|
208
215
|
this._removeSolid(b._handle);
|
|
209
|
-
|
|
210
|
-
return new SolidBuilder(this.oc, handle);
|
|
216
|
+
return a;
|
|
211
217
|
}
|
|
212
218
|
// ── Export ─────────────────────────────────────────────────────────
|
|
213
219
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Kicad3DModel.js","sourceRoot":"","sources":["../../../../src/synth/3d/Kicad3DModel.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Kicad3DModel.js","sourceRoot":"","sources":["../../../../src/synth/3d/Kicad3DModel.ts"],"names":[],"mappings":"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"}
|
|
@@ -35,3 +35,16 @@ export declare class VBoxLayout extends Layout {
|
|
|
35
35
|
});
|
|
36
36
|
apply(items: LayoutItem[]): void;
|
|
37
37
|
}
|
|
38
|
+
/**
|
|
39
|
+
* Arranges items using a force-directed (gravity) layout based on their net connections.
|
|
40
|
+
*/
|
|
41
|
+
export declare class GravityLayout extends Layout {
|
|
42
|
+
private options;
|
|
43
|
+
constructor(options?: {
|
|
44
|
+
spacing?: number;
|
|
45
|
+
iterations?: number;
|
|
46
|
+
x?: number;
|
|
47
|
+
y?: number;
|
|
48
|
+
});
|
|
49
|
+
apply(items: LayoutItem[]): void;
|
|
50
|
+
}
|
package/dist/src/synth/Layout.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.VBoxLayout = exports.HBoxLayout = exports.Layout = void 0;
|
|
3
|
+
exports.GravityLayout = exports.VBoxLayout = exports.HBoxLayout = exports.Layout = void 0;
|
|
4
4
|
/**
|
|
5
5
|
* Base class for all layouts.
|
|
6
6
|
*
|
|
@@ -55,4 +55,147 @@ class VBoxLayout extends Layout {
|
|
|
55
55
|
}
|
|
56
56
|
}
|
|
57
57
|
exports.VBoxLayout = VBoxLayout;
|
|
58
|
+
/**
|
|
59
|
+
* Arranges items using a force-directed (gravity) layout based on their net connections.
|
|
60
|
+
*/
|
|
61
|
+
class GravityLayout extends Layout {
|
|
62
|
+
constructor(options = {}) {
|
|
63
|
+
super();
|
|
64
|
+
this.options = options;
|
|
65
|
+
}
|
|
66
|
+
apply(items) {
|
|
67
|
+
const numItems = items.length;
|
|
68
|
+
if (numItems === 0)
|
|
69
|
+
return;
|
|
70
|
+
const iterations = this.options.iterations ?? 100;
|
|
71
|
+
const spacing = this.options.spacing ?? 500; // Optimal distance
|
|
72
|
+
// Initialize positions with some pseudo-random jitter
|
|
73
|
+
const positions = new Map();
|
|
74
|
+
items.forEach((item, i) => {
|
|
75
|
+
const currentX = item.schematicPosition?.x ?? 0;
|
|
76
|
+
const currentY = item.schematicPosition?.y ?? 0;
|
|
77
|
+
positions.set(item, {
|
|
78
|
+
x: currentX + (i % 5) * 10 - 20,
|
|
79
|
+
y: currentY + (i % 7) * 10 - 30,
|
|
80
|
+
dx: 0,
|
|
81
|
+
dy: 0
|
|
82
|
+
});
|
|
83
|
+
});
|
|
84
|
+
// Determine edges (connections via shared nets)
|
|
85
|
+
const netToItems = new Map();
|
|
86
|
+
items.forEach(item => {
|
|
87
|
+
const allPins = item.allPins;
|
|
88
|
+
if (allPins instanceof Map) {
|
|
89
|
+
allPins.forEach((pin) => {
|
|
90
|
+
if (pin && pin.net && typeof pin.net.name === 'string') {
|
|
91
|
+
let itemsOnNet = netToItems.get(pin.net.name);
|
|
92
|
+
if (!itemsOnNet) {
|
|
93
|
+
itemsOnNet = new Set();
|
|
94
|
+
netToItems.set(pin.net.name, itemsOnNet);
|
|
95
|
+
}
|
|
96
|
+
itemsOnNet.add(item);
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
});
|
|
101
|
+
// Edges: Set of connected item pairs
|
|
102
|
+
const edges = [];
|
|
103
|
+
const seenPairs = new Set();
|
|
104
|
+
netToItems.forEach((connectedItems) => {
|
|
105
|
+
const arr = Array.from(connectedItems);
|
|
106
|
+
for (let i = 0; i < arr.length; i++) {
|
|
107
|
+
for (let j = i + 1; j < arr.length; j++) {
|
|
108
|
+
const u = arr[i];
|
|
109
|
+
const v = arr[j];
|
|
110
|
+
const pairId = u.ref < v.ref ? `${u.ref}-${v.ref}` : `${v.ref}-${u.ref}`;
|
|
111
|
+
if (!seenPairs.has(pairId)) {
|
|
112
|
+
seenPairs.add(pairId);
|
|
113
|
+
edges.push([u, v]);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
});
|
|
118
|
+
// Fruchterman-Reingold algorithm
|
|
119
|
+
const k = spacing;
|
|
120
|
+
const k2 = k * k;
|
|
121
|
+
let t = spacing * 10; // Initial temperature
|
|
122
|
+
const dt = t / (iterations + 1);
|
|
123
|
+
const repulse = (d) => k2 / Math.max(d, 0.01);
|
|
124
|
+
const attract = (d) => (d * d) / k;
|
|
125
|
+
for (let iter = 0; iter < iterations; iter++) {
|
|
126
|
+
// Reset displacements
|
|
127
|
+
positions.forEach(pos => { pos.dx = 0; pos.dy = 0; });
|
|
128
|
+
// Calculate repulsive forces
|
|
129
|
+
for (let i = 0; i < items.length; i++) {
|
|
130
|
+
const u = items[i];
|
|
131
|
+
const posU = positions.get(u);
|
|
132
|
+
for (let j = i + 1; j < items.length; j++) {
|
|
133
|
+
const v = items[j];
|
|
134
|
+
const posV = positions.get(v);
|
|
135
|
+
const dx = posU.x - posV.x;
|
|
136
|
+
const dy = posU.y - posV.y;
|
|
137
|
+
const dist = Math.sqrt(dx * dx + dy * dy) || 0.01;
|
|
138
|
+
const f = repulse(dist);
|
|
139
|
+
const fx = (dx / dist) * f;
|
|
140
|
+
const fy = (dy / dist) * f;
|
|
141
|
+
posU.dx += fx;
|
|
142
|
+
posU.dy += fy;
|
|
143
|
+
posV.dx -= fx;
|
|
144
|
+
posV.dy -= fy;
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
// Calculate attractive forces
|
|
148
|
+
edges.forEach(([u, v]) => {
|
|
149
|
+
const posU = positions.get(u);
|
|
150
|
+
const posV = positions.get(v);
|
|
151
|
+
const dx = posU.x - posV.x;
|
|
152
|
+
const dy = posU.y - posV.y;
|
|
153
|
+
const dist = Math.sqrt(dx * dx + dy * dy) || 0.01;
|
|
154
|
+
const f = attract(dist);
|
|
155
|
+
const fx = (dx / dist) * f;
|
|
156
|
+
const fy = (dy / dist) * f;
|
|
157
|
+
posU.dx -= fx;
|
|
158
|
+
posU.dy -= fy;
|
|
159
|
+
posV.dx += fx;
|
|
160
|
+
posV.dy += fy;
|
|
161
|
+
});
|
|
162
|
+
// Apply displacements
|
|
163
|
+
positions.forEach(pos => {
|
|
164
|
+
const dist = Math.sqrt(pos.dx * pos.dx + pos.dy * pos.dy) || 0.01;
|
|
165
|
+
const moveDist = Math.min(dist, t);
|
|
166
|
+
pos.x += (pos.dx / dist) * moveDist;
|
|
167
|
+
pos.y += (pos.dy / dist) * moveDist;
|
|
168
|
+
});
|
|
169
|
+
t -= dt;
|
|
170
|
+
}
|
|
171
|
+
// Center the layout
|
|
172
|
+
let minX = Infinity, minY = Infinity;
|
|
173
|
+
let maxX = -Infinity, maxY = -Infinity;
|
|
174
|
+
positions.forEach(pos => {
|
|
175
|
+
if (pos.x < minX)
|
|
176
|
+
minX = pos.x;
|
|
177
|
+
if (pos.y < minY)
|
|
178
|
+
minY = pos.y;
|
|
179
|
+
if (pos.x > maxX)
|
|
180
|
+
maxX = pos.x;
|
|
181
|
+
if (pos.y > maxY)
|
|
182
|
+
maxY = pos.y;
|
|
183
|
+
});
|
|
184
|
+
const centerX = (minX + maxX) / 2;
|
|
185
|
+
const centerY = (minY + maxY) / 2;
|
|
186
|
+
const targetX = this.options.x ?? 0;
|
|
187
|
+
const targetY = this.options.y ?? 0;
|
|
188
|
+
const offsetX = targetX - centerX;
|
|
189
|
+
const offsetY = targetY - centerY;
|
|
190
|
+
for (const item of items) {
|
|
191
|
+
const pos = positions.get(item);
|
|
192
|
+
item.schematicPosition = {
|
|
193
|
+
x: Math.round(pos.x + offsetX),
|
|
194
|
+
y: Math.round(pos.y + offsetY),
|
|
195
|
+
rotation: item.schematicPosition?.rotation ?? 0
|
|
196
|
+
}; // Added semi-colon
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
exports.GravityLayout = GravityLayout;
|
|
58
201
|
//# sourceMappingURL=Layout.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Layout.js","sourceRoot":"","sources":["../../../src/synth/Layout.ts"],"names":[],"mappings":";;;AAEA;;;;GAIG;AACH,MAAsB,MAAM;CAM3B;AAND,wBAMC;AAED;;GAEG;AACH,MAAa,UAAW,SAAQ,MAAM;IAClC,YAAoB,UAAwD,EAAE;QAC1E,KAAK,EAAE,CAAC;QADQ,YAAO,GAAP,OAAO,CAAmD;IAE9E,CAAC;IAED,KAAK,CAAC,KAAmB;QACrB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,gCAAgC;QAC5E,IAAI,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;QACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;QAErC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACtB,IAAY,CAAC,iBAAiB,GAAG;gBAC9B,CAAC,EAAE,QAAQ;gBACX,CAAC,EAAE,QAAQ;gBACX,QAAQ,EAAE,IAAI,CAAC,iBAAiB,EAAE,QAAQ,IAAI,CAAC;aAClD,CAAC;YACF,QAAQ,IAAI,OAAO,CAAC;QACxB,CAAC;IACL,CAAC;CACJ;AAnBD,gCAmBC;AAED;;GAEG;AACH,MAAa,UAAW,SAAQ,MAAM;IAClC,YAAoB,UAAwD,EAAE;QAC1E,KAAK,EAAE,CAAC;QADQ,YAAO,GAAP,OAAO,CAAmD;IAE9E,CAAC;IAED,KAAK,CAAC,KAAmB;QACrB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;QAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;QAEnC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACtB,IAAY,CAAC,iBAAiB,GAAG;gBAC9B,CAAC,EAAE,QAAQ;gBACX,CAAC,EAAE,QAAQ;gBACX,QAAQ,EAAE,IAAI,CAAC,iBAAiB,EAAE,QAAQ,IAAI,CAAC;aAClD,CAAC;YACF,QAAQ,IAAI,OAAO,CAAC;QACxB,CAAC;IACL,CAAC;CACJ;AAnBD,gCAmBC"}
|
|
1
|
+
{"version":3,"file":"Layout.js","sourceRoot":"","sources":["../../../src/synth/Layout.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,7 +14,7 @@ export { DNC, TP } from "./Markers";
|
|
|
14
14
|
export { KicadFootprint } from "./KicadFootprint";
|
|
15
15
|
export { KicadSymbol } from "./KicadSymbol";
|
|
16
16
|
export { KicadLibrary } from "./KicadLibrary";
|
|
17
|
-
export { HBoxLayout, VBoxLayout, Layout } from "./Layout";
|
|
17
|
+
export { HBoxLayout, VBoxLayout, GravityLayout, Layout } from "./Layout";
|
|
18
18
|
export { generatePython, CircuitSnapshot } from "../cli/codegen";
|
|
19
19
|
export { runSynthesis } from "../cli/synthesis";
|
|
20
20
|
export { Kicad3DModel, SolidBuilder } from "./3d";
|
package/dist/src/synth/index.js
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* Type-safe TypeScript framework for PCB design with circuit-synth.
|
|
6
6
|
*/
|
|
7
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
-
exports.SolidBuilder = exports.Kicad3DModel = exports.runSynthesis = exports.generatePython = exports.Layout = exports.VBoxLayout = exports.HBoxLayout = exports.KicadLibrary = exports.KicadSymbol = exports.KicadFootprint = exports.TP = exports.DNC = exports.Module = exports.Composable = exports.Component = exports.Net = exports.Schematic = exports.Registry = exports.Pin = void 0;
|
|
8
|
+
exports.SolidBuilder = exports.Kicad3DModel = exports.runSynthesis = exports.generatePython = exports.Layout = exports.GravityLayout = exports.VBoxLayout = exports.HBoxLayout = exports.KicadLibrary = exports.KicadSymbol = exports.KicadFootprint = exports.TP = exports.DNC = exports.Module = exports.Composable = exports.Component = exports.Net = exports.Schematic = exports.Registry = exports.Pin = void 0;
|
|
9
9
|
// Core types
|
|
10
10
|
var types_1 = require("./types");
|
|
11
11
|
Object.defineProperty(exports, "Pin", { enumerable: true, get: function () { return types_1.Pin; } });
|
|
@@ -34,6 +34,7 @@ Object.defineProperty(exports, "KicadLibrary", { enumerable: true, get: function
|
|
|
34
34
|
var Layout_1 = require("./Layout");
|
|
35
35
|
Object.defineProperty(exports, "HBoxLayout", { enumerable: true, get: function () { return Layout_1.HBoxLayout; } });
|
|
36
36
|
Object.defineProperty(exports, "VBoxLayout", { enumerable: true, get: function () { return Layout_1.VBoxLayout; } });
|
|
37
|
+
Object.defineProperty(exports, "GravityLayout", { enumerable: true, get: function () { return Layout_1.GravityLayout; } });
|
|
37
38
|
Object.defineProperty(exports, "Layout", { enumerable: true, get: function () { return Layout_1.Layout; } });
|
|
38
39
|
var codegen_1 = require("../cli/codegen");
|
|
39
40
|
Object.defineProperty(exports, "generatePython", { enumerable: true, get: function () { return codegen_1.generatePython; } });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/synth/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,aAAa;AACb,4CAAmO;AAA1N,4FAAA,GAAG,OAAA;AACZ,kDAAiD;AAAxC,oGAAA,QAAQ,OAAA;AAEjB,UAAU;AACV,oDAAmD;AAA1C,sGAAA,SAAS,OAAA;AAClB,wCAAuC;AAA9B,0FAAA,GAAG,OAAA;AACZ,oDAAmD;AAA1C,sGAAA,SAAS,OAAA;AAClB,sDAAqD;AAA5C,wGAAA,UAAU,OAAA;AACnB,8CAA6C;AAApC,gGAAA,MAAM,OAAA;AACf,gDAA+C;AAAtC,8FAAA,GAAG,OAAA;AAAE,6FAAA,EAAE,OAAA;AAChB,8DAA6D;AAApD,gHAAA,cAAc,OAAA;AACvB,wDAAuD;AAA9C,0GAAA,WAAW,OAAA;AACpB,0DAAyD;AAAhD,4GAAA,YAAY,OAAA;AACrB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/synth/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,aAAa;AACb,4CAAmO;AAA1N,4FAAA,GAAG,OAAA;AACZ,kDAAiD;AAAxC,oGAAA,QAAQ,OAAA;AAEjB,UAAU;AACV,oDAAmD;AAA1C,sGAAA,SAAS,OAAA;AAClB,wCAAuC;AAA9B,0FAAA,GAAG,OAAA;AACZ,oDAAmD;AAA1C,sGAAA,SAAS,OAAA;AAClB,sDAAqD;AAA5C,wGAAA,UAAU,OAAA;AACnB,8CAA6C;AAApC,gGAAA,MAAM,OAAA;AACf,gDAA+C;AAAtC,8FAAA,GAAG,OAAA;AAAE,6FAAA,EAAE,OAAA;AAChB,8DAA6D;AAApD,gHAAA,cAAc,OAAA;AACvB,wDAAuD;AAA9C,0GAAA,WAAW,OAAA;AACpB,0DAAyD;AAAhD,4GAAA,YAAY,OAAA;AACrB,8CAAoF;AAA3E,oGAAA,UAAU,OAAA;AAAE,oGAAA,UAAU,OAAA;AAAE,uGAAA,aAAa,OAAA;AAAE,gGAAA,MAAM,OAAA;AACtD,oDAA2E;AAAlE,yGAAA,cAAc,OAAA;AACvB,wDAA0D;AAAjD,yGAAA,YAAY,OAAA;AAErB,oBAAoB;AACpB,uCAA6D;AAApD,mGAAA,YAAY,OAAA;AAAE,mGAAA,YAAY,OAAA"}
|
|
@@ -86,6 +86,18 @@ let oc;
|
|
|
86
86
|
const cyl = model.cylinder({ r: 3, h: 10, center: true });
|
|
87
87
|
(0, vitest_1.expect)(cyl._handle.shape).toBeTruthy();
|
|
88
88
|
});
|
|
89
|
+
(0, vitest_1.it)("creates a pipe", () => {
|
|
90
|
+
const model = new Kicad3DModel_1.Kicad3DModel();
|
|
91
|
+
model.setOC(oc);
|
|
92
|
+
const p = model.pipe({ r: 5, wallThickness: 1, h: 10 });
|
|
93
|
+
(0, vitest_1.expect)(p._handle.shape).toBeTruthy();
|
|
94
|
+
});
|
|
95
|
+
(0, vitest_1.it)("creates a centered pipe", () => {
|
|
96
|
+
const model = new Kicad3DModel_1.Kicad3DModel();
|
|
97
|
+
model.setOC(oc);
|
|
98
|
+
const p = model.pipe({ r: 5, wallThickness: 1, h: 10, center: true });
|
|
99
|
+
(0, vitest_1.expect)(p._handle.shape).toBeTruthy();
|
|
100
|
+
});
|
|
89
101
|
});
|
|
90
102
|
// ─── Transforms ──────────────────────────────────────────────────────
|
|
91
103
|
(0, vitest_1.describe)("Transforms", () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"3d-model.test.js","sourceRoot":"","sources":["../../../src/tests/3d-model.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"3d-model.test.js","sourceRoot":"","sources":["../../../src/tests/3d-model.test.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tobisk/pcbs",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.1.1",
|
|
4
4
|
"description": "TypeScript-based PCB Design Framework",
|
|
5
5
|
"publishConfig": {
|
|
6
|
-
"access": "public"
|
|
6
|
+
"access": "public",
|
|
7
|
+
"provenance": true
|
|
7
8
|
},
|
|
8
9
|
"repository": {
|
|
9
10
|
"type": "git",
|
|
10
|
-
"url": "https://github.com/kellertobias/pcbs-framework.git"
|
|
11
|
+
"url": "git+https://github.com/kellertobias/pcbs-framework.git"
|
|
11
12
|
},
|
|
12
13
|
"main": "./dist/src/synth/index.js",
|
|
13
14
|
"types": "./dist/src/synth/index.d.ts",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const vitest_1 = require("vitest");
|
|
4
|
-
const DmxNode_1 = require("../../src/schematics/dmx_node/DmxNode");
|
|
5
|
-
const codegen_1 = require("../cli/codegen");
|
|
6
|
-
(0, vitest_1.describe)("DMX Node Migration Verification", () => {
|
|
7
|
-
(0, vitest_1.it)("should correctly instantiate DmxNode and register components", () => {
|
|
8
|
-
const project = new DmxNode_1.DmxNode();
|
|
9
|
-
const snapshot = project._generateWithCapture();
|
|
10
|
-
const components = snapshot.components;
|
|
11
|
-
// Check key components
|
|
12
|
-
(0, vitest_1.expect)(components.some(c => c.ref === "U1")).toBe(true); // ESP32
|
|
13
|
-
(0, vitest_1.expect)(components.some(c => c.ref === "U2")).toBe(true); // MAX3485 OUT
|
|
14
|
-
(0, vitest_1.expect)(components.some(c => c.ref === "U3")).toBe(true); // MAX3485 IN
|
|
15
|
-
(0, vitest_1.expect)(components.some(c => c.ref === "U4")).toBe(true); // Buck IC
|
|
16
|
-
(0, vitest_1.expect)(components.some(c => c.ref === "J_PWR1")).toBe(true); // USB Power
|
|
17
|
-
// Check mounting holes
|
|
18
|
-
(0, vitest_1.expect)(components.filter(c => c.ref.startsWith("H")).length).toBeGreaterThanOrEqual(4);
|
|
19
|
-
// Check nets
|
|
20
|
-
const nets = snapshot.nets;
|
|
21
|
-
(0, vitest_1.expect)(nets.some(n => n.name === "GND")).toBe(true);
|
|
22
|
-
(0, vitest_1.expect)(nets.some(n => n.name === "+5V")).toBe(true);
|
|
23
|
-
(0, vitest_1.expect)(nets.some(n => n.name === "+VIN")).toBe(true);
|
|
24
|
-
// Check specific connection: TX2 (L_08) to Max3485 OUT DI
|
|
25
|
-
const u1 = components.find(c => c.ref === "U1");
|
|
26
|
-
const u2 = components.find(c => c.ref === "U2");
|
|
27
|
-
const tx2Pin = u1.pins.L_08_TX2;
|
|
28
|
-
const diPin = u2.pins.DI;
|
|
29
|
-
(0, vitest_1.expect)(tx2Pin.net).toBeDefined();
|
|
30
|
-
(0, vitest_1.expect)(tx2Pin.net).toBe(diPin.net);
|
|
31
|
-
// Verify codegen has positions
|
|
32
|
-
const python = (0, codegen_1.generatePython)(snapshot);
|
|
33
|
-
(0, vitest_1.expect)(python).toContain('u1 = Component(');
|
|
34
|
-
(0, vitest_1.expect)(python).toContain('at=(50, 100, 0)');
|
|
35
|
-
(0, vitest_1.expect)(python).toContain('pcb_at=(18, 65, 0)');
|
|
36
|
-
(0, vitest_1.expect)(python).toContain('j_dc1 = Component(');
|
|
37
|
-
(0, vitest_1.expect)(python).toContain('pcb_at=(92, 85, 0)');
|
|
38
|
-
(0, vitest_1.expect)(python).toContain('j_pwr_in = Component(');
|
|
39
|
-
(0, vitest_1.expect)(python).toContain('pcb_at=(92, 85, 0)');
|
|
40
|
-
});
|
|
41
|
-
});
|
|
42
|
-
//# sourceMappingURL=dmx_node.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dmx_node.test.js","sourceRoot":"","sources":["../../../src/tests/dmx_node.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const vitest_1 = require("vitest");
|
|
4
|
-
const Max3485_1 = require("../../src/lib/Max3485");
|
|
5
|
-
const BuckConverter_1 = require("../../src/lib/BuckConverter");
|
|
6
|
-
const Registry_1 = require("../synth/Registry");
|
|
7
|
-
(0, vitest_1.describe)("Component Migration Verification", () => {
|
|
8
|
-
(0, vitest_1.it)("should correctly instantiate Max3485", () => {
|
|
9
|
-
Registry_1.registry.start();
|
|
10
|
-
const transceiver = new Max3485_1.Max3485({ ref: "U1" });
|
|
11
|
-
(0, vitest_1.expect)(transceiver.ref).toBe("U1");
|
|
12
|
-
(0, vitest_1.expect)(transceiver.symbol).toBe("Interface_UART:MAX3485");
|
|
13
|
-
(0, vitest_1.expect)(transceiver.footprint).toBe("Package_SO:SOIC-8_3.9x4.9mm_P1.27mm");
|
|
14
|
-
(0, vitest_1.expect)(transceiver.partNo).toBe("C18148");
|
|
15
|
-
// Check pins
|
|
16
|
-
(0, vitest_1.expect)(transceiver.pins.RO.name).toBe("1");
|
|
17
|
-
(0, vitest_1.expect)(transceiver.pins.VCC.name).toBe("8");
|
|
18
|
-
(0, vitest_1.expect)(transceiver.pins.GND.name).toBe("5");
|
|
19
|
-
});
|
|
20
|
-
(0, vitest_1.it)("should correctly instantiate BuckConverter with 5V target", () => {
|
|
21
|
-
Registry_1.registry.start();
|
|
22
|
-
const buck = new BuckConverter_1.BuckConverter({ ref: "U2", targetVoltage: 5.0 });
|
|
23
|
-
(0, vitest_1.expect)(buck.ref).toBe("U2");
|
|
24
|
-
// Internal components check
|
|
25
|
-
const vinPin = buck.pins.VIN;
|
|
26
|
-
const vinNet = vinPin.net;
|
|
27
|
-
(0, vitest_1.expect)(vinNet).toBeDefined();
|
|
28
|
-
(0, vitest_1.expect)(vinNet?.name).toBe("U2_VIN");
|
|
29
|
-
// Check feedback resistors for 5V
|
|
30
|
-
// R1 = 3000, R2 = 1000
|
|
31
|
-
const components = Array.from(Registry_1.registry.getComponents());
|
|
32
|
-
const r1 = components.find(c => c.ref === "R_FB1_U2");
|
|
33
|
-
const r2 = components.find(c => c.ref === "R_FB2_U2");
|
|
34
|
-
(0, vitest_1.expect)(r1?.value).toBe("3k");
|
|
35
|
-
(0, vitest_1.expect)(r1?.partNo).toBe("C22965");
|
|
36
|
-
(0, vitest_1.expect)(r2?.value).toBe("1k");
|
|
37
|
-
(0, vitest_1.expect)(r2?.partNo).toBe("C21190");
|
|
38
|
-
});
|
|
39
|
-
(0, vitest_1.it)("should correctly instantiate BuckConverter with 12V target", () => {
|
|
40
|
-
Registry_1.registry.start();
|
|
41
|
-
new BuckConverter_1.BuckConverter({ ref: "U3", targetVoltage: 12.0 });
|
|
42
|
-
const components = Array.from(Registry_1.registry.getComponents());
|
|
43
|
-
const r1 = components.find(c => c.ref === "R_FB1_U3");
|
|
44
|
-
const r2 = components.find(c => c.ref === "R_FB2_U3");
|
|
45
|
-
(0, vitest_1.expect)(r1?.value).toBe("13k");
|
|
46
|
-
(0, vitest_1.expect)(r1?.partNo).toBe("C24857");
|
|
47
|
-
(0, vitest_1.expect)(r2?.value).toBe("1.50k");
|
|
48
|
-
(0, vitest_1.expect)(r2?.partNo).toBe("C22843");
|
|
49
|
-
});
|
|
50
|
-
(0, vitest_1.it)("should work with test points in BuckConverter", () => {
|
|
51
|
-
Registry_1.registry.start();
|
|
52
|
-
new BuckConverter_1.BuckConverter({ ref: "U4", addTestPoints: true });
|
|
53
|
-
const components = Array.from(Registry_1.registry.getComponents());
|
|
54
|
-
(0, vitest_1.expect)(components.some(c => c.ref === "TP_VOUT_U4")).toBe(true);
|
|
55
|
-
(0, vitest_1.expect)(components.some(c => c.ref === "TP_FB_U4")).toBe(true);
|
|
56
|
-
});
|
|
57
|
-
});
|
|
58
|
-
//# sourceMappingURL=migration.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"migration.test.js","sourceRoot":"","sources":["../../../src/tests/migration.test.ts"],"names":[],"mappings":"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"}
|