@tscircuit/core 0.0.760 → 0.0.762

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.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import * as circuit_json from 'circuit-json';
2
2
  import { PcbTraceError, PcbPlacementError, PcbManualEditConflictWarning, LayerRef, AnyCircuitElement, Size, AnySourceComponent, PcbTraceRoutePoint, PcbTrace as PcbTrace$1, PcbVia, SchematicPort, SchematicComponent, RouteHintPoint, CircuitJson } from 'circuit-json';
3
3
  import * as _tscircuit_props from '@tscircuit/props';
4
- import { PlatformConfig, subcircuitGroupProps, AutorouterConfig, traceProps, SupplierPartNumbers, CadModelProp, SchematicPortArrangement, groupProps, boardProps, capacitorProps, chipProps, pinoutProps, diodeProps, fuseProps, jumperProps, solderjumperProps, ledProps, powerSourceProps, CommonComponentProps, resistorProps, constraintProps, fabricationNotePathProps, fabricationNoteTextProps, footprintProps, subcircuitProps, breakoutProps, breakoutPointProps, holeProps, pcbKeepoutProps, netLabelProps, cadmodelProps, cadassemblyProps, platedHoleProps, silkscreenCircleProps, silkscreenPathProps, silkscreenRectProps, silkscreenTextProps, silkscreenLineProps, smtPadProps, traceHintProps, viaProps, copperPourProps, cutoutProps, batteryProps, pinHeaderProps, resonatorProps, inductorProps, potentiometerProps, pushButtonProps, crystalProps, transistorProps, mosfetProps, switchProps, testpointProps, schematicTextProps, schematicLineProps, schematicRectProps, schematicArcProps, schematicCircleProps, schematicBoxProps, schematicTableProps, schematicRowProps, schematicCellProps, symbolProps, CapacitorProps, ChipProps, DiodeProps, ResistorProps, ManualEditEvent, ManualEditsFile, ChipConnections, manual_edits_file } from '@tscircuit/props';
4
+ import { PlatformConfig, subcircuitGroupProps, AutorouterConfig, traceProps, SupplierPartNumbers, CadModelProp, SchematicPortArrangement, groupProps, boardProps, capacitorProps, chipProps, pinoutProps, diodeProps, fuseProps, jumperProps, solderjumperProps, ledProps, powerSourceProps, CommonComponentProps, resistorProps, constraintProps, fabricationNotePathProps, fabricationNoteTextProps, footprintProps, subcircuitProps, breakoutProps, breakoutPointProps, holeProps, pcbKeepoutProps, netLabelProps, cadmodelProps, cadassemblyProps, platedHoleProps, silkscreenCircleProps, silkscreenPathProps, silkscreenRectProps, silkscreenTextProps, silkscreenLineProps, smtPadProps, traceHintProps, viaProps, copperPourProps, cutoutProps, batteryProps, pinHeaderProps, resonatorProps, inductorProps, potentiometerProps, pushButtonProps, crystalProps, transistorProps, mosfetProps, switchProps, SwitchProps, testpointProps, schematicTextProps, schematicLineProps, schematicRectProps, schematicArcProps, schematicCircleProps, schematicBoxProps, schematicTableProps, schematicRowProps, schematicCellProps, symbolProps, analogSimulationProps, CapacitorProps, ChipProps, DiodeProps, ResistorProps, ManualEditEvent, ManualEditsFile, ChipConnections, manual_edits_file } from '@tscircuit/props';
5
5
  import * as react from 'react';
6
6
  import react__default, { ReactElement, DetailedHTMLProps, SVGProps } from 'react';
7
7
  export { createElement } from 'react';
@@ -30507,6 +30507,7 @@ declare class Switch extends NormalComponent<typeof switchProps> {
30507
30507
  spdt: zod.ZodOptional<zod.ZodBoolean>;
30508
30508
  dpst: zod.ZodOptional<zod.ZodBoolean>;
30509
30509
  dpdt: zod.ZodOptional<zod.ZodBoolean>;
30510
+ connections: zod.ZodOptional<zod.ZodPipeline<zod.ZodType<Partial<Record<string, string | string[] | readonly string[]>>, zod.ZodTypeDef, Partial<Record<string, string | string[] | readonly string[]>>>, zod.ZodRecord<zod.ZodString, zod.ZodUnion<[zod.ZodUnion<[zod.ZodString, zod.ZodReadonly<zod.ZodArray<zod.ZodString, "many">>]>, zod.ZodArray<zod.ZodString, "many">]>>>>;
30510
30511
  }, "strip", zod.ZodTypeAny, {
30511
30512
  name: string;
30512
30513
  isNormallyClosed: boolean;
@@ -30681,6 +30682,7 @@ declare class Switch extends NormalComponent<typeof switchProps> {
30681
30682
  symbolName?: string | undefined;
30682
30683
  doNotPlace?: boolean | undefined;
30683
30684
  obstructsWithinBounds?: boolean | undefined;
30685
+ connections?: Record<string, string | readonly string[] | string[]> | undefined;
30684
30686
  spst?: boolean | undefined;
30685
30687
  spdt?: boolean | undefined;
30686
30688
  dpst?: boolean | undefined;
@@ -30860,12 +30862,13 @@ declare class Switch extends NormalComponent<typeof switchProps> {
30860
30862
  symbolName?: string | undefined;
30861
30863
  doNotPlace?: boolean | undefined;
30862
30864
  obstructsWithinBounds?: boolean | undefined;
30865
+ connections?: Partial<Record<string, string | string[] | readonly string[]>> | undefined;
30863
30866
  spst?: boolean | undefined;
30864
30867
  spdt?: boolean | undefined;
30865
30868
  dpst?: boolean | undefined;
30866
30869
  dpdt?: boolean | undefined;
30867
30870
  isNormallyClosed?: boolean | undefined;
30868
- }>, _tscircuit_props.SwitchProps, {
30871
+ }>, SwitchProps, {
30869
30872
  name: string;
30870
30873
  symbol?: _tscircuit_props.SymbolProp | undefined;
30871
30874
  type?: "spst" | "spdt" | "dpst" | "dpdt" | undefined;
@@ -31040,6 +31043,7 @@ declare class Switch extends NormalComponent<typeof switchProps> {
31040
31043
  symbolName?: string | undefined;
31041
31044
  doNotPlace?: boolean | undefined;
31042
31045
  obstructsWithinBounds?: boolean | undefined;
31046
+ connections?: Partial<Record<string, string | string[] | readonly string[]>> | undefined;
31043
31047
  spst?: boolean | undefined;
31044
31048
  spdt?: boolean | undefined;
31045
31049
  dpst?: boolean | undefined;
@@ -31049,6 +31053,7 @@ declare class Switch extends NormalComponent<typeof switchProps> {
31049
31053
  shouldRenderAsSchematicBox: boolean;
31050
31054
  };
31051
31055
  doInitialSourceRender(): void;
31056
+ doInitialSimulationRender(): void;
31052
31057
  }
31053
31058
 
31054
31059
  declare class TestPoint extends NormalComponent<typeof testpointProps> {
@@ -32870,6 +32875,20 @@ declare class SymbolComponent extends PrimitiveComponent<typeof symbolProps> {
32870
32875
  };
32871
32876
  }
32872
32877
 
32878
+ declare class AnalogSimulation extends PrimitiveComponent<typeof analogSimulationProps> {
32879
+ get config(): {
32880
+ componentName: string;
32881
+ zodProps: zod.ZodObject<{
32882
+ simulationType: zod.ZodDefault<zod.ZodLiteral<"spice_transient_analysis">>;
32883
+ }, "strip", zod.ZodTypeAny, {
32884
+ simulationType: "spice_transient_analysis";
32885
+ }, {
32886
+ simulationType?: "spice_transient_analysis" | undefined;
32887
+ }>;
32888
+ };
32889
+ doInitialSourceRender(): void;
32890
+ }
32891
+
32873
32892
  declare const useRenderedCircuit: (reactElements: react__default.ReactElement) => {
32874
32893
  isLoading: boolean;
32875
32894
  error?: Error | null;
@@ -33493,6 +33512,7 @@ interface TscircuitElements {
33493
33512
  testpoint: _tscircuit_props.TestpointProps;
33494
33513
  voltagesource: VoltageSourceProps;
33495
33514
  copperpour: _tscircuit_props.CopperPourProps;
33515
+ analogsimulation: _tscircuit_props.AnalogSimulationProps;
33496
33516
  jscad: any;
33497
33517
  }
33498
33518
  declare module "react" {
@@ -33509,4 +33529,4 @@ declare module "react/jsx-runtime" {
33509
33529
  }
33510
33530
  }
33511
33531
 
33512
- export { type AsyncEffect, type AutorouterCompleteEvent, type AutorouterErrorEvent, type AutorouterEvent, type AutorouterProgressEvent, type AutoroutingEndEvent, type AutoroutingErrorEvent, type AutoroutingProgressEvent, type AutoroutingStartEvent, Battery, Board, Breakout, BreakoutPoint, CadAssembly, CadModel, Capacitor, Chip, Circuit, type ComponentWithPins, Constraint, CopperPour, Crystal, Cutout, type DebugLogOutputEvent, Diode, FabricationNotePath, FabricationNoteText, Footprint, Fuse, type GenericConnectionsAndSelectorsSel, type GenericLocalAutorouter, Group, Hole, type IRenderable, Inductor, Jumper, Keepout, Led, type LocalCacheEngine, Mosfet, Net, NetLabel, NormalComponent, type Obstacle, PcbTrace, PinHeader, type PinLabelSpec, Pinout, PlatedHole, Port, Potentiometer, PowerSource, PrimitiveComponent, Project, PushButton, type RenderPhase, type RenderPhaseFn, type RenderPhaseFunctions, type RenderPhaseStates, Renderable, Resistor, Resonator, RootCircuit, type RootCircuitEventName, SchematicArc, SchematicBox, SchematicCell, SchematicCircle, SchematicLine, SchematicRect, SchematicRow, SchematicTable, SchematicText, type Sel, SilkscreenCircle, SilkscreenLine, SilkscreenPath, SilkscreenRect, SilkscreenText, type SimpleRouteConnection, type SimpleRouteJson, type SimplifiedPcbTrace, SmtPad, SolderJumper, Subcircuit, Switch, SymbolComponent as Symbol, TestPoint, Trace, TraceHint, Transistor, Via, VoltageSource, applyEditEvents, applyEditEventsToManualEditsFile, applyPcbEditEventsToManualEditsFile, applySchematicEditEventsToManualEditsFile, createUseComponent, getPhaseTimingsFromRenderEvents, getSimpleRouteJsonFromCircuitJson, normalizePinLabels, orderedRenderPhases, sel, useCapacitor, useChip, useDiode, useLed, useRenderedCircuit, useResistor };
33532
+ export { AnalogSimulation, type AsyncEffect, type AutorouterCompleteEvent, type AutorouterErrorEvent, type AutorouterEvent, type AutorouterProgressEvent, type AutoroutingEndEvent, type AutoroutingErrorEvent, type AutoroutingProgressEvent, type AutoroutingStartEvent, Battery, Board, Breakout, BreakoutPoint, CadAssembly, CadModel, Capacitor, Chip, Circuit, type ComponentWithPins, Constraint, CopperPour, Crystal, Cutout, type DebugLogOutputEvent, Diode, FabricationNotePath, FabricationNoteText, Footprint, Fuse, type GenericConnectionsAndSelectorsSel, type GenericLocalAutorouter, Group, Hole, type IRenderable, Inductor, Jumper, Keepout, Led, type LocalCacheEngine, Mosfet, Net, NetLabel, NormalComponent, type Obstacle, PcbTrace, PinHeader, type PinLabelSpec, Pinout, PlatedHole, Port, Potentiometer, PowerSource, PrimitiveComponent, Project, PushButton, type RenderPhase, type RenderPhaseFn, type RenderPhaseFunctions, type RenderPhaseStates, Renderable, Resistor, Resonator, RootCircuit, type RootCircuitEventName, SchematicArc, SchematicBox, SchematicCell, SchematicCircle, SchematicLine, SchematicRect, SchematicRow, SchematicTable, SchematicText, type Sel, SilkscreenCircle, SilkscreenLine, SilkscreenPath, SilkscreenRect, SilkscreenText, type SimpleRouteConnection, type SimpleRouteJson, type SimplifiedPcbTrace, SmtPad, SolderJumper, Subcircuit, Switch, SymbolComponent as Symbol, TestPoint, Trace, TraceHint, Transistor, Via, VoltageSource, applyEditEvents, applyEditEventsToManualEditsFile, applyPcbEditEventsToManualEditsFile, applySchematicEditEventsToManualEditsFile, createUseComponent, getPhaseTimingsFromRenderEvents, getSimpleRouteJsonFromCircuitJson, normalizePinLabels, orderedRenderPhases, sel, useCapacitor, useChip, useDiode, useLed, useRenderedCircuit, useResistor };
package/dist/index.js CHANGED
@@ -7,6 +7,7 @@ var __export = (target, all) => {
7
7
  // lib/components/index.ts
8
8
  var components_exports = {};
9
9
  __export(components_exports, {
10
+ AnalogSimulation: () => AnalogSimulation,
10
11
  Battery: () => Battery,
11
12
  Board: () => Board,
12
13
  Breakout: () => Breakout,
@@ -11866,15 +11867,47 @@ var Group_doInitialSchematicTraceRender = (group) => {
11866
11867
  // lib/components/primitive-components/Group/Group_doInitialSimulationSpiceEngineRender.ts
11867
11868
  import { circuitJsonToSpice } from "circuit-json-to-spice";
11868
11869
  import Debug11 from "debug";
11870
+
11871
+ // lib/spice/get-spicey-engine.ts
11872
+ import { simulate, spiceyTranToVGraphs } from "spicey";
11873
+ var getSpiceyEngine = () => {
11874
+ return {
11875
+ async simulate(spiceString) {
11876
+ const simulation_experiment_id = "spice-experiment-1";
11877
+ let spiceNetlist = spiceString;
11878
+ if (!spiceNetlist.includes(".tran")) {
11879
+ spiceNetlist = spiceNetlist.replace(/\.END/i, ".tran 1us 10ms\n.END");
11880
+ }
11881
+ const { circuit: parsedCircuit, tran } = simulate(spiceNetlist);
11882
+ const voltageGraphs = spiceyTranToVGraphs(
11883
+ tran,
11884
+ parsedCircuit,
11885
+ simulation_experiment_id
11886
+ );
11887
+ return {
11888
+ simulationResultCircuitJson: [
11889
+ {
11890
+ type: "simulation_experiment",
11891
+ simulation_experiment_id
11892
+ },
11893
+ ...voltageGraphs
11894
+ ]
11895
+ };
11896
+ }
11897
+ };
11898
+ };
11899
+
11900
+ // lib/components/primitive-components/Group/Group_doInitialSimulationSpiceEngineRender.ts
11869
11901
  var debug10 = Debug11("tscircuit:core:Group_doInitialSimulationSpiceEngineRender");
11870
11902
  function Group_doInitialSimulationSpiceEngineRender(group) {
11871
11903
  if (!group.isSubcircuit) return;
11872
11904
  const { root } = group;
11873
11905
  if (!root) return;
11874
- const spiceEngineMap = root.platform?.spiceEngineMap;
11875
- if (!spiceEngineMap || Object.keys(spiceEngineMap).length === 0) {
11876
- debug10("No spice engines configured, skipping simulation");
11877
- return;
11906
+ const analogSims = group.selectAll("analogsimulation");
11907
+ if (analogSims.length === 0) return;
11908
+ const spiceEngineMap = { ...root.platform?.spiceEngineMap };
11909
+ if (!spiceEngineMap.spicey) {
11910
+ spiceEngineMap.spicey = getSpiceyEngine();
11878
11911
  }
11879
11912
  const circuitJson = root.db.toArray();
11880
11913
  let spiceString;
@@ -15194,36 +15227,55 @@ var Mosfet = class extends NormalComponent3 {
15194
15227
  };
15195
15228
 
15196
15229
  // lib/components/normal-components/Switch.ts
15197
- import { switchProps } from "@tscircuit/props";
15230
+ import {
15231
+ switchProps
15232
+ } from "@tscircuit/props";
15233
+ var hasSimulationValues = (values) => {
15234
+ if (!values) return false;
15235
+ return values.closesAt !== void 0 || values.opensAt !== void 0 || values.startsClosed !== void 0 || values.switchingFrequency !== void 0;
15236
+ };
15237
+ var isSpiceContainer = (simulation) => {
15238
+ if (!simulation || typeof simulation !== "object") {
15239
+ return false;
15240
+ }
15241
+ return Object.prototype.hasOwnProperty.call(simulation, "spice");
15242
+ };
15243
+ var getSimulationValues = (simulation) => {
15244
+ if (!simulation || typeof simulation !== "object") {
15245
+ return null;
15246
+ }
15247
+ const maybeValues = isSpiceContainer(simulation) ? simulation.spice ?? null : simulation;
15248
+ return hasSimulationValues(maybeValues) ? { ...maybeValues } : null;
15249
+ };
15198
15250
  var Switch = class extends NormalComponent3 {
15199
15251
  _getSwitchType() {
15200
- const { spst, spdt, dpst, dpdt, type } = this._parsedProps ?? {};
15201
- if (dpdt) return "dpdt";
15202
- if (spst) return "spst";
15203
- if (spdt) return "spdt";
15204
- if (dpst) return "dpst";
15205
- return type ?? "spst";
15252
+ const props = this._parsedProps;
15253
+ if (!props) return "spst";
15254
+ if (props.dpdt) return "dpdt";
15255
+ if (props.spst) return "spst";
15256
+ if (props.spdt) return "spdt";
15257
+ if (props.dpst) return "dpst";
15258
+ return props.type ?? "spst";
15206
15259
  }
15207
15260
  get config() {
15208
15261
  const switchType = this._getSwitchType();
15209
- const { isNormallyClosed } = this._parsedProps ?? {};
15210
- const baseSymbolNameMap = {
15262
+ const isNormallyClosed = this._parsedProps?.isNormallyClosed ?? false;
15263
+ const symbolMap = {
15211
15264
  spst: isNormallyClosed ? "spst_normally_closed_switch" : "spst_switch",
15212
15265
  spdt: isNormallyClosed ? "spdt_normally_closed_switch" : "spdt_switch",
15213
15266
  dpst: isNormallyClosed ? "dpst_normally_closed_switch" : "dpst_switch",
15214
15267
  dpdt: isNormallyClosed ? "dpdt_normally_closed_switch" : "dpdt_switch"
15215
15268
  };
15216
- const symbolName = baseSymbolNameMap[switchType] ?? "spst_switch";
15217
15269
  return {
15218
15270
  componentName: "Switch",
15219
- schematicSymbolName: this.props.symbolName ?? symbolName,
15271
+ schematicSymbolName: this.props.symbolName ?? symbolMap[switchType],
15220
15272
  zodProps: switchProps,
15221
15273
  shouldRenderAsSchematicBox: false
15222
15274
  };
15223
15275
  }
15224
15276
  doInitialSourceRender() {
15225
15277
  const { db } = this.root;
15226
- const { _parsedProps: props } = this;
15278
+ const props = this._parsedProps ?? {};
15227
15279
  const source_component = db.source_component.insert({
15228
15280
  ftype: "simple_switch",
15229
15281
  name: this.name,
@@ -15233,6 +15285,31 @@ var Switch = class extends NormalComponent3 {
15233
15285
  });
15234
15286
  this.source_component_id = source_component.source_component_id;
15235
15287
  }
15288
+ doInitialSimulationRender() {
15289
+ const props = this.props;
15290
+ const simulationValues = getSimulationValues(props.simulation);
15291
+ if (!simulationValues) {
15292
+ return;
15293
+ }
15294
+ const { db } = this.root;
15295
+ const simulationSwitch = {
15296
+ type: "simulation_switch"
15297
+ };
15298
+ if (simulationValues.closesAt !== void 0) {
15299
+ simulationSwitch.closes_at = simulationValues.closesAt;
15300
+ }
15301
+ if (simulationValues.opensAt !== void 0) {
15302
+ simulationSwitch.opens_at = simulationValues.opensAt;
15303
+ }
15304
+ if (simulationValues.startsClosed !== void 0) {
15305
+ simulationSwitch.starts_closed = simulationValues.startsClosed;
15306
+ }
15307
+ if (simulationValues.switchingFrequency !== void 0) {
15308
+ simulationSwitch.switching_frequency = simulationValues.switchingFrequency;
15309
+ }
15310
+ ;
15311
+ db.simulation_switch.insert(simulationSwitch);
15312
+ }
15236
15313
  };
15237
15314
 
15238
15315
  // lib/components/normal-components/TestPoint.ts
@@ -15865,6 +15942,19 @@ var SymbolComponent = class extends PrimitiveComponent2 {
15865
15942
  }
15866
15943
  };
15867
15944
 
15945
+ // lib/components/primitive-components/AnalogSimulation.ts
15946
+ import { analogSimulationProps } from "@tscircuit/props";
15947
+ var AnalogSimulation = class extends PrimitiveComponent2 {
15948
+ get config() {
15949
+ return {
15950
+ componentName: "AnalogSimulation",
15951
+ zodProps: analogSimulationProps
15952
+ };
15953
+ }
15954
+ doInitialSourceRender() {
15955
+ }
15956
+ };
15957
+
15868
15958
  // lib/RootCircuit.ts
15869
15959
  import { su as su5 } from "@tscircuit/circuit-json-util";
15870
15960
  import { isValidElement as isValidElement2 } from "react";
@@ -15874,7 +15964,7 @@ import { identity as identity6 } from "transformation-matrix";
15874
15964
  var package_default = {
15875
15965
  name: "@tscircuit/core",
15876
15966
  type: "module",
15877
- version: "0.0.759",
15967
+ version: "0.0.761",
15878
15968
  types: "dist/index.d.ts",
15879
15969
  main: "dist/index.js",
15880
15970
  module: "dist/index.js",
@@ -15913,7 +16003,7 @@ var package_default = {
15913
16003
  "@tscircuit/matchpack": "^0.0.16",
15914
16004
  "@tscircuit/math-utils": "^0.0.21",
15915
16005
  "@tscircuit/miniflex": "^0.0.4",
15916
- "@tscircuit/props": "0.0.343",
16006
+ "@tscircuit/props": "0.0.346",
15917
16007
  "@tscircuit/schematic-autolayout": "^0.0.6",
15918
16008
  "@tscircuit/schematic-match-adapt": "^0.0.16",
15919
16009
  "@tscircuit/schematic-trace-solver": "^0.0.40",
@@ -15926,7 +16016,7 @@ var package_default = {
15926
16016
  "bun-match-svg": "0.0.12",
15927
16017
  "calculate-elbow": "^0.0.12",
15928
16018
  "chokidar-cli": "^3.0.0",
15929
- "circuit-json": "^0.0.267",
16019
+ "circuit-json": "^0.0.268",
15930
16020
  "circuit-json-to-bpc": "^0.0.13",
15931
16021
  "circuit-json-to-connectivity-map": "^0.0.22",
15932
16022
  "circuit-json-to-gltf": "^0.0.7",
@@ -15947,7 +16037,7 @@ var package_default = {
15947
16037
  react: "^19.1.0",
15948
16038
  "react-dom": "^19.1.0",
15949
16039
  "schematic-symbols": "^0.0.202",
15950
- spicey: "^0.0.3",
16040
+ spicey: "^0.0.4",
15951
16041
  "ts-expect": "^1.3.0",
15952
16042
  tsup: "^8.2.4"
15953
16043
  },
@@ -16380,6 +16470,7 @@ extendCatalogue({
16380
16470
  Bug: Chip
16381
16471
  });
16382
16472
  export {
16473
+ AnalogSimulation,
16383
16474
  Battery,
16384
16475
  Board,
16385
16476
  Breakout,
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@tscircuit/core",
3
3
  "type": "module",
4
- "version": "0.0.760",
4
+ "version": "0.0.762",
5
5
  "types": "dist/index.d.ts",
6
6
  "main": "dist/index.js",
7
7
  "module": "dist/index.js",
@@ -40,7 +40,7 @@
40
40
  "@tscircuit/matchpack": "^0.0.16",
41
41
  "@tscircuit/math-utils": "^0.0.21",
42
42
  "@tscircuit/miniflex": "^0.0.4",
43
- "@tscircuit/props": "0.0.343",
43
+ "@tscircuit/props": "0.0.346",
44
44
  "@tscircuit/schematic-autolayout": "^0.0.6",
45
45
  "@tscircuit/schematic-match-adapt": "^0.0.16",
46
46
  "@tscircuit/schematic-trace-solver": "^0.0.40",
@@ -53,7 +53,7 @@
53
53
  "bun-match-svg": "0.0.12",
54
54
  "calculate-elbow": "^0.0.12",
55
55
  "chokidar-cli": "^3.0.0",
56
- "circuit-json": "^0.0.267",
56
+ "circuit-json": "^0.0.268",
57
57
  "circuit-json-to-bpc": "^0.0.13",
58
58
  "circuit-json-to-connectivity-map": "^0.0.22",
59
59
  "circuit-json-to-gltf": "^0.0.7",
@@ -74,7 +74,7 @@
74
74
  "react": "^19.1.0",
75
75
  "react-dom": "^19.1.0",
76
76
  "schematic-symbols": "^0.0.202",
77
- "spicey": "^0.0.3",
77
+ "spicey": "^0.0.4",
78
78
  "ts-expect": "^1.3.0",
79
79
  "tsup": "^8.2.4"
80
80
  },