@tscircuit/core 0.0.533 → 0.0.534
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/index.js +178 -209
- package/package.json +10 -3
package/dist/index.js
CHANGED
|
@@ -5384,7 +5384,6 @@ var Trace2 = class extends PrimitiveComponent2 {
|
|
|
5384
5384
|
}
|
|
5385
5385
|
doInitialSchematicTraceRender() {
|
|
5386
5386
|
if (this.root?.schematicDisabled) return;
|
|
5387
|
-
if (this.getGroup()?._getSchematicLayoutMode() === "match-adapt") return;
|
|
5388
5387
|
const { db } = this.root;
|
|
5389
5388
|
const { _parsedProps: props, parent } = this;
|
|
5390
5389
|
if (!parent) throw new Error("Trace has no parent");
|
|
@@ -5414,7 +5413,7 @@ var Trace2 = class extends PrimitiveComponent2 {
|
|
|
5414
5413
|
if (isPortAndNetConnection) {
|
|
5415
5414
|
const net = netsWithSelectors[0].net;
|
|
5416
5415
|
const { port, position: anchorPos } = portsWithPosition[0];
|
|
5417
|
-
|
|
5416
|
+
let connectedNetLabel = this.getSubcircuit().selectAll("netlabel").find((nl) => {
|
|
5418
5417
|
const conn = nl._parsedProps.connection ?? nl._parsedProps.connectsTo;
|
|
5419
5418
|
if (!conn) return false;
|
|
5420
5419
|
if (Array.isArray(conn)) {
|
|
@@ -5430,8 +5429,16 @@ var Trace2 = class extends PrimitiveComponent2 {
|
|
|
5430
5429
|
});
|
|
5431
5430
|
return targetPort === port;
|
|
5432
5431
|
});
|
|
5432
|
+
if (!connectedNetLabel) {
|
|
5433
|
+
const dbNetLabel = db.schematic_net_label.getWhere({
|
|
5434
|
+
source_trace_id: this.source_trace_id
|
|
5435
|
+
});
|
|
5436
|
+
if (dbNetLabel) {
|
|
5437
|
+
connectedNetLabel = dbNetLabel;
|
|
5438
|
+
}
|
|
5439
|
+
}
|
|
5433
5440
|
if (connectedNetLabel) {
|
|
5434
|
-
const labelPos = connectedNetLabel._getGlobalSchematicPositionBeforeLayout();
|
|
5441
|
+
const labelPos = "_getGlobalSchematicPositionBeforeLayout" in connectedNetLabel ? connectedNetLabel._getGlobalSchematicPositionBeforeLayout() : connectedNetLabel.anchor_position;
|
|
5435
5442
|
const edges2 = [];
|
|
5436
5443
|
if (anchorPos.x === labelPos.x || anchorPos.y === labelPos.y) {
|
|
5437
5444
|
edges2.push({ from: anchorPos, to: labelPos });
|
|
@@ -7221,227 +7228,182 @@ var normalizePinLabels = (inputPinLabels) => {
|
|
|
7221
7228
|
};
|
|
7222
7229
|
|
|
7223
7230
|
// lib/components/primitive-components/Group/Group_doInitialSchematicLayoutMatchAdapt.ts
|
|
7224
|
-
import
|
|
7225
|
-
|
|
7226
|
-
reorderChipPinsToCcw,
|
|
7227
|
-
convertCircuitJsonToInputNetlist,
|
|
7228
|
-
getRefKey as getRefKey2
|
|
7229
|
-
} from "@tscircuit/schematic-match-adapt";
|
|
7230
|
-
import { circuitBuilderFromLayoutJson } from "@tscircuit/schematic-match-adapt";
|
|
7231
|
+
import "@tscircuit/schematic-match-adapt";
|
|
7232
|
+
import "@tscircuit/schematic-match-adapt";
|
|
7231
7233
|
|
|
7232
7234
|
// lib/utils/schematic/deriveSourceTraceIdFromMatchAdaptPath.ts
|
|
7233
7235
|
import {
|
|
7234
7236
|
getRefKey,
|
|
7235
7237
|
parseRefKey
|
|
7236
7238
|
} from "@tscircuit/schematic-match-adapt";
|
|
7237
|
-
function getConnectivityNetIdFromPortRef(pref, db) {
|
|
7238
|
-
if ("boxId" in pref) {
|
|
7239
|
-
const { boxId: sourceComponentName, pinNumber } = pref;
|
|
7240
|
-
const sourceComp = db.source_component.getWhere({
|
|
7241
|
-
name: sourceComponentName
|
|
7242
|
-
});
|
|
7243
|
-
if (!sourceComp) {
|
|
7244
|
-
throw new Error(
|
|
7245
|
-
`Source component "${sourceComponentName}" not found, but returned from match-adapt ${JSON.stringify(pref)}`
|
|
7246
|
-
);
|
|
7247
|
-
}
|
|
7248
|
-
const sourcePort = db.source_port.getWhere({
|
|
7249
|
-
source_component_id: sourceComp.source_component_id,
|
|
7250
|
-
pin_number: pinNumber
|
|
7251
|
-
});
|
|
7252
|
-
return {
|
|
7253
|
-
subcircuit_connectivity_map_key: sourcePort?.subcircuit_connectivity_map_key ?? null,
|
|
7254
|
-
source_port_id: sourcePort.source_port_id
|
|
7255
|
-
};
|
|
7256
|
-
}
|
|
7257
|
-
if ("netId" in pref) {
|
|
7258
|
-
const { netId: sourceNetName } = pref;
|
|
7259
|
-
const sourceNet = db.source_net.getWhere({ name: sourceNetName });
|
|
7260
|
-
return null;
|
|
7261
|
-
}
|
|
7262
|
-
if ("junctionId" in pref) {
|
|
7263
|
-
const { junctionId } = pref;
|
|
7264
|
-
return null;
|
|
7265
|
-
}
|
|
7266
|
-
return null;
|
|
7267
|
-
}
|
|
7268
|
-
function deriveSourceTraceIdFromMatchAdaptPath({
|
|
7269
|
-
path,
|
|
7270
|
-
db,
|
|
7271
|
-
layoutConnMap
|
|
7272
|
-
}) {
|
|
7273
|
-
let bestRef = getConnectivityNetIdFromPortRef(path.to, db) ?? getConnectivityNetIdFromPortRef(path.from, db);
|
|
7274
|
-
if (!bestRef) {
|
|
7275
|
-
const layoutConnNetId = layoutConnMap.getNetConnectedToId(
|
|
7276
|
-
getRefKey(path.to)
|
|
7277
|
-
);
|
|
7278
|
-
const layoutConnectedRefs = layoutConnMap.getIdsConnectedToNet(layoutConnNetId).map((prefStr) => parseRefKey(prefStr));
|
|
7279
|
-
bestRef = layoutConnectedRefs.map((ref) => getConnectivityNetIdFromPortRef(ref, db)).find(Boolean);
|
|
7280
|
-
}
|
|
7281
|
-
if (!bestRef?.subcircuit_connectivity_map_key) {
|
|
7282
|
-
throw new Error(
|
|
7283
|
-
`No connectivity net id found for match-adapt path ${JSON.stringify(path)}`
|
|
7284
|
-
);
|
|
7285
|
-
}
|
|
7286
|
-
const sourceTraces = db.source_trace.list({
|
|
7287
|
-
subcircuit_connectivity_map_key: bestRef.subcircuit_connectivity_map_key
|
|
7288
|
-
});
|
|
7289
|
-
for (const sourceTrace of sourceTraces) {
|
|
7290
|
-
if (sourceTrace.connected_source_port_ids.includes(bestRef.source_port_id)) {
|
|
7291
|
-
return sourceTrace.source_trace_id;
|
|
7292
|
-
}
|
|
7293
|
-
}
|
|
7294
|
-
if (sourceTraces.length > 0) {
|
|
7295
|
-
return sourceTraces[0].source_trace_id;
|
|
7296
|
-
}
|
|
7297
|
-
throw new Error(
|
|
7298
|
-
`No source trace found for match-adapt path "${JSON.stringify(path)}"`
|
|
7299
|
-
);
|
|
7300
|
-
}
|
|
7301
7239
|
|
|
7302
7240
|
// lib/components/primitive-components/Group/Group_doInitialSchematicLayoutMatchAdapt.ts
|
|
7303
|
-
import
|
|
7304
|
-
import
|
|
7241
|
+
import "@tscircuit/circuit-json-util";
|
|
7242
|
+
import "circuit-json-to-connectivity-map";
|
|
7243
|
+
import corpus from "@tscircuit/schematic-corpus/dist/bundled-bpc-graphs.json";
|
|
7244
|
+
import { convertCircuitJsonToBpc } from "circuit-json-to-bpc";
|
|
7245
|
+
import {
|
|
7246
|
+
assignFloatingBoxPositions,
|
|
7247
|
+
netAdaptBpcGraph,
|
|
7248
|
+
getBpcGraphWlDistance
|
|
7249
|
+
} from "bpc-graph";
|
|
7250
|
+
import "@tscircuit/circuit-json-util";
|
|
7305
7251
|
function Group_doInitialSchematicLayoutMatchAdapt(group) {
|
|
7306
7252
|
const { db } = group.root;
|
|
7307
|
-
|
|
7308
|
-
|
|
7309
|
-
|
|
7310
|
-
|
|
7311
|
-
|
|
7312
|
-
|
|
7313
|
-
|
|
7314
|
-
|
|
7315
|
-
|
|
7316
|
-
|
|
7317
|
-
|
|
7318
|
-
|
|
7319
|
-
|
|
7320
|
-
|
|
7321
|
-
|
|
7322
|
-
|
|
7323
|
-
|
|
7324
|
-
db.
|
|
7325
|
-
|
|
7326
|
-
|
|
7327
|
-
|
|
7328
|
-
|
|
7329
|
-
|
|
7330
|
-
return;
|
|
7331
|
-
}
|
|
7332
|
-
const { boxes, junctions, netLabels, paths } = solvedLayout;
|
|
7333
|
-
const layoutConnMap = new ConnectivityMap2({});
|
|
7334
|
-
for (const path of paths) {
|
|
7335
|
-
layoutConnMap.addConnections([[getRefKey2(path.from), getRefKey2(path.to)]]);
|
|
7336
|
-
}
|
|
7337
|
-
for (const junction of junctions) {
|
|
7338
|
-
for (const path of paths) {
|
|
7339
|
-
for (const pathPoint of path.points) {
|
|
7340
|
-
if (Math.abs(pathPoint.x - junction.x) < 1e-3 && Math.abs(pathPoint.y - junction.y) < 1e-3) {
|
|
7341
|
-
layoutConnMap.addConnections([
|
|
7342
|
-
[getRefKey2(path.from), getRefKey2(junction)],
|
|
7343
|
-
[getRefKey2(path.to), getRefKey2(junction)]
|
|
7344
|
-
]);
|
|
7345
|
-
}
|
|
7346
|
-
}
|
|
7253
|
+
const subtreeCircuitJson = structuredClone(db.toArray());
|
|
7254
|
+
const existingLabels = new Set(
|
|
7255
|
+
subtreeCircuitJson.filter((e) => e.type === "schematic_net_label").map((e) => `${e.anchor_position?.x},${e.anchor_position?.y}`)
|
|
7256
|
+
);
|
|
7257
|
+
const oppositeSideFromFacing = {
|
|
7258
|
+
left: "right",
|
|
7259
|
+
right: "left",
|
|
7260
|
+
top: "bottom",
|
|
7261
|
+
bottom: "top"
|
|
7262
|
+
};
|
|
7263
|
+
const generatedNetLabels = /* @__PURE__ */ new Map();
|
|
7264
|
+
for (const sp of subtreeCircuitJson.filter(
|
|
7265
|
+
(e) => e.type === "schematic_port"
|
|
7266
|
+
)) {
|
|
7267
|
+
const key = `${sp.center.x},${sp.center.y}`;
|
|
7268
|
+
if (existingLabels.has(key)) continue;
|
|
7269
|
+
const srcPort = db.source_port.get(sp.source_port_id);
|
|
7270
|
+
const srcNet = db.source_net.getWhere({
|
|
7271
|
+
subcircuit_connectivity_map_key: srcPort?.subcircuit_connectivity_map_key
|
|
7272
|
+
});
|
|
7273
|
+
if (!srcNet) {
|
|
7274
|
+
console.error(`No source net found for port: ${sp.source_port_id}`);
|
|
7275
|
+
continue;
|
|
7347
7276
|
}
|
|
7348
|
-
|
|
7349
|
-
|
|
7350
|
-
|
|
7351
|
-
|
|
7352
|
-
const
|
|
7353
|
-
|
|
7354
|
-
|
|
7355
|
-
|
|
7356
|
-
|
|
7357
|
-
|
|
7358
|
-
|
|
7359
|
-
|
|
7277
|
+
const srcTrace = db.source_trace.getWhere({
|
|
7278
|
+
subcircuit_connectivity_map_key: srcPort?.subcircuit_connectivity_map_key
|
|
7279
|
+
});
|
|
7280
|
+
const schematic_net_label_id = `netlabel_for_${sp.schematic_port_id}`;
|
|
7281
|
+
const source_net = db.source_net.get(srcNet.source_net_id);
|
|
7282
|
+
const schematic_net_label = {
|
|
7283
|
+
type: "schematic_net_label",
|
|
7284
|
+
schematic_net_label_id,
|
|
7285
|
+
text: source_net.name,
|
|
7286
|
+
source_net_id: srcNet.source_net_id,
|
|
7287
|
+
source_trace_id: srcTrace?.source_trace_id,
|
|
7288
|
+
anchor_position: { ...sp.center },
|
|
7289
|
+
center: { ...sp.center },
|
|
7290
|
+
anchor_side: oppositeSideFromFacing[sp.facing_direction] ?? "right"
|
|
7360
7291
|
};
|
|
7361
|
-
|
|
7362
|
-
|
|
7363
|
-
|
|
7364
|
-
y: schComp.center.y + schCompMoveDelta.y
|
|
7365
|
-
}
|
|
7292
|
+
generatedNetLabels.set(schematic_net_label_id, {
|
|
7293
|
+
schematic_net_label,
|
|
7294
|
+
schematic_port: sp
|
|
7366
7295
|
});
|
|
7367
|
-
|
|
7368
|
-
schematic_component_id: schComp.schematic_component_id
|
|
7369
|
-
});
|
|
7370
|
-
for (const schematicPort of schematicPorts) {
|
|
7371
|
-
db.schematic_port.update(schematicPort.schematic_port_id, {
|
|
7372
|
-
center: {
|
|
7373
|
-
x: schematicPort.center.x + schCompMoveDelta.x,
|
|
7374
|
-
y: schematicPort.center.y + schCompMoveDelta.y
|
|
7375
|
-
}
|
|
7376
|
-
});
|
|
7377
|
-
}
|
|
7378
|
-
const schematicTexts = db.schematic_text.list({
|
|
7379
|
-
schematic_component_id: schComp.schematic_component_id
|
|
7380
|
-
});
|
|
7381
|
-
for (const schematicText of schematicTexts) {
|
|
7382
|
-
db.schematic_text.update(schematicText.schematic_text_id, {
|
|
7383
|
-
position: {
|
|
7384
|
-
x: schematicText.position.x + schCompMoveDelta.x,
|
|
7385
|
-
y: schematicText.position.y + schCompMoveDelta.y
|
|
7386
|
-
}
|
|
7387
|
-
});
|
|
7388
|
-
}
|
|
7296
|
+
subtreeCircuitJson.push(schematic_net_label);
|
|
7389
7297
|
}
|
|
7390
|
-
|
|
7391
|
-
|
|
7392
|
-
|
|
7393
|
-
|
|
7394
|
-
|
|
7395
|
-
|
|
7396
|
-
center: computeSchematicNetLabelCenter({
|
|
7397
|
-
anchor_position: { x: nl.x, y: nl.y },
|
|
7398
|
-
anchor_side: nl.anchorPosition,
|
|
7399
|
-
text: nl.netId
|
|
7400
|
-
}),
|
|
7401
|
-
anchor_side: nl.anchorPosition
|
|
7402
|
-
});
|
|
7298
|
+
const targetBpcGraph = convertCircuitJsonToBpc(subtreeCircuitJson);
|
|
7299
|
+
for (const box of targetBpcGraph.boxes) {
|
|
7300
|
+
if (box.kind === "fixed" || box.center) {
|
|
7301
|
+
box.kind = "floating";
|
|
7302
|
+
box.center = void 0;
|
|
7303
|
+
}
|
|
7403
7304
|
}
|
|
7404
|
-
|
|
7405
|
-
|
|
7406
|
-
|
|
7407
|
-
|
|
7408
|
-
|
|
7409
|
-
|
|
7410
|
-
|
|
7411
|
-
|
|
7412
|
-
|
|
7413
|
-
|
|
7414
|
-
|
|
7415
|
-
|
|
7416
|
-
|
|
7417
|
-
|
|
7418
|
-
|
|
7419
|
-
|
|
7420
|
-
|
|
7421
|
-
|
|
7305
|
+
let bestMatch = {
|
|
7306
|
+
boxes: [],
|
|
7307
|
+
pins: []
|
|
7308
|
+
};
|
|
7309
|
+
let bestWlDistance = Infinity;
|
|
7310
|
+
let winningBpcGraphName = "empty";
|
|
7311
|
+
for (const [candidateBpcGraphName, candidateBpcGraph] of Object.entries(
|
|
7312
|
+
corpus
|
|
7313
|
+
).sort((a, b) => a[0].localeCompare(b[0]))) {
|
|
7314
|
+
const wlDistance = getBpcGraphWlDistance(
|
|
7315
|
+
candidateBpcGraph,
|
|
7316
|
+
targetBpcGraph
|
|
7317
|
+
);
|
|
7318
|
+
console.log(candidateBpcGraphName, wlDistance);
|
|
7319
|
+
if (wlDistance < bestWlDistance) {
|
|
7320
|
+
bestMatch = candidateBpcGraph;
|
|
7321
|
+
winningBpcGraphName = candidateBpcGraphName;
|
|
7322
|
+
bestWlDistance = wlDistance;
|
|
7323
|
+
if (wlDistance === 0) break;
|
|
7324
|
+
}
|
|
7325
|
+
}
|
|
7326
|
+
console.log(`Winning BPC graph: ${winningBpcGraphName}`);
|
|
7327
|
+
const { adaptedBpcGraph } = netAdaptBpcGraph(
|
|
7328
|
+
bestMatch,
|
|
7329
|
+
targetBpcGraph
|
|
7330
|
+
);
|
|
7331
|
+
const adaptedBpcGraphWithPositions = assignFloatingBoxPositions(adaptedBpcGraph);
|
|
7332
|
+
for (const box of adaptedBpcGraphWithPositions.boxes) {
|
|
7333
|
+
const schematic_component2 = db.schematic_component.get(box.boxId);
|
|
7334
|
+
if (schematic_component2) {
|
|
7335
|
+
const ports = db.schematic_port.list({
|
|
7336
|
+
schematic_component_id: schematic_component2.schematic_component_id
|
|
7422
7337
|
});
|
|
7423
|
-
|
|
7424
|
-
|
|
7425
|
-
db,
|
|
7426
|
-
source_trace_id: sourceTraceId,
|
|
7427
|
-
differentNetOnly: true
|
|
7428
|
-
}).flatMap((t) => t.edges);
|
|
7429
|
-
if (otherCrossingEdges.length > 0) {
|
|
7430
|
-
edges = createSchematicTraceCrossingSegments({
|
|
7431
|
-
edges,
|
|
7432
|
-
otherEdges: otherCrossingEdges
|
|
7338
|
+
const texts = db.schematic_text.list({
|
|
7339
|
+
schematic_component_id: schematic_component2.schematic_component_id
|
|
7433
7340
|
});
|
|
7341
|
+
const positionDelta = {
|
|
7342
|
+
x: schematic_component2.center.x - box.center.x,
|
|
7343
|
+
y: schematic_component2.center.y - box.center.y
|
|
7344
|
+
};
|
|
7345
|
+
for (const port of ports) {
|
|
7346
|
+
port.center.x += positionDelta.x;
|
|
7347
|
+
port.center.y += positionDelta.y;
|
|
7348
|
+
}
|
|
7349
|
+
for (const text of texts) {
|
|
7350
|
+
text.position.x += positionDelta.x;
|
|
7351
|
+
text.position.y += positionDelta.y;
|
|
7352
|
+
}
|
|
7353
|
+
schematic_component2.center.x += positionDelta.x;
|
|
7354
|
+
schematic_component2.center.y += positionDelta.y;
|
|
7355
|
+
continue;
|
|
7434
7356
|
}
|
|
7435
|
-
const
|
|
7436
|
-
|
|
7437
|
-
|
|
7438
|
-
|
|
7439
|
-
|
|
7440
|
-
|
|
7441
|
-
|
|
7442
|
-
|
|
7443
|
-
|
|
7444
|
-
|
|
7357
|
+
const schematic_net_label = db.schematic_net_label.get(box.boxId);
|
|
7358
|
+
if (schematic_net_label) {
|
|
7359
|
+
const pin = adaptedBpcGraphWithPositions.pins.find(
|
|
7360
|
+
(p) => p.boxId === box.boxId && p.color === "netlabel_center"
|
|
7361
|
+
);
|
|
7362
|
+
if (!pin) {
|
|
7363
|
+
throw new Error(`No pin found for net label: ${box.boxId}`);
|
|
7364
|
+
}
|
|
7365
|
+
schematic_net_label.center = box.center;
|
|
7366
|
+
schematic_net_label.anchor_position = {
|
|
7367
|
+
x: box.center.x + pin.offset.x,
|
|
7368
|
+
y: box.center.y + pin.offset.y
|
|
7369
|
+
};
|
|
7370
|
+
continue;
|
|
7371
|
+
}
|
|
7372
|
+
if (generatedNetLabels.has(box.boxId)) {
|
|
7373
|
+
const { schematic_net_label: generatedNetLabel, schematic_port } = generatedNetLabels.get(box.boxId);
|
|
7374
|
+
const pins = adaptedBpcGraphWithPositions.pins.filter(
|
|
7375
|
+
(p) => p.boxId === box.boxId
|
|
7376
|
+
);
|
|
7377
|
+
const center = pins.find((p) => p.color === "netlabel_center");
|
|
7378
|
+
const anchor = pins.find((p) => p.color !== "netlabel_center");
|
|
7379
|
+
const color = anchor.color;
|
|
7380
|
+
const symbolName = color === "vcc" ? "vcc" : color === "gnd" ? "gnd" : void 0;
|
|
7381
|
+
const anchorSide = color === "vcc" ? "bottom" : color === "gnd" ? "top" : oppositeSideFromFacing[schematic_port.facing_direction] ?? "right";
|
|
7382
|
+
const source_net = db.source_net.get(generatedNetLabel.source_net_id);
|
|
7383
|
+
const schematic_net_label2 = {
|
|
7384
|
+
type: "schematic_net_label",
|
|
7385
|
+
schematic_net_label_id: `netlabel_for_${box.boxId}`,
|
|
7386
|
+
text: source_net.name,
|
|
7387
|
+
// no text; just a placeholder box for Match-Adapt
|
|
7388
|
+
anchor_position: {
|
|
7389
|
+
x: box.center.x + center.offset.x,
|
|
7390
|
+
y: box.center.y + center.offset.y
|
|
7391
|
+
},
|
|
7392
|
+
center: {
|
|
7393
|
+
x: box.center.x + center.offset.x,
|
|
7394
|
+
y: box.center.y + center.offset.y
|
|
7395
|
+
},
|
|
7396
|
+
anchor_side: anchorSide,
|
|
7397
|
+
symbol_name: symbolName,
|
|
7398
|
+
source_net_id: generatedNetLabel.source_net_id,
|
|
7399
|
+
source_trace_id: generatedNetLabel.source_trace_id
|
|
7400
|
+
};
|
|
7401
|
+
db.schematic_net_label.insert(schematic_net_label2);
|
|
7402
|
+
continue;
|
|
7403
|
+
}
|
|
7404
|
+
console.error(
|
|
7405
|
+
`No schematic element found for box: ${box.boxId}. This is a bug in the matchAdapt binding with @tscircuit/core`
|
|
7406
|
+
);
|
|
7445
7407
|
}
|
|
7446
7408
|
}
|
|
7447
7409
|
|
|
@@ -10708,7 +10670,7 @@ import { identity as identity4 } from "transformation-matrix";
|
|
|
10708
10670
|
var package_default = {
|
|
10709
10671
|
name: "@tscircuit/core",
|
|
10710
10672
|
type: "module",
|
|
10711
|
-
version: "0.0.
|
|
10673
|
+
version: "0.0.533",
|
|
10712
10674
|
types: "dist/index.d.ts",
|
|
10713
10675
|
main: "dist/index.js",
|
|
10714
10676
|
module: "dist/index.js",
|
|
@@ -10733,7 +10695,7 @@ var package_default = {
|
|
|
10733
10695
|
"@biomejs/biome": "^1.8.3",
|
|
10734
10696
|
"@tscircuit/capacity-autorouter": "^0.0.75",
|
|
10735
10697
|
"@tscircuit/checks": "^0.0.52",
|
|
10736
|
-
"@tscircuit/circuit-json-util": "^0.0.
|
|
10698
|
+
"@tscircuit/circuit-json-util": "^0.0.50",
|
|
10737
10699
|
"@tscircuit/footprinter": "^0.0.186",
|
|
10738
10700
|
"@tscircuit/import-snippet": "^0.0.4",
|
|
10739
10701
|
"@tscircuit/infgrid-ijump-astar": "^0.0.33",
|
|
@@ -10742,6 +10704,7 @@ var package_default = {
|
|
|
10742
10704
|
"@tscircuit/math-utils": "^0.0.18",
|
|
10743
10705
|
"@tscircuit/props": "^0.0.246",
|
|
10744
10706
|
"@tscircuit/schematic-autolayout": "^0.0.6",
|
|
10707
|
+
"@tscircuit/schematic-corpus": "^0.0.29",
|
|
10745
10708
|
"@tscircuit/schematic-match-adapt": "^0.0.16",
|
|
10746
10709
|
"@tscircuit/simple-3d-svg": "^0.0.6",
|
|
10747
10710
|
"@types/bun": "^1.2.16",
|
|
@@ -10749,15 +10712,18 @@ var package_default = {
|
|
|
10749
10712
|
"@types/react": "^19.0.1",
|
|
10750
10713
|
"@types/react-dom": "^19.0.2",
|
|
10751
10714
|
"@types/react-reconciler": "^0.28.9",
|
|
10715
|
+
"bpc-graph": "^0.0.16",
|
|
10752
10716
|
"bun-match-svg": "0.0.11",
|
|
10717
|
+
"calculate-elbow": "^0.0.5",
|
|
10753
10718
|
"chokidar-cli": "^3.0.0",
|
|
10754
10719
|
"circuit-json": "^0.0.212",
|
|
10720
|
+
"circuit-json-to-bpc": "^0.0.7",
|
|
10755
10721
|
"circuit-json-to-connectivity-map": "^0.0.22",
|
|
10756
10722
|
"circuit-json-to-simple-3d": "^0.0.2",
|
|
10757
10723
|
"circuit-to-svg": "^0.0.162",
|
|
10758
10724
|
concurrently: "^9.1.2",
|
|
10759
10725
|
debug: "^4.3.6",
|
|
10760
|
-
"graphics-debug": "^0.0.
|
|
10726
|
+
"graphics-debug": "^0.0.57",
|
|
10761
10727
|
howfat: "^0.3.8",
|
|
10762
10728
|
"live-server": "^1.2.2",
|
|
10763
10729
|
"looks-same": "^9.0.1",
|
|
@@ -10778,6 +10744,9 @@ var package_default = {
|
|
|
10778
10744
|
"@tscircuit/props": "*",
|
|
10779
10745
|
"@tscircuit/schematic-autolayout": "*",
|
|
10780
10746
|
"@tscircuit/schematic-match-adapt": "*",
|
|
10747
|
+
"@tscircuit/schematic-corpus": "*",
|
|
10748
|
+
"circuit-json-to-bpc": "*",
|
|
10749
|
+
"bpc-graph": "*",
|
|
10781
10750
|
"circuit-json": "*",
|
|
10782
10751
|
"circuit-json-to-connectivity-map": "*",
|
|
10783
10752
|
"schematic-symbols": "*",
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tscircuit/core",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.534",
|
|
5
5
|
"types": "dist/index.d.ts",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"module": "dist/index.js",
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
"@biomejs/biome": "^1.8.3",
|
|
27
27
|
"@tscircuit/capacity-autorouter": "^0.0.75",
|
|
28
28
|
"@tscircuit/checks": "^0.0.52",
|
|
29
|
-
"@tscircuit/circuit-json-util": "^0.0.
|
|
29
|
+
"@tscircuit/circuit-json-util": "^0.0.50",
|
|
30
30
|
"@tscircuit/footprinter": "^0.0.186",
|
|
31
31
|
"@tscircuit/import-snippet": "^0.0.4",
|
|
32
32
|
"@tscircuit/infgrid-ijump-astar": "^0.0.33",
|
|
@@ -35,6 +35,7 @@
|
|
|
35
35
|
"@tscircuit/math-utils": "^0.0.18",
|
|
36
36
|
"@tscircuit/props": "^0.0.246",
|
|
37
37
|
"@tscircuit/schematic-autolayout": "^0.0.6",
|
|
38
|
+
"@tscircuit/schematic-corpus": "^0.0.29",
|
|
38
39
|
"@tscircuit/schematic-match-adapt": "^0.0.16",
|
|
39
40
|
"@tscircuit/simple-3d-svg": "^0.0.6",
|
|
40
41
|
"@types/bun": "^1.2.16",
|
|
@@ -42,15 +43,18 @@
|
|
|
42
43
|
"@types/react": "^19.0.1",
|
|
43
44
|
"@types/react-dom": "^19.0.2",
|
|
44
45
|
"@types/react-reconciler": "^0.28.9",
|
|
46
|
+
"bpc-graph": "^0.0.16",
|
|
45
47
|
"bun-match-svg": "0.0.11",
|
|
48
|
+
"calculate-elbow": "^0.0.5",
|
|
46
49
|
"chokidar-cli": "^3.0.0",
|
|
47
50
|
"circuit-json": "^0.0.212",
|
|
51
|
+
"circuit-json-to-bpc": "^0.0.7",
|
|
48
52
|
"circuit-json-to-connectivity-map": "^0.0.22",
|
|
49
53
|
"circuit-json-to-simple-3d": "^0.0.2",
|
|
50
54
|
"circuit-to-svg": "^0.0.162",
|
|
51
55
|
"concurrently": "^9.1.2",
|
|
52
56
|
"debug": "^4.3.6",
|
|
53
|
-
"graphics-debug": "^0.0.
|
|
57
|
+
"graphics-debug": "^0.0.57",
|
|
54
58
|
"howfat": "^0.3.8",
|
|
55
59
|
"live-server": "^1.2.2",
|
|
56
60
|
"looks-same": "^9.0.1",
|
|
@@ -71,6 +75,9 @@
|
|
|
71
75
|
"@tscircuit/props": "*",
|
|
72
76
|
"@tscircuit/schematic-autolayout": "*",
|
|
73
77
|
"@tscircuit/schematic-match-adapt": "*",
|
|
78
|
+
"@tscircuit/schematic-corpus": "*",
|
|
79
|
+
"circuit-json-to-bpc": "*",
|
|
80
|
+
"bpc-graph": "*",
|
|
74
81
|
"circuit-json": "*",
|
|
75
82
|
"circuit-json-to-connectivity-map": "*",
|
|
76
83
|
"schematic-symbols": "*",
|