@tscircuit/schematic-viewer 1.1.9 → 1.1.11

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.
@@ -0,0 +1 @@
1
+ {"inputs":{"node_modules/transformation-matrix/src/applyToPoint.js":{"bytes":822,"imports":[],"format":"esm"},"node_modules/transformation-matrix/src/fromObject.js":{"bytes":472,"imports":[],"format":"esm"},"node_modules/transformation-matrix/src/fromString.js":{"bytes":804,"imports":[],"format":"esm"},"node_modules/transformation-matrix/src/identity.js":{"bytes":168,"imports":[],"format":"esm"},"node_modules/transformation-matrix/src/inverse.js":{"bytes":516,"imports":[],"format":"esm"},"node_modules/transformation-matrix/src/utils.js":{"bytes":391,"imports":[],"format":"esm"},"node_modules/transformation-matrix/src/isAffineMatrix.js":{"bytes":581,"imports":[{"path":"node_modules/transformation-matrix/src/utils.js","kind":"import-statement","original":"./utils"}],"format":"esm"},"node_modules/transformation-matrix/src/translate.js":{"bytes":288,"imports":[],"format":"esm"},"node_modules/transformation-matrix/src/transform.js":{"bytes":1142,"imports":[],"format":"esm"},"node_modules/transformation-matrix/src/rotate.js":{"bytes":1216,"imports":[{"path":"node_modules/transformation-matrix/src/utils.js","kind":"import-statement","original":"./utils"},{"path":"node_modules/transformation-matrix/src/translate.js","kind":"import-statement","original":"./translate"},{"path":"node_modules/transformation-matrix/src/transform.js","kind":"import-statement","original":"./transform"}],"format":"esm"},"node_modules/transformation-matrix/src/scale.js":{"bytes":815,"imports":[{"path":"node_modules/transformation-matrix/src/utils.js","kind":"import-statement","original":"./utils"},{"path":"node_modules/transformation-matrix/src/translate.js","kind":"import-statement","original":"./translate"},{"path":"node_modules/transformation-matrix/src/transform.js","kind":"import-statement","original":"./transform"}],"format":"esm"},"node_modules/transformation-matrix/src/shear.js":{"bytes":264,"imports":[],"format":"esm"},"node_modules/transformation-matrix/src/skew.js":{"bytes":615,"imports":[],"format":"esm"},"node_modules/transformation-matrix/src/toString.js":{"bytes":898,"imports":[],"format":"esm"},"node_modules/transformation-matrix/src/smoothMatrix.js":{"bytes":723,"imports":[],"format":"esm"},"node_modules/transformation-matrix/src/fromTriangles.js":{"bytes":1742,"imports":[{"path":"node_modules/transformation-matrix/src/inverse.js","kind":"import-statement","original":"./inverse"},{"path":"node_modules/transformation-matrix/src/transform.js","kind":"import-statement","original":"./transform"},{"path":"node_modules/transformation-matrix/src/smoothMatrix.js","kind":"import-statement","original":"./smoothMatrix"}],"format":"esm"},"node_modules/transformation-matrix/src/fromDefinition.js":{"bytes":2973,"imports":[{"path":"node_modules/transformation-matrix/src/fromObject.js","kind":"import-statement","original":"./fromObject"},{"path":"node_modules/transformation-matrix/src/translate.js","kind":"import-statement","original":"./translate"},{"path":"node_modules/transformation-matrix/src/scale.js","kind":"import-statement","original":"./scale"},{"path":"node_modules/transformation-matrix/src/rotate.js","kind":"import-statement","original":"./rotate"},{"path":"node_modules/transformation-matrix/src/skew.js","kind":"import-statement","original":"./skew"},{"path":"node_modules/transformation-matrix/src/shear.js","kind":"import-statement","original":"./shear"}],"format":"esm"},"node_modules/transformation-matrix/src/fromTransformAttribute.autogenerated.js":{"bytes":34651,"imports":[],"format":"esm"},"node_modules/transformation-matrix/src/fromTransformAttribute.js":{"bytes":860,"imports":[{"path":"node_modules/transformation-matrix/src/fromTransformAttribute.autogenerated.js","kind":"import-statement","original":"./fromTransformAttribute.autogenerated"}],"format":"esm"},"node_modules/transformation-matrix/src/decompose.js":{"bytes":2247,"imports":[{"path":"node_modules/transformation-matrix/src/scale.js","kind":"import-statement","original":"./scale"},{"path":"node_modules/transformation-matrix/src/transform.js","kind":"import-statement","original":"./transform"}],"format":"esm"},"node_modules/transformation-matrix/src/flip.js":{"bytes":591,"imports":[],"format":"esm"},"node_modules/transformation-matrix/src/fromMovingPoints.js":{"bytes":2112,"imports":[{"path":"node_modules/transformation-matrix/src/translate.js","kind":"import-statement","original":"./translate"},{"path":"node_modules/transformation-matrix/src/applyToPoint.js","kind":"import-statement","original":"./applyToPoint"},{"path":"node_modules/transformation-matrix/src/rotate.js","kind":"import-statement","original":"./rotate"},{"path":"node_modules/transformation-matrix/src/scale.js","kind":"import-statement","original":"./scale"},{"path":"node_modules/transformation-matrix/src/transform.js","kind":"import-statement","original":"./transform"}],"format":"esm"},"node_modules/transformation-matrix/src/index.js":{"bytes":577,"imports":[{"path":"node_modules/transformation-matrix/src/applyToPoint.js","kind":"import-statement","original":"./applyToPoint"},{"path":"node_modules/transformation-matrix/src/fromObject.js","kind":"import-statement","original":"./fromObject"},{"path":"node_modules/transformation-matrix/src/fromString.js","kind":"import-statement","original":"./fromString"},{"path":"node_modules/transformation-matrix/src/identity.js","kind":"import-statement","original":"./identity"},{"path":"node_modules/transformation-matrix/src/inverse.js","kind":"import-statement","original":"./inverse"},{"path":"node_modules/transformation-matrix/src/isAffineMatrix.js","kind":"import-statement","original":"./isAffineMatrix"},{"path":"node_modules/transformation-matrix/src/rotate.js","kind":"import-statement","original":"./rotate"},{"path":"node_modules/transformation-matrix/src/scale.js","kind":"import-statement","original":"./scale"},{"path":"node_modules/transformation-matrix/src/shear.js","kind":"import-statement","original":"./shear"},{"path":"node_modules/transformation-matrix/src/skew.js","kind":"import-statement","original":"./skew"},{"path":"node_modules/transformation-matrix/src/toString.js","kind":"import-statement","original":"./toString"},{"path":"node_modules/transformation-matrix/src/transform.js","kind":"import-statement","original":"./transform"},{"path":"node_modules/transformation-matrix/src/translate.js","kind":"import-statement","original":"./translate"},{"path":"node_modules/transformation-matrix/src/fromTriangles.js","kind":"import-statement","original":"./fromTriangles"},{"path":"node_modules/transformation-matrix/src/smoothMatrix.js","kind":"import-statement","original":"./smoothMatrix"},{"path":"node_modules/transformation-matrix/src/fromDefinition.js","kind":"import-statement","original":"./fromDefinition"},{"path":"node_modules/transformation-matrix/src/fromTransformAttribute.js","kind":"import-statement","original":"./fromTransformAttribute"},{"path":"node_modules/transformation-matrix/src/decompose.js","kind":"import-statement","original":"./decompose"},{"path":"node_modules/transformation-matrix/src/flip.js","kind":"import-statement","original":"./flip"},{"path":"node_modules/transformation-matrix/src/fromMovingPoints.js","kind":"import-statement","original":"./fromMovingPoints"}],"format":"esm"},"node_modules/@tscircuit/sparkfun-packages/dist/index.js":{"bytes":53208,"imports":[],"format":"cjs"},"node_modules/parsel-js/dist/parsel.min.js":{"bytes":4552,"imports":[],"format":"esm"},"node_modules/glpk.js/dist/glpk.js":{"bytes":52312,"imports":[{"path":"path","kind":"require-call","external":true},{"path":"fs","kind":"require-call","external":true},{"path":"path","kind":"require-call","external":true},{"path":"fs","kind":"require-call","external":true},{"path":"path","kind":"require-call","external":true},{"path":"crypto","kind":"require-call","external":true}],"format":"cjs"},"node_modules/rsmt-ts/dist/index.js":{"bytes":45177,"imports":[{"path":"node_modules/glpk.js/dist/glpk.js","kind":"require-call","original":"glpk.js"}],"format":"cjs"},"node_modules/rectilinear-router/dist/index.js":{"bytes":2470,"imports":[{"path":"node_modules/rsmt-ts/dist/index.js","kind":"require-call","original":"rsmt-ts"}],"format":"cjs"},"node_modules/heap/lib/heap.js":{"bytes":8393,"imports":[],"format":"cjs"},"node_modules/heap/index.js":{"bytes":40,"imports":[{"path":"node_modules/heap/lib/heap.js","kind":"require-call","original":"./lib/heap"}],"format":"cjs"},"node_modules/pathfinding/src/core/Node.js":{"bytes":807,"imports":[],"format":"cjs"},"node_modules/pathfinding/src/core/DiagonalMovement.js":{"bytes":154,"imports":[],"format":"cjs"},"node_modules/pathfinding/src/core/Grid.js":{"bytes":6666,"imports":[{"path":"node_modules/pathfinding/src/core/Node.js","kind":"require-call","original":"./Node"},{"path":"node_modules/pathfinding/src/core/DiagonalMovement.js","kind":"require-call","original":"./DiagonalMovement"}],"format":"cjs"},"node_modules/pathfinding/src/core/Util.js":{"bytes":6207,"imports":[],"format":"cjs"},"node_modules/pathfinding/src/core/Heuristic.js":{"bytes":1140,"imports":[],"format":"cjs"},"node_modules/pathfinding/src/finders/AStarFinder.js":{"bytes":4753,"imports":[{"path":"node_modules/heap/index.js","kind":"require-call","original":"heap"},{"path":"node_modules/pathfinding/src/core/Util.js","kind":"require-call","original":"../core/Util"},{"path":"node_modules/pathfinding/src/core/Heuristic.js","kind":"require-call","original":"../core/Heuristic"},{"path":"node_modules/pathfinding/src/core/DiagonalMovement.js","kind":"require-call","original":"../core/DiagonalMovement"}],"format":"cjs"},"node_modules/pathfinding/src/finders/BestFirstFinder.js":{"bytes":957,"imports":[{"path":"node_modules/pathfinding/src/finders/AStarFinder.js","kind":"require-call","original":"./AStarFinder"}],"format":"cjs"},"node_modules/pathfinding/src/finders/BreadthFirstFinder.js":{"bytes":2562,"imports":[{"path":"node_modules/pathfinding/src/core/Util.js","kind":"require-call","original":"../core/Util"},{"path":"node_modules/pathfinding/src/core/DiagonalMovement.js","kind":"require-call","original":"../core/DiagonalMovement"}],"format":"cjs"},"node_modules/pathfinding/src/finders/DijkstraFinder.js":{"bytes":775,"imports":[{"path":"node_modules/pathfinding/src/finders/AStarFinder.js","kind":"require-call","original":"./AStarFinder"}],"format":"cjs"},"node_modules/pathfinding/src/finders/BiAStarFinder.js":{"bytes":6860,"imports":[{"path":"node_modules/heap/index.js","kind":"require-call","original":"heap"},{"path":"node_modules/pathfinding/src/core/Util.js","kind":"require-call","original":"../core/Util"},{"path":"node_modules/pathfinding/src/core/Heuristic.js","kind":"require-call","original":"../core/Heuristic"},{"path":"node_modules/pathfinding/src/core/DiagonalMovement.js","kind":"require-call","original":"../core/DiagonalMovement"}],"format":"cjs"},"node_modules/pathfinding/src/finders/BiBestFirstFinder.js":{"bytes":993,"imports":[{"path":"node_modules/pathfinding/src/finders/BiAStarFinder.js","kind":"require-call","original":"./BiAStarFinder"}],"format":"cjs"},"node_modules/pathfinding/src/finders/BiBreadthFirstFinder.js":{"bytes":3676,"imports":[{"path":"node_modules/pathfinding/src/core/Util.js","kind":"require-call","original":"../core/Util"},{"path":"node_modules/pathfinding/src/core/DiagonalMovement.js","kind":"require-call","original":"../core/DiagonalMovement"}],"format":"cjs"},"node_modules/pathfinding/src/finders/BiDijkstraFinder.js":{"bytes":810,"imports":[{"path":"node_modules/pathfinding/src/finders/BiAStarFinder.js","kind":"require-call","original":"./BiAStarFinder"}],"format":"cjs"},"node_modules/pathfinding/src/finders/IDAStarFinder.js":{"bytes":7236,"imports":[{"path":"node_modules/pathfinding/src/core/Util.js","kind":"require-call","original":"../core/Util"},{"path":"node_modules/pathfinding/src/core/Heuristic.js","kind":"require-call","original":"../core/Heuristic"},{"path":"node_modules/pathfinding/src/core/Node.js","kind":"require-call","original":"../core/Node"},{"path":"node_modules/pathfinding/src/core/DiagonalMovement.js","kind":"require-call","original":"../core/DiagonalMovement"}],"format":"cjs"},"node_modules/pathfinding/src/finders/JumpPointFinderBase.js":{"bytes":3553,"imports":[{"path":"node_modules/heap/index.js","kind":"require-call","original":"heap"},{"path":"node_modules/pathfinding/src/core/Util.js","kind":"require-call","original":"../core/Util"},{"path":"node_modules/pathfinding/src/core/Heuristic.js","kind":"require-call","original":"../core/Heuristic"},{"path":"node_modules/pathfinding/src/core/DiagonalMovement.js","kind":"require-call","original":"../core/DiagonalMovement"}],"format":"cjs"},"node_modules/pathfinding/src/finders/JPFNeverMoveDiagonally.js":{"bytes":3858,"imports":[{"path":"node_modules/pathfinding/src/finders/JumpPointFinderBase.js","kind":"require-call","original":"./JumpPointFinderBase"},{"path":"node_modules/pathfinding/src/core/DiagonalMovement.js","kind":"require-call","original":"../core/DiagonalMovement"}],"format":"cjs"},"node_modules/pathfinding/src/finders/JPFAlwaysMoveDiagonally.js":{"bytes":5030,"imports":[{"path":"node_modules/pathfinding/src/finders/JumpPointFinderBase.js","kind":"require-call","original":"./JumpPointFinderBase"},{"path":"node_modules/pathfinding/src/core/DiagonalMovement.js","kind":"require-call","original":"../core/DiagonalMovement"}],"format":"cjs"},"node_modules/pathfinding/src/finders/JPFMoveDiagonallyIfNoObstacles.js":{"bytes":6178,"imports":[{"path":"node_modules/pathfinding/src/finders/JumpPointFinderBase.js","kind":"require-call","original":"./JumpPointFinderBase"},{"path":"node_modules/pathfinding/src/core/DiagonalMovement.js","kind":"require-call","original":"../core/DiagonalMovement"}],"format":"cjs"},"node_modules/pathfinding/src/finders/JPFMoveDiagonallyIfAtMostOneObstacle.js":{"bytes":5503,"imports":[{"path":"node_modules/pathfinding/src/finders/JumpPointFinderBase.js","kind":"require-call","original":"./JumpPointFinderBase"},{"path":"node_modules/pathfinding/src/core/DiagonalMovement.js","kind":"require-call","original":"../core/DiagonalMovement"}],"format":"cjs"},"node_modules/pathfinding/src/finders/JumpPointFinder.js":{"bytes":1296,"imports":[{"path":"node_modules/pathfinding/src/core/DiagonalMovement.js","kind":"require-call","original":"../core/DiagonalMovement"},{"path":"node_modules/pathfinding/src/finders/JPFNeverMoveDiagonally.js","kind":"require-call","original":"./JPFNeverMoveDiagonally"},{"path":"node_modules/pathfinding/src/finders/JPFAlwaysMoveDiagonally.js","kind":"require-call","original":"./JPFAlwaysMoveDiagonally"},{"path":"node_modules/pathfinding/src/finders/JPFMoveDiagonallyIfNoObstacles.js","kind":"require-call","original":"./JPFMoveDiagonallyIfNoObstacles"},{"path":"node_modules/pathfinding/src/finders/JPFMoveDiagonallyIfAtMostOneObstacle.js","kind":"require-call","original":"./JPFMoveDiagonallyIfAtMostOneObstacle"}],"format":"cjs"},"node_modules/pathfinding/src/PathFinding.js":{"bytes":1120,"imports":[{"path":"node_modules/heap/index.js","kind":"require-call","original":"heap"},{"path":"node_modules/pathfinding/src/core/Node.js","kind":"require-call","original":"./core/Node"},{"path":"node_modules/pathfinding/src/core/Grid.js","kind":"require-call","original":"./core/Grid"},{"path":"node_modules/pathfinding/src/core/Util.js","kind":"require-call","original":"./core/Util"},{"path":"node_modules/pathfinding/src/core/DiagonalMovement.js","kind":"require-call","original":"./core/DiagonalMovement"},{"path":"node_modules/pathfinding/src/core/Heuristic.js","kind":"require-call","original":"./core/Heuristic"},{"path":"node_modules/pathfinding/src/finders/AStarFinder.js","kind":"require-call","original":"./finders/AStarFinder"},{"path":"node_modules/pathfinding/src/finders/BestFirstFinder.js","kind":"require-call","original":"./finders/BestFirstFinder"},{"path":"node_modules/pathfinding/src/finders/BreadthFirstFinder.js","kind":"require-call","original":"./finders/BreadthFirstFinder"},{"path":"node_modules/pathfinding/src/finders/DijkstraFinder.js","kind":"require-call","original":"./finders/DijkstraFinder"},{"path":"node_modules/pathfinding/src/finders/BiAStarFinder.js","kind":"require-call","original":"./finders/BiAStarFinder"},{"path":"node_modules/pathfinding/src/finders/BiBestFirstFinder.js","kind":"require-call","original":"./finders/BiBestFirstFinder"},{"path":"node_modules/pathfinding/src/finders/BiBreadthFirstFinder.js","kind":"require-call","original":"./finders/BiBreadthFirstFinder"},{"path":"node_modules/pathfinding/src/finders/BiDijkstraFinder.js","kind":"require-call","original":"./finders/BiDijkstraFinder"},{"path":"node_modules/pathfinding/src/finders/IDAStarFinder.js","kind":"require-call","original":"./finders/IDAStarFinder"},{"path":"node_modules/pathfinding/src/finders/JumpPointFinder.js","kind":"require-call","original":"./finders/JumpPointFinder"}],"format":"cjs"},"node_modules/pathfinding/index.js":{"bytes":48,"imports":[{"path":"node_modules/pathfinding/src/PathFinding.js","kind":"require-call","original":"./src/PathFinding"}],"format":"cjs"},"node_modules/@tscircuit/routing/dist/index.js":{"bytes":22825,"imports":[{"path":"node_modules/pathfinding/index.js","kind":"require-call","original":"pathfinding"}],"format":"cjs"},"node_modules/lodash._objecttypes/index.js":{"bytes":650,"imports":[],"format":"cjs"},"node_modules/lodash.isobject/index.js":{"bytes":1186,"imports":[{"path":"node_modules/lodash._objecttypes/index.js","kind":"require-call","original":"lodash._objecttypes"}],"format":"cjs"},"node_modules/lodash._renative/index.js":{"bytes":801,"imports":[],"format":"cjs"},"node_modules/lodash._shimkeys/index.js":{"bytes":1225,"imports":[{"path":"node_modules/lodash._objecttypes/index.js","kind":"require-call","original":"lodash._objecttypes"}],"format":"cjs"},"node_modules/lodash.keys/index.js":{"bytes":1253,"imports":[{"path":"node_modules/lodash.isobject/index.js","kind":"require-call","original":"lodash.isobject"},{"path":"node_modules/lodash._renative/index.js","kind":"require-call","original":"lodash._renative"},{"path":"node_modules/lodash._shimkeys/index.js","kind":"require-call","original":"lodash._shimkeys"}],"format":"cjs"},"node_modules/lodash.noop/index.js":{"bytes":670,"imports":[],"format":"cjs"},"node_modules/lodash._basecreate/index.js":{"bytes":1432,"imports":[{"path":"node_modules/lodash.isobject/index.js","kind":"require-call","original":"lodash.isobject"},{"path":"node_modules/lodash.noop/index.js","kind":"require-call","original":"lodash.noop"},{"path":"node_modules/lodash._renative/index.js","kind":"require-call","original":"lodash._renative"}],"format":"cjs"},"node_modules/lodash._setbinddata/index.js":{"bytes":1298,"imports":[{"path":"node_modules/lodash.noop/index.js","kind":"require-call","original":"lodash.noop"},{"path":"node_modules/lodash._renative/index.js","kind":"require-call","original":"lodash._renative"}],"format":"cjs"},"node_modules/lodash._basebind/index.js":{"bytes":1800,"imports":[{"path":"node_modules/lodash._basecreate/index.js","kind":"require-call","original":"lodash._basecreate"},{"path":"node_modules/lodash.isobject/index.js","kind":"require-call","original":"lodash.isobject"},{"path":"node_modules/lodash._setbinddata/index.js","kind":"require-call","original":"lodash._setbinddata"}],"format":"cjs"},"node_modules/lodash._slice/index.js":{"bytes":1210,"imports":[],"format":"cjs"},"node_modules/lodash._basecreatewrapper/index.js":{"bytes":2350,"imports":[{"path":"node_modules/lodash._basecreate/index.js","kind":"require-call","original":"lodash._basecreate"},{"path":"node_modules/lodash.isobject/index.js","kind":"require-call","original":"lodash.isobject"},{"path":"node_modules/lodash._setbinddata/index.js","kind":"require-call","original":"lodash._setbinddata"},{"path":"node_modules/lodash._slice/index.js","kind":"require-call","original":"lodash._slice"}],"format":"cjs"},"node_modules/lodash.isfunction/index.js":{"bytes":774,"imports":[],"format":"cjs"},"node_modules/lodash._createwrapper/index.js":{"bytes":3331,"imports":[{"path":"node_modules/lodash._basebind/index.js","kind":"require-call","original":"lodash._basebind"},{"path":"node_modules/lodash._basecreatewrapper/index.js","kind":"require-call","original":"lodash._basecreatewrapper"},{"path":"node_modules/lodash.isfunction/index.js","kind":"require-call","original":"lodash.isfunction"}],"format":"cjs"},"node_modules/lodash.bind/index.js":{"bytes":1391,"imports":[{"path":"node_modules/lodash._createwrapper/index.js","kind":"require-call","original":"lodash._createwrapper"},{"path":"node_modules/lodash._renative/index.js","kind":"require-call","original":"lodash._renative"},{"path":"node_modules/lodash._slice/index.js","kind":"require-call","original":"lodash._slice"}],"format":"cjs"},"node_modules/lodash.identity/index.js":{"bytes":766,"imports":[],"format":"cjs"},"node_modules/lodash.support/index.js":{"bytes":1147,"imports":[{"path":"node_modules/lodash._renative/index.js","kind":"require-call","original":"lodash._renative"}],"format":"cjs"},"node_modules/lodash._basecreatecallback/index.js":{"bytes":2735,"imports":[{"path":"node_modules/lodash.bind/index.js","kind":"require-call","original":"lodash.bind"},{"path":"node_modules/lodash.identity/index.js","kind":"require-call","original":"lodash.identity"},{"path":"node_modules/lodash._setbinddata/index.js","kind":"require-call","original":"lodash._setbinddata"},{"path":"node_modules/lodash.support/index.js","kind":"require-call","original":"lodash.support"}],"format":"cjs"},"node_modules/lodash.forown/index.js":{"bytes":1987,"imports":[{"path":"node_modules/lodash._basecreatecallback/index.js","kind":"require-call","original":"lodash._basecreatecallback"},{"path":"node_modules/lodash.keys/index.js","kind":"require-call","original":"lodash.keys"},{"path":"node_modules/lodash._objecttypes/index.js","kind":"require-call","original":"lodash._objecttypes"}],"format":"cjs"},"node_modules/lodash.foreach/index.js":{"bytes":2135,"imports":[{"path":"node_modules/lodash._basecreatecallback/index.js","kind":"require-call","original":"lodash._basecreatecallback"},{"path":"node_modules/lodash.forown/index.js","kind":"require-call","original":"lodash.forown"}],"format":"cjs"},"node_modules/convert-units/lib/definitions/length.js":{"bytes":1196,"imports":[],"format":"cjs"},"node_modules/convert-units/lib/definitions/area.js":{"bytes":1367,"imports":[],"format":"cjs"},"node_modules/convert-units/lib/definitions/mass.js":{"bytes":1056,"imports":[],"format":"cjs"},"node_modules/convert-units/lib/definitions/volume.js":{"bytes":2958,"imports":[],"format":"cjs"},"node_modules/convert-units/lib/definitions/each.js":{"bytes":352,"imports":[],"format":"cjs"},"node_modules/convert-units/lib/definitions/temperature.js":{"bytes":845,"imports":[],"format":"cjs"},"node_modules/convert-units/lib/definitions/time.js":{"bytes":1241,"imports":[],"format":"cjs"},"node_modules/convert-units/lib/definitions/digital.js":{"bytes":1249,"imports":[],"format":"cjs"},"node_modules/convert-units/lib/definitions/partsPer.js":{"bytes":696,"imports":[],"format":"cjs"},"node_modules/convert-units/lib/definitions/speed.js":{"bytes":889,"imports":[],"format":"cjs"},"node_modules/convert-units/lib/definitions/pace.js":{"bytes":782,"imports":[],"format":"cjs"},"node_modules/convert-units/lib/definitions/pressure.js":{"bytes":1163,"imports":[],"format":"cjs"},"node_modules/convert-units/lib/definitions/current.js":{"bytes":454,"imports":[],"format":"cjs"},"node_modules/convert-units/lib/definitions/voltage.js":{"bytes":442,"imports":[],"format":"cjs"},"node_modules/convert-units/lib/definitions/power.js":{"bytes":651,"imports":[],"format":"cjs"},"node_modules/convert-units/lib/definitions/reactivePower.js":{"bytes":847,"imports":[],"format":"cjs"},"node_modules/convert-units/lib/definitions/apparentPower.js":{"bytes":751,"imports":[],"format":"cjs"},"node_modules/convert-units/lib/definitions/energy.js":{"bytes":918,"imports":[],"format":"cjs"},"node_modules/convert-units/lib/definitions/reactiveEnergy.js":{"bytes":906,"imports":[],"format":"cjs"},"node_modules/convert-units/lib/definitions/volumeFlowRate.js":{"bytes":5189,"imports":[],"format":"cjs"},"node_modules/convert-units/lib/definitions/illuminance.js":{"bytes":472,"imports":[],"format":"cjs"},"node_modules/convert-units/lib/definitions/frequency.js":{"bytes":1204,"imports":[],"format":"cjs"},"node_modules/convert-units/lib/definitions/angle.js":{"bytes":662,"imports":[],"format":"cjs"},"node_modules/convert-units/lib/index.js":{"bytes":7567,"imports":[{"path":"node_modules/lodash.keys/index.js","kind":"require-call","original":"lodash.keys"},{"path":"node_modules/lodash.foreach/index.js","kind":"require-call","original":"lodash.foreach"},{"path":"node_modules/convert-units/lib/definitions/length.js","kind":"require-call","original":"./definitions/length"},{"path":"node_modules/convert-units/lib/definitions/area.js","kind":"require-call","original":"./definitions/area"},{"path":"node_modules/convert-units/lib/definitions/mass.js","kind":"require-call","original":"./definitions/mass"},{"path":"node_modules/convert-units/lib/definitions/volume.js","kind":"require-call","original":"./definitions/volume"},{"path":"node_modules/convert-units/lib/definitions/each.js","kind":"require-call","original":"./definitions/each"},{"path":"node_modules/convert-units/lib/definitions/temperature.js","kind":"require-call","original":"./definitions/temperature"},{"path":"node_modules/convert-units/lib/definitions/time.js","kind":"require-call","original":"./definitions/time"},{"path":"node_modules/convert-units/lib/definitions/digital.js","kind":"require-call","original":"./definitions/digital"},{"path":"node_modules/convert-units/lib/definitions/partsPer.js","kind":"require-call","original":"./definitions/partsPer"},{"path":"node_modules/convert-units/lib/definitions/speed.js","kind":"require-call","original":"./definitions/speed"},{"path":"node_modules/convert-units/lib/definitions/pace.js","kind":"require-call","original":"./definitions/pace"},{"path":"node_modules/convert-units/lib/definitions/pressure.js","kind":"require-call","original":"./definitions/pressure"},{"path":"node_modules/convert-units/lib/definitions/current.js","kind":"require-call","original":"./definitions/current"},{"path":"node_modules/convert-units/lib/definitions/voltage.js","kind":"require-call","original":"./definitions/voltage"},{"path":"node_modules/convert-units/lib/definitions/power.js","kind":"require-call","original":"./definitions/power"},{"path":"node_modules/convert-units/lib/definitions/reactivePower.js","kind":"require-call","original":"./definitions/reactivePower"},{"path":"node_modules/convert-units/lib/definitions/apparentPower.js","kind":"require-call","original":"./definitions/apparentPower"},{"path":"node_modules/convert-units/lib/definitions/energy.js","kind":"require-call","original":"./definitions/energy"},{"path":"node_modules/convert-units/lib/definitions/reactiveEnergy.js","kind":"require-call","original":"./definitions/reactiveEnergy"},{"path":"node_modules/convert-units/lib/definitions/volumeFlowRate.js","kind":"require-call","original":"./definitions/volumeFlowRate"},{"path":"node_modules/convert-units/lib/definitions/illuminance.js","kind":"require-call","original":"./definitions/illuminance"},{"path":"node_modules/convert-units/lib/definitions/frequency.js","kind":"require-call","original":"./definitions/frequency"},{"path":"node_modules/convert-units/lib/definitions/angle.js","kind":"require-call","original":"./definitions/angle"}],"format":"cjs"},"node_modules/@lume/kiwi/es/maptype.js":{"bytes":4441,"imports":[],"format":"esm"},"node_modules/@lume/kiwi/es/variable.js":{"bytes":3811,"imports":[{"path":"node_modules/@lume/kiwi/es/expression.js","kind":"import-statement","original":"./expression.js"}],"format":"esm"},"node_modules/@lume/kiwi/es/expression.js":{"bytes":5663,"imports":[{"path":"node_modules/@lume/kiwi/es/maptype.js","kind":"import-statement","original":"./maptype.js"},{"path":"node_modules/@lume/kiwi/es/variable.js","kind":"import-statement","original":"./variable.js"}],"format":"esm"},"node_modules/@lume/kiwi/es/strength.js":{"bytes":1663,"imports":[],"format":"esm"},"node_modules/@lume/kiwi/es/constraint.js":{"bytes":2892,"imports":[{"path":"node_modules/@lume/kiwi/es/expression.js","kind":"import-statement","original":"./expression.js"},{"path":"node_modules/@lume/kiwi/es/strength.js","kind":"import-statement","original":"./strength.js"}],"format":"esm"},"node_modules/@lume/kiwi/es/solver.js":{"bytes":33876,"imports":[{"path":"node_modules/@lume/kiwi/es/constraint.js","kind":"import-statement","original":"./constraint.js"},{"path":"node_modules/@lume/kiwi/es/expression.js","kind":"import-statement","original":"./expression.js"},{"path":"node_modules/@lume/kiwi/es/maptype.js","kind":"import-statement","original":"./maptype.js"},{"path":"node_modules/@lume/kiwi/es/strength.js","kind":"import-statement","original":"./strength.js"}],"format":"esm"},"node_modules/@lume/kiwi/es/kiwi.js":{"bytes":524,"imports":[{"path":"node_modules/@lume/kiwi/es/constraint.js","kind":"import-statement","original":"./constraint.js"},{"path":"node_modules/@lume/kiwi/es/expression.js","kind":"import-statement","original":"./expression.js"},{"path":"node_modules/@lume/kiwi/es/solver.js","kind":"import-statement","original":"./solver.js"},{"path":"node_modules/@lume/kiwi/es/strength.js","kind":"import-statement","original":"./strength.js"},{"path":"node_modules/@lume/kiwi/es/variable.js","kind":"import-statement","original":"./variable.js"}],"format":"esm"},"node_modules/@tscircuit/builder/dist/index.js":{"bytes":440649,"imports":[{"path":"node_modules/transformation-matrix/src/index.js","kind":"import-statement","original":"transformation-matrix"},{"path":"node_modules/@tscircuit/sparkfun-packages/dist/index.js","kind":"import-statement","original":"@tscircuit/sparkfun-packages"},{"path":"node_modules/parsel-js/dist/parsel.min.js","kind":"import-statement","original":"parsel-js"},{"path":"node_modules/rectilinear-router/dist/index.js","kind":"import-statement","original":"rectilinear-router"},{"path":"node_modules/@tscircuit/routing/dist/index.js","kind":"import-statement","original":"@tscircuit/routing"},{"path":"node_modules/convert-units/lib/index.js","kind":"import-statement","original":"convert-units"},{"path":"node_modules/@lume/kiwi/es/kiwi.js","kind":"import-statement","original":"@lume/kiwi"}],"format":"esm"},"src/lib/utils/collect-element-refs.ts":{"bytes":782,"imports":[{"path":"@tscircuit/builder","kind":"import-statement","external":true}],"format":"esm"},"src/schematic-components/SchematicGroup.tsx":{"bytes":54,"imports":[],"format":"esm"},"node_modules/zustand/esm/vanilla.js":{"bytes":911,"imports":[],"format":"esm"},"node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.js":{"bytes":1045,"imports":[{"path":"react","kind":"require-call","external":true}],"format":"cjs"},"node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js":{"bytes":8420,"imports":[{"path":"react","kind":"require-call","external":true}],"format":"cjs"},"node_modules/use-sync-external-store/shim/index.js":{"bytes":238,"imports":[{"path":"node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.js","kind":"require-call","original":"../cjs/use-sync-external-store-shim.production.min.js"},{"path":"node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js","kind":"require-call","original":"../cjs/use-sync-external-store-shim.development.js"}],"format":"cjs"},"node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.js":{"bytes":1107,"imports":[{"path":"react","kind":"require-call","external":true},{"path":"node_modules/use-sync-external-store/shim/index.js","kind":"require-call","original":"use-sync-external-store/shim"}],"format":"cjs"},"node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js":{"bytes":5695,"imports":[{"path":"react","kind":"require-call","external":true},{"path":"node_modules/use-sync-external-store/shim/index.js","kind":"require-call","original":"use-sync-external-store/shim"}],"format":"cjs"},"node_modules/use-sync-external-store/shim/with-selector.js":{"bytes":266,"imports":[{"path":"node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.js","kind":"require-call","original":"../cjs/use-sync-external-store-shim/with-selector.production.min.js"},{"path":"node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js","kind":"require-call","original":"../cjs/use-sync-external-store-shim/with-selector.development.js"}],"format":"cjs"},"node_modules/zustand/esm/index.js":{"bytes":1049,"imports":[{"path":"node_modules/zustand/esm/vanilla.js","kind":"import-statement","original":"zustand/vanilla"},{"path":"node_modules/zustand/esm/vanilla.js","kind":"import-statement","original":"zustand/vanilla"},{"path":"node_modules/zustand/esm/vanilla.js","kind":"import-statement","original":"zustand/vanilla"},{"path":"react","kind":"import-statement","external":true},{"path":"node_modules/use-sync-external-store/shim/with-selector.js","kind":"import-statement","original":"use-sync-external-store/shim/with-selector.js"}],"format":"esm"},"src/lib/render-context/index.ts":{"bytes":520,"imports":[{"path":"node_modules/zustand/esm/index.js","kind":"import-statement","original":"zustand"},{"path":"node_modules/transformation-matrix/src/index.js","kind":"import-statement","original":"transformation-matrix"}],"format":"esm"},"node_modules/parse-svg-path/index.js":{"bytes":1204,"imports":[],"format":"cjs"},"node_modules/abs-svg-path/index.js":{"bytes":991,"imports":[],"format":"cjs"},"node_modules/svg-arc-to-cubic-bezier/modules/index.js":{"bytes":5457,"imports":[],"format":"esm"},"node_modules/normalize-svg-path/index.js":{"bytes":2797,"imports":[{"path":"node_modules/svg-arc-to-cubic-bezier/modules/index.js","kind":"require-call","original":"svg-arc-to-cubic-bezier"}],"format":"cjs"},"node_modules/is-svg-path/index.js":{"bytes":310,"imports":[],"format":"cjs"},"node_modules/svg-path-bounds/index.js":{"bytes":1204,"imports":[{"path":"node_modules/parse-svg-path/index.js","kind":"require-call","original":"parse-svg-path"},{"path":"node_modules/abs-svg-path/index.js","kind":"require-call","original":"abs-svg-path"},{"path":"node_modules/normalize-svg-path/index.js","kind":"require-call","original":"normalize-svg-path"},{"path":"node_modules/is-svg-path/index.js","kind":"require-call","original":"is-svg-path"}],"format":"cjs"},"src/lib/utils/get-svg-path-bounds.ts":{"bytes":559,"imports":[{"path":"node_modules/svg-path-bounds/index.js","kind":"import-statement","original":"svg-path-bounds"}],"format":"esm"},"src/schematic-components/SVGPathComponent.tsx":{"bytes":1982,"imports":[{"path":"src/lib/render-context/index.ts","kind":"import-statement","original":"lib/render-context"},{"path":"src/lib/utils/get-svg-path-bounds.ts","kind":"import-statement","original":"lib/utils/get-svg-path-bounds"},{"path":"node_modules/transformation-matrix/src/index.js","kind":"import-statement","original":"transformation-matrix"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/schematic-components/SimpleResistor.tsx":{"bytes":626,"imports":[{"path":"lib/types","kind":"import-statement","external":true},{"path":"src/schematic-components/SVGPathComponent.tsx","kind":"import-statement","original":"./SVGPathComponent"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/schematic-components/SimpleCapacitor.tsx":{"bytes":733,"imports":[{"path":"lib/types","kind":"import-statement","external":true},{"path":"src/schematic-components/SVGPathComponent.tsx","kind":"import-statement","original":"./SVGPathComponent"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/lib/hooks/use-maybe-promise.ts":{"bytes":367,"imports":[{"path":"react","kind":"import-statement","external":true}],"format":"esm"},"src/lib/hooks/index.ts":{"bytes":36,"imports":[{"path":"src/lib/hooks/use-maybe-promise.ts","kind":"import-statement","original":"./use-maybe-promise"}],"format":"esm"},"src/schematic-components/ProjectComponent.tsx":{"bytes":1896,"imports":[{"path":"src/lib/hooks/index.ts","kind":"import-statement","original":"lib/hooks"},{"path":"node_modules/@tscircuit/builder/dist/index.js","kind":"import-statement","original":"@tscircuit/builder"},{"path":"lib/types","kind":"import-statement","external":true},{"path":"src/schematic-components/index.tsx","kind":"import-statement","original":"./"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/lib/utils/direction-to-vec.ts":{"bytes":1642,"imports":[],"format":"esm"},"src/schematic-components/SchematicPort.tsx":{"bytes":943,"imports":[{"path":"lib/types","kind":"import-statement","external":true},{"path":"src/lib/utils/direction-to-vec.ts","kind":"import-statement","original":"lib/utils/direction-to-vec"},{"path":"src/schematic-components/index.tsx","kind":"import-statement","original":"./"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"node_modules/debounce/index.js":{"bytes":1843,"imports":[],"format":"cjs"},"node_modules/react-use-measure/dist/web.js":{"bytes":5369,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"node_modules/debounce/index.js","kind":"import-statement","original":"debounce"}],"format":"esm"},"src/schematic-components/SchematicText.tsx":{"bytes":1170,"imports":[{"path":"lib/types","kind":"import-statement","external":true},{"path":"./SVGPathComponent","kind":"import-statement","external":true},{"path":"svg-path-generator","kind":"import-statement","external":true},{"path":"lib/utils/get-svg-path-bounds","kind":"import-statement","external":true},{"path":"src/lib/render-context/index.ts","kind":"import-statement","original":"lib/render-context"},{"path":"node_modules/transformation-matrix/src/index.js","kind":"import-statement","original":"transformation-matrix"},{"path":"node_modules/react-use-measure/dist/web.js","kind":"import-statement","original":"react-use-measure"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"node_modules/svg-path-generator/lib/svg-path-generator.js":{"bytes":1953,"imports":[],"format":"cjs"},"node_modules/svg-path-generator/index.js":{"bytes":56,"imports":[{"path":"node_modules/svg-path-generator/lib/svg-path-generator.js","kind":"require-call","original":"./lib/svg-path-generator"}],"format":"cjs"},"src/schematic-components/RenderError.tsx":{"bytes":370,"imports":[{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/schematic-components/SchematicTrace.tsx":{"bytes":1274,"imports":[{"path":"lib/types","kind":"import-statement","external":true},{"path":"src/schematic-components/SVGPathComponent.tsx","kind":"import-statement","original":"./SVGPathComponent"},{"path":"node_modules/svg-path-generator/index.js","kind":"import-statement","original":"svg-path-generator"},{"path":"src/lib/utils/get-svg-path-bounds.ts","kind":"import-statement","original":"lib/utils/get-svg-path-bounds"},{"path":"src/schematic-components/RenderError.tsx","kind":"import-statement","original":"./RenderError"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/schematic-components/SchematicBug.tsx":{"bytes":2193,"imports":[{"path":"lib/types","kind":"import-statement","external":true},{"path":"src/schematic-components/SVGPathComponent.tsx","kind":"import-statement","original":"./SVGPathComponent"},{"path":"lodash/range","kind":"import-statement","external":true},{"path":"node_modules/@tscircuit/builder/dist/index.js","kind":"import-statement","original":"@tscircuit/builder"},{"path":"src/lib/utils/get-svg-path-bounds.ts","kind":"import-statement","original":"lib/utils/get-svg-path-bounds"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/schematic-components/SimplePowerSource.tsx":{"bytes":632,"imports":[{"path":"lib/types","kind":"import-statement","external":true},{"path":"src/schematic-components/SVGPathComponent.tsx","kind":"import-statement","original":"./SVGPathComponent"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/schematic-components/SimpleGround.tsx":{"bytes":614,"imports":[{"path":"lib/types","kind":"import-statement","external":true},{"path":"src/schematic-components/SVGPathComponent.tsx","kind":"import-statement","original":"./SVGPathComponent"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/schematic-components/SimpleInductor.tsx":{"bytes":897,"imports":[{"path":"lib/types","kind":"import-statement","external":true},{"path":"src/schematic-components/SVGPathComponent.tsx","kind":"import-statement","original":"./SVGPathComponent"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/schematic-components/SimpleDiode.tsx":{"bytes":1059,"imports":[{"path":"lib/types","kind":"import-statement","external":true},{"path":"src/schematic-components/SVGPathComponent.tsx","kind":"import-statement","original":"./SVGPathComponent"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/schematic-components/index.tsx":{"bytes":530,"imports":[{"path":"src/schematic-components/SchematicGroup.tsx","kind":"import-statement","original":"./SchematicGroup"},{"path":"src/schematic-components/SimpleResistor.tsx","kind":"import-statement","original":"./SimpleResistor"},{"path":"src/schematic-components/SimpleCapacitor.tsx","kind":"import-statement","original":"./SimpleCapacitor"},{"path":"src/schematic-components/SVGPathComponent.tsx","kind":"import-statement","original":"./SVGPathComponent"},{"path":"src/schematic-components/ProjectComponent.tsx","kind":"import-statement","original":"./ProjectComponent"},{"path":"src/schematic-components/SchematicComponent.tsx","kind":"import-statement","original":"./SchematicComponent"},{"path":"src/schematic-components/SchematicPort.tsx","kind":"import-statement","original":"./SchematicPort"},{"path":"src/schematic-components/SchematicText.tsx","kind":"import-statement","original":"./SchematicText"},{"path":"src/schematic-components/ProjectComponent.tsx","kind":"import-statement","original":"./ProjectComponent"},{"path":"src/schematic-components/SchematicTrace.tsx","kind":"import-statement","original":"./SchematicTrace"},{"path":"src/schematic-components/SchematicBug.tsx","kind":"import-statement","original":"./SchematicBug"},{"path":"src/schematic-components/SimplePowerSource.tsx","kind":"import-statement","original":"./SimplePowerSource"},{"path":"src/schematic-components/SimpleGround.tsx","kind":"import-statement","original":"./SimpleGround"},{"path":"src/schematic-components/SimpleInductor.tsx","kind":"import-statement","original":"./SimpleInductor"},{"path":"src/schematic-components/RenderError.tsx","kind":"import-statement","original":"./RenderError"},{"path":"src/schematic-components/SimpleDiode.tsx","kind":"import-statement","original":"./SimpleDiode"}],"format":"esm"},"src/schematic-components/SchematicComponent.tsx":{"bytes":1453,"imports":[{"path":"lib/types","kind":"import-statement","external":true},{"path":"src/schematic-components/index.tsx","kind":"import-statement","original":"./"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/schematic-components/SchematicBox.tsx":{"bytes":649,"imports":[{"path":"lib/types","kind":"import-statement","external":true},{"path":"lib/utils/direction-to-vec","kind":"import-statement","external":true},{"path":"src/schematic-components/index.tsx","kind":"import-statement","original":"./"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/schematic-components/SchematicLine.tsx":{"bytes":1198,"imports":[{"path":"lib/types","kind":"import-statement","external":true},{"path":"lib/utils/direction-to-vec","kind":"import-statement","external":true},{"path":"src/schematic-components/index.tsx","kind":"import-statement","original":"."},{"path":"node_modules/svg-path-generator/index.js","kind":"import-statement","original":"svg-path-generator"},{"path":"src/lib/utils/get-svg-path-bounds.ts","kind":"import-statement","original":"lib/utils/get-svg-path-bounds"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/schematic-components/SchematicPath.tsx":{"bytes":1298,"imports":[{"path":"lib/types","kind":"import-statement","external":true},{"path":"lib/utils/direction-to-vec","kind":"import-statement","external":true},{"path":"src/schematic-components/index.tsx","kind":"import-statement","original":"."},{"path":"node_modules/svg-path-generator/index.js","kind":"import-statement","original":"svg-path-generator"},{"path":"src/lib/utils/get-svg-path-bounds.ts","kind":"import-statement","original":"lib/utils/get-svg-path-bounds"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/schematic-components/SchematicElement.tsx":{"bytes":2089,"imports":[{"path":"@tscircuit/builder","kind":"import-statement","external":true},{"path":"src/lib/utils/collect-element-refs.ts","kind":"import-statement","original":"lib/utils/collect-element-refs"},{"path":"src/schematic-components/SchematicComponent.tsx","kind":"import-statement","original":"./SchematicComponent"},{"path":"src/schematic-components/SchematicPort.tsx","kind":"import-statement","original":"./SchematicPort"},{"path":"src/schematic-components/SchematicText.tsx","kind":"import-statement","original":"./SchematicText"},{"path":"src/schematic-components/SchematicBox.tsx","kind":"import-statement","original":"./SchematicBox"},{"path":"src/schematic-components/SchematicTrace.tsx","kind":"import-statement","original":"./SchematicTrace"},{"path":"src/schematic-components/SchematicLine.tsx","kind":"import-statement","original":"./SchematicLine"},{"path":"src/schematic-components/RenderError.tsx","kind":"import-statement","original":"./RenderError"},{"path":"src/schematic-components/SchematicPath.tsx","kind":"import-statement","original":"./SchematicPath"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/schematic-components/TableViewer.tsx":{"bytes":345,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@tscircuit/table-viewer","kind":"dynamic-import","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/Schematic.tsx":{"bytes":4479,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"schematic-components","kind":"import-statement","external":true},{"path":"react-supergrid","kind":"import-statement","external":true},{"path":"node_modules/@tscircuit/builder/dist/index.js","kind":"import-statement","original":"@tscircuit/builder"},{"path":"node_modules/@tscircuit/builder/dist/index.js","kind":"import-statement","original":"@tscircuit/builder"},{"path":"@tscircuit/react-fiber","kind":"import-statement","external":true},{"path":"src/schematic-components/SchematicElement.tsx","kind":"import-statement","original":"schematic-components/SchematicElement"},{"path":"lib/utils/collect-element-refs","kind":"import-statement","external":true},{"path":"use-mouse-matrix-transform","kind":"import-statement","external":true},{"path":"react-error-boundary","kind":"import-statement","external":true},{"path":"node_modules/transformation-matrix/src/index.js","kind":"import-statement","original":"transformation-matrix"},{"path":"src/lib/render-context/index.ts","kind":"import-statement","original":"lib/render-context"},{"path":"node_modules/react-use-measure/dist/web.js","kind":"import-statement","original":"react-use-measure"},{"path":"src/schematic-components/TableViewer.tsx","kind":"import-statement","original":"./schematic-components/TableViewer"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/index.ts":{"bytes":28,"imports":[{"path":"src/Schematic.tsx","kind":"import-statement","original":"./Schematic"}],"format":"esm"}},"outputs":{"dist/index.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":2065279},"dist/index.js":{"imports":[{"path":"path","kind":"require-call","external":true},{"path":"fs","kind":"require-call","external":true},{"path":"path","kind":"require-call","external":true},{"path":"fs","kind":"require-call","external":true},{"path":"path","kind":"require-call","external":true},{"path":"crypto","kind":"require-call","external":true},{"path":"react","kind":"require-call","external":true},{"path":"react","kind":"require-call","external":true},{"path":"react","kind":"require-call","external":true},{"path":"react","kind":"require-call","external":true},{"path":"react","kind":"require-call","external":true},{"path":"react-supergrid","kind":"require-call","external":true},{"path":"@tscircuit/react-fiber","kind":"require-call","external":true},{"path":"react","kind":"require-call","external":true},{"path":"react/jsx-runtime","kind":"require-call","external":true},{"path":"react/jsx-runtime","kind":"require-call","external":true},{"path":"react/jsx-runtime","kind":"require-call","external":true},{"path":"react","kind":"require-call","external":true},{"path":"react/jsx-runtime","kind":"require-call","external":true},{"path":"react/jsx-runtime","kind":"require-call","external":true},{"path":"react","kind":"require-call","external":true},{"path":"react/jsx-runtime","kind":"require-call","external":true},{"path":"react/jsx-runtime","kind":"require-call","external":true},{"path":"react/jsx-runtime","kind":"require-call","external":true},{"path":"react/jsx-runtime","kind":"require-call","external":true},{"path":"react/jsx-runtime","kind":"require-call","external":true},{"path":"react/jsx-runtime","kind":"require-call","external":true},{"path":"react/jsx-runtime","kind":"require-call","external":true},{"path":"react/jsx-runtime","kind":"require-call","external":true},{"path":"react/jsx-runtime","kind":"require-call","external":true},{"path":"react/jsx-runtime","kind":"require-call","external":true},{"path":"react/jsx-runtime","kind":"require-call","external":true},{"path":"react/jsx-runtime","kind":"require-call","external":true},{"path":"react/jsx-runtime","kind":"require-call","external":true},{"path":"use-mouse-matrix-transform","kind":"require-call","external":true},{"path":"react-error-boundary","kind":"require-call","external":true},{"path":"react","kind":"require-call","external":true},{"path":"react/jsx-runtime","kind":"require-call","external":true},{"path":"@tscircuit/table-viewer","kind":"dynamic-import","external":true},{"path":"react/jsx-runtime","kind":"require-call","external":true}],"exports":[],"entryPoint":"src/index.ts","inputs":{"node_modules/@tscircuit/sparkfun-packages/dist/index.js":{"bytesInOutput":68255},"node_modules/glpk.js/dist/glpk.js":{"bytesInOutput":81318},"node_modules/rsmt-ts/dist/index.js":{"bytesInOutput":52416},"node_modules/rectilinear-router/dist/index.js":{"bytesInOutput":2682},"node_modules/heap/lib/heap.js":{"bytesInOutput":8256},"node_modules/heap/index.js":{"bytesInOutput":130},"node_modules/pathfinding/src/core/Node.js":{"bytesInOutput":273},"node_modules/pathfinding/src/core/DiagonalMovement.js":{"bytesInOutput":298},"node_modules/pathfinding/src/core/Grid.js":{"bytesInOutput":3991},"node_modules/pathfinding/src/core/Util.js":{"bytesInOutput":3878},"node_modules/pathfinding/src/core/Heuristic.js":{"bytesInOutput":1260},"node_modules/pathfinding/src/finders/AStarFinder.js":{"bytesInOutput":2797},"node_modules/pathfinding/src/finders/BestFirstFinder.js":{"bytesInOutput":523},"node_modules/pathfinding/src/finders/BreadthFirstFinder.js":{"bytesInOutput":1769},"node_modules/pathfinding/src/finders/DijkstraFinder.js":{"bytesInOutput":466},"node_modules/pathfinding/src/finders/BiAStarFinder.js":{"bytesInOutput":4078},"node_modules/pathfinding/src/finders/BiBestFirstFinder.js":{"bytesInOutput":545},"node_modules/pathfinding/src/finders/BiBreadthFirstFinder.js":{"bytesInOutput":2718},"node_modules/pathfinding/src/finders/BiDijkstraFinder.js":{"bytesInOutput":488},"node_modules/pathfinding/src/finders/IDAStarFinder.js":{"bytesInOutput":3445},"node_modules/pathfinding/src/finders/JumpPointFinderBase.js":{"bytesInOutput":2552},"node_modules/pathfinding/src/finders/JPFNeverMoveDiagonally.js":{"bytesInOutput":2946},"node_modules/pathfinding/src/finders/JPFAlwaysMoveDiagonally.js":{"bytesInOutput":3744},"node_modules/pathfinding/src/finders/JPFMoveDiagonallyIfNoObstacles.js":{"bytesInOutput":4300},"node_modules/pathfinding/src/finders/JPFMoveDiagonallyIfAtMostOneObstacle.js":{"bytesInOutput":4109},"node_modules/pathfinding/src/finders/JumpPointFinder.js":{"bytesInOutput":1054},"node_modules/pathfinding/src/PathFinding.js":{"bytesInOutput":884},"node_modules/pathfinding/index.js":{"bytesInOutput":150},"node_modules/@tscircuit/routing/dist/index.js":{"bytesInOutput":25007},"node_modules/lodash._objecttypes/index.js":{"bytesInOutput":315},"node_modules/lodash.isobject/index.js":{"bytesInOutput":269},"node_modules/lodash._renative/index.js":{"bytesInOutput":367},"node_modules/lodash._shimkeys/index.js":{"bytesInOutput":624},"node_modules/lodash.keys/index.js":{"bytesInOutput":480},"node_modules/lodash.noop/index.js":{"bytesInOutput":157},"node_modules/lodash._basecreate/index.js":{"bytesInOutput":834},"node_modules/lodash._setbinddata/index.js":{"bytesInOutput":738},"node_modules/lodash._basebind/index.js":{"bytesInOutput":908},"node_modules/lodash._slice/index.js":{"bytesInOutput":492},"node_modules/lodash._basecreatewrapper/index.js":{"bytesInOutput":1711},"node_modules/lodash.isfunction/index.js":{"bytesInOutput":222},"node_modules/lodash._createwrapper/index.js":{"bytesInOutput":1791},"node_modules/lodash.bind/index.js":{"bytesInOutput":432},"node_modules/lodash.identity/index.js":{"bytesInOutput":197},"node_modules/lodash.support/index.js":{"bytesInOutput":397},"node_modules/lodash._basecreatecallback/index.js":{"bytesInOutput":1910},"node_modules/lodash.forown/index.js":{"bytesInOutput":925},"node_modules/lodash.foreach/index.js":{"bytesInOutput":738},"node_modules/convert-units/lib/definitions/length.js":{"bytesInOutput":1637},"node_modules/convert-units/lib/definitions/area.js":{"bytesInOutput":1850},"node_modules/convert-units/lib/definitions/mass.js":{"bytesInOutput":1488},"node_modules/convert-units/lib/definitions/volume.js":{"bytesInOutput":3888},"node_modules/convert-units/lib/definitions/each.js":{"bytesInOutput":560},"node_modules/convert-units/lib/definitions/temperature.js":{"bytesInOutput":1222},"node_modules/convert-units/lib/definitions/time.js":{"bytesInOutput":1709},"node_modules/convert-units/lib/definitions/digital.js":{"bytesInOutput":1751},"node_modules/convert-units/lib/definitions/partsPer.js":{"bytesInOutput":935},"node_modules/convert-units/lib/definitions/speed.js":{"bytesInOutput":1182},"node_modules/convert-units/lib/definitions/pace.js":{"bytesInOutput":1060},"node_modules/convert-units/lib/definitions/pressure.js":{"bytesInOutput":1601},"node_modules/convert-units/lib/definitions/current.js":{"bytesInOutput":711},"node_modules/convert-units/lib/definitions/voltage.js":{"bytesInOutput":699},"node_modules/convert-units/lib/definitions/power.js":{"bytesInOutput":955},"node_modules/convert-units/lib/definitions/reactivePower.js":{"bytesInOutput":1167},"node_modules/convert-units/lib/definitions/apparentPower.js":{"bytesInOutput":1071},"node_modules/convert-units/lib/definitions/energy.js":{"bytesInOutput":1280},"node_modules/convert-units/lib/definitions/reactiveEnergy.js":{"bytesInOutput":1228},"node_modules/convert-units/lib/definitions/volumeFlowRate.js":{"bytesInOutput":6560},"node_modules/convert-units/lib/definitions/illuminance.js":{"bytesInOutput":720},"node_modules/convert-units/lib/definitions/frequency.js":{"bytesInOutput":1652},"node_modules/convert-units/lib/definitions/angle.js":{"bytesInOutput":990},"node_modules/convert-units/lib/index.js":{"bytesInOutput":6636},"node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.js":{"bytesInOutput":1445},"node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js":{"bytesInOutput":5088},"node_modules/use-sync-external-store/shim/index.js":{"bytesInOutput":356},"node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.js":{"bytesInOutput":1750},"node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js":{"bytesInOutput":4053},"node_modules/use-sync-external-store/shim/with-selector.js":{"bytesInOutput":343},"node_modules/parse-svg-path/index.js":{"bytesInOutput":1181},"node_modules/abs-svg-path/index.js":{"bytesInOutput":1366},"node_modules/svg-arc-to-cubic-bezier/modules/index.js":{"bytesInOutput":5863},"node_modules/normalize-svg-path/index.js":{"bytesInOutput":3112},"node_modules/is-svg-path/index.js":{"bytesInOutput":401},"node_modules/svg-path-bounds/index.js":{"bytesInOutput":1434},"node_modules/debounce/index.js":{"bytesInOutput":1419},"node_modules/svg-path-generator/lib/svg-path-generator.js":{"bytesInOutput":2249},"node_modules/svg-path-generator/index.js":{"bytesInOutput":172},"src/index.ts":{"bytesInOutput":123},"src/Schematic.tsx":{"bytesInOutput":4416},"node_modules/@tscircuit/builder/dist/index.js":{"bytesInOutput":440419},"node_modules/transformation-matrix/src/applyToPoint.js":{"bytesInOutput":320},"node_modules/transformation-matrix/src/index.js":{"bytesInOutput":0},"node_modules/transformation-matrix/src/utils.js":{"bytesInOutput":67},"node_modules/transformation-matrix/src/translate.js":{"bytesInOutput":112},"node_modules/transformation-matrix/src/transform.js":{"bytesInOutput":780},"node_modules/transformation-matrix/src/rotate.js":{"bytesInOutput":415},"node_modules/transformation-matrix/src/scale.js":{"bytesInOutput":351},"node_modules/transformation-matrix/src/skew.js":{"bytesInOutput":20},"node_modules/transformation-matrix/src/fromTransformAttribute.autogenerated.js":{"bytesInOutput":4412},"node_modules/parsel-js/dist/parsel.min.js":{"bytesInOutput":5187},"node_modules/@lume/kiwi/es/maptype.js":{"bytesInOutput":2329},"node_modules/@lume/kiwi/es/variable.js":{"bytesInOutput":1594},"node_modules/@lume/kiwi/es/expression.js":{"bytesInOutput":3182},"node_modules/@lume/kiwi/es/strength.js":{"bytesInOutput":741},"node_modules/@lume/kiwi/es/constraint.js":{"bytesInOutput":1235},"node_modules/@lume/kiwi/es/kiwi.js":{"bytesInOutput":0},"node_modules/@lume/kiwi/es/solver.js":{"bytesInOutput":18897},"src/lib/utils/collect-element-refs.ts":{"bytesInOutput":638},"src/schematic-components/index.tsx":{"bytesInOutput":0},"node_modules/zustand/esm/vanilla.js":{"bytesInOutput":871},"node_modules/zustand/esm/index.js":{"bytesInOutput":836},"src/lib/render-context/index.ts":{"bytesInOutput":260},"src/lib/utils/get-svg-path-bounds.ts":{"bytesInOutput":591},"src/schematic-components/SVGPathComponent.tsx":{"bytesInOutput":1580},"src/schematic-components/SimpleResistor.tsx":{"bytesInOutput":495},"src/schematic-components/SimpleCapacitor.tsx":{"bytesInOutput":600},"src/lib/hooks/use-maybe-promise.ts":{"bytesInOutput":38},"src/lib/hooks/index.ts":{"bytesInOutput":0},"src/schematic-components/ProjectComponent.tsx":{"bytesInOutput":56},"src/lib/utils/direction-to-vec.ts":{"bytesInOutput":327},"src/schematic-components/SchematicPort.tsx":{"bytesInOutput":743},"node_modules/react-use-measure/dist/web.js":{"bytesInOutput":4903},"src/schematic-components/SchematicText.tsx":{"bytesInOutput":886},"src/schematic-components/SchematicTrace.tsx":{"bytesInOutput":1225},"src/schematic-components/RenderError.tsx":{"bytesInOutput":444},"src/schematic-components/SchematicBug.tsx":{"bytesInOutput":1582},"src/schematic-components/SimplePowerSource.tsx":{"bytesInOutput":496},"src/schematic-components/SimpleGround.tsx":{"bytesInOutput":489},"src/schematic-components/SimpleInductor.tsx":{"bytesInOutput":768},"src/schematic-components/SimpleDiode.tsx":{"bytesInOutput":57},"src/schematic-components/SchematicComponent.tsx":{"bytesInOutput":1392},"src/schematic-components/SchematicBox.tsx":{"bytesInOutput":548},"src/schematic-components/SchematicLine.tsx":{"bytesInOutput":982},"src/schematic-components/SchematicPath.tsx":{"bytesInOutput":1214},"src/schematic-components/SchematicElement.tsx":{"bytesInOutput":1569},"src/schematic-components/TableViewer.tsx":{"bytesInOutput":525}},"bytes":890134}}}
package/package.json CHANGED
@@ -1,19 +1,18 @@
1
1
  {
2
2
  "name": "@tscircuit/schematic-viewer",
3
- "version": "1.1.9",
3
+ "version": "1.1.11",
4
4
  "main": "dist/index.js",
5
5
  "license": "MIT",
6
6
  "repository": "tscircuit/schematic-viewer",
7
7
  "scripts": {
8
8
  "start": "storybook dev -p 6006",
9
9
  "typecheck": "tsc --noEmit",
10
- "build": "tsup ./src/index.ts --dts --sourcemap",
10
+ "build": "tsup ./src/index.ts --metafile --dts --sourcemap",
11
11
  "yalc": "npm run build && yalc push",
12
12
  "storybook": "storybook dev -p 6006",
13
13
  "build-storybook": "storybook build"
14
14
  },
15
15
  "peerDependencies": {
16
- "@tscircuit/builder": "*",
17
16
  "@tscircuit/react-fiber": "*",
18
17
  "@tscircuit/table-viewer": "*",
19
18
  "react": "*"
@@ -32,17 +31,15 @@
32
31
  "@storybook/nextjs": "^7.4.0",
33
32
  "@storybook/react": "^7.4.0",
34
33
  "@storybook/testing-library": "^0.0.14-next.2",
35
- "@tscircuit/builder": "^1.5.5",
36
- "@tscircuit/react-fiber": "^1.0.7",
34
+ "@tscircuit/builder": "^1.5.17",
35
+ "@tscircuit/react-fiber": "^1.0.12",
37
36
  "@tscircuit/routing": "^1.3.0",
38
37
  "@tscircuit/table-viewer": "^0.0.6",
39
38
  "@types/node": "^18.6.0",
40
39
  "@types/react": "^18.0.15",
41
40
  "ava": "^4.3.1",
42
- "babel-loader": "^8.2.5",
43
41
  "esbuild": "^0.15.10",
44
42
  "esbuild-register": "^3.3.3",
45
- "framer-motion": "^6",
46
43
  "next": "^12.2.3",
47
44
  "parse-svg-path": "^0.1.2",
48
45
  "react": "^18.2.0",
@@ -54,7 +51,7 @@
54
51
  "svg-path-bounds": "^1.0.2",
55
52
  "svg-path-generator": "^1.1.0",
56
53
  "transformation-matrix": "^2.12.0",
57
- "tsup": "^6.2.3",
54
+ "tsup": "^6.7.0",
58
55
  "type-fest": "^2.17.0",
59
56
  "typescript": "^4.8.4",
60
57
  "zustand": "^4.0.0"
package/src/Schematic.tsx CHANGED
@@ -8,6 +8,7 @@ import {
8
8
  findBoundsAndCenter,
9
9
  transformSchematicElement,
10
10
  } from "@tscircuit/builder"
11
+ import * as builder1 from "@tscircuit/builder"
11
12
  import { createRoot } from "@tscircuit/react-fiber"
12
13
  import { SchematicElement } from "schematic-components/SchematicElement"
13
14
  import { collectElementRefs } from "lib/utils/collect-element-refs"
@@ -62,6 +63,7 @@ export const Schematic = ({
62
63
  },
63
64
  // initialTransform: compose(scale(100, 100, 0, 0)),
64
65
  })
66
+ console.log({ builder1 })
65
67
  const setElementsAndCamera = useCallback(
66
68
  (elements: Array<AnyElement>) => {
67
69
  const elmBounds = (ref.current as HTMLDivElement).getBoundingClientRect()
@@ -1,4 +1,4 @@
1
- import { SourceComponent } from "./source-component"
1
+ import { AnySourceComponent, SourceComponent } from "./source-component"
2
2
 
3
3
  export interface SchematicConfig {
4
4
  type: "schematic_config"
@@ -69,6 +69,19 @@ export interface SchematicLine {
69
69
  y2: number
70
70
  }
71
71
 
72
+ export interface SchematicPath {
73
+ type: "schematic_path"
74
+ drawing_type: "path"
75
+ schematic_component_id: string
76
+ points: Array<{
77
+ x: number
78
+ y: number
79
+ }>
80
+ is_filled: boolean
81
+ is_closed: boolean
82
+ fill_color?: "red" | "blue"
83
+ }
84
+
72
85
  export interface SchematicTrace {
73
86
  type: "schematic_trace"
74
87
  schematic_trace_id: string
@@ -177,7 +190,7 @@ export interface Project {
177
190
  export type AnyElement =
178
191
  | Project
179
192
  | SourceConfig
180
- | SourceComponent
193
+ | AnySourceComponent
181
194
  | SourceGroup
182
195
  | SourceTrace
183
196
  | SourcePort
@@ -192,6 +205,8 @@ export type AnyElement =
192
205
  | SchematicConfig
193
206
  | SchematicPort
194
207
  | SchematicText
208
+ | SchematicLine
209
+ | SchematicPath
195
210
 
196
211
  export type ElementType = AnyElement["type"]
197
212
  export type ElementOfType<T extends ElementType> = Extract<
@@ -56,8 +56,12 @@ export type AnySourceComponent =
56
56
  | SimpleGround
57
57
  | SimpleDiode
58
58
  | LightEmittingDiode
59
+ | Omit<SourceComponentBase, "ftype">
59
60
 
60
- export type SourceComponentFType = AnySourceComponent["ftype"]
61
+ export type SourceComponentFType = Extract<
62
+ AnySourceComponent,
63
+ { ftype: string }
64
+ >["ftype"]
61
65
  export type SourceComponent<
62
66
  T extends SourceComponentFType = SourceComponentFType
63
67
  > = Extract<AnySourceComponent, { ftype: T }>
@@ -13,6 +13,7 @@ export const collectElementRefs = (elm: AnyElement, allElms: AnyElement[]) => {
13
13
  "schematic_port",
14
14
  "schematic_box",
15
15
  "schematic_line",
16
+ "schematic_path",
16
17
  ].includes(elm.type)
17
18
  ) {
18
19
  const schematic_children = allElms.filter(
@@ -10,6 +10,7 @@ interface Props {
10
10
  paths: Array<{
11
11
  strokeWidth: number
12
12
  stroke: string
13
+ fill?: string
13
14
  d: string
14
15
  }>
15
16
  }
@@ -51,7 +52,7 @@ export const SVGPathComponent = ({ size, center, rotation, paths }: Props) => {
51
52
  {paths.map((p, i) => (
52
53
  <path
53
54
  key={i}
54
- fill="none"
55
+ fill={p.fill ?? "none"}
55
56
  strokeLinecap="round"
56
57
  strokeWidth={2 * (p.strokeWidth || 1)}
57
58
  stroke={p.stroke || "red"}
@@ -15,6 +15,8 @@ interface Props {
15
15
  */
16
16
  export const SchematicComponent = ({ component }: Props) => {
17
17
  const { source, schematic } = component
18
+ if (!source.ftype) return null
19
+
18
20
  switch (source.ftype) {
19
21
  case "simple_resistor": {
20
22
  return <Component.SimpleResistor component={{ source, schematic }} />
@@ -7,6 +7,7 @@ import SchematicBox from "./SchematicBox"
7
7
  import SchematicTrace from "./SchematicTrace"
8
8
  import SchematicLine from "./SchematicLine"
9
9
  import RenderError from "./RenderError"
10
+ import SchematicPath from "./SchematicPath"
10
11
 
11
12
  /**
12
13
  * Render any @tsbuilder/builder AnyElement that can be put on a schematic.
@@ -52,6 +53,12 @@ export const SchematicElement = ({
52
53
  )
53
54
  }
54
55
 
56
+ if (element.type === "schematic_path") {
57
+ return (
58
+ <SchematicPath path={collectElementRefs(element, allElements) as any} />
59
+ )
60
+ }
61
+
55
62
  if (element.type === "schematic_text") {
56
63
  return <SchematicText schematic_text={element} />
57
64
  }
@@ -0,0 +1,51 @@
1
+ import * as Type from "lib/types"
2
+ import { directionToVec } from "lib/utils/direction-to-vec"
3
+ import * as Component from "."
4
+ import Path from "svg-path-generator"
5
+ import getSVGPathBounds from "lib/utils/get-svg-path-bounds"
6
+
7
+ interface Props {
8
+ path: {
9
+ schematic: Type.SchematicPath
10
+ }
11
+ }
12
+
13
+ export const SchematicPath = (props: Props) => {
14
+ const { points, is_filled, is_closed, fill_color } = props.path.schematic
15
+
16
+ if (points.length === 0) return null
17
+ const path = Path()
18
+ path.moveTo(points[0].x, points[0].y)
19
+ for (const point of points.slice(1)) {
20
+ path.lineTo(point.x, point.y)
21
+ }
22
+ if (is_closed) {
23
+ path.closePath()
24
+ }
25
+ const d = path.toString()
26
+ const pathBounds = getSVGPathBounds(d)
27
+ pathBounds.height = Math.max(pathBounds.height, 1)
28
+ pathBounds.width = Math.max(pathBounds.width, 1)
29
+ const center = {
30
+ x: pathBounds.minX + pathBounds.width / 2,
31
+ y: pathBounds.minY + pathBounds.height / 2,
32
+ }
33
+
34
+ return (
35
+ <Component.SVGPathComponent
36
+ rotation={0}
37
+ center={center}
38
+ size={pathBounds}
39
+ paths={[
40
+ {
41
+ stroke: is_filled ? "none" : fill_color ?? "red",
42
+ strokeWidth: 0.02,
43
+ fill: is_filled ? fill_color ?? "red" : undefined,
44
+ d: d,
45
+ },
46
+ ]}
47
+ />
48
+ )
49
+ }
50
+
51
+ export default SchematicPath
@@ -0,0 +1,17 @@
1
+ import { Schematic } from "Schematic"
2
+
3
+ export const ComponentDrawingExample = () => {
4
+ return (
5
+ <Schematic style={{ height: 600 }}>
6
+ <component>
7
+ <schematicbox x={0} y={0} width="6mm" height="6mm" />
8
+ <schematicline x1={0} y1={0} x2={1} y2={1} />
9
+ </component>
10
+ </Schematic>
11
+ )
12
+ }
13
+
14
+ export default {
15
+ title: "ComponentDrawingExample",
16
+ component: ComponentDrawingExample,
17
+ }
@@ -0,0 +1,40 @@
1
+ import { AnyElement } from "lib/types"
2
+ import { Schematic } from "../Schematic"
3
+
4
+ const soup: AnyElement[] = [
5
+ {
6
+ type: "source_component",
7
+ source_component_id: "source_component_1",
8
+ name: "my source component",
9
+ },
10
+ {
11
+ type: "schematic_component",
12
+ schematic_component_id: "schematic_component_1",
13
+ center: { x: 0, y: 0 },
14
+ rotation: 0,
15
+ size: { width: 1, height: 1 },
16
+ source_component_id: "source_component_1",
17
+ },
18
+ {
19
+ type: "schematic_path",
20
+ drawing_type: "path",
21
+ is_filled: true,
22
+ is_closed: true,
23
+ fill_color: "red",
24
+ points: [
25
+ { x: 0, y: 0 },
26
+ { x: 1, y: 1 },
27
+ { x: 0, y: 1 },
28
+ ],
29
+ schematic_component_id: "schematic_component_1",
30
+ },
31
+ ]
32
+
33
+ export const SchematicPathSoup = () => {
34
+ return <Schematic style={{ height: 500 }} soup={soup} />
35
+ }
36
+
37
+ export default {
38
+ title: "SchematicPathSoup",
39
+ component: SchematicPathSoup,
40
+ }
package/tsconfig.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "compilerOptions": {
3
- "target": "es5",
3
+ "target": "esnext",
4
4
  "lib": [
5
5
  "dom",
6
6
  "dom.iterable",