schematic-symbols 0.0.30 → 0.0.31

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
@@ -25,6 +25,8 @@ declare const _default: {
25
25
  push_button_normally_open_momentary_vert: undefined;
26
26
  schottky_diode_horz: undefined;
27
27
  schottky_diode_vert: undefined;
28
+ tunnel_diode_horz: undefined;
29
+ tunnel_diode_vert: undefined;
28
30
  varactor_diode_horz: undefined;
29
31
  varactor_diode_vert: undefined;
30
32
  varistor_horz: undefined;
@@ -103,7 +105,7 @@ declare function resizeSymbol(symbol: SchSymbol, newSize: {
103
105
  height?: number;
104
106
  }): SchSymbol;
105
107
 
106
- type BaseSymbolName = "avalanche_diode | boxresistor | capacitor | diode | fuse | led | mosfet_depletion_normally_on | photodiode | potentiometer | potentiometer2 | push_button_normally_closed_momentary | push_button_normally_open_momentary | schottky_diode | varactor_diode | varistor | volt_meter | zener_diode";
108
+ type BaseSymbolName = "avalanche_diode | boxresistor | capacitor | diode | fuse | led | mosfet_depletion_normally_on | photodiode | potentiometer | potentiometer2 | push_button_normally_closed_momentary | push_button_normally_open_momentary | schottky_diode | tunnel_diode | varactor_diode | varistor | volt_meter | zener_diode";
107
109
 
108
110
  /**
109
111
  * Utility for easier autocomplete:
package/dist/index.js CHANGED
@@ -2337,6 +2337,198 @@ ref7.anchor = "middle_left";
2337
2337
  val6.anchor = "middle_right";
2338
2338
  var schottky_diode_vert_default = rotated7;
2339
2339
 
2340
+ // assets/generated/tunnel_diode.json
2341
+ var tunnel_diode_default = {
2342
+ paths: {
2343
+ path40: {
2344
+ type: "path",
2345
+ points: [
2346
+ {
2347
+ x: 0.1413337499999996,
2348
+ y: -41674999999941065e-20
2349
+ },
2350
+ {
2351
+ x: -0.12324954999999993,
2352
+ y: 0.13187495000000093
2353
+ }
2354
+ ],
2355
+ color: "primary",
2356
+ fill: false
2357
+ },
2358
+ path41: {
2359
+ type: "path",
2360
+ points: [
2361
+ {
2362
+ x: -0.12324954999999993,
2363
+ y: -0.13270844999999976
2364
+ },
2365
+ {
2366
+ x: 0.1413337499999996,
2367
+ y: -41674999999941065e-20
2368
+ }
2369
+ ],
2370
+ color: "primary",
2371
+ fill: false
2372
+ },
2373
+ path42: {
2374
+ type: "path",
2375
+ points: [
2376
+ {
2377
+ x: -0.12324954999999993,
2378
+ y: 0.1318749499999996
2379
+ },
2380
+ {
2381
+ x: -0.12324954999999993,
2382
+ y: -0.13270844999999976
2383
+ }
2384
+ ],
2385
+ color: "primary",
2386
+ fill: false
2387
+ },
2388
+ path43: {
2389
+ type: "path",
2390
+ points: [
2391
+ {
2392
+ x: 0.1413337499999996,
2393
+ y: -0.13270844999999976
2394
+ },
2395
+ {
2396
+ x: 0.1413337499999996,
2397
+ y: 0.1318749499999996
2398
+ }
2399
+ ],
2400
+ color: "primary",
2401
+ fill: false
2402
+ },
2403
+ path44: {
2404
+ type: "path",
2405
+ points: [
2406
+ {
2407
+ x: -0.12545425,
2408
+ y: -41674999999941065e-20
2409
+ },
2410
+ {
2411
+ x: -0.52012455,
2412
+ y: -41674999999941065e-20
2413
+ }
2414
+ ],
2415
+ color: "primary",
2416
+ fill: false
2417
+ },
2418
+ "path44-0": {
2419
+ type: "path",
2420
+ points: [
2421
+ {
2422
+ x: 0.5201245499999998,
2423
+ y: -33154999999984724e-20
2424
+ },
2425
+ {
2426
+ x: 0.14641644999999937,
2427
+ y: -33154999999984724e-20
2428
+ }
2429
+ ],
2430
+ color: "primary",
2431
+ fill: false
2432
+ },
2433
+ "path43-8": {
2434
+ type: "path",
2435
+ points: [
2436
+ {
2437
+ x: 0.1401360499999995,
2438
+ y: -0.13319134999999993
2439
+ },
2440
+ {
2441
+ x: 0.07403164999999912,
2442
+ y: -0.13270134999999916
2443
+ }
2444
+ ],
2445
+ color: "primary",
2446
+ fill: false
2447
+ },
2448
+ "path43-8-8": {
2449
+ type: "path",
2450
+ points: [
2451
+ {
2452
+ x: 0.14135174999999967,
2453
+ y: 0.13270134999999939
2454
+ },
2455
+ {
2456
+ x: 0.07524734999999927,
2457
+ y: 0.13319134999999993
2458
+ }
2459
+ ],
2460
+ color: "primary",
2461
+ fill: false
2462
+ }
2463
+ },
2464
+ texts: {
2465
+ top1: {
2466
+ type: "text",
2467
+ text: "{REF}",
2468
+ x: -0.0082802500000001,
2469
+ y: -0.23022574999999956
2470
+ },
2471
+ bottom1: {
2472
+ type: "text",
2473
+ text: "{VAL}",
2474
+ x: -0.0033669500000002017,
2475
+ y: 0.31746485000000035
2476
+ }
2477
+ },
2478
+ refblocks: {
2479
+ left1: {
2480
+ x: -0.5224022500000005,
2481
+ y: -0.0013011500000004173
2482
+ },
2483
+ right1: {
2484
+ x: 0.5158919499999994,
2485
+ y: -27654999999948693e-20
2486
+ }
2487
+ },
2488
+ bounds: {
2489
+ minX: -0.52012455,
2490
+ maxX: 0.5201245499999998,
2491
+ minY: -0.13319134999999993,
2492
+ maxY: 0.13319134999999993,
2493
+ width: 1.0402490999999998,
2494
+ height: 1,
2495
+ centerX: -11102230246251565e-32,
2496
+ centerY: 0
2497
+ },
2498
+ circles: {}
2499
+ };
2500
+
2501
+ // symbols/tunnel_diode_horz.ts
2502
+ var { paths: paths13, texts: texts14, bounds: bounds13, refblocks: refblocks13, circles: circles4 } = tunnel_diode_default;
2503
+ var tunnel_diode_horz_default = defineSymbol({
2504
+ primitives: [
2505
+ ...Object.values(paths13),
2506
+ ...Object.values(circles4),
2507
+ { ...texts14.top1, anchor: "middle_bottom" },
2508
+ { ...texts14.bottom1, anchor: "middle_top" }
2509
+ ],
2510
+ ports: [
2511
+ { ...refblocks13.left1, labels: ["1"] },
2512
+ // TODO add more "standard" labels
2513
+ { ...refblocks13.right1, labels: ["2"] }
2514
+ // TODO add more "standard" labels
2515
+ ],
2516
+ size: { width: bounds13.width, height: bounds13.height },
2517
+ center: { x: bounds13.centerX, y: bounds13.centerY }
2518
+ });
2519
+
2520
+ // symbols/tunnel_diode_vert.ts
2521
+ var rotated8 = rotateSymbol(tunnel_diode_horz_default);
2522
+ var ref8 = rotated8.primitives.find(
2523
+ (p) => p.type === "text" && p.text === "{REF}"
2524
+ );
2525
+ var val7 = rotated8.primitives.find(
2526
+ (p) => p.type === "text" && p.text === "{VAL}"
2527
+ );
2528
+ ref8.anchor = "middle_left";
2529
+ val7.anchor = "middle_right";
2530
+ var tunnel_diode_vert_default = rotated8;
2531
+
2340
2532
  // assets/generated/varactor_diode.json
2341
2533
  var varactor_diode_default = {
2342
2534
  paths: {
@@ -2484,35 +2676,35 @@ var varactor_diode_default = {
2484
2676
  };
2485
2677
 
2486
2678
  // symbols/varactor_diode_horz.ts
2487
- var { paths: paths13, texts: texts14, bounds: bounds13, refblocks: refblocks13, circles: circles4 } = varactor_diode_default;
2679
+ var { paths: paths14, texts: texts15, bounds: bounds14, refblocks: refblocks14, circles: circles5 } = varactor_diode_default;
2488
2680
  var varactor_diode_horz_default = defineSymbol({
2489
2681
  primitives: [
2490
- ...Object.values(paths13),
2491
- ...Object.values(circles4),
2492
- { ...texts14.top1, anchor: "middle_bottom" },
2493
- { ...texts14.bottom1, anchor: "middle_top" }
2682
+ ...Object.values(paths14),
2683
+ ...Object.values(circles5),
2684
+ { ...texts15.top1, anchor: "middle_bottom" },
2685
+ { ...texts15.bottom1, anchor: "middle_top" }
2494
2686
  ],
2495
2687
  ports: [
2496
- { ...refblocks13.left1, labels: ["1"] },
2688
+ { ...refblocks14.left1, labels: ["1"] },
2497
2689
  // TODO add more "standard" labels
2498
- { ...refblocks13.right1, labels: ["2"] }
2690
+ { ...refblocks14.right1, labels: ["2"] }
2499
2691
  // TODO add more "standard" labels
2500
2692
  ],
2501
- size: { width: bounds13.width, height: bounds13.height },
2502
- center: { x: bounds13.centerX, y: bounds13.centerY }
2693
+ size: { width: bounds14.width, height: bounds14.height },
2694
+ center: { x: bounds14.centerX, y: bounds14.centerY }
2503
2695
  });
2504
2696
 
2505
2697
  // symbols/varactor_diode_vert.ts
2506
- var rotated8 = rotateSymbol(varactor_diode_horz_default);
2507
- var ref8 = rotated8.primitives.find(
2698
+ var rotated9 = rotateSymbol(varactor_diode_horz_default);
2699
+ var ref9 = rotated9.primitives.find(
2508
2700
  (p) => p.type === "text" && p.text === "{REF}"
2509
2701
  );
2510
- var val7 = rotated8.primitives.find(
2702
+ var val8 = rotated9.primitives.find(
2511
2703
  (p) => p.type === "text" && p.text === "{VAL}"
2512
2704
  );
2513
- ref8.anchor = "middle_left";
2514
- val7.anchor = "middle_right";
2515
- var varactor_diode_vert_default = rotated8;
2705
+ ref9.anchor = "middle_left";
2706
+ val8.anchor = "middle_right";
2707
+ var varactor_diode_vert_default = rotated9;
2516
2708
 
2517
2709
  // assets/generated/varistor.json
2518
2710
  var varistor_default = {
@@ -2646,26 +2838,26 @@ var varistor_default = {
2646
2838
  };
2647
2839
 
2648
2840
  // symbols/varistor_horz.ts
2649
- var { paths: paths14, texts: texts15, bounds: bounds14, refblocks: refblocks14 } = varistor_default;
2841
+ var { paths: paths15, texts: texts16, bounds: bounds15, refblocks: refblocks15 } = varistor_default;
2650
2842
  var varistor_horz_default = defineSymbol({
2651
2843
  primitives: [
2652
- ...Object.values(paths14),
2653
- { ...texts15.top1, anchor: "middle_left" },
2654
- { ...texts15.bottom1, anchor: "middle_right" }
2844
+ ...Object.values(paths15),
2845
+ { ...texts16.top1, anchor: "middle_left" },
2846
+ { ...texts16.bottom1, anchor: "middle_right" }
2655
2847
  ],
2656
2848
  ports: [
2657
2849
  {
2658
- ...refblocks14.left1,
2850
+ ...refblocks15.left1,
2659
2851
  labels: ["1", "-"]
2660
2852
  },
2661
2853
  {
2662
- ...refblocks14.right1,
2854
+ ...refblocks15.right1,
2663
2855
  labels: ["2", "+"]
2664
2856
  }
2665
2857
  ],
2666
- size: { width: bounds14.width, height: bounds14.height },
2858
+ size: { width: bounds15.width, height: bounds15.height },
2667
2859
  //{ width: 1, height: 0.24 },
2668
- center: { x: bounds14.centerX, y: bounds14.centerY }
2860
+ center: { x: bounds15.centerX, y: bounds15.centerY }
2669
2861
  });
2670
2862
 
2671
2863
  // symbols/varistor_vert.ts
@@ -2771,11 +2963,11 @@ var volt_meter_default = {
2771
2963
  };
2772
2964
 
2773
2965
  // symbols/volt_meter_horz.ts
2774
- var { paths: paths15, texts: texts16, bounds: bounds15, circles: circles5, refblocks: refblocks15 } = volt_meter_default;
2966
+ var { paths: paths16, texts: texts17, bounds: bounds16, circles: circles6, refblocks: refblocks16 } = volt_meter_default;
2775
2967
  var volt_meter_horz_default = defineSymbol({
2776
2968
  primitives: [
2777
- ...Object.values(paths15),
2778
- ...Object.values(circles5),
2969
+ ...Object.values(paths16),
2970
+ ...Object.values(circles6),
2779
2971
  {
2780
2972
  type: "text",
2781
2973
  text: "{REF}",
@@ -2792,13 +2984,13 @@ var volt_meter_horz_default = defineSymbol({
2792
2984
  }
2793
2985
  ],
2794
2986
  ports: [
2795
- { ...refblocks15.left1, labels: ["1"] },
2987
+ { ...refblocks16.left1, labels: ["1"] },
2796
2988
  // TODO add more "standard" labels
2797
- { ...refblocks15.right1, labels: ["2"] }
2989
+ { ...refblocks16.right1, labels: ["2"] }
2798
2990
  // TODO add more "standard" labels
2799
2991
  ],
2800
- size: { width: bounds15.width, height: bounds15.height },
2801
- center: { x: bounds15.centerX, y: bounds15.centerY }
2992
+ size: { width: bounds16.width, height: bounds16.height },
2993
+ center: { x: bounds16.centerX, y: bounds16.centerY }
2802
2994
  });
2803
2995
 
2804
2996
  // symbols/volt_meter_vert.ts
@@ -2951,35 +3143,35 @@ var zener_diode_default = {
2951
3143
  };
2952
3144
 
2953
3145
  // symbols/zener_diode_horz.ts
2954
- var { paths: paths16, texts: texts17, bounds: bounds16, refblocks: refblocks16, circles: circles6 } = zener_diode_default;
3146
+ var { paths: paths17, texts: texts18, bounds: bounds17, refblocks: refblocks17, circles: circles7 } = zener_diode_default;
2955
3147
  var zener_diode_horz_default = defineSymbol({
2956
3148
  primitives: [
2957
- ...Object.values(paths16),
2958
- ...Object.values(circles6),
2959
- { ...texts17.top1, anchor: "middle_bottom" },
2960
- { ...texts17.bottom1, anchor: "middle_top" }
3149
+ ...Object.values(paths17),
3150
+ ...Object.values(circles7),
3151
+ { ...texts18.top1, anchor: "middle_bottom" },
3152
+ { ...texts18.bottom1, anchor: "middle_top" }
2961
3153
  ],
2962
3154
  ports: [
2963
- { ...refblocks16.left1, labels: ["1"] },
3155
+ { ...refblocks17.left1, labels: ["1"] },
2964
3156
  // TODO add more "standard" labels
2965
- { ...refblocks16.right1, labels: ["2"] }
3157
+ { ...refblocks17.right1, labels: ["2"] }
2966
3158
  // TODO add more "standard" labels
2967
3159
  ],
2968
- size: { width: bounds16.width, height: bounds16.height },
2969
- center: { x: bounds16.centerX, y: bounds16.centerY }
3160
+ size: { width: bounds17.width, height: bounds17.height },
3161
+ center: { x: bounds17.centerX, y: bounds17.centerY }
2970
3162
  });
2971
3163
 
2972
3164
  // symbols/zener_diode_vert.ts
2973
- var rotated9 = rotateSymbol(zener_diode_horz_default);
2974
- var ref9 = rotated9.primitives.find(
3165
+ var rotated10 = rotateSymbol(zener_diode_horz_default);
3166
+ var ref10 = rotated10.primitives.find(
2975
3167
  (p) => p.type === "text" && p.text === "{REF}"
2976
3168
  );
2977
- var val8 = rotated9.primitives.find(
3169
+ var val9 = rotated10.primitives.find(
2978
3170
  (p) => p.type === "text" && p.text === "{VAL}"
2979
3171
  );
2980
- ref9.anchor = "middle_left";
2981
- val8.anchor = "middle_right";
2982
- var zener_diode_vert_default = rotated9;
3172
+ ref10.anchor = "middle_left";
3173
+ val9.anchor = "middle_right";
3174
+ var zener_diode_vert_default = rotated10;
2983
3175
 
2984
3176
  // generated/symbols-index.ts
2985
3177
  var symbols_index_default = {
@@ -3009,6 +3201,8 @@ var symbols_index_default = {
3009
3201
  "push_button_normally_open_momentary_vert": push_button_normally_open_momentary_vert_default,
3010
3202
  "schottky_diode_horz": schottky_diode_horz_default,
3011
3203
  "schottky_diode_vert": schottky_diode_vert_default,
3204
+ "tunnel_diode_horz": tunnel_diode_horz_default,
3205
+ "tunnel_diode_vert": tunnel_diode_vert_default,
3012
3206
  "varactor_diode_horz": varactor_diode_horz_default,
3013
3207
  "varactor_diode_vert": varactor_diode_vert_default,
3014
3208
  "varistor_horz": varistor_horz_default,
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../drawing/defineSymbol.ts","../assets/generated/avalanche_diode.json","../symbols/avalanche_diode_horz.ts","../drawing/rotateSymbol.ts","../symbols/avalanche_diode_vert.ts","../drawing/path.ts","../drawing/text.ts","../symbols/boxresistor_horz.ts","../symbols/boxresistor_vert.ts","../assets/generated/capacitor.json","../symbols/capacitor_horz.ts","../symbols/capacitor_vert.ts","../assets/generated/diode.json","../symbols/diode_horz.ts","../symbols/diode_vert.ts","../assets/generated/fuse.json","../symbols/fuse_horz.ts","../symbols/fuse_vert.ts","../assets/generated/led.json","../symbols/led_horz.ts","../symbols/led_vert.ts","../assets/generated/mosfet_depletion_normally_on.json","../symbols/mosfet_depletion_normally_on_horz.ts","../symbols/mosfet_depletion_normally_on_vert.ts","../assets/generated/photodiode.json","../symbols/photodiode_horz.ts","../symbols/photodiode_vert.ts","../assets/generated/potentiometer.json","../symbols/potentiometer_horz.ts","../symbols/potentiometer_vert.ts","../assets/generated/potentiometer2.json","../symbols/potentiometer2_horz.ts","../symbols/potentiometer2_vert.ts","../assets/generated/push_button_normally_closed_momentary.json","../symbols/push_button_normally_closed_momentary_horz.ts","../symbols/push_button_normally_closed_momentary_vert.ts","../assets/generated/push_button_normally_open_momentary.json","../symbols/push_button_normally_open_momentary_horz.ts","../symbols/push_button_normally_open_momentary_vert.ts","../assets/generated/schottky_diode.json","../symbols/schottky_diode_horz.ts","../symbols/schottky_diode_vert.ts","../assets/generated/varactor_diode.json","../symbols/varactor_diode_horz.ts","../symbols/varactor_diode_vert.ts","../assets/generated/varistor.json","../symbols/varistor_horz.ts","../symbols/varistor_vert.ts","../assets/generated/volt_meter.json","../symbols/volt_meter_horz.ts","../symbols/volt_meter_vert.ts","../assets/generated/zener_diode.json","../symbols/zener_diode_horz.ts","../symbols/zener_diode_vert.ts","../generated/symbols-index.ts","../drawing/mapColor.ts","../drawing/pathToSvgD.ts","../drawing/getSvg.ts","../drawing/resizeSymbol.ts","../index.ts"],"sourcesContent":["import type { SchSymbol } from \"./types\"\n\nexport function defineSymbol(symbol: SchSymbol): SchSymbol {\n return symbol\n}\n","{\n \"paths\": {\n \"path40\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.1413337499999996,\n \"y\": -0.00033784999999975085\n },\n {\n \"x\": -0.12324954999999993,\n \"y\": 0.1319538500000006\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path41\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": -0.12324954999999993,\n \"y\": -0.1326295500000001\n },\n {\n \"x\": 0.1413337499999996,\n \"y\": -0.00033784999999975085\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path42\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": -0.12324954999999993,\n \"y\": 0.13195384999999926\n },\n {\n \"x\": -0.12324954999999993,\n \"y\": -0.1326295500000001\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path43\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.1413337499999996,\n \"y\": -0.1326295500000001\n },\n {\n \"x\": 0.1413337499999996,\n \"y\": 0.13195384999999926\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path44\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": -0.12545425,\n \"y\": -0.00033784999999975085\n },\n {\n \"x\": -0.52012455,\n \"y\": -0.00033784999999975085\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path44-0\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.5201245499999998,\n \"y\": -0.00025265000000018745\n },\n {\n \"x\": 0.14641644999999937,\n \"y\": -0.00025265000000018745\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path43-8\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.1401360499999995,\n \"y\": -0.13311245000000027\n },\n {\n \"x\": 0.07443344999999923,\n \"y\": -0.15673055000000047\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path43-8-3\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.20757744999999939,\n \"y\": 0.15673055000000025\n },\n {\n \"x\": 0.1418748499999991,\n \"y\": 0.13311245000000005\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n }\n },\n \"texts\": {\n \"top1\": {\n \"type\": \"text\",\n \"text\": \"{REF}\",\n \"x\": -0.0082802500000001,\n \"y\": -0.2301468499999999\n },\n \"bottom1\": {\n \"type\": \"text\",\n \"text\": \"{VAL}\",\n \"x\": -0.0033669500000002017,\n \"y\": 0.31754375\n }\n },\n \"refblocks\": {\n \"left1\": {\n \"x\": -0.5224022500000005,\n \"y\": -0.0012222500000007575\n },\n \"right1\": {\n \"x\": 0.5158919499999994,\n \"y\": -0.00019764999999982713\n }\n },\n \"bounds\": {\n \"minX\": -0.52012455,\n \"maxX\": 0.5201245499999998,\n \"minY\": -0.15673055000000047,\n \"maxY\": 0.15673055000000025,\n \"width\": 1.0402490999999998,\n \"height\": 1,\n \"centerX\": -1.1102230246251565e-16,\n \"centerY\": -1.1102230246251565e-16\n },\n \"circles\": {}\n}","import { defineSymbol } from \"drawing/defineSymbol\"\nimport svgJson from \"assets/generated/avalanche_diode.json\"\n\nconst { paths, texts, bounds, refblocks, circles } = svgJson\n\nexport default defineSymbol({\n primitives: [\n ...Object.values(paths),\n ...Object.values(circles),\n { ...texts.top1, anchor: \"middle_bottom\" },\n { ...texts.bottom1, anchor: \"middle_top\" },\n ] as any,\n ports: [\n { ...refblocks.left1, labels: [\"1\"] }, // TODO add more \"standard\" labels\n { ...refblocks.right1, labels: [\"2\"] }, // TODO add more \"standard\" labels\n ],\n size: { width: bounds.width, height: bounds.height },\n center: { x: bounds.centerX, y: bounds.centerY },\n})\n","import { rotate, applyToPoint } from \"transformation-matrix\"\nimport type {\n SchSymbol,\n Primitive,\n Point,\n Port,\n NinePointAnchor,\n} from \"./types\"\n\nconst rotateAnchor = (anchor: NinePointAnchor): NinePointAnchor => {\n switch (anchor) {\n case \"middle_top\":\n return \"middle_right\"\n case \"middle_bottom\":\n return \"middle_left\"\n }\n return anchor\n}\n\nexport const rotateSymbol = (\n symbol: SchSymbol,\n overrides?: Partial<SchSymbol>,\n): SchSymbol => {\n const transform = rotate(Math.PI / 2, symbol.center.x, symbol.center.y)\n\n const { primitives, center, size, ports } = symbol\n\n const rotatedPrimitives = primitives.map((primitive): Primitive => {\n primitive = { ...primitive }\n switch (primitive.type) {\n case \"path\":\n return {\n ...primitive,\n points: primitive.points.map(\n (point) => applyToPoint(transform, point) as Point,\n ),\n }\n case \"text\":\n const rotatedPoint = applyToPoint(transform, {\n x: primitive.x,\n y: primitive.y,\n }) as Point\n\n primitive.anchor = rotateAnchor(primitive.anchor)\n\n return {\n ...primitive,\n x: rotatedPoint.x,\n y: rotatedPoint.y,\n }\n case \"circle\":\n const rotatedCenter = applyToPoint(transform, {\n x: primitive.x,\n y: primitive.y,\n }) as Point\n return {\n ...primitive,\n x: rotatedCenter.x,\n y: rotatedCenter.y,\n }\n case \"box\":\n const rotatedCorner = applyToPoint(transform, {\n x: primitive.x,\n y: primitive.y,\n }) as Point\n return {\n ...primitive,\n x: rotatedCorner.x,\n y: rotatedCorner.y,\n width: primitive.height,\n height: primitive.width,\n }\n }\n })\n\n const rotatedPorts = ports.map(\n (port): Port => ({\n ...port,\n ...(applyToPoint(transform, port) as Point),\n }),\n )\n\n return {\n primitives: rotatedPrimitives,\n center,\n ports: rotatedPorts,\n // TODO recompute size using overrides\n size: {\n width: size.height,\n height: size.width,\n },\n ...overrides,\n }\n}\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport avalanche_diode_horz from \"./avalanche_diode_horz\"\n\nimport type { TextPrimitive } from \"drawing\"\n\nconst rotated = rotateSymbol(avalanche_diode_horz)\nconst ref = rotated.primitives.find(\n (p) => p.type === \"text\" && p.text === \"{REF}\",\n)! as TextPrimitive\nconst val = rotated.primitives.find(\n (p) => p.type === \"text\" && p.text === \"{VAL}\",\n)! as TextPrimitive\n\nref.anchor = \"middle_left\"\nval.anchor = \"middle_right\"\n\nexport default rotated\n","import type { PathPrimitive } from \"drawing\"\n\nexport function path(options: Omit<PathPrimitive, \"type\">): PathPrimitive {\n return { type: \"path\", ...options }\n}\n","import type { TextPrimitive } from \"drawing\"\n\nexport function text(\n text: string,\n options: Omit<TextPrimitive, \"type\" | \"text\">,\n): TextPrimitive {\n return { type: \"text\", text, ...options }\n}\n","import { path } from \"drawing/path\"\nimport { text } from \"drawing/text\"\nimport { defineSymbol } from \"drawing/defineSymbol\"\n\nexport default defineSymbol({\n primitives: [\n path({\n points: [\n { x: 0, y: 0 },\n { x: 0.2, y: 0 },\n { x: 0.2, y: -0.12 },\n { x: 0.8, y: -0.12 },\n { x: 0.8, y: 0.12 },\n { x: 0.2, y: 0.12 },\n { x: 0.2, y: 0 },\n ],\n color: \"primary\",\n }),\n path({\n points: [\n { x: 0.8, y: 0 },\n { x: 1, y: 0 },\n ],\n color: \"primary\",\n }),\n text(\"{REF}\", { x: 0.5, y: -0.2, anchor: \"middle_bottom\" }),\n text(\"{VAL}\", { x: 0.5, y: 0.2, anchor: \"middle_top\" }),\n ],\n ports: [\n { x: 0, y: 0, labels: [\"1\", \"-\", \"left\"] },\n { x: 1, y: 0, labels: [\"2\", \"+\", \"right\"] },\n ],\n center: { x: 0.5, y: 0 },\n size: { width: 1, height: 0.55 },\n})\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport boxresistor_horz from \"./boxresistor_horz\"\n\nexport default rotateSymbol(boxresistor_horz)\n","{\n \"paths\": {\n \"path27\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.5291666500000001,\n \"y\": 0\n },\n {\n \"x\": 0.07937504999999989,\n \"y\": 0\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path28\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": -0.07937494999999961,\n \"y\": 0\n },\n {\n \"x\": -0.5291666500000001,\n \"y\": 0\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path29\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.07937504999999989,\n \"y\": -0.26458330000000174\n },\n {\n \"x\": 0.07937504999999989,\n \"y\": 0.2645832999999982\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path30\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": -0.07937495000000006,\n \"y\": -0.26458330000000174\n },\n {\n \"x\": -0.07937494999999961,\n \"y\": 0.2645832999999982\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n }\n },\n \"texts\": {\n \"top1\": {\n \"type\": \"text\",\n \"text\": \"{REF}\",\n \"x\": 0,\n \"y\": -0.36\n },\n \"bottom1\": {\n \"type\": \"text\",\n \"text\": \"{VAL}\",\n \"x\": 0,\n \"y\": 0.36\n }\n },\n \"refblocks\": {\n \"left1\": {\n \"x\": -0.5449804500000004,\n \"y\": 0.0009026999999974805\n },\n \"right1\": {\n \"x\": 0.5574381499999999,\n \"y\": 0.00035619999999880747\n }\n },\n \"bounds\": {\n \"minX\": -0.5291666500000001,\n \"maxX\": 0.5291666500000001,\n \"minY\": -0.26458330000000174,\n \"maxY\": 0.2645832999999982,\n \"width\": 1.0583333000000001,\n \"height\": 0.5291665999999999,\n \"centerX\": 0,\n \"centerY\": -1.7763568394002505e-15\n }\n}","import svgJson from \"assets/generated/capacitor.json\"\nimport { defineSymbol } from \"drawing/defineSymbol\"\n\nconst { paths, bounds, refblocks, texts } = svgJson\n\nexport default defineSymbol({\n primitives: [\n ...Object.values(paths),\n { ...texts.top1, anchor: \"middle_bottom\" },\n { ...texts.bottom1, anchor: \"middle_top\" },\n ] as any,\n ports: [\n { ...refblocks.left1, labels: [\"1\"] },\n { ...refblocks.right1, labels: [\"2\"] },\n ],\n size: { width: bounds.width, height: bounds.height }, //{ width: 1, height: 0.24 },\n center: { x: bounds.centerX, y: bounds.centerY },\n})\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport capacitor_horz from \"./capacitor_horz\"\n\nexport default rotateSymbol(capacitor_horz)\n","{\n \"paths\": {\n \"path40\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.1413337499999998,\n \"y\": 0\n },\n {\n \"x\": -0.12324954999999971,\n \"y\": 0.13229169999999968\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path41\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": -0.12324954999999971,\n \"y\": -0.13229170000000323\n },\n {\n \"x\": 0.1413337499999998,\n \"y\": 0\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path42\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": -0.12324954999999971,\n \"y\": 0.13229169999999613\n },\n {\n \"x\": -0.12324954999999971,\n \"y\": -0.13229170000000323\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path43\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.1413337499999998,\n \"y\": -0.13229170000000323\n },\n {\n \"x\": 0.1413337499999998,\n \"y\": 0.13229169999999613\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path44\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": -0.12545424999999977,\n \"y\": 0\n },\n {\n \"x\": -0.5201245499999998,\n \"y\": 0\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path44-0\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.5201245499999998,\n \"y\": 0.00008519999999734296\n },\n {\n \"x\": 0.1464164499999998,\n \"y\": 0.00008519999999734296\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n }\n },\n \"texts\": {\n \"top1\": {\n \"type\": \"text\",\n \"text\": \"{REF}\",\n \"x\": -0.008280249999999878,\n \"y\": -0.22980899999999949\n },\n \"bottom1\": {\n \"type\": \"text\",\n \"text\": \"{VAL}\",\n \"x\": -0.0033669500000002017,\n \"y\": 0.22788159999999976\n }\n },\n \"refblocks\": {\n \"left1\": {\n \"x\": -0.5224022500000003,\n \"y\": -0.0008844000000003405\n },\n \"right1\": {\n \"x\": 0.5158919499999999,\n \"y\": 0.00014019999999703714\n }\n },\n \"bounds\": {\n \"minX\": -0.5201245499999998,\n \"maxX\": 0.5201245499999998,\n \"minY\": -0.13229170000000323,\n \"maxY\": 0.13229169999999968,\n \"width\": 1.0402490999999996,\n \"height\": 0.2645834000000029,\n \"centerX\": 0,\n \"centerY\": -1.7763568394002505e-15\n }\n}","import svgJson from \"assets/generated/diode.json\"\nimport { defineSymbol } from \"drawing/defineSymbol\"\n\nconst { paths, texts, bounds, refblocks } = svgJson\n\nexport default defineSymbol({\n primitives: [\n ...Object.values(paths),\n { ...texts.top1, anchor: \"middle_bottom\" },\n { ...texts.bottom1, anchor: \"middle_top\" },\n ] as any,\n ports: [\n { ...refblocks.left1, labels: [\"1\"] }, // TODO add more \"standard\" labels\n { ...refblocks.right1, labels: [\"2\"] }, // TODO add more \"standard\" labels\n ],\n size: { width: bounds.width, height: bounds.height },\n center: { x: bounds.centerX, y: bounds.centerY },\n})\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport diode_horz from \"./diode_horz\"\n\nexport default rotateSymbol(diode_horz)\n","{\n \"paths\": {\n \"path10\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": -0.529167000000001,\n \"y\": 0\n },\n {\n \"x\": 0.5291669999999993,\n \"y\": 0\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path14\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.000001999999998503199,\n \"y\": -0.13229169999999968\n },\n {\n \"x\": 0.2645849999999985,\n \"y\": -0.13229169999999968\n },\n {\n \"x\": 0.2645849999999985,\n \"y\": 0.13229169999999968\n },\n {\n \"x\": -0.26458200000000076,\n \"y\": 0.13229169999999968\n },\n {\n \"x\": -0.26458200000000076,\n \"y\": -0.13229169999999968\n },\n {\n \"x\": 0.000001999999998503199,\n \"y\": -0.13229169999999968\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n }\n },\n \"texts\": {\n \"top1\": {\n \"type\": \"text\",\n \"text\": \"{REF}\",\n \"x\": -0.00912720000000089,\n \"y\": -0.1995035999999999\n },\n \"bottom1\": {\n \"type\": \"text\",\n \"text\": \"{VAL}\",\n \"x\": -0.17251720000000148,\n \"y\": 0.27233090000000004\n }\n },\n \"refblocks\": {\n \"left1\": {\n \"x\": -0.5354181000000011,\n \"y\": -0.0030468999999992974\n },\n \"right1\": {\n \"x\": 0.5336915999999992,\n \"y\": 0.0011575000000014768\n }\n },\n \"bounds\": {\n \"minX\": -0.529167000000001,\n \"maxX\": 0.5291669999999993,\n \"minY\": -0.13229169999999968,\n \"maxY\": 0.13229169999999968,\n \"width\": 1.0583340000000003,\n \"height\": 0.26458339999999936,\n \"centerX\": -8.881784197001252e-16,\n \"centerY\": 0\n }\n}","import svgJson from \"assets/generated/fuse.json\"\nimport { defineSymbol } from \"drawing/defineSymbol\"\n\nconst { paths, texts, bounds, refblocks } = svgJson\n\nexport default defineSymbol({\n primitives: [\n ...Object.values(paths),\n { ...texts.top1, anchor: \"middle_bottom\" },\n {\n type: \"text\",\n text: \"{VAL}\",\n x: 0,\n y: 0.2,\n anchor: \"middle_top\",\n },\n ] as any,\n ports: [\n { ...refblocks.left1, labels: [\"1\"] }, // TODO add more \"standard\" labels\n { ...refblocks.right1, labels: [\"2\"] }, // TODO add more \"standard\" labels\n ],\n size: { width: bounds.width, height: bounds.height },\n center: { x: bounds.centerX, y: bounds.centerY },\n})\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport fuse_horz from \"./fuse_horz\"\n\nexport default rotateSymbol(fuse_horz)\n","{\n \"paths\": {\n \"path45\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.13537969999999966,\n \"y\": 0.09743664999999524\n },\n {\n \"x\": -0.1292036000000003,\n \"y\": 0.22972834999999847\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path1-8\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.12715889999999996,\n \"y\": 0.09766044999999579\n },\n {\n \"x\": 0.5260786,\n \"y\": 0.09766044999999579\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path46\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": -0.1292036000000003,\n \"y\": -0.03485505000000444\n },\n {\n \"x\": 0.13537969999999966,\n \"y\": 0.09743664999999524\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path47\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": -0.1292036000000003,\n \"y\": 0.22972834999999847\n },\n {\n \"x\": -0.1292036000000003,\n \"y\": -0.03485505000000444\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path48\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.13537969999999966,\n \"y\": -0.03485505000000444\n },\n {\n \"x\": 0.13537969999999966,\n \"y\": 0.22972834999999847\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path49\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": -0.13124740000000035,\n \"y\": 0.09743664999999524\n },\n {\n \"x\": -0.5260786000000004,\n \"y\": 0.09743664999999524\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path25\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": -0.15622170000000057,\n \"y\": -0.19171255000000187\n },\n {\n \"x\": -0.25356400000000034,\n \"y\": -0.20859175000000363\n },\n {\n \"x\": -0.2192612000000005,\n \"y\": -0.11582895000000448\n }\n ],\n \"color\": \"primary\",\n \"fill\": true\n },\n \"path78\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": -0.08048230000000034,\n \"y\": -0.07216775000000197\n },\n {\n \"x\": -0.09250580000000008,\n \"y\": -0.0811007500000045\n },\n {\n \"x\": -0.21426230000000057,\n \"y\": -0.17155655000000536\n },\n {\n \"x\": -0.21489230000000026,\n \"y\": -0.17250655000000492\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path25-0\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.021244599999999725,\n \"y\": -0.21284915000000026\n },\n {\n \"x\": -0.07609770000000049,\n \"y\": -0.22972835000000202\n },\n {\n \"x\": -0.04179490000000019,\n \"y\": -0.13696555000000288\n }\n ],\n \"color\": \"primary\",\n \"fill\": true\n },\n \"path78-6\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.09698399999999996,\n \"y\": -0.09330435000000037\n },\n {\n \"x\": 0.08496049999999977,\n \"y\": -0.10223735000000289\n },\n {\n \"x\": -0.03679600000000027,\n \"y\": -0.19269315000000375\n },\n {\n \"x\": -0.0374260000000004,\n \"y\": -0.19364315000000332\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n }\n },\n \"texts\": {\n \"bottom1\": {\n \"type\": \"text\",\n \"text\": \"{VAL}\",\n \"x\": -0.130039500000000423,\n \"y\": 0.3072088499999944\n },\n \"right1\": {\n \"type\": \"text\",\n \"text\": \"{REF}\",\n \"x\": 0.15,\n \"y\": -0.1\n }\n },\n \"refblocks\": {\n \"left1\": {\n \"x\": -0.5366871000000006,\n \"y\": 0.09817314999999738\n },\n \"right1\": {\n \"x\": 0.5357314999999994,\n \"y\": 0.09862664999999993\n }\n },\n \"bounds\": {\n \"minX\": -0.5260786000000004,\n \"maxX\": 0.5260786,\n \"minY\": -0.22972835000000202,\n \"maxY\": 0.22972834999999847,\n \"width\": 1.0521572000000003,\n \"height\": 0.4594567000000005,\n \"centerX\": -2.220446049250313e-16,\n \"centerY\": -1.7763568394002505e-15\n }\n}","import svgJson from \"assets/generated/led.json\"\nimport { defineSymbol } from \"drawing/defineSymbol\"\n\nconst { paths, texts, bounds, refblocks } = svgJson\n\nexport default defineSymbol({\n primitives: [\n ...Object.values(paths),\n { ...texts.bottom1, anchor: \"middle_right\" },\n { ...texts.right1, anchor: \"middle_left\" },\n ] as any,\n ports: [\n { ...refblocks.left1, labels: [\"1\", \"anode\", \"pos\"] },\n { ...refblocks.right1, labels: [\"2\", \"cathode\", \"neg\"] },\n ],\n size: { width: bounds.width, height: bounds.height },\n center: { x: bounds.centerX, y: bounds.centerY + 0.1 },\n})\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport led_horz from \"./led_horz\"\nimport type { TextPrimitive } from \"drawing\"\n\nconst rotated = rotateSymbol(led_horz)\n\nconst ref = rotated.primitives.find(\n (p) => p.type === \"text\" && p.text === \"{REF}\",\n)! as TextPrimitive\nconst val = rotated.primitives.find(\n (p) => p.type === \"text\" && p.text === \"{VAL}\",\n)! as TextPrimitive\n\nref.anchor = \"middle_left\"\nval.anchor = \"middle_right\"\n\nref.x += 0.1\nref.y += 0.017\nval.y = ref.y\nval.x = -0.3\n\nexport default rotated\n","{\n \"paths\": {\n \"path208\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.39687494999999995,\n \"y\": -0.13228999999999935\n },\n {\n \"x\": 0.5291666500000005,\n \"y\": 0.13229300000000066\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path209\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.26458325000000027,\n \"y\": 0.13229300000000066\n },\n {\n \"x\": 0.39687494999999995,\n \"y\": -0.13228999999999935\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path210\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.5291666500000005,\n \"y\": 0.13229300000000066\n },\n {\n \"x\": 0.26458325000000027,\n \"y\": 0.13229300000000066\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path211\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.26458325000000027,\n \"y\": -0.13228999999999935\n },\n {\n \"x\": 0.5291666500000005,\n \"y\": -0.13228999999999935\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path212\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.13229165000000087,\n \"y\": 0.39687499999999964\n },\n {\n \"x\": 0.39687494999999995,\n \"y\": 0.39687499999999964\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path213\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.39687494999999995,\n \"y\": -0.3968740000000004\n },\n {\n \"x\": 0.13229165000000087,\n \"y\": -0.3968740000000004\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path214\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.13229165000000087,\n \"y\": -0.529166\n },\n {\n \"x\": 0.13229165000000087,\n \"y\": -0.1852090000000004\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path215\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.13229165000000087,\n \"y\": 0.529166\n },\n {\n \"x\": 0.13229165000000087,\n \"y\": -9.999999992515995e-7\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path216\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.39687494999999995,\n \"y\": 0.39687563000000026\n },\n {\n \"x\": 0.39687494999999995,\n \"y\": -0.3968746999999997\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path217\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": -0.13229164999999998,\n \"y\": -0.2645850000000003\n },\n {\n \"x\": -0.13229164999999998,\n \"y\": 0.26458099999999973\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path218\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": -0.21166664999999885,\n \"y\": 0.264581999999999\n },\n {\n \"x\": -0.21166664999999885,\n \"y\": -0.26458399999999926\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path219\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": -0.5291666499999996,\n \"y\": 0.26458099999999973\n },\n {\n \"x\": -0.21166664999999885,\n \"y\": 0.264583\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path220\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": -0.13229164999999998,\n \"y\": 0.18520600000000087\n },\n {\n \"x\": 0.13229175000000026,\n \"y\": 0.18520600000000087\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path221\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": -0.13229164999999998,\n \"y\": -0.18520999999999965\n },\n {\n \"x\": 0.13229175000000026,\n \"y\": -0.18520999999999965\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path222\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": -0.05291665000000023,\n \"y\": -9.999999992515995e-7\n },\n {\n \"x\": 0.13229165000000087,\n \"y\": -9.999999992515995e-7\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n }\n },\n \"texts\": {\n \"right1\": {\n \"type\": \"text\",\n \"text\": \"{REF}\",\n \"x\": 0.5827374500000007,\n \"y\": -0.20929270999999972\n },\n \"right2\": {\n \"type\": \"text\",\n \"text\": \"{VAL}\",\n \"x\": 0.58412285,\n \"y\": -0.021192649999999702\n }\n },\n \"refblocks\": {\n \"top1\": {\n \"x\": 0.13275345000000005,\n \"y\": -0.5440228900000008\n },\n \"bottom1\": {\n \"x\": 0.13239525000000096,\n \"y\": 0.54252477\n },\n \"left1\": {\n \"x\": -0.5308188500000002,\n \"y\": 0.26564980000000027\n }\n },\n \"bounds\": {\n \"minX\": -0.5291666499999996,\n \"maxX\": 0.5291666500000005,\n \"minY\": -0.529166,\n \"maxY\": 0.529166,\n \"width\": 1.0583333000000001,\n \"height\": 1.058332,\n \"centerX\": 4.440892098500626e-16,\n \"centerY\": 0\n }\n}","import svgJson from \"assets/generated/mosfet_depletion_normally_on.json\"\nimport { defineSymbol } from \"drawing/defineSymbol\"\n\nconst { paths, texts, bounds, refblocks } = svgJson\n\nexport default defineSymbol({\n primitives: [\n ...Object.values(paths),\n { ...texts.right1, anchor: \"middle_left\" },\n { ...texts.right2, anchor: \"middle_left\" },\n ] as any,\n ports: [\n { ...refblocks.top1, labels: [\"1\"] }, // TODO add more \"standard\" labels\n { ...refblocks.bottom1, labels: [\"2\"] }, // TODO add more \"standard\" labels\n { ...refblocks.left1, labels: [\"3\"] }, // TODO add more \"standard\" labels\n ],\n size: { width: bounds.width + 0.4, height: bounds.height },\n center: { x: bounds.centerX + 0.2, y: bounds.centerY },\n})\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport mosfet_depletion_normally_on_horz from \"./mosfet_depletion_normally_on_horz\"\nimport type { TextPrimitive } from \"drawing\"\n\nconst rotated = rotateSymbol(mosfet_depletion_normally_on_horz)\n\nconst ref = rotated.primitives.find(\n (p) => p.type === \"text\" && p.text === \"{REF}\",\n)! as TextPrimitive\nconst val = rotated.primitives.find(\n (p) => p.type === \"text\" && p.text === \"{VAL}\",\n)! as TextPrimitive\n\nref.anchor = \"middle_top\"\nval.anchor = \"middle_top\"\n\nref.x = val.x\n\nval.y += 0.15\n\nexport default rotated\n","{\n \"paths\": {\n \"path11\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": -0.5307178000000009,\n \"y\": 0.15879225000000008\n },\n {\n \"x\": -0.15214840000000018,\n \"y\": 0.1614152499999999\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path40\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.12898409999999938,\n \"y\": 0.14773104999999975\n },\n {\n \"x\": -0.13559890000000085,\n \"y\": 0.28002274999999943\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path41\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": -0.13559890000000085,\n \"y\": 0.015439350000000074\n },\n {\n \"x\": 0.12898409999999938,\n \"y\": 0.14773104999999975\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path42\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": -0.13559890000000085,\n \"y\": 0.2800227500000001\n },\n {\n \"x\": -0.13559890000000085,\n \"y\": 0.015439350000000074\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path43\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.12898409999999938,\n \"y\": 0.015439350000000074\n },\n {\n \"x\": 0.12898409999999938,\n \"y\": 0.2800227500000001\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path12\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.13259069999999995,\n \"y\": 0.14829984999999968\n },\n {\n \"x\": 0.5307178000000006,\n \"y\": 0.1587922499999994\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path25-0\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.19516320000000031,\n \"y\": -0.22938755000000044\n },\n {\n \"x\": 0.15939019999999982,\n \"y\": -0.13729605000000022\n },\n {\n \"x\": 0.2571001999999991,\n \"y\": -0.1526013500000003\n }\n ],\n \"color\": \"primary\",\n \"fill\": true\n },\n \"path78-6\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.32731219999999994,\n \"y\": -0.2800227500000003\n },\n {\n \"x\": 0.3161811999999997,\n \"y\": -0.2700010500000003\n },\n {\n \"x\": 0.20345820000000003,\n \"y\": -0.1685088500000005\n },\n {\n \"x\": 0.2024082000000007,\n \"y\": -0.16810885000000053\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path25-0-9\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.3425051999999993,\n \"y\": -0.20294964999999987\n },\n {\n \"x\": 0.306732199999999,\n \"y\": -0.11085814999999966\n },\n {\n \"x\": 0.4044417999999992,\n \"y\": -0.12616344999999973\n }\n ],\n \"color\": \"primary\",\n \"fill\": true\n },\n \"path78-6-5\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.4746538,\n \"y\": -0.25358484999999975\n },\n {\n \"x\": 0.4635227999999998,\n \"y\": -0.24356314999999973\n },\n {\n \"x\": 0.3507997999999999,\n \"y\": -0.14207094999999992\n },\n {\n \"x\": 0.34974980000000055,\n \"y\": -0.14167095000000018\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n }\n },\n \"texts\": {\n \"top1\": {\n \"type\": \"text\",\n \"text\": \"{REF}\",\n \"x\": -0.17652089999999987,\n \"y\": -0.20318344999999938\n },\n \"bottom1\": {\n \"type\": \"text\",\n \"text\": \"{VAL}\",\n \"x\": -0.00984920000000078,\n \"y\": 0.5911418500000005\n }\n },\n \"refblocks\": {\n \"left1\": {\n \"x\": -0.5446331000000002,\n \"y\": 0.15964505000000062\n },\n \"right1\": {\n \"x\": 0.5381637999999995,\n \"y\": 0.15864865000000083\n }\n },\n \"bounds\": {\n \"minX\": -0.5307178000000009,\n \"maxX\": 0.5307178000000006,\n \"minY\": -0.2800227500000003,\n \"maxY\": 0.2800227500000001,\n \"width\": 1.0614356000000016,\n \"height\": 1,\n \"centerX\": -1.6653345369377348e-16,\n \"centerY\": -1.1102230246251565e-16\n },\n \"circles\": {\n \"path1\": {\n \"type\": \"circle\",\n \"x\": -0.006997300000000539,\n \"y\": 0.15166395000000055,\n \"radius\": 0.28854213,\n \"color\": \"primary\",\n \"fill\": false\n }\n }\n}","import { defineSymbol } from \"drawing/defineSymbol\"\nimport svgJson from \"assets/generated/photodiode.json\"\nimport { TextPrimitive } from \"drawing/types\"\n\nconst { paths, texts, bounds, refblocks, circles } = svgJson\n\nexport default defineSymbol({\n primitives: [\n ...Object.values(paths),\n ...Object.values(circles),\n {\n type: \"text\",\n text: \"{REF}\",\n x: -0.15,\n y: -0.20318344999999938,\n anchor: \"middle_right\",\n } as TextPrimitive,\n {\n type: \"text\",\n text: \"{VAL}\",\n x: -0.00984920000000078,\n y: 0.5,\n anchor: \"middle_top\",\n } as TextPrimitive,\n ] as any,\n ports: [\n { ...refblocks.left1, labels: [\"1\"] }, // TODO add more \"standard\" labels\n { ...refblocks.right1, labels: [\"2\"] }, // TODO add more \"standard\" labels\n ],\n size: { width: bounds.width, height: bounds.height },\n center: { x: bounds.centerX, y: bounds.centerY },\n})\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport photodiode_horz from \"./photodiode_horz\"\n\nconst rotatedSymbol = rotateSymbol(photodiode_horz)\n\nconst texts = rotatedSymbol.primitives.filter((p) => p.type === \"text\")\n\nconst ref = texts.find((t) => t.text === \"{REF}\")!\n\nref.y = 0\nref.anchor = \"middle_left\"\n\nexport default rotatedSymbol\n","{\n \"paths\": {\n \"path11\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": -0.5291669499999998,\n \"y\": 0.14345965000000027\n },\n {\n \"x\": -0.2645836500000003,\n \"y\": 0.14345965000000027\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path12\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.26458334999999944,\n \"y\": 0.14345965000000027\n },\n {\n \"x\": 0.5291669499999998,\n \"y\": 0.14345965000000027\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path13\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.0000012499999997306332,\n \"y\": 0.01116785000000009\n },\n {\n \"x\": 0.26458424999999997,\n \"y\": 0.01116785000000009\n },\n {\n \"x\": 0.26458424999999997,\n \"y\": 0.2757512500000001\n },\n {\n \"x\": -0.26458274999999953,\n \"y\": 0.2757512500000001\n },\n {\n \"x\": -0.26458274999999953,\n \"y\": 0.01116785000000009\n },\n {\n \"x\": 0.0000012500000010629009,\n \"y\": 0.01116785000000009\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path15\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.06517084999999967,\n \"y\": -0.10588935\n },\n {\n \"x\": -0.06529785000000032,\n \"y\": -0.10588935\n },\n {\n \"x\": -0.00006345000000052003,\n \"y\": 0.00700125000000007\n }\n ],\n \"color\": \"primary\",\n \"fill\": true\n },\n \"path17\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.00025875000000041837,\n \"y\": -0.2757512500000001\n },\n {\n \"x\": 0.00025875000000041837,\n \"y\": -0.060545250000000106\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n }\n },\n \"texts\": {\n \"bottom1\": {\n \"type\": \"text\",\n \"text\": \"{VAL}\",\n \"x\": -0.007583050000000924,\n \"y\": 0.4315381500000006\n },\n \"right1\": {\n \"type\": \"text\",\n \"text\": \"{REF}\",\n \"x\": 0.12478014999999942,\n \"y\": -0.09260654999999884\n }\n },\n \"refblocks\": {\n \"left1\": {\n \"x\": -0.5449899500000002,\n \"y\": 0.1443124500000008\n },\n \"right1\": {\n \"x\": 0.5378069499999996,\n \"y\": 0.14331605000000103\n }\n },\n \"bounds\": {\n \"minX\": -0.5291669499999998,\n \"maxX\": 0.5291669499999998,\n \"minY\": -0.2757512500000001,\n \"maxY\": 0.2757512500000001,\n \"width\": 1.0583338999999996,\n \"height\": 0.5515025000000002,\n \"centerX\": 0,\n \"centerY\": 0\n }\n}","import svgJson from \"assets/generated/potentiometer.json\"\nimport { defineSymbol } from \"drawing/defineSymbol\"\n\nconst { paths, texts, bounds, refblocks } = svgJson\n\nexport default defineSymbol({\n primitives: [\n ...Object.values(paths),\n { ...texts.bottom1, y: 0.35, anchor: \"middle_top\" },\n { ...texts.right1, anchor: \"middle_left\" },\n ] as any,\n ports: [\n { ...refblocks.left1, labels: [\"1\"] }, // TODO add more \"standard\" labels\n { ...refblocks.right1, labels: [\"2\"] }, // TODO add more \"standard\" labels\n ],\n size: { width: bounds.width + 0.05, height: bounds.height },\n center: { x: bounds.centerX, y: bounds.centerY },\n})\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport potentiometer_horz from \"./potentiometer_horz\"\n\nconst rotated = rotateSymbol(potentiometer_horz)\n\nexport default rotated\n","{\n \"paths\": {\n \"path18\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": -0.5291669499999998,\n \"y\": 0.0008545000000008685\n },\n {\n \"x\": -0.26458365000000006,\n \"y\": 0.0008545000000008685\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path19\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.26458334999999966,\n \"y\": 0.0008545000000008685\n },\n {\n \"x\": 0.5291669499999996,\n \"y\": 0.0008545000000008685\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path20\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.0000012499999995085886,\n \"y\": -0.1314371999999988\n },\n {\n \"x\": 0.26458424999999997,\n \"y\": -0.1314371999999988\n },\n {\n \"x\": 0.26458424999999997,\n \"y\": 0.13314619999999877\n },\n {\n \"x\": -0.26458274999999976,\n \"y\": 0.13314619999999877\n },\n {\n \"x\": -0.26458274999999976,\n \"y\": -0.1314371999999988\n },\n {\n \"x\": 0.0000012500000012849455,\n \"y\": -0.1314371999999988\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path23\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.28137284999999945,\n \"y\": 0.2822274\n },\n {\n \"x\": 0.17906194999999903,\n \"y\": 0.25486950000000164\n },\n {\n \"x\": 0.2540149499999984,\n \"y\": 0.1799165000000027\n }\n ],\n \"color\": \"primary\",\n \"fill\": true\n },\n \"path24\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.29134274999999965,\n \"y\": 0.2921307000000013\n },\n {\n \"x\": 0.2577490499999997,\n \"y\": 0.16634940000000142\n },\n {\n \"x\": 0.16536614999999966,\n \"y\": 0.25853690000000284\n }\n ],\n \"color\": \"primary\",\n \"fill\": true\n },\n \"path26\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": -0.29551765000000074,\n \"y\": -0.2921307000000013\n },\n {\n \"x\": 0.23295514999999956,\n \"y\": 0.2328032000000011\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n }\n },\n \"texts\": {\n \"top1\": {\n \"type\": \"text\",\n \"text\": \"{REF}\",\n \"x\": -0.02811516999999933,\n \"y\": -0.2509376800000009\n },\n \"bottom1\": {\n \"type\": \"text\",\n \"text\": \"{VAL}\",\n \"x\": 0,\n \"y\": 0.25857531999999985\n }\n },\n \"refblocks\": {\n \"left1\": {\n \"x\": -0.5316179500000004,\n \"y\": 0.0013439000000019519\n },\n \"right1\": {\n \"x\": 0.5377649500000006,\n \"y\": 0.001956599999999753\n }\n },\n \"bounds\": {\n \"minX\": -0.5291669499999998,\n \"maxX\": 0.5291669499999996,\n \"minY\": -0.2921307000000013,\n \"maxY\": 0.2921307000000013,\n \"width\": 1.0583338999999994,\n \"height\": 0.5842614000000026,\n \"centerX\": -1.1102230246251565e-16,\n \"centerY\": 0\n }\n}","import svgJson from \"assets/generated/potentiometer2.json\"\nimport { defineSymbol } from \"drawing/defineSymbol\"\n\nconst { paths, texts, bounds, refblocks } = svgJson\n\nexport default defineSymbol({\n primitives: [\n ...Object.values(paths),\n { ...texts.bottom1, anchor: \"middle_right\" },\n { ...texts.top1, anchor: \"middle_left\" },\n ] as any,\n ports: [\n { ...refblocks.left1, labels: [\"1\"] }, // TODO add more \"standard\" labels\n { ...refblocks.right1, labels: [\"2\"] }, // TODO add more \"standard\" labels\n ],\n size: { width: bounds.width, height: bounds.height },\n center: { x: bounds.centerX, y: bounds.centerY },\n})\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport potentiometer2_horz from \"./potentiometer2_horz\"\n\nexport default rotateSymbol(potentiometer2_horz)\n","{\n \"paths\": {\n \"path12-1-8-6-9\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.00978914999999958,\n \"y\": -0.06036500000000089\n },\n {\n \"x\": 0.00978914999999958,\n \"y\": 0.05484799999999801\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path12-1-5-6\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": -0.4877753500000006,\n \"y\": 0.036569000000000074\n },\n {\n \"x\": -0.17346905000000135,\n \"y\": 0.036569000000000074\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path12-1-8-0\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": -0.1755235500000003,\n \"y\": 0.060364999999999114\n },\n {\n \"x\": 0.19505664999999972,\n \"y\": 0.060364999999999114\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path12-1-0\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.19513044999999973,\n \"y\": 0.0361799999999981\n },\n {\n \"x\": 0.4877753499999997,\n \"y\": 0.0361799999999981\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n }\n },\n \"texts\": {\n \"top1\": {\n \"type\": \"text\",\n \"text\": \"{REF}\",\n \"x\": 0,\n \"y\": -0.24084600000000123\n },\n \"bottom1\": {\n \"type\": \"text\",\n \"text\": \"{VAL}\",\n \"x\": 0,\n \"y\": 0.2741959999999981\n }\n },\n \"refblocks\": {\n \"left1\": {\n \"x\": -0.4721668500000007,\n \"y\": 0.03654200000000074\n },\n \"right1\": {\n \"x\": 0.47143025000000005,\n \"y\": 0.036566999999999794\n }\n },\n \"bounds\": {\n \"minX\": -0.4877753500000006,\n \"maxX\": 0.4877753499999997,\n \"minY\": -0.06036500000000089,\n \"maxY\": 0.060364999999999114,\n \"width\": 0.9755507000000003,\n \"height\": 0.12073,\n \"centerX\": -4.440892098500626e-16,\n \"centerY\": -8.881784197001252e-16\n }\n}","import { defineSymbol } from \"drawing/defineSymbol\"\nimport svgJson from \"assets/generated/push_button_normally_closed_momentary.json\"\n\nconst { paths, texts, bounds, refblocks } = svgJson\n\nexport default defineSymbol({\n primitives: [\n ...Object.values(paths),\n { ...texts.top1, anchor: \"middle_bottom\" },\n { ...texts.bottom1, anchor: \"middle_top\" },\n ] as any,\n ports: [\n { ...refblocks.left1, labels: [\"1\"] }, // TODO add more \"standard\" labels\n { ...refblocks.right1, labels: [\"2\"] }, // TODO add more \"standard\" labels\n ],\n size: { width: bounds.width, height: bounds.height },\n center: { x: bounds.centerX, y: bounds.centerY },\n})\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport push_button_normally_closed_momentary_horz from \"./push_button_normally_closed_momentary_horz\"\nimport type { TextPrimitive } from \"drawing\"\n\nconst rotated = rotateSymbol(push_button_normally_closed_momentary_horz)\n\nconst ref = rotated.primitives.find(\n (p) => p.type === \"text\" && p.text === \"{REF}\",\n)! as TextPrimitive\nconst val = rotated.primitives.find(\n (p) => p.type === \"text\" && p.text === \"{VAL}\",\n)! as TextPrimitive\n\nref.anchor = \"middle_left\"\nval.anchor = \"middle_right\"\n\nref.x = ref.x - 0.03\nref.y = ref.y\n\nval.x = val.x\nval.y = 0\n\nexport default rotated\n","{\n \"paths\": {\n \"path12-1-8-6-9\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.005593950000001513,\n \"y\": -0.1021504999999987\n },\n {\n \"x\": 0.005593950000001513,\n \"y\": 0.014242499999999936\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path12-1-5-6\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": -0.4877753499999997,\n \"y\": 0.10215050000000225\n },\n {\n \"x\": -0.17346904999999957,\n \"y\": 0.10215050000000225\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path12-1-8-0\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": -0.16045524999999916,\n \"y\": 0.019816500000001014\n },\n {\n \"x\": 0.17160265000000052,\n \"y\": 0.019816500000001014\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path12-1-0\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.19513045000000062,\n \"y\": 0.10176150000000028\n },\n {\n \"x\": 0.4877753500000006,\n \"y\": 0.10176150000000028\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n }\n },\n \"texts\": {\n \"top1\": {\n \"type\": \"text\",\n \"text\": \"{REF}\",\n \"x\": 0,\n \"y\": -0.17395249999999862\n },\n \"bottom1\": {\n \"type\": \"text\",\n \"text\": \"{VAL}\",\n \"x\": 0,\n \"y\": 0.2752844999999997\n }\n },\n \"refblocks\": {\n \"left1\": {\n \"x\": -0.4721668499999989,\n \"y\": 0.10212350000000114\n },\n \"right1\": {\n \"x\": 0.47143025000000094,\n \"y\": 0.1021485000000002\n }\n },\n \"bounds\": {\n \"minX\": -0.4877753499999997,\n \"maxX\": 0.4877753500000006,\n \"minY\": -0.1021504999999987,\n \"maxY\": 0.10215050000000225,\n \"width\": 0.9755507000000003,\n \"height\": 0.20430100000000095,\n \"centerX\": 4.440892098500626e-16,\n \"centerY\": 1.7763568394002505e-15\n }\n}\n","import { defineSymbol } from \"drawing/defineSymbol\"\nimport svgJson from \"assets/generated/push_button_normally_open_momentary.json\"\n\nconst { paths, texts, bounds, refblocks } = svgJson\n\nexport default defineSymbol({\n primitives: [\n ...Object.values(paths),\n { ...texts.top1, anchor: \"middle_bottom\" },\n { ...texts.bottom1, anchor: \"middle_top\" },\n ] as any,\n ports: [\n { ...refblocks.left1, labels: [\"1\"] }, // TODO add more \"standard\" labels\n { ...refblocks.right1, labels: [\"2\"] }, // TODO add more \"standard\" labels\n ],\n size: { width: bounds.width, height: bounds.height },\n center: { x: bounds.centerX, y: bounds.centerY },\n})\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport push_button_normally_open_momentary_horz from \"./push_button_normally_open_momentary_horz\"\nimport type { TextPrimitive } from \"drawing\"\n\nconst rotated = rotateSymbol(push_button_normally_open_momentary_horz)\n\nconst ref = rotated.primitives.find(\n (p) => p.type === \"text\" && p.text === \"{REF}\",\n)! as TextPrimitive\nconst val = rotated.primitives.find(\n (p) => p.type === \"text\" && p.text === \"{VAL}\",\n)! as TextPrimitive\n\nref.anchor = \"middle_left\"\nval.anchor = \"middle_right\"\n\nref.x = ref.x + 0.1\nref.y = ref.y\n\nval.x = val.x\nval.y = 0\n\nexport default rotated\n","{\n \"paths\": {\n \"path40\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.14133375000000115,\n \"y\": 0.0006371999999998934\n },\n {\n \"x\": -0.12324954999999838,\n \"y\": 0.13292890000000046\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path41\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": -0.12324954999999971,\n \"y\": -0.13165450000000045\n },\n {\n \"x\": 0.1413337499999998,\n \"y\": 0.0006371999999998934\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path42\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": -0.12324954999999971,\n \"y\": 0.13292890000000046\n },\n {\n \"x\": -0.12324954999999971,\n \"y\": -0.1316544999999989\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path43\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.14027445000000127,\n \"y\": -0.13377310000000042\n },\n {\n \"x\": 0.14133345000000053,\n \"y\": 0.1329288999999989\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path44\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": -0.12545424999999977,\n \"y\": 0.0006371999999998934\n },\n {\n \"x\": -0.5201245499999998,\n \"y\": 0.0006371999999998934\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path44-0\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.5201245499999998,\n \"y\": 0.0007223999999994568\n },\n {\n \"x\": 0.1464164499999996,\n \"y\": 0.0007223999999994568\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path43-7\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.20429785000000056,\n \"y\": -0.13505779999999978\n },\n {\n \"x\": 0.14015525000000095,\n \"y\": -0.1339758000000002\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path43-7-9\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.20608895000000027,\n \"y\": -0.08549420000000074\n },\n {\n \"x\": 0.2047149500000005,\n \"y\": -0.13482980000000122\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path43-7-2\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.0765343500000002,\n \"y\": 0.1349070999999995\n },\n {\n \"x\": 0.13988425000000015,\n \"y\": 0.1346870999999994\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path43-7-9-3\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.0743883500000011,\n \"y\": 0.0857221999999993\n },\n {\n \"x\": 0.07576235000000087,\n \"y\": 0.1350578\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n }\n },\n \"texts\": {\n \"top1\": {\n \"type\": \"text\",\n \"text\": \"{REF}\",\n \"x\": -0.00828064999999878,\n \"y\": -0.2291716000000008\n },\n \"bottom1\": {\n \"type\": \"text\",\n \"text\": \"{VAL}\",\n \"x\": -0.003367349999999103,\n \"y\": 0.31851899999999933\n }\n },\n \"refblocks\": {\n \"left1\": {\n \"x\": -0.5224026499999993,\n \"y\": -0.0002470999999999446\n },\n \"right1\": {\n \"x\": 0.5158915500000005,\n \"y\": 0.0007775999999992678\n }\n },\n \"bounds\": {\n \"minX\": -0.5201245499999998,\n \"maxX\": 0.5201245499999998,\n \"minY\": -0.13505779999999978,\n \"maxY\": 0.1350578,\n \"width\": 1.0402490999999996,\n \"height\": 1,\n \"centerX\": 0,\n \"centerY\": 1.1102230246251565e-16\n },\n \"circles\": {}\n}","import { defineSymbol } from \"drawing/defineSymbol\"\nimport svgJson from \"assets/generated/schottky_diode.json\"\n\nconst { paths, texts, bounds, refblocks, circles } = svgJson\n\nexport default defineSymbol({\n primitives: [\n ...Object.values(paths),\n ...Object.values(circles),\n { ...texts.top1, anchor: \"middle_bottom\" },\n { ...texts.bottom1, anchor: \"middle_top\" },\n ] as any,\n ports: [\n { ...refblocks.left1, labels: [\"1\"] }, // TODO add more \"standard\" labels\n { ...refblocks.right1, labels: [\"2\"] }, // TODO add more \"standard\" labels\n ],\n size: { width: bounds.width, height: bounds.height },\n center: { x: bounds.centerX, y: bounds.centerY },\n})\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport schottky_diode_horz from \"./schottky_diode_horz\"\n\nimport type { TextPrimitive } from \"drawing\"\n\nconst rotated = rotateSymbol(schottky_diode_horz)\n\nconst ref = rotated.primitives.find(\n (p) => p.type === \"text\" && p.text === \"{REF}\",\n)! as TextPrimitive\nconst val = rotated.primitives.find(\n (p) => p.type === \"text\" && p.text === \"{VAL}\",\n)! as TextPrimitive\n\nref.anchor = \"middle_left\"\nval.anchor = \"middle_right\"\n\nexport default rotated\n","{\n \"paths\": {\n \"path40\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.08035965000000034,\n \"y\": -0.0017977999999994054\n },\n {\n \"x\": -0.18422364999999918,\n \"y\": 0.13049390000000116\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path41\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": -0.18422365000000052,\n \"y\": -0.13408949999999975\n },\n {\n \"x\": 0.080359649999999,\n \"y\": -0.0017977999999994054\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path42\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": -0.18422365000000052,\n \"y\": 0.13049390000000116\n },\n {\n \"x\": -0.18422365000000052,\n \"y\": -0.1340894999999982\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path43\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.09188504999999969,\n \"y\": -0.1326124999999998\n },\n {\n \"x\": 0.09294404999999917,\n \"y\": 0.13408949999999953\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path44\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": -0.1984993499999994,\n \"y\": -0.0017977999999994054\n },\n {\n \"x\": -0.5222461500000002,\n \"y\": -0.0017977999999994054\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path44-0\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.5222461500000002,\n \"y\": -0.001712599999999842\n },\n {\n \"x\": 0.20220525000000067,\n \"y\": -0.001712599999999842\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path43-6\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.18242454999999969,\n \"y\": -0.13264619999999994\n },\n {\n \"x\": 0.18348354999999894,\n \"y\": 0.1340557999999994\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n }\n },\n \"texts\": {\n \"top1\": {\n \"type\": \"text\",\n \"text\": \"{REF}\",\n \"x\": -0.008090549999999253,\n \"y\": -0.2316066000000001\n },\n \"bottom1\": {\n \"type\": \"text\",\n \"text\": \"{VAL}\",\n \"x\": -0.0031772499999995762,\n \"y\": 0.31608400000000003\n }\n },\n \"refblocks\": {\n \"left1\": {\n \"x\": -0.5222125499999998,\n \"y\": -0.0026820999999992434\n },\n \"right1\": {\n \"x\": 0.5160816500000001,\n \"y\": -0.001657400000000031\n }\n },\n \"bounds\": {\n \"minX\": -0.5222461500000002,\n \"maxX\": 0.5222461500000002,\n \"minY\": -0.13408949999999975,\n \"maxY\": 0.13408949999999953,\n \"width\": 1.0444923000000004,\n \"height\": 1,\n \"centerX\": 0,\n \"centerY\": -1.1102230246251565e-16\n },\n \"circles\": {}\n}","import { defineSymbol } from \"drawing/defineSymbol\"\nimport svgJson from \"assets/generated/varactor_diode.json\"\n\nconst { paths, texts, bounds, refblocks, circles } = svgJson\n\nexport default defineSymbol({\n primitives: [\n ...Object.values(paths),\n ...Object.values(circles),\n { ...texts.top1, anchor: \"middle_bottom\" },\n { ...texts.bottom1, anchor: \"middle_top\" },\n ] as any,\n ports: [\n { ...refblocks.left1, labels: [\"1\"] }, // TODO add more \"standard\" labels\n { ...refblocks.right1, labels: [\"2\"] }, // TODO add more \"standard\" labels\n ],\n size: { width: bounds.width, height: bounds.height },\n center: { x: bounds.centerX, y: bounds.centerY },\n})\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport varactor_diode_horz from \"./varactor_diode_horz\"\n\nimport type { TextPrimitive } from \"drawing\"\n\nconst rotated = rotateSymbol(varactor_diode_horz)\n\nconst ref = rotated.primitives.find(\n (p) => p.type === \"text\" && p.text === \"{REF}\",\n)! as TextPrimitive\nconst val = rotated.primitives.find(\n (p) => p.type === \"text\" && p.text === \"{VAL}\",\n)! as TextPrimitive\n\nref.anchor = \"middle_left\"\nval.anchor = \"middle_right\"\n\nexport default rotated\n","{\n \"paths\": {\n \"path5\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": -0.5291668,\n \"y\": 0\n },\n {\n \"x\": -0.2645835000000005,\n \"y\": 0\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path6\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.2645835000000005,\n \"y\": 0\n },\n {\n \"x\": 0.5291668,\n \"y\": 0\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path7\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.2645835000000005,\n \"y\": 0.23812500000000192\n },\n {\n \"x\": -0.2645834999999992,\n \"y\": -0.23812500000000014\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path8\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.3704165000000006,\n \"y\": 0.23812500000000192\n },\n {\n \"x\": 0.2645835000000005,\n \"y\": 0.23812500000000192\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path9\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.000001400000000817414,\n \"y\": -0.13229179999999907\n },\n {\n \"x\": 0.2645844000000013,\n \"y\": -0.13229179999999907\n },\n {\n \"x\": 0.2645844000000013,\n \"y\": 0.13229160000000206\n },\n {\n \"x\": -0.26458259999999845,\n \"y\": 0.13229160000000206\n },\n {\n \"x\": -0.26458259999999845,\n \"y\": -0.13229179999999907\n },\n {\n \"x\": 0.0000014000000021496817,\n \"y\": -0.13229179999999907\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n }\n },\n \"texts\": {\n \"top1\": {\n \"type\": \"text\",\n \"text\": \"{REF}\",\n \"x\": 0,\n \"y\": -0.2470063999999983\n },\n \"bottom1\": {\n \"type\": \"text\",\n \"text\": \"{VAL}\",\n \"x\": 0,\n \"y\": 0.256324600000001\n }\n },\n \"refblocks\": {\n \"left1\": {\n \"x\": -0.5438152999999999,\n \"y\": 0.0016897000000017925\n },\n \"right1\": {\n \"x\": 0.5346478000000006,\n \"y\": -0.0006806999999984242\n }\n },\n \"bounds\": {\n \"minX\": -0.5291668,\n \"maxX\": 0.5291668,\n \"minY\": -0.23812500000000014,\n \"maxY\": 0.23812500000000192,\n \"width\": 1.0583336,\n \"height\": 0.47625000000000206,\n \"centerX\": 0,\n \"centerY\": 8.881784197001252e-16\n }\n}","import svgJson from \"assets/generated/varistor.json\"\nimport { defineSymbol } from \"drawing/defineSymbol\"\n\nconst { paths, texts, bounds, refblocks } = svgJson\n\nexport default defineSymbol({\n primitives: [\n ...Object.values(paths),\n { ...texts.top1, anchor: \"middle_left\" },\n { ...texts.bottom1, anchor: \"middle_right\" },\n ] as any,\n ports: [\n {\n ...refblocks.left1,\n labels: [\"1\", \"-\"],\n },\n {\n ...refblocks.right1,\n labels: [\"2\", \"+\"],\n },\n ],\n size: { width: bounds.width, height: bounds.height }, //{ width: 1, height: 0.24 },\n center: { x: bounds.centerX, y: bounds.centerY },\n})\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport varistor_horz from \"./varistor_horz\"\n\nexport default rotateSymbol(varistor_horz, {})\n","{\n \"paths\": {\n \"path11\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": -0.5307178,\n \"y\": 0.002520349999999949\n },\n {\n \"x\": -0.3042887999999997,\n \"y\": 0.002520349999999949\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path11-5-5\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.09442299999999992,\n \"y\": -0.0957435499999999\n },\n {\n \"x\": -0.004364400000000712,\n \"y\": 0.0957435499999999\n },\n {\n \"x\": -0.1110211000000012,\n \"y\": -0.0957435499999999\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path12\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.2899773000000003,\n \"y\": 0.002520349999999949\n },\n {\n \"x\": 0.5307178000000001,\n \"y\": 0.002520349999999949\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n }\n },\n \"texts\": {\n \"top1\": {\n \"type\": \"text\",\n \"text\": \"{REF}\",\n \"x\": -0.17652089999999898,\n \"y\": -0.3594553499999995\n },\n \"bottom1\": {\n \"type\": \"text\",\n \"text\": \"{VAL}\",\n \"x\": -0.009849199999999891,\n \"y\": 0.4348699500000004\n }\n },\n \"refblocks\": {\n \"left1\": {\n \"x\": -0.5446330999999993,\n \"y\": 0.003373150000000491\n },\n \"right1\": {\n \"x\": 0.5381638000000004,\n \"y\": 0.0023767500000007047\n }\n },\n \"bounds\": {\n \"minX\": -0.5307178,\n \"maxX\": 0.5307178000000001,\n \"minY\": -0.0957435499999999,\n \"maxY\": 0.0957435499999999,\n \"width\": 1.0614356000000003,\n \"height\": 1,\n \"centerX\": 5.551115123125783e-17,\n \"centerY\": 0\n },\n \"circles\": {\n \"path1\": {\n \"type\": \"circle\",\n \"x\": -0.006997299999999651,\n \"y\": -0.004607949999999583,\n \"radius\": 0.28854213,\n \"color\": \"primary\",\n \"fill\": false\n }\n }\n}","import { defineSymbol } from \"drawing/defineSymbol\"\nimport svgJson from \"assets/generated/volt_meter.json\"\n\nconst { paths, texts, bounds, circles, refblocks } = svgJson\n\nexport default defineSymbol({\n primitives: [\n ...Object.values(paths),\n ...Object.values(circles),\n {\n type: \"text\",\n text: \"{REF}\",\n x: 0,\n y: -0.3594553499999995,\n anchor: \"middle_bottom\",\n },\n {\n type: \"text\",\n text: \"{VAL}\",\n x: 0,\n y: 0.35,\n anchor: \"middle_top\",\n },\n ] as any,\n ports: [\n { ...refblocks.left1, labels: [\"1\"] }, // TODO add more \"standard\" labels\n { ...refblocks.right1, labels: [\"2\"] }, // TODO add more \"standard\" labels\n ],\n size: { width: bounds.width, height: bounds.height },\n center: { x: bounds.centerX, y: bounds.centerY },\n})\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport volt_meter_horz from \"./volt_meter_horz\"\n\nexport default rotateSymbol(volt_meter_horz)\n","{\n \"paths\": {\n \"path40\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.1413337499999996,\n \"y\": 0.00024145000000008743\n },\n {\n \"x\": -0.12324954999999993,\n \"y\": 0.13253315000000043\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path41\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": -0.12324954999999993,\n \"y\": -0.13205025000000026\n },\n {\n \"x\": 0.1413337499999996,\n \"y\": 0.00024145000000008743\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path42\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": -0.12324954999999993,\n \"y\": 0.1325331499999991\n },\n {\n \"x\": -0.12324954999999993,\n \"y\": -0.13205025000000026\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path43\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.1413337499999996,\n \"y\": -0.13205025000000026\n },\n {\n \"x\": 0.1413337499999996,\n \"y\": 0.1325331499999991\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path44\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": -0.12545425,\n \"y\": 0.00024145000000008743\n },\n {\n \"x\": -0.52012455,\n \"y\": 0.00024145000000008743\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path44-0\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.5201245499999998,\n \"y\": 0.00032664999999965083\n },\n {\n \"x\": 0.14641644999999937,\n \"y\": 0.00032664999999965083\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path43-8\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.1401360499999995,\n \"y\": -0.13253315000000043\n },\n {\n \"x\": 0.07403164999999912,\n \"y\": -0.13204314999999966\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n }\n },\n \"texts\": {\n \"top1\": {\n \"type\": \"text\",\n \"text\": \"{REF}\",\n \"x\": -0.0082802500000001,\n \"y\": -0.22956755000000006\n },\n \"bottom1\": {\n \"type\": \"text\",\n \"text\": \"{VAL}\",\n \"x\": -0.0033669500000002017,\n \"y\": 0.31812304999999985\n }\n },\n \"refblocks\": {\n \"left1\": {\n \"x\": -0.5224022500000005,\n \"y\": -0.0006429500000009192\n },\n \"right1\": {\n \"x\": 0.5158919499999994,\n \"y\": 0.00038165000000001115\n }\n },\n \"bounds\": {\n \"minX\": -0.52012455,\n \"maxX\": 0.5201245499999998,\n \"minY\": -0.13253315000000043,\n \"maxY\": 0.13253315000000043,\n \"width\": 1.0402490999999998,\n \"height\": 1,\n \"centerX\": -1.1102230246251565e-16,\n \"centerY\": 0\n },\n \"circles\": {}\n}","import { defineSymbol } from \"drawing/defineSymbol\"\nimport svgJson from \"assets/generated/zener_diode.json\"\n\nconst { paths, texts, bounds, refblocks, circles } = svgJson\n\nexport default defineSymbol({\n primitives: [\n ...Object.values(paths),\n ...Object.values(circles),\n { ...texts.top1, anchor: \"middle_bottom\" },\n { ...texts.bottom1, anchor: \"middle_top\" },\n ] as any,\n ports: [\n { ...refblocks.left1, labels: [\"1\"] }, // TODO add more \"standard\" labels\n { ...refblocks.right1, labels: [\"2\"] }, // TODO add more \"standard\" labels\n ],\n size: { width: bounds.width, height: bounds.height },\n center: { x: bounds.centerX, y: bounds.centerY },\n})\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport zener_diode_horz from \"./zener_diode_horz\"\n\nimport type { TextPrimitive } from \"drawing\"\n\nconst rotated = rotateSymbol(zener_diode_horz)\nconst ref = rotated.primitives.find(\n (p) => p.type === \"text\" && p.text === \"{REF}\",\n)! as TextPrimitive\nconst val = rotated.primitives.find(\n (p) => p.type === \"text\" && p.text === \"{VAL}\",\n)! as TextPrimitive\n\nref.anchor = \"middle_left\"\nval.anchor = \"middle_right\"\n\nexport default rotated\n","import _avalanche_diode_horz from \"./../symbols/avalanche_diode_horz\"\nimport _avalanche_diode_vert from \"./../symbols/avalanche_diode_vert\"\nimport _boxresistor_horz from \"./../symbols/boxresistor_horz\"\nimport _boxresistor_vert from \"./../symbols/boxresistor_vert\"\nimport _capacitor_horz from \"./../symbols/capacitor_horz\"\nimport _capacitor_vert from \"./../symbols/capacitor_vert\"\nimport _diode_horz from \"./../symbols/diode_horz\"\nimport _diode_vert from \"./../symbols/diode_vert\"\nimport _fuse_horz from \"./../symbols/fuse_horz\"\nimport _fuse_vert from \"./../symbols/fuse_vert\"\nimport _led_horz from \"./../symbols/led_horz\"\nimport _led_vert from \"./../symbols/led_vert\"\nimport _mosfet_depletion_normally_on_horz from \"./../symbols/mosfet_depletion_normally_on_horz\"\nimport _mosfet_depletion_normally_on_vert from \"./../symbols/mosfet_depletion_normally_on_vert\"\nimport _photodiode_horz from \"./../symbols/photodiode_horz\"\nimport _photodiode_vert from \"./../symbols/photodiode_vert\"\nimport _potentiometer_horz from \"./../symbols/potentiometer_horz\"\nimport _potentiometer_vert from \"./../symbols/potentiometer_vert\"\nimport _potentiometer2_horz from \"./../symbols/potentiometer2_horz\"\nimport _potentiometer2_vert from \"./../symbols/potentiometer2_vert\"\nimport _push_button_normally_closed_momentary_horz from \"./../symbols/push_button_normally_closed_momentary_horz\"\nimport _push_button_normally_closed_momentary_vert from \"./../symbols/push_button_normally_closed_momentary_vert\"\nimport _push_button_normally_open_momentary_horz from \"./../symbols/push_button_normally_open_momentary_horz\"\nimport _push_button_normally_open_momentary_vert from \"./../symbols/push_button_normally_open_momentary_vert\"\nimport _schottky_diode_horz from \"./../symbols/schottky_diode_horz\"\nimport _schottky_diode_vert from \"./../symbols/schottky_diode_vert\"\nimport _varactor_diode_horz from \"./../symbols/varactor_diode_horz\"\nimport _varactor_diode_vert from \"./../symbols/varactor_diode_vert\"\nimport _varistor_horz from \"./../symbols/varistor_horz\"\nimport _varistor_vert from \"./../symbols/varistor_vert\"\nimport _volt_meter_horz from \"./../symbols/volt_meter_horz\"\nimport _volt_meter_vert from \"./../symbols/volt_meter_vert\"\nimport _zener_diode_horz from \"./../symbols/zener_diode_horz\"\nimport _zener_diode_vert from \"./../symbols/zener_diode_vert\"\n\nexport default {\n \"avalanche_diode_horz\": _avalanche_diode_horz,\n \"avalanche_diode_vert\": _avalanche_diode_vert,\n \"boxresistor_horz\": _boxresistor_horz,\n \"boxresistor_vert\": _boxresistor_vert,\n \"capacitor_horz\": _capacitor_horz,\n \"capacitor_vert\": _capacitor_vert,\n \"diode_horz\": _diode_horz,\n \"diode_vert\": _diode_vert,\n \"fuse_horz\": _fuse_horz,\n \"fuse_vert\": _fuse_vert,\n \"led_horz\": _led_horz,\n \"led_vert\": _led_vert,\n \"mosfet_depletion_normally_on_horz\": _mosfet_depletion_normally_on_horz,\n \"mosfet_depletion_normally_on_vert\": _mosfet_depletion_normally_on_vert,\n \"photodiode_horz\": _photodiode_horz,\n \"photodiode_vert\": _photodiode_vert,\n \"potentiometer_horz\": _potentiometer_horz,\n \"potentiometer_vert\": _potentiometer_vert,\n \"potentiometer2_horz\": _potentiometer2_horz,\n \"potentiometer2_vert\": _potentiometer2_vert,\n \"push_button_normally_closed_momentary_horz\": _push_button_normally_closed_momentary_horz,\n \"push_button_normally_closed_momentary_vert\": _push_button_normally_closed_momentary_vert,\n \"push_button_normally_open_momentary_horz\": _push_button_normally_open_momentary_horz,\n \"push_button_normally_open_momentary_vert\": _push_button_normally_open_momentary_vert,\n \"schottky_diode_horz\": _schottky_diode_horz,\n \"schottky_diode_vert\": _schottky_diode_vert,\n \"varactor_diode_horz\": _varactor_diode_horz,\n \"varactor_diode_vert\": _varactor_diode_vert,\n \"varistor_horz\": _varistor_horz,\n \"varistor_vert\": _varistor_vert,\n \"volt_meter_horz\": _volt_meter_horz,\n \"volt_meter_vert\": _volt_meter_vert,\n \"zener_diode_horz\": _zener_diode_horz,\n \"zener_diode_vert\": _zener_diode_vert\n}","export const mapColor = (color: string) => {\n switch (color) {\n case \"primary\":\n return \"black\"\n case \"secondary\":\n return \"gray\"\n default:\n return color\n }\n}\n","import type { Point } from \"drawing\"\n\nexport function pathToSvgD(points: Point[], closed: boolean = false): string {\n const pathCommands = points\n .map((point, index) => `${index === 0 ? \"M\" : \"L\"}${point.x},${point.y}`)\n .join(\" \")\n\n return closed ? `${pathCommands} Z` : pathCommands\n}\n","import { mapColor } from \"./mapColor\"\nimport { pathToSvgD } from \"./pathToSvgD\"\nimport type { Point, Port, SchSymbol, TextPrimitive } from \"./types\"\n\nfunction createDiamondElement(center: Point, size = 0.05): string {\n const { x, y } = center\n const halfSize = size / 2\n return `<path d=\"M ${x} ${y - halfSize} L ${x + halfSize} ${y} L ${x} ${\n y + halfSize\n } L ${x - halfSize} ${y} Z\" fill=\"green\" />`\n}\n\nfunction createTextElement(primitive: TextPrimitive): {\n text: string\n anchor: string\n} {\n const { x, y, text, fontSize = 0.1, anchor } = primitive\n let textAnchor: string\n const dx = 0\n let dy = 0\n\n const capHeight = fontSize * 0.75\n\n switch (anchor) {\n case \"top_left\":\n textAnchor = \"start\"\n dy = fontSize\n break\n case \"top_right\":\n textAnchor = \"end\"\n dy = fontSize\n break\n case \"bottom_left\":\n textAnchor = \"start\"\n break\n case \"bottom_right\":\n textAnchor = \"end\"\n break\n case \"center\":\n textAnchor = \"middle\"\n dy = fontSize / 2\n break\n case \"middle_top\":\n textAnchor = \"middle\"\n dy = capHeight\n break\n case \"middle_bottom\":\n textAnchor = \"middle\"\n break\n case \"middle_left\":\n textAnchor = \"start\"\n dy = capHeight / 2\n break\n case \"middle_right\":\n textAnchor = \"end\"\n dy = capHeight / 2\n break\n }\n\n return {\n text: `<text x=\"${x}\" y=\"${y}\" dx=\"${dx}\" dy=\"${dy}\" text-anchor=\"${textAnchor}\" style=\"font: ${\n fontSize ?? 0.1\n }px monospace; fill: ${mapColor(\"primary\")}\">${text}</text>`,\n anchor: `<rect x=\"${x - 0.025 / 2}\" y=\"${\n y - 0.025 / 2\n }\" width=\"0.025\" height=\"0.025\" fill=\"blue\" />`,\n }\n}\n\nfunction createPortElement(port: Port): string {\n const { x, y, labels } = port\n const rectSize = 0.05\n const labelFontSize = 0.08\n const label = labels[0] || \"\"\n\n return `\n <rect x=\"${x - rectSize / 2}\" y=\"${\n y - rectSize / 2\n }\" width=\"${rectSize}\" height=\"${rectSize}\" fill=\"red\" />\n <text x=\"${x - labelFontSize / 2}\" y=\"${\n y + rectSize + labelFontSize / 2\n }\" text-anchor=\"middle\" style=\"font: ${labelFontSize}px monospace; fill: #833;\">${label}</text>\n `\n}\n\nexport function getInnerSvg(\n symbol: SchSymbol,\n options: { width?: number; height?: number; debug?: boolean } = {},\n): string {\n const { debug = false } = options\n const { primitives, size, ports } = symbol\n const svgElements = primitives.map((primitive) => {\n switch (primitive.type) {\n case \"path\":\n return `<path d=\"${pathToSvgD(\n primitive.points,\n primitive.closed,\n )}\" fill=\"${\n primitive.fill ? mapColor(primitive.color) : \"none\"\n }\" stroke=\"${mapColor(\n primitive.color,\n )}\" stroke-width=\"0.02\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />`\n case \"text\":\n const textElements = createTextElement(primitive)\n return textElements.text + (debug ? textElements.anchor : \"\")\n case \"circle\":\n return `<circle cx=\"${primitive.x}\" cy=\"${primitive.y}\" r=\"${\n primitive.radius\n }\" fill=\"${primitive.fill ? mapColor(primitive.color) : \"none\"}\" ${\n !primitive.fill\n ? `stroke=\"${mapColor(primitive.color)}\" stroke-width=\"0.02\"`\n : \"\"\n } />`\n case \"box\":\n return `<rect x=\"${primitive.x}\" y=\"${primitive.y}\" width=\"${\n primitive.width\n }\" height=\"${primitive.height}\" fill=\"${mapColor(\"primary\")}\" />`\n default:\n return \"\"\n }\n })\n\n const portElements = ports.map(createPortElement).join(\"\\n \")\n\n const centerDiamond = createDiamondElement(symbol.center)\n\n return [svgElements.join(\"\\n \"), portElements, centerDiamond].join(\"\\n\")\n}\n\nexport function getSvg(\n symbol: SchSymbol,\n options: { width?: number; height?: number; debug?: boolean } = {},\n): string {\n const { size } = symbol\n const innerSvg = getInnerSvg(symbol, options)\n\n // Use the center and the size to calculate the viewBox\n const bufferMultiple = 1.2\n const w = size.width * bufferMultiple\n const h = size.height * bufferMultiple\n const viewBox = {\n x: symbol.center.x - w / 2,\n y: symbol.center.y - h / 2,\n width: w,\n height: h,\n }\n\n if (options.width && !options.height) {\n options.height = options.width! * (viewBox.height / viewBox.width)\n } else if (!options.width && options.height) {\n options.width = options.height! * (viewBox.width / viewBox.height)\n } else if (!options.width && !options.height) {\n options.width = viewBox.width\n options.height = viewBox.height\n }\n\n return `<svg width=\"${options.width}\" height=\"${options.height}\" viewBox=\"${viewBox.x} ${viewBox.y} ${viewBox.width} ${viewBox.height}\" xmlns=\"http://www.w3.org/2000/svg\">${innerSvg}</svg>`\n}\n","import type { SchSymbol } from \"./types\"\n\nexport function resizeSymbol(\n symbol: SchSymbol,\n newSize: { width?: number; height?: number },\n): SchSymbol {\n const { width: oldWidth, height: oldHeight } = symbol.size\n let scaleX = 1,\n scaleY = 1\n\n if (newSize.width && newSize.height) {\n scaleX = newSize.width / oldWidth\n scaleY = newSize.height / oldHeight\n } else if (newSize.width) {\n scaleX = scaleY = newSize.width / oldWidth\n } else if (newSize.height) {\n scaleX = scaleY = newSize.height / oldHeight\n }\n\n const resizedPrimitives = symbol.primitives.map((primitive) => {\n switch (primitive.type) {\n case \"path\":\n return {\n ...primitive,\n points: primitive.points.map((p) => ({\n x: p.x * scaleX,\n y: p.y * scaleY,\n })),\n }\n case \"text\":\n case \"circle\":\n return {\n ...primitive,\n x: primitive.x * scaleX,\n y: primitive.y * scaleY,\n }\n case \"box\":\n return {\n ...primitive,\n x: primitive.x * scaleX,\n y: primitive.y * scaleY,\n width: primitive.width * scaleX,\n height: primitive.height * scaleY,\n }\n default:\n return primitive\n }\n })\n\n return {\n ...symbol,\n primitives: resizedPrimitives,\n center: {\n x: symbol.center.x * scaleX,\n y: symbol.center.y * scaleY,\n },\n ports: symbol.ports.map((port) => ({\n ...port,\n x: port.x * scaleX,\n y: port.y * scaleY,\n })),\n size: {\n width: oldWidth * scaleX,\n height: oldHeight * scaleY,\n },\n }\n}\n","import symbols from \"./generated/symbols-index\"\n\nexport type {\n SchSymbol,\n BoxPrimitive,\n CirclePrimitive,\n PathPrimitive,\n TextPrimitive,\n} from \"./drawing/types\"\nimport { getSvg, getInnerSvg, resizeSymbol } from \"./drawing\"\n\nimport { BaseSymbolName } from \"./generated/base-symbol-names\"\n\n/**\n * Utility for easier autocomplete:\n *\n * ```ts\n * BASE_SYMBOLS.boxresistor // \"boxresistor\"\n * ```\n */\nexport const BASE_SYMBOLS: Record<BaseSymbolName, BaseSymbolName> =\n Object.fromEntries(Object.keys(symbols).map((k) => [k, k])) as any\n\nexport { symbols, getSvg, getInnerSvg, resizeSymbol, BaseSymbolName }\n"],"mappings":"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","names":["text","paths","bounds","refblocks","texts","paths","texts","bounds","refblocks","paths","texts","bounds","refblocks","paths","texts","bounds","refblocks","rotated","ref","val","paths","texts","bounds","refblocks","rotated","ref","val","paths","texts","bounds","refblocks","circles","texts","ref","paths","texts","bounds","refblocks","rotated","paths","texts","bounds","refblocks","paths","texts","bounds","refblocks","rotated","ref","val","paths","texts","bounds","refblocks","rotated","ref","val","paths","texts","bounds","refblocks","circles","rotated","ref","val","paths","texts","bounds","refblocks","circles","rotated","ref","val","paths","texts","bounds","refblocks","paths","texts","bounds","circles","refblocks","paths","texts","bounds","refblocks","circles","rotated","ref","val","text"]}
1
+ {"version":3,"sources":["../drawing/defineSymbol.ts","../assets/generated/avalanche_diode.json","../symbols/avalanche_diode_horz.ts","../drawing/rotateSymbol.ts","../symbols/avalanche_diode_vert.ts","../drawing/path.ts","../drawing/text.ts","../symbols/boxresistor_horz.ts","../symbols/boxresistor_vert.ts","../assets/generated/capacitor.json","../symbols/capacitor_horz.ts","../symbols/capacitor_vert.ts","../assets/generated/diode.json","../symbols/diode_horz.ts","../symbols/diode_vert.ts","../assets/generated/fuse.json","../symbols/fuse_horz.ts","../symbols/fuse_vert.ts","../assets/generated/led.json","../symbols/led_horz.ts","../symbols/led_vert.ts","../assets/generated/mosfet_depletion_normally_on.json","../symbols/mosfet_depletion_normally_on_horz.ts","../symbols/mosfet_depletion_normally_on_vert.ts","../assets/generated/photodiode.json","../symbols/photodiode_horz.ts","../symbols/photodiode_vert.ts","../assets/generated/potentiometer.json","../symbols/potentiometer_horz.ts","../symbols/potentiometer_vert.ts","../assets/generated/potentiometer2.json","../symbols/potentiometer2_horz.ts","../symbols/potentiometer2_vert.ts","../assets/generated/push_button_normally_closed_momentary.json","../symbols/push_button_normally_closed_momentary_horz.ts","../symbols/push_button_normally_closed_momentary_vert.ts","../assets/generated/push_button_normally_open_momentary.json","../symbols/push_button_normally_open_momentary_horz.ts","../symbols/push_button_normally_open_momentary_vert.ts","../assets/generated/schottky_diode.json","../symbols/schottky_diode_horz.ts","../symbols/schottky_diode_vert.ts","../assets/generated/tunnel_diode.json","../symbols/tunnel_diode_horz.ts","../symbols/tunnel_diode_vert.ts","../assets/generated/varactor_diode.json","../symbols/varactor_diode_horz.ts","../symbols/varactor_diode_vert.ts","../assets/generated/varistor.json","../symbols/varistor_horz.ts","../symbols/varistor_vert.ts","../assets/generated/volt_meter.json","../symbols/volt_meter_horz.ts","../symbols/volt_meter_vert.ts","../assets/generated/zener_diode.json","../symbols/zener_diode_horz.ts","../symbols/zener_diode_vert.ts","../generated/symbols-index.ts","../drawing/mapColor.ts","../drawing/pathToSvgD.ts","../drawing/getSvg.ts","../drawing/resizeSymbol.ts","../index.ts"],"sourcesContent":["import type { SchSymbol } from \"./types\"\n\nexport function defineSymbol(symbol: SchSymbol): SchSymbol {\n return symbol\n}\n","{\n \"paths\": {\n \"path40\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.1413337499999996,\n \"y\": -0.00033784999999975085\n },\n {\n \"x\": -0.12324954999999993,\n \"y\": 0.1319538500000006\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path41\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": -0.12324954999999993,\n \"y\": -0.1326295500000001\n },\n {\n \"x\": 0.1413337499999996,\n \"y\": -0.00033784999999975085\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path42\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": -0.12324954999999993,\n \"y\": 0.13195384999999926\n },\n {\n \"x\": -0.12324954999999993,\n \"y\": -0.1326295500000001\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path43\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.1413337499999996,\n \"y\": -0.1326295500000001\n },\n {\n \"x\": 0.1413337499999996,\n \"y\": 0.13195384999999926\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path44\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": -0.12545425,\n \"y\": -0.00033784999999975085\n },\n {\n \"x\": -0.52012455,\n \"y\": -0.00033784999999975085\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path44-0\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.5201245499999998,\n \"y\": -0.00025265000000018745\n },\n {\n \"x\": 0.14641644999999937,\n \"y\": -0.00025265000000018745\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path43-8\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.1401360499999995,\n \"y\": -0.13311245000000027\n },\n {\n \"x\": 0.07443344999999923,\n \"y\": -0.15673055000000047\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path43-8-3\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.20757744999999939,\n \"y\": 0.15673055000000025\n },\n {\n \"x\": 0.1418748499999991,\n \"y\": 0.13311245000000005\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n }\n },\n \"texts\": {\n \"top1\": {\n \"type\": \"text\",\n \"text\": \"{REF}\",\n \"x\": -0.0082802500000001,\n \"y\": -0.2301468499999999\n },\n \"bottom1\": {\n \"type\": \"text\",\n \"text\": \"{VAL}\",\n \"x\": -0.0033669500000002017,\n \"y\": 0.31754375\n }\n },\n \"refblocks\": {\n \"left1\": {\n \"x\": -0.5224022500000005,\n \"y\": -0.0012222500000007575\n },\n \"right1\": {\n \"x\": 0.5158919499999994,\n \"y\": -0.00019764999999982713\n }\n },\n \"bounds\": {\n \"minX\": -0.52012455,\n \"maxX\": 0.5201245499999998,\n \"minY\": -0.15673055000000047,\n \"maxY\": 0.15673055000000025,\n \"width\": 1.0402490999999998,\n \"height\": 1,\n \"centerX\": -1.1102230246251565e-16,\n \"centerY\": -1.1102230246251565e-16\n },\n \"circles\": {}\n}","import { defineSymbol } from \"drawing/defineSymbol\"\nimport svgJson from \"assets/generated/avalanche_diode.json\"\n\nconst { paths, texts, bounds, refblocks, circles } = svgJson\n\nexport default defineSymbol({\n primitives: [\n ...Object.values(paths),\n ...Object.values(circles),\n { ...texts.top1, anchor: \"middle_bottom\" },\n { ...texts.bottom1, anchor: \"middle_top\" },\n ] as any,\n ports: [\n { ...refblocks.left1, labels: [\"1\"] }, // TODO add more \"standard\" labels\n { ...refblocks.right1, labels: [\"2\"] }, // TODO add more \"standard\" labels\n ],\n size: { width: bounds.width, height: bounds.height },\n center: { x: bounds.centerX, y: bounds.centerY },\n})\n","import { rotate, applyToPoint } from \"transformation-matrix\"\nimport type {\n SchSymbol,\n Primitive,\n Point,\n Port,\n NinePointAnchor,\n} from \"./types\"\n\nconst rotateAnchor = (anchor: NinePointAnchor): NinePointAnchor => {\n switch (anchor) {\n case \"middle_top\":\n return \"middle_right\"\n case \"middle_bottom\":\n return \"middle_left\"\n }\n return anchor\n}\n\nexport const rotateSymbol = (\n symbol: SchSymbol,\n overrides?: Partial<SchSymbol>,\n): SchSymbol => {\n const transform = rotate(Math.PI / 2, symbol.center.x, symbol.center.y)\n\n const { primitives, center, size, ports } = symbol\n\n const rotatedPrimitives = primitives.map((primitive): Primitive => {\n primitive = { ...primitive }\n switch (primitive.type) {\n case \"path\":\n return {\n ...primitive,\n points: primitive.points.map(\n (point) => applyToPoint(transform, point) as Point,\n ),\n }\n case \"text\":\n const rotatedPoint = applyToPoint(transform, {\n x: primitive.x,\n y: primitive.y,\n }) as Point\n\n primitive.anchor = rotateAnchor(primitive.anchor)\n\n return {\n ...primitive,\n x: rotatedPoint.x,\n y: rotatedPoint.y,\n }\n case \"circle\":\n const rotatedCenter = applyToPoint(transform, {\n x: primitive.x,\n y: primitive.y,\n }) as Point\n return {\n ...primitive,\n x: rotatedCenter.x,\n y: rotatedCenter.y,\n }\n case \"box\":\n const rotatedCorner = applyToPoint(transform, {\n x: primitive.x,\n y: primitive.y,\n }) as Point\n return {\n ...primitive,\n x: rotatedCorner.x,\n y: rotatedCorner.y,\n width: primitive.height,\n height: primitive.width,\n }\n }\n })\n\n const rotatedPorts = ports.map(\n (port): Port => ({\n ...port,\n ...(applyToPoint(transform, port) as Point),\n }),\n )\n\n return {\n primitives: rotatedPrimitives,\n center,\n ports: rotatedPorts,\n // TODO recompute size using overrides\n size: {\n width: size.height,\n height: size.width,\n },\n ...overrides,\n }\n}\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport avalanche_diode_horz from \"./avalanche_diode_horz\"\n\nimport type { TextPrimitive } from \"drawing\"\n\nconst rotated = rotateSymbol(avalanche_diode_horz)\nconst ref = rotated.primitives.find(\n (p) => p.type === \"text\" && p.text === \"{REF}\",\n)! as TextPrimitive\nconst val = rotated.primitives.find(\n (p) => p.type === \"text\" && p.text === \"{VAL}\",\n)! as TextPrimitive\n\nref.anchor = \"middle_left\"\nval.anchor = \"middle_right\"\n\nexport default rotated\n","import type { PathPrimitive } from \"drawing\"\n\nexport function path(options: Omit<PathPrimitive, \"type\">): PathPrimitive {\n return { type: \"path\", ...options }\n}\n","import type { TextPrimitive } from \"drawing\"\n\nexport function text(\n text: string,\n options: Omit<TextPrimitive, \"type\" | \"text\">,\n): TextPrimitive {\n return { type: \"text\", text, ...options }\n}\n","import { path } from \"drawing/path\"\nimport { text } from \"drawing/text\"\nimport { defineSymbol } from \"drawing/defineSymbol\"\n\nexport default defineSymbol({\n primitives: [\n path({\n points: [\n { x: 0, y: 0 },\n { x: 0.2, y: 0 },\n { x: 0.2, y: -0.12 },\n { x: 0.8, y: -0.12 },\n { x: 0.8, y: 0.12 },\n { x: 0.2, y: 0.12 },\n { x: 0.2, y: 0 },\n ],\n color: \"primary\",\n }),\n path({\n points: [\n { x: 0.8, y: 0 },\n { x: 1, y: 0 },\n ],\n color: \"primary\",\n }),\n text(\"{REF}\", { x: 0.5, y: -0.2, anchor: \"middle_bottom\" }),\n text(\"{VAL}\", { x: 0.5, y: 0.2, anchor: \"middle_top\" }),\n ],\n ports: [\n { x: 0, y: 0, labels: [\"1\", \"-\", \"left\"] },\n { x: 1, y: 0, labels: [\"2\", \"+\", \"right\"] },\n ],\n center: { x: 0.5, y: 0 },\n size: { width: 1, height: 0.55 },\n})\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport boxresistor_horz from \"./boxresistor_horz\"\n\nexport default rotateSymbol(boxresistor_horz)\n","{\n \"paths\": {\n \"path27\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.5291666500000001,\n \"y\": 0\n },\n {\n \"x\": 0.07937504999999989,\n \"y\": 0\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path28\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": -0.07937494999999961,\n \"y\": 0\n },\n {\n \"x\": -0.5291666500000001,\n \"y\": 0\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path29\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.07937504999999989,\n \"y\": -0.26458330000000174\n },\n {\n \"x\": 0.07937504999999989,\n \"y\": 0.2645832999999982\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path30\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": -0.07937495000000006,\n \"y\": -0.26458330000000174\n },\n {\n \"x\": -0.07937494999999961,\n \"y\": 0.2645832999999982\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n }\n },\n \"texts\": {\n \"top1\": {\n \"type\": \"text\",\n \"text\": \"{REF}\",\n \"x\": 0,\n \"y\": -0.36\n },\n \"bottom1\": {\n \"type\": \"text\",\n \"text\": \"{VAL}\",\n \"x\": 0,\n \"y\": 0.36\n }\n },\n \"refblocks\": {\n \"left1\": {\n \"x\": -0.5449804500000004,\n \"y\": 0.0009026999999974805\n },\n \"right1\": {\n \"x\": 0.5574381499999999,\n \"y\": 0.00035619999999880747\n }\n },\n \"bounds\": {\n \"minX\": -0.5291666500000001,\n \"maxX\": 0.5291666500000001,\n \"minY\": -0.26458330000000174,\n \"maxY\": 0.2645832999999982,\n \"width\": 1.0583333000000001,\n \"height\": 0.5291665999999999,\n \"centerX\": 0,\n \"centerY\": -1.7763568394002505e-15\n }\n}","import svgJson from \"assets/generated/capacitor.json\"\nimport { defineSymbol } from \"drawing/defineSymbol\"\n\nconst { paths, bounds, refblocks, texts } = svgJson\n\nexport default defineSymbol({\n primitives: [\n ...Object.values(paths),\n { ...texts.top1, anchor: \"middle_bottom\" },\n { ...texts.bottom1, anchor: \"middle_top\" },\n ] as any,\n ports: [\n { ...refblocks.left1, labels: [\"1\"] },\n { ...refblocks.right1, labels: [\"2\"] },\n ],\n size: { width: bounds.width, height: bounds.height }, //{ width: 1, height: 0.24 },\n center: { x: bounds.centerX, y: bounds.centerY },\n})\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport capacitor_horz from \"./capacitor_horz\"\n\nexport default rotateSymbol(capacitor_horz)\n","{\n \"paths\": {\n \"path40\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.1413337499999998,\n \"y\": 0\n },\n {\n \"x\": -0.12324954999999971,\n \"y\": 0.13229169999999968\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path41\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": -0.12324954999999971,\n \"y\": -0.13229170000000323\n },\n {\n \"x\": 0.1413337499999998,\n \"y\": 0\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path42\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": -0.12324954999999971,\n \"y\": 0.13229169999999613\n },\n {\n \"x\": -0.12324954999999971,\n \"y\": -0.13229170000000323\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path43\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.1413337499999998,\n \"y\": -0.13229170000000323\n },\n {\n \"x\": 0.1413337499999998,\n \"y\": 0.13229169999999613\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path44\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": -0.12545424999999977,\n \"y\": 0\n },\n {\n \"x\": -0.5201245499999998,\n \"y\": 0\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path44-0\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.5201245499999998,\n \"y\": 0.00008519999999734296\n },\n {\n \"x\": 0.1464164499999998,\n \"y\": 0.00008519999999734296\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n }\n },\n \"texts\": {\n \"top1\": {\n \"type\": \"text\",\n \"text\": \"{REF}\",\n \"x\": -0.008280249999999878,\n \"y\": -0.22980899999999949\n },\n \"bottom1\": {\n \"type\": \"text\",\n \"text\": \"{VAL}\",\n \"x\": -0.0033669500000002017,\n \"y\": 0.22788159999999976\n }\n },\n \"refblocks\": {\n \"left1\": {\n \"x\": -0.5224022500000003,\n \"y\": -0.0008844000000003405\n },\n \"right1\": {\n \"x\": 0.5158919499999999,\n \"y\": 0.00014019999999703714\n }\n },\n \"bounds\": {\n \"minX\": -0.5201245499999998,\n \"maxX\": 0.5201245499999998,\n \"minY\": -0.13229170000000323,\n \"maxY\": 0.13229169999999968,\n \"width\": 1.0402490999999996,\n \"height\": 0.2645834000000029,\n \"centerX\": 0,\n \"centerY\": -1.7763568394002505e-15\n }\n}","import svgJson from \"assets/generated/diode.json\"\nimport { defineSymbol } from \"drawing/defineSymbol\"\n\nconst { paths, texts, bounds, refblocks } = svgJson\n\nexport default defineSymbol({\n primitives: [\n ...Object.values(paths),\n { ...texts.top1, anchor: \"middle_bottom\" },\n { ...texts.bottom1, anchor: \"middle_top\" },\n ] as any,\n ports: [\n { ...refblocks.left1, labels: [\"1\"] }, // TODO add more \"standard\" labels\n { ...refblocks.right1, labels: [\"2\"] }, // TODO add more \"standard\" labels\n ],\n size: { width: bounds.width, height: bounds.height },\n center: { x: bounds.centerX, y: bounds.centerY },\n})\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport diode_horz from \"./diode_horz\"\n\nexport default rotateSymbol(diode_horz)\n","{\n \"paths\": {\n \"path10\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": -0.529167000000001,\n \"y\": 0\n },\n {\n \"x\": 0.5291669999999993,\n \"y\": 0\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path14\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.000001999999998503199,\n \"y\": -0.13229169999999968\n },\n {\n \"x\": 0.2645849999999985,\n \"y\": -0.13229169999999968\n },\n {\n \"x\": 0.2645849999999985,\n \"y\": 0.13229169999999968\n },\n {\n \"x\": -0.26458200000000076,\n \"y\": 0.13229169999999968\n },\n {\n \"x\": -0.26458200000000076,\n \"y\": -0.13229169999999968\n },\n {\n \"x\": 0.000001999999998503199,\n \"y\": -0.13229169999999968\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n }\n },\n \"texts\": {\n \"top1\": {\n \"type\": \"text\",\n \"text\": \"{REF}\",\n \"x\": -0.00912720000000089,\n \"y\": -0.1995035999999999\n },\n \"bottom1\": {\n \"type\": \"text\",\n \"text\": \"{VAL}\",\n \"x\": -0.17251720000000148,\n \"y\": 0.27233090000000004\n }\n },\n \"refblocks\": {\n \"left1\": {\n \"x\": -0.5354181000000011,\n \"y\": -0.0030468999999992974\n },\n \"right1\": {\n \"x\": 0.5336915999999992,\n \"y\": 0.0011575000000014768\n }\n },\n \"bounds\": {\n \"minX\": -0.529167000000001,\n \"maxX\": 0.5291669999999993,\n \"minY\": -0.13229169999999968,\n \"maxY\": 0.13229169999999968,\n \"width\": 1.0583340000000003,\n \"height\": 0.26458339999999936,\n \"centerX\": -8.881784197001252e-16,\n \"centerY\": 0\n }\n}","import svgJson from \"assets/generated/fuse.json\"\nimport { defineSymbol } from \"drawing/defineSymbol\"\n\nconst { paths, texts, bounds, refblocks } = svgJson\n\nexport default defineSymbol({\n primitives: [\n ...Object.values(paths),\n { ...texts.top1, anchor: \"middle_bottom\" },\n {\n type: \"text\",\n text: \"{VAL}\",\n x: 0,\n y: 0.2,\n anchor: \"middle_top\",\n },\n ] as any,\n ports: [\n { ...refblocks.left1, labels: [\"1\"] }, // TODO add more \"standard\" labels\n { ...refblocks.right1, labels: [\"2\"] }, // TODO add more \"standard\" labels\n ],\n size: { width: bounds.width, height: bounds.height },\n center: { x: bounds.centerX, y: bounds.centerY },\n})\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport fuse_horz from \"./fuse_horz\"\n\nexport default rotateSymbol(fuse_horz)\n","{\n \"paths\": {\n \"path45\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.13537969999999966,\n \"y\": 0.09743664999999524\n },\n {\n \"x\": -0.1292036000000003,\n \"y\": 0.22972834999999847\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path1-8\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.12715889999999996,\n \"y\": 0.09766044999999579\n },\n {\n \"x\": 0.5260786,\n \"y\": 0.09766044999999579\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path46\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": -0.1292036000000003,\n \"y\": -0.03485505000000444\n },\n {\n \"x\": 0.13537969999999966,\n \"y\": 0.09743664999999524\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path47\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": -0.1292036000000003,\n \"y\": 0.22972834999999847\n },\n {\n \"x\": -0.1292036000000003,\n \"y\": -0.03485505000000444\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path48\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.13537969999999966,\n \"y\": -0.03485505000000444\n },\n {\n \"x\": 0.13537969999999966,\n \"y\": 0.22972834999999847\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path49\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": -0.13124740000000035,\n \"y\": 0.09743664999999524\n },\n {\n \"x\": -0.5260786000000004,\n \"y\": 0.09743664999999524\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path25\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": -0.15622170000000057,\n \"y\": -0.19171255000000187\n },\n {\n \"x\": -0.25356400000000034,\n \"y\": -0.20859175000000363\n },\n {\n \"x\": -0.2192612000000005,\n \"y\": -0.11582895000000448\n }\n ],\n \"color\": \"primary\",\n \"fill\": true\n },\n \"path78\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": -0.08048230000000034,\n \"y\": -0.07216775000000197\n },\n {\n \"x\": -0.09250580000000008,\n \"y\": -0.0811007500000045\n },\n {\n \"x\": -0.21426230000000057,\n \"y\": -0.17155655000000536\n },\n {\n \"x\": -0.21489230000000026,\n \"y\": -0.17250655000000492\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path25-0\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.021244599999999725,\n \"y\": -0.21284915000000026\n },\n {\n \"x\": -0.07609770000000049,\n \"y\": -0.22972835000000202\n },\n {\n \"x\": -0.04179490000000019,\n \"y\": -0.13696555000000288\n }\n ],\n \"color\": \"primary\",\n \"fill\": true\n },\n \"path78-6\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.09698399999999996,\n \"y\": -0.09330435000000037\n },\n {\n \"x\": 0.08496049999999977,\n \"y\": -0.10223735000000289\n },\n {\n \"x\": -0.03679600000000027,\n \"y\": -0.19269315000000375\n },\n {\n \"x\": -0.0374260000000004,\n \"y\": -0.19364315000000332\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n }\n },\n \"texts\": {\n \"bottom1\": {\n \"type\": \"text\",\n \"text\": \"{VAL}\",\n \"x\": -0.130039500000000423,\n \"y\": 0.3072088499999944\n },\n \"right1\": {\n \"type\": \"text\",\n \"text\": \"{REF}\",\n \"x\": 0.15,\n \"y\": -0.1\n }\n },\n \"refblocks\": {\n \"left1\": {\n \"x\": -0.5366871000000006,\n \"y\": 0.09817314999999738\n },\n \"right1\": {\n \"x\": 0.5357314999999994,\n \"y\": 0.09862664999999993\n }\n },\n \"bounds\": {\n \"minX\": -0.5260786000000004,\n \"maxX\": 0.5260786,\n \"minY\": -0.22972835000000202,\n \"maxY\": 0.22972834999999847,\n \"width\": 1.0521572000000003,\n \"height\": 0.4594567000000005,\n \"centerX\": -2.220446049250313e-16,\n \"centerY\": -1.7763568394002505e-15\n }\n}","import svgJson from \"assets/generated/led.json\"\nimport { defineSymbol } from \"drawing/defineSymbol\"\n\nconst { paths, texts, bounds, refblocks } = svgJson\n\nexport default defineSymbol({\n primitives: [\n ...Object.values(paths),\n { ...texts.bottom1, anchor: \"middle_right\" },\n { ...texts.right1, anchor: \"middle_left\" },\n ] as any,\n ports: [\n { ...refblocks.left1, labels: [\"1\", \"anode\", \"pos\"] },\n { ...refblocks.right1, labels: [\"2\", \"cathode\", \"neg\"] },\n ],\n size: { width: bounds.width, height: bounds.height },\n center: { x: bounds.centerX, y: bounds.centerY + 0.1 },\n})\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport led_horz from \"./led_horz\"\nimport type { TextPrimitive } from \"drawing\"\n\nconst rotated = rotateSymbol(led_horz)\n\nconst ref = rotated.primitives.find(\n (p) => p.type === \"text\" && p.text === \"{REF}\",\n)! as TextPrimitive\nconst val = rotated.primitives.find(\n (p) => p.type === \"text\" && p.text === \"{VAL}\",\n)! as TextPrimitive\n\nref.anchor = \"middle_left\"\nval.anchor = \"middle_right\"\n\nref.x += 0.1\nref.y += 0.017\nval.y = ref.y\nval.x = -0.3\n\nexport default rotated\n","{\n \"paths\": {\n \"path208\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.39687494999999995,\n \"y\": -0.13228999999999935\n },\n {\n \"x\": 0.5291666500000005,\n \"y\": 0.13229300000000066\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path209\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.26458325000000027,\n \"y\": 0.13229300000000066\n },\n {\n \"x\": 0.39687494999999995,\n \"y\": -0.13228999999999935\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path210\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.5291666500000005,\n \"y\": 0.13229300000000066\n },\n {\n \"x\": 0.26458325000000027,\n \"y\": 0.13229300000000066\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path211\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.26458325000000027,\n \"y\": -0.13228999999999935\n },\n {\n \"x\": 0.5291666500000005,\n \"y\": -0.13228999999999935\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path212\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.13229165000000087,\n \"y\": 0.39687499999999964\n },\n {\n \"x\": 0.39687494999999995,\n \"y\": 0.39687499999999964\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path213\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.39687494999999995,\n \"y\": -0.3968740000000004\n },\n {\n \"x\": 0.13229165000000087,\n \"y\": -0.3968740000000004\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path214\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.13229165000000087,\n \"y\": -0.529166\n },\n {\n \"x\": 0.13229165000000087,\n \"y\": -0.1852090000000004\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path215\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.13229165000000087,\n \"y\": 0.529166\n },\n {\n \"x\": 0.13229165000000087,\n \"y\": -9.999999992515995e-7\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path216\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.39687494999999995,\n \"y\": 0.39687563000000026\n },\n {\n \"x\": 0.39687494999999995,\n \"y\": -0.3968746999999997\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path217\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": -0.13229164999999998,\n \"y\": -0.2645850000000003\n },\n {\n \"x\": -0.13229164999999998,\n \"y\": 0.26458099999999973\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path218\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": -0.21166664999999885,\n \"y\": 0.264581999999999\n },\n {\n \"x\": -0.21166664999999885,\n \"y\": -0.26458399999999926\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path219\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": -0.5291666499999996,\n \"y\": 0.26458099999999973\n },\n {\n \"x\": -0.21166664999999885,\n \"y\": 0.264583\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path220\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": -0.13229164999999998,\n \"y\": 0.18520600000000087\n },\n {\n \"x\": 0.13229175000000026,\n \"y\": 0.18520600000000087\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path221\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": -0.13229164999999998,\n \"y\": -0.18520999999999965\n },\n {\n \"x\": 0.13229175000000026,\n \"y\": -0.18520999999999965\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path222\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": -0.05291665000000023,\n \"y\": -9.999999992515995e-7\n },\n {\n \"x\": 0.13229165000000087,\n \"y\": -9.999999992515995e-7\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n }\n },\n \"texts\": {\n \"right1\": {\n \"type\": \"text\",\n \"text\": \"{REF}\",\n \"x\": 0.5827374500000007,\n \"y\": -0.20929270999999972\n },\n \"right2\": {\n \"type\": \"text\",\n \"text\": \"{VAL}\",\n \"x\": 0.58412285,\n \"y\": -0.021192649999999702\n }\n },\n \"refblocks\": {\n \"top1\": {\n \"x\": 0.13275345000000005,\n \"y\": -0.5440228900000008\n },\n \"bottom1\": {\n \"x\": 0.13239525000000096,\n \"y\": 0.54252477\n },\n \"left1\": {\n \"x\": -0.5308188500000002,\n \"y\": 0.26564980000000027\n }\n },\n \"bounds\": {\n \"minX\": -0.5291666499999996,\n \"maxX\": 0.5291666500000005,\n \"minY\": -0.529166,\n \"maxY\": 0.529166,\n \"width\": 1.0583333000000001,\n \"height\": 1.058332,\n \"centerX\": 4.440892098500626e-16,\n \"centerY\": 0\n }\n}","import svgJson from \"assets/generated/mosfet_depletion_normally_on.json\"\nimport { defineSymbol } from \"drawing/defineSymbol\"\n\nconst { paths, texts, bounds, refblocks } = svgJson\n\nexport default defineSymbol({\n primitives: [\n ...Object.values(paths),\n { ...texts.right1, anchor: \"middle_left\" },\n { ...texts.right2, anchor: \"middle_left\" },\n ] as any,\n ports: [\n { ...refblocks.top1, labels: [\"1\"] }, // TODO add more \"standard\" labels\n { ...refblocks.bottom1, labels: [\"2\"] }, // TODO add more \"standard\" labels\n { ...refblocks.left1, labels: [\"3\"] }, // TODO add more \"standard\" labels\n ],\n size: { width: bounds.width + 0.4, height: bounds.height },\n center: { x: bounds.centerX + 0.2, y: bounds.centerY },\n})\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport mosfet_depletion_normally_on_horz from \"./mosfet_depletion_normally_on_horz\"\nimport type { TextPrimitive } from \"drawing\"\n\nconst rotated = rotateSymbol(mosfet_depletion_normally_on_horz)\n\nconst ref = rotated.primitives.find(\n (p) => p.type === \"text\" && p.text === \"{REF}\",\n)! as TextPrimitive\nconst val = rotated.primitives.find(\n (p) => p.type === \"text\" && p.text === \"{VAL}\",\n)! as TextPrimitive\n\nref.anchor = \"middle_top\"\nval.anchor = \"middle_top\"\n\nref.x = val.x\n\nval.y += 0.15\n\nexport default rotated\n","{\n \"paths\": {\n \"path11\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": -0.5307178000000009,\n \"y\": 0.15879225000000008\n },\n {\n \"x\": -0.15214840000000018,\n \"y\": 0.1614152499999999\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path40\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.12898409999999938,\n \"y\": 0.14773104999999975\n },\n {\n \"x\": -0.13559890000000085,\n \"y\": 0.28002274999999943\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path41\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": -0.13559890000000085,\n \"y\": 0.015439350000000074\n },\n {\n \"x\": 0.12898409999999938,\n \"y\": 0.14773104999999975\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path42\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": -0.13559890000000085,\n \"y\": 0.2800227500000001\n },\n {\n \"x\": -0.13559890000000085,\n \"y\": 0.015439350000000074\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path43\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.12898409999999938,\n \"y\": 0.015439350000000074\n },\n {\n \"x\": 0.12898409999999938,\n \"y\": 0.2800227500000001\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path12\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.13259069999999995,\n \"y\": 0.14829984999999968\n },\n {\n \"x\": 0.5307178000000006,\n \"y\": 0.1587922499999994\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path25-0\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.19516320000000031,\n \"y\": -0.22938755000000044\n },\n {\n \"x\": 0.15939019999999982,\n \"y\": -0.13729605000000022\n },\n {\n \"x\": 0.2571001999999991,\n \"y\": -0.1526013500000003\n }\n ],\n \"color\": \"primary\",\n \"fill\": true\n },\n \"path78-6\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.32731219999999994,\n \"y\": -0.2800227500000003\n },\n {\n \"x\": 0.3161811999999997,\n \"y\": -0.2700010500000003\n },\n {\n \"x\": 0.20345820000000003,\n \"y\": -0.1685088500000005\n },\n {\n \"x\": 0.2024082000000007,\n \"y\": -0.16810885000000053\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path25-0-9\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.3425051999999993,\n \"y\": -0.20294964999999987\n },\n {\n \"x\": 0.306732199999999,\n \"y\": -0.11085814999999966\n },\n {\n \"x\": 0.4044417999999992,\n \"y\": -0.12616344999999973\n }\n ],\n \"color\": \"primary\",\n \"fill\": true\n },\n \"path78-6-5\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.4746538,\n \"y\": -0.25358484999999975\n },\n {\n \"x\": 0.4635227999999998,\n \"y\": -0.24356314999999973\n },\n {\n \"x\": 0.3507997999999999,\n \"y\": -0.14207094999999992\n },\n {\n \"x\": 0.34974980000000055,\n \"y\": -0.14167095000000018\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n }\n },\n \"texts\": {\n \"top1\": {\n \"type\": \"text\",\n \"text\": \"{REF}\",\n \"x\": -0.17652089999999987,\n \"y\": -0.20318344999999938\n },\n \"bottom1\": {\n \"type\": \"text\",\n \"text\": \"{VAL}\",\n \"x\": -0.00984920000000078,\n \"y\": 0.5911418500000005\n }\n },\n \"refblocks\": {\n \"left1\": {\n \"x\": -0.5446331000000002,\n \"y\": 0.15964505000000062\n },\n \"right1\": {\n \"x\": 0.5381637999999995,\n \"y\": 0.15864865000000083\n }\n },\n \"bounds\": {\n \"minX\": -0.5307178000000009,\n \"maxX\": 0.5307178000000006,\n \"minY\": -0.2800227500000003,\n \"maxY\": 0.2800227500000001,\n \"width\": 1.0614356000000016,\n \"height\": 1,\n \"centerX\": -1.6653345369377348e-16,\n \"centerY\": -1.1102230246251565e-16\n },\n \"circles\": {\n \"path1\": {\n \"type\": \"circle\",\n \"x\": -0.006997300000000539,\n \"y\": 0.15166395000000055,\n \"radius\": 0.28854213,\n \"color\": \"primary\",\n \"fill\": false\n }\n }\n}","import { defineSymbol } from \"drawing/defineSymbol\"\nimport svgJson from \"assets/generated/photodiode.json\"\nimport { TextPrimitive } from \"drawing/types\"\n\nconst { paths, texts, bounds, refblocks, circles } = svgJson\n\nexport default defineSymbol({\n primitives: [\n ...Object.values(paths),\n ...Object.values(circles),\n {\n type: \"text\",\n text: \"{REF}\",\n x: -0.15,\n y: -0.20318344999999938,\n anchor: \"middle_right\",\n } as TextPrimitive,\n {\n type: \"text\",\n text: \"{VAL}\",\n x: -0.00984920000000078,\n y: 0.5,\n anchor: \"middle_top\",\n } as TextPrimitive,\n ] as any,\n ports: [\n { ...refblocks.left1, labels: [\"1\"] }, // TODO add more \"standard\" labels\n { ...refblocks.right1, labels: [\"2\"] }, // TODO add more \"standard\" labels\n ],\n size: { width: bounds.width, height: bounds.height },\n center: { x: bounds.centerX, y: bounds.centerY },\n})\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport photodiode_horz from \"./photodiode_horz\"\n\nconst rotatedSymbol = rotateSymbol(photodiode_horz)\n\nconst texts = rotatedSymbol.primitives.filter((p) => p.type === \"text\")\n\nconst ref = texts.find((t) => t.text === \"{REF}\")!\n\nref.y = 0\nref.anchor = \"middle_left\"\n\nexport default rotatedSymbol\n","{\n \"paths\": {\n \"path11\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": -0.5291669499999998,\n \"y\": 0.14345965000000027\n },\n {\n \"x\": -0.2645836500000003,\n \"y\": 0.14345965000000027\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path12\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.26458334999999944,\n \"y\": 0.14345965000000027\n },\n {\n \"x\": 0.5291669499999998,\n \"y\": 0.14345965000000027\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path13\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.0000012499999997306332,\n \"y\": 0.01116785000000009\n },\n {\n \"x\": 0.26458424999999997,\n \"y\": 0.01116785000000009\n },\n {\n \"x\": 0.26458424999999997,\n \"y\": 0.2757512500000001\n },\n {\n \"x\": -0.26458274999999953,\n \"y\": 0.2757512500000001\n },\n {\n \"x\": -0.26458274999999953,\n \"y\": 0.01116785000000009\n },\n {\n \"x\": 0.0000012500000010629009,\n \"y\": 0.01116785000000009\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path15\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.06517084999999967,\n \"y\": -0.10588935\n },\n {\n \"x\": -0.06529785000000032,\n \"y\": -0.10588935\n },\n {\n \"x\": -0.00006345000000052003,\n \"y\": 0.00700125000000007\n }\n ],\n \"color\": \"primary\",\n \"fill\": true\n },\n \"path17\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.00025875000000041837,\n \"y\": -0.2757512500000001\n },\n {\n \"x\": 0.00025875000000041837,\n \"y\": -0.060545250000000106\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n }\n },\n \"texts\": {\n \"bottom1\": {\n \"type\": \"text\",\n \"text\": \"{VAL}\",\n \"x\": -0.007583050000000924,\n \"y\": 0.4315381500000006\n },\n \"right1\": {\n \"type\": \"text\",\n \"text\": \"{REF}\",\n \"x\": 0.12478014999999942,\n \"y\": -0.09260654999999884\n }\n },\n \"refblocks\": {\n \"left1\": {\n \"x\": -0.5449899500000002,\n \"y\": 0.1443124500000008\n },\n \"right1\": {\n \"x\": 0.5378069499999996,\n \"y\": 0.14331605000000103\n }\n },\n \"bounds\": {\n \"minX\": -0.5291669499999998,\n \"maxX\": 0.5291669499999998,\n \"minY\": -0.2757512500000001,\n \"maxY\": 0.2757512500000001,\n \"width\": 1.0583338999999996,\n \"height\": 0.5515025000000002,\n \"centerX\": 0,\n \"centerY\": 0\n }\n}","import svgJson from \"assets/generated/potentiometer.json\"\nimport { defineSymbol } from \"drawing/defineSymbol\"\n\nconst { paths, texts, bounds, refblocks } = svgJson\n\nexport default defineSymbol({\n primitives: [\n ...Object.values(paths),\n { ...texts.bottom1, y: 0.35, anchor: \"middle_top\" },\n { ...texts.right1, anchor: \"middle_left\" },\n ] as any,\n ports: [\n { ...refblocks.left1, labels: [\"1\"] }, // TODO add more \"standard\" labels\n { ...refblocks.right1, labels: [\"2\"] }, // TODO add more \"standard\" labels\n ],\n size: { width: bounds.width + 0.05, height: bounds.height },\n center: { x: bounds.centerX, y: bounds.centerY },\n})\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport potentiometer_horz from \"./potentiometer_horz\"\n\nconst rotated = rotateSymbol(potentiometer_horz)\n\nexport default rotated\n","{\n \"paths\": {\n \"path18\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": -0.5291669499999998,\n \"y\": 0.0008545000000008685\n },\n {\n \"x\": -0.26458365000000006,\n \"y\": 0.0008545000000008685\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path19\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.26458334999999966,\n \"y\": 0.0008545000000008685\n },\n {\n \"x\": 0.5291669499999996,\n \"y\": 0.0008545000000008685\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path20\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.0000012499999995085886,\n \"y\": -0.1314371999999988\n },\n {\n \"x\": 0.26458424999999997,\n \"y\": -0.1314371999999988\n },\n {\n \"x\": 0.26458424999999997,\n \"y\": 0.13314619999999877\n },\n {\n \"x\": -0.26458274999999976,\n \"y\": 0.13314619999999877\n },\n {\n \"x\": -0.26458274999999976,\n \"y\": -0.1314371999999988\n },\n {\n \"x\": 0.0000012500000012849455,\n \"y\": -0.1314371999999988\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path23\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.28137284999999945,\n \"y\": 0.2822274\n },\n {\n \"x\": 0.17906194999999903,\n \"y\": 0.25486950000000164\n },\n {\n \"x\": 0.2540149499999984,\n \"y\": 0.1799165000000027\n }\n ],\n \"color\": \"primary\",\n \"fill\": true\n },\n \"path24\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.29134274999999965,\n \"y\": 0.2921307000000013\n },\n {\n \"x\": 0.2577490499999997,\n \"y\": 0.16634940000000142\n },\n {\n \"x\": 0.16536614999999966,\n \"y\": 0.25853690000000284\n }\n ],\n \"color\": \"primary\",\n \"fill\": true\n },\n \"path26\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": -0.29551765000000074,\n \"y\": -0.2921307000000013\n },\n {\n \"x\": 0.23295514999999956,\n \"y\": 0.2328032000000011\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n }\n },\n \"texts\": {\n \"top1\": {\n \"type\": \"text\",\n \"text\": \"{REF}\",\n \"x\": -0.02811516999999933,\n \"y\": -0.2509376800000009\n },\n \"bottom1\": {\n \"type\": \"text\",\n \"text\": \"{VAL}\",\n \"x\": 0,\n \"y\": 0.25857531999999985\n }\n },\n \"refblocks\": {\n \"left1\": {\n \"x\": -0.5316179500000004,\n \"y\": 0.0013439000000019519\n },\n \"right1\": {\n \"x\": 0.5377649500000006,\n \"y\": 0.001956599999999753\n }\n },\n \"bounds\": {\n \"minX\": -0.5291669499999998,\n \"maxX\": 0.5291669499999996,\n \"minY\": -0.2921307000000013,\n \"maxY\": 0.2921307000000013,\n \"width\": 1.0583338999999994,\n \"height\": 0.5842614000000026,\n \"centerX\": -1.1102230246251565e-16,\n \"centerY\": 0\n }\n}","import svgJson from \"assets/generated/potentiometer2.json\"\nimport { defineSymbol } from \"drawing/defineSymbol\"\n\nconst { paths, texts, bounds, refblocks } = svgJson\n\nexport default defineSymbol({\n primitives: [\n ...Object.values(paths),\n { ...texts.bottom1, anchor: \"middle_right\" },\n { ...texts.top1, anchor: \"middle_left\" },\n ] as any,\n ports: [\n { ...refblocks.left1, labels: [\"1\"] }, // TODO add more \"standard\" labels\n { ...refblocks.right1, labels: [\"2\"] }, // TODO add more \"standard\" labels\n ],\n size: { width: bounds.width, height: bounds.height },\n center: { x: bounds.centerX, y: bounds.centerY },\n})\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport potentiometer2_horz from \"./potentiometer2_horz\"\n\nexport default rotateSymbol(potentiometer2_horz)\n","{\n \"paths\": {\n \"path12-1-8-6-9\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.00978914999999958,\n \"y\": -0.06036500000000089\n },\n {\n \"x\": 0.00978914999999958,\n \"y\": 0.05484799999999801\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path12-1-5-6\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": -0.4877753500000006,\n \"y\": 0.036569000000000074\n },\n {\n \"x\": -0.17346905000000135,\n \"y\": 0.036569000000000074\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path12-1-8-0\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": -0.1755235500000003,\n \"y\": 0.060364999999999114\n },\n {\n \"x\": 0.19505664999999972,\n \"y\": 0.060364999999999114\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path12-1-0\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.19513044999999973,\n \"y\": 0.0361799999999981\n },\n {\n \"x\": 0.4877753499999997,\n \"y\": 0.0361799999999981\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n }\n },\n \"texts\": {\n \"top1\": {\n \"type\": \"text\",\n \"text\": \"{REF}\",\n \"x\": 0,\n \"y\": -0.24084600000000123\n },\n \"bottom1\": {\n \"type\": \"text\",\n \"text\": \"{VAL}\",\n \"x\": 0,\n \"y\": 0.2741959999999981\n }\n },\n \"refblocks\": {\n \"left1\": {\n \"x\": -0.4721668500000007,\n \"y\": 0.03654200000000074\n },\n \"right1\": {\n \"x\": 0.47143025000000005,\n \"y\": 0.036566999999999794\n }\n },\n \"bounds\": {\n \"minX\": -0.4877753500000006,\n \"maxX\": 0.4877753499999997,\n \"minY\": -0.06036500000000089,\n \"maxY\": 0.060364999999999114,\n \"width\": 0.9755507000000003,\n \"height\": 0.12073,\n \"centerX\": -4.440892098500626e-16,\n \"centerY\": -8.881784197001252e-16\n }\n}","import { defineSymbol } from \"drawing/defineSymbol\"\nimport svgJson from \"assets/generated/push_button_normally_closed_momentary.json\"\n\nconst { paths, texts, bounds, refblocks } = svgJson\n\nexport default defineSymbol({\n primitives: [\n ...Object.values(paths),\n { ...texts.top1, anchor: \"middle_bottom\" },\n { ...texts.bottom1, anchor: \"middle_top\" },\n ] as any,\n ports: [\n { ...refblocks.left1, labels: [\"1\"] }, // TODO add more \"standard\" labels\n { ...refblocks.right1, labels: [\"2\"] }, // TODO add more \"standard\" labels\n ],\n size: { width: bounds.width, height: bounds.height },\n center: { x: bounds.centerX, y: bounds.centerY },\n})\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport push_button_normally_closed_momentary_horz from \"./push_button_normally_closed_momentary_horz\"\nimport type { TextPrimitive } from \"drawing\"\n\nconst rotated = rotateSymbol(push_button_normally_closed_momentary_horz)\n\nconst ref = rotated.primitives.find(\n (p) => p.type === \"text\" && p.text === \"{REF}\",\n)! as TextPrimitive\nconst val = rotated.primitives.find(\n (p) => p.type === \"text\" && p.text === \"{VAL}\",\n)! as TextPrimitive\n\nref.anchor = \"middle_left\"\nval.anchor = \"middle_right\"\n\nref.x = ref.x - 0.03\nref.y = ref.y\n\nval.x = val.x\nval.y = 0\n\nexport default rotated\n","{\n \"paths\": {\n \"path12-1-8-6-9\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.005593950000001513,\n \"y\": -0.1021504999999987\n },\n {\n \"x\": 0.005593950000001513,\n \"y\": 0.014242499999999936\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path12-1-5-6\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": -0.4877753499999997,\n \"y\": 0.10215050000000225\n },\n {\n \"x\": -0.17346904999999957,\n \"y\": 0.10215050000000225\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path12-1-8-0\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": -0.16045524999999916,\n \"y\": 0.019816500000001014\n },\n {\n \"x\": 0.17160265000000052,\n \"y\": 0.019816500000001014\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path12-1-0\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.19513045000000062,\n \"y\": 0.10176150000000028\n },\n {\n \"x\": 0.4877753500000006,\n \"y\": 0.10176150000000028\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n }\n },\n \"texts\": {\n \"top1\": {\n \"type\": \"text\",\n \"text\": \"{REF}\",\n \"x\": 0,\n \"y\": -0.17395249999999862\n },\n \"bottom1\": {\n \"type\": \"text\",\n \"text\": \"{VAL}\",\n \"x\": 0,\n \"y\": 0.2752844999999997\n }\n },\n \"refblocks\": {\n \"left1\": {\n \"x\": -0.4721668499999989,\n \"y\": 0.10212350000000114\n },\n \"right1\": {\n \"x\": 0.47143025000000094,\n \"y\": 0.1021485000000002\n }\n },\n \"bounds\": {\n \"minX\": -0.4877753499999997,\n \"maxX\": 0.4877753500000006,\n \"minY\": -0.1021504999999987,\n \"maxY\": 0.10215050000000225,\n \"width\": 0.9755507000000003,\n \"height\": 0.20430100000000095,\n \"centerX\": 4.440892098500626e-16,\n \"centerY\": 1.7763568394002505e-15\n }\n}\n","import { defineSymbol } from \"drawing/defineSymbol\"\nimport svgJson from \"assets/generated/push_button_normally_open_momentary.json\"\n\nconst { paths, texts, bounds, refblocks } = svgJson\n\nexport default defineSymbol({\n primitives: [\n ...Object.values(paths),\n { ...texts.top1, anchor: \"middle_bottom\" },\n { ...texts.bottom1, anchor: \"middle_top\" },\n ] as any,\n ports: [\n { ...refblocks.left1, labels: [\"1\"] }, // TODO add more \"standard\" labels\n { ...refblocks.right1, labels: [\"2\"] }, // TODO add more \"standard\" labels\n ],\n size: { width: bounds.width, height: bounds.height },\n center: { x: bounds.centerX, y: bounds.centerY },\n})\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport push_button_normally_open_momentary_horz from \"./push_button_normally_open_momentary_horz\"\nimport type { TextPrimitive } from \"drawing\"\n\nconst rotated = rotateSymbol(push_button_normally_open_momentary_horz)\n\nconst ref = rotated.primitives.find(\n (p) => p.type === \"text\" && p.text === \"{REF}\",\n)! as TextPrimitive\nconst val = rotated.primitives.find(\n (p) => p.type === \"text\" && p.text === \"{VAL}\",\n)! as TextPrimitive\n\nref.anchor = \"middle_left\"\nval.anchor = \"middle_right\"\n\nref.x = ref.x + 0.1\nref.y = ref.y\n\nval.x = val.x\nval.y = 0\n\nexport default rotated\n","{\n \"paths\": {\n \"path40\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.14133375000000115,\n \"y\": 0.0006371999999998934\n },\n {\n \"x\": -0.12324954999999838,\n \"y\": 0.13292890000000046\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path41\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": -0.12324954999999971,\n \"y\": -0.13165450000000045\n },\n {\n \"x\": 0.1413337499999998,\n \"y\": 0.0006371999999998934\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path42\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": -0.12324954999999971,\n \"y\": 0.13292890000000046\n },\n {\n \"x\": -0.12324954999999971,\n \"y\": -0.1316544999999989\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path43\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.14027445000000127,\n \"y\": -0.13377310000000042\n },\n {\n \"x\": 0.14133345000000053,\n \"y\": 0.1329288999999989\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path44\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": -0.12545424999999977,\n \"y\": 0.0006371999999998934\n },\n {\n \"x\": -0.5201245499999998,\n \"y\": 0.0006371999999998934\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path44-0\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.5201245499999998,\n \"y\": 0.0007223999999994568\n },\n {\n \"x\": 0.1464164499999996,\n \"y\": 0.0007223999999994568\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path43-7\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.20429785000000056,\n \"y\": -0.13505779999999978\n },\n {\n \"x\": 0.14015525000000095,\n \"y\": -0.1339758000000002\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path43-7-9\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.20608895000000027,\n \"y\": -0.08549420000000074\n },\n {\n \"x\": 0.2047149500000005,\n \"y\": -0.13482980000000122\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path43-7-2\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.0765343500000002,\n \"y\": 0.1349070999999995\n },\n {\n \"x\": 0.13988425000000015,\n \"y\": 0.1346870999999994\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path43-7-9-3\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.0743883500000011,\n \"y\": 0.0857221999999993\n },\n {\n \"x\": 0.07576235000000087,\n \"y\": 0.1350578\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n }\n },\n \"texts\": {\n \"top1\": {\n \"type\": \"text\",\n \"text\": \"{REF}\",\n \"x\": -0.00828064999999878,\n \"y\": -0.2291716000000008\n },\n \"bottom1\": {\n \"type\": \"text\",\n \"text\": \"{VAL}\",\n \"x\": -0.003367349999999103,\n \"y\": 0.31851899999999933\n }\n },\n \"refblocks\": {\n \"left1\": {\n \"x\": -0.5224026499999993,\n \"y\": -0.0002470999999999446\n },\n \"right1\": {\n \"x\": 0.5158915500000005,\n \"y\": 0.0007775999999992678\n }\n },\n \"bounds\": {\n \"minX\": -0.5201245499999998,\n \"maxX\": 0.5201245499999998,\n \"minY\": -0.13505779999999978,\n \"maxY\": 0.1350578,\n \"width\": 1.0402490999999996,\n \"height\": 1,\n \"centerX\": 0,\n \"centerY\": 1.1102230246251565e-16\n },\n \"circles\": {}\n}","import { defineSymbol } from \"drawing/defineSymbol\"\nimport svgJson from \"assets/generated/schottky_diode.json\"\n\nconst { paths, texts, bounds, refblocks, circles } = svgJson\n\nexport default defineSymbol({\n primitives: [\n ...Object.values(paths),\n ...Object.values(circles),\n { ...texts.top1, anchor: \"middle_bottom\" },\n { ...texts.bottom1, anchor: \"middle_top\" },\n ] as any,\n ports: [\n { ...refblocks.left1, labels: [\"1\"] }, // TODO add more \"standard\" labels\n { ...refblocks.right1, labels: [\"2\"] }, // TODO add more \"standard\" labels\n ],\n size: { width: bounds.width, height: bounds.height },\n center: { x: bounds.centerX, y: bounds.centerY },\n})\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport schottky_diode_horz from \"./schottky_diode_horz\"\n\nimport type { TextPrimitive } from \"drawing\"\n\nconst rotated = rotateSymbol(schottky_diode_horz)\n\nconst ref = rotated.primitives.find(\n (p) => p.type === \"text\" && p.text === \"{REF}\",\n)! as TextPrimitive\nconst val = rotated.primitives.find(\n (p) => p.type === \"text\" && p.text === \"{VAL}\",\n)! as TextPrimitive\n\nref.anchor = \"middle_left\"\nval.anchor = \"middle_right\"\n\nexport default rotated\n","{\n \"paths\": {\n \"path40\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.1413337499999996,\n \"y\": -0.00041674999999941065\n },\n {\n \"x\": -0.12324954999999993,\n \"y\": 0.13187495000000093\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path41\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": -0.12324954999999993,\n \"y\": -0.13270844999999976\n },\n {\n \"x\": 0.1413337499999996,\n \"y\": -0.00041674999999941065\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path42\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": -0.12324954999999993,\n \"y\": 0.1318749499999996\n },\n {\n \"x\": -0.12324954999999993,\n \"y\": -0.13270844999999976\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path43\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.1413337499999996,\n \"y\": -0.13270844999999976\n },\n {\n \"x\": 0.1413337499999996,\n \"y\": 0.1318749499999996\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path44\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": -0.12545425,\n \"y\": -0.00041674999999941065\n },\n {\n \"x\": -0.52012455,\n \"y\": -0.00041674999999941065\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path44-0\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.5201245499999998,\n \"y\": -0.00033154999999984724\n },\n {\n \"x\": 0.14641644999999937,\n \"y\": -0.00033154999999984724\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path43-8\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.1401360499999995,\n \"y\": -0.13319134999999993\n },\n {\n \"x\": 0.07403164999999912,\n \"y\": -0.13270134999999916\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path43-8-8\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.14135174999999967,\n \"y\": 0.13270134999999939\n },\n {\n \"x\": 0.07524734999999927,\n \"y\": 0.13319134999999993\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n }\n },\n \"texts\": {\n \"top1\": {\n \"type\": \"text\",\n \"text\": \"{REF}\",\n \"x\": -0.0082802500000001,\n \"y\": -0.23022574999999956\n },\n \"bottom1\": {\n \"type\": \"text\",\n \"text\": \"{VAL}\",\n \"x\": -0.0033669500000002017,\n \"y\": 0.31746485000000035\n }\n },\n \"refblocks\": {\n \"left1\": {\n \"x\": -0.5224022500000005,\n \"y\": -0.0013011500000004173\n },\n \"right1\": {\n \"x\": 0.5158919499999994,\n \"y\": -0.00027654999999948693\n }\n },\n \"bounds\": {\n \"minX\": -0.52012455,\n \"maxX\": 0.5201245499999998,\n \"minY\": -0.13319134999999993,\n \"maxY\": 0.13319134999999993,\n \"width\": 1.0402490999999998,\n \"height\": 1,\n \"centerX\": -1.1102230246251565e-16,\n \"centerY\": 0\n },\n \"circles\": {}\n}","import { defineSymbol } from \"drawing/defineSymbol\"\nimport svgJson from \"assets/generated/tunnel_diode.json\"\n\nconst { paths, texts, bounds, refblocks, circles } = svgJson\n\nexport default defineSymbol({\n primitives: [\n ...Object.values(paths),\n ...Object.values(circles),\n { ...texts.top1, anchor: \"middle_bottom\" },\n { ...texts.bottom1, anchor: \"middle_top\" },\n ] as any,\n ports: [\n { ...refblocks.left1, labels: [\"1\"] }, // TODO add more \"standard\" labels\n { ...refblocks.right1, labels: [\"2\"] }, // TODO add more \"standard\" labels\n ],\n size: { width: bounds.width, height: bounds.height },\n center: { x: bounds.centerX, y: bounds.centerY },\n})\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport tunnel_diode_horz from \"./tunnel_diode_horz\"\n\nimport type { TextPrimitive } from \"drawing\"\n\nconst rotated = rotateSymbol(tunnel_diode_horz)\n\nconst ref = rotated.primitives.find(\n (p) => p.type === \"text\" && p.text === \"{REF}\",\n)! as TextPrimitive\nconst val = rotated.primitives.find(\n (p) => p.type === \"text\" && p.text === \"{VAL}\",\n)! as TextPrimitive\n\nref.anchor = \"middle_left\"\nval.anchor = \"middle_right\"\n\nexport default rotated\n","{\n \"paths\": {\n \"path40\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.08035965000000034,\n \"y\": -0.0017977999999994054\n },\n {\n \"x\": -0.18422364999999918,\n \"y\": 0.13049390000000116\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path41\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": -0.18422365000000052,\n \"y\": -0.13408949999999975\n },\n {\n \"x\": 0.080359649999999,\n \"y\": -0.0017977999999994054\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path42\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": -0.18422365000000052,\n \"y\": 0.13049390000000116\n },\n {\n \"x\": -0.18422365000000052,\n \"y\": -0.1340894999999982\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path43\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.09188504999999969,\n \"y\": -0.1326124999999998\n },\n {\n \"x\": 0.09294404999999917,\n \"y\": 0.13408949999999953\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path44\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": -0.1984993499999994,\n \"y\": -0.0017977999999994054\n },\n {\n \"x\": -0.5222461500000002,\n \"y\": -0.0017977999999994054\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path44-0\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.5222461500000002,\n \"y\": -0.001712599999999842\n },\n {\n \"x\": 0.20220525000000067,\n \"y\": -0.001712599999999842\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path43-6\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.18242454999999969,\n \"y\": -0.13264619999999994\n },\n {\n \"x\": 0.18348354999999894,\n \"y\": 0.1340557999999994\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n }\n },\n \"texts\": {\n \"top1\": {\n \"type\": \"text\",\n \"text\": \"{REF}\",\n \"x\": -0.008090549999999253,\n \"y\": -0.2316066000000001\n },\n \"bottom1\": {\n \"type\": \"text\",\n \"text\": \"{VAL}\",\n \"x\": -0.0031772499999995762,\n \"y\": 0.31608400000000003\n }\n },\n \"refblocks\": {\n \"left1\": {\n \"x\": -0.5222125499999998,\n \"y\": -0.0026820999999992434\n },\n \"right1\": {\n \"x\": 0.5160816500000001,\n \"y\": -0.001657400000000031\n }\n },\n \"bounds\": {\n \"minX\": -0.5222461500000002,\n \"maxX\": 0.5222461500000002,\n \"minY\": -0.13408949999999975,\n \"maxY\": 0.13408949999999953,\n \"width\": 1.0444923000000004,\n \"height\": 1,\n \"centerX\": 0,\n \"centerY\": -1.1102230246251565e-16\n },\n \"circles\": {}\n}","import { defineSymbol } from \"drawing/defineSymbol\"\nimport svgJson from \"assets/generated/varactor_diode.json\"\n\nconst { paths, texts, bounds, refblocks, circles } = svgJson\n\nexport default defineSymbol({\n primitives: [\n ...Object.values(paths),\n ...Object.values(circles),\n { ...texts.top1, anchor: \"middle_bottom\" },\n { ...texts.bottom1, anchor: \"middle_top\" },\n ] as any,\n ports: [\n { ...refblocks.left1, labels: [\"1\"] }, // TODO add more \"standard\" labels\n { ...refblocks.right1, labels: [\"2\"] }, // TODO add more \"standard\" labels\n ],\n size: { width: bounds.width, height: bounds.height },\n center: { x: bounds.centerX, y: bounds.centerY },\n})\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport varactor_diode_horz from \"./varactor_diode_horz\"\n\nimport type { TextPrimitive } from \"drawing\"\n\nconst rotated = rotateSymbol(varactor_diode_horz)\n\nconst ref = rotated.primitives.find(\n (p) => p.type === \"text\" && p.text === \"{REF}\",\n)! as TextPrimitive\nconst val = rotated.primitives.find(\n (p) => p.type === \"text\" && p.text === \"{VAL}\",\n)! as TextPrimitive\n\nref.anchor = \"middle_left\"\nval.anchor = \"middle_right\"\n\nexport default rotated\n","{\n \"paths\": {\n \"path5\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": -0.5291668,\n \"y\": 0\n },\n {\n \"x\": -0.2645835000000005,\n \"y\": 0\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path6\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.2645835000000005,\n \"y\": 0\n },\n {\n \"x\": 0.5291668,\n \"y\": 0\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path7\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.2645835000000005,\n \"y\": 0.23812500000000192\n },\n {\n \"x\": -0.2645834999999992,\n \"y\": -0.23812500000000014\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path8\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.3704165000000006,\n \"y\": 0.23812500000000192\n },\n {\n \"x\": 0.2645835000000005,\n \"y\": 0.23812500000000192\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path9\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.000001400000000817414,\n \"y\": -0.13229179999999907\n },\n {\n \"x\": 0.2645844000000013,\n \"y\": -0.13229179999999907\n },\n {\n \"x\": 0.2645844000000013,\n \"y\": 0.13229160000000206\n },\n {\n \"x\": -0.26458259999999845,\n \"y\": 0.13229160000000206\n },\n {\n \"x\": -0.26458259999999845,\n \"y\": -0.13229179999999907\n },\n {\n \"x\": 0.0000014000000021496817,\n \"y\": -0.13229179999999907\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n }\n },\n \"texts\": {\n \"top1\": {\n \"type\": \"text\",\n \"text\": \"{REF}\",\n \"x\": 0,\n \"y\": -0.2470063999999983\n },\n \"bottom1\": {\n \"type\": \"text\",\n \"text\": \"{VAL}\",\n \"x\": 0,\n \"y\": 0.256324600000001\n }\n },\n \"refblocks\": {\n \"left1\": {\n \"x\": -0.5438152999999999,\n \"y\": 0.0016897000000017925\n },\n \"right1\": {\n \"x\": 0.5346478000000006,\n \"y\": -0.0006806999999984242\n }\n },\n \"bounds\": {\n \"minX\": -0.5291668,\n \"maxX\": 0.5291668,\n \"minY\": -0.23812500000000014,\n \"maxY\": 0.23812500000000192,\n \"width\": 1.0583336,\n \"height\": 0.47625000000000206,\n \"centerX\": 0,\n \"centerY\": 8.881784197001252e-16\n }\n}","import svgJson from \"assets/generated/varistor.json\"\nimport { defineSymbol } from \"drawing/defineSymbol\"\n\nconst { paths, texts, bounds, refblocks } = svgJson\n\nexport default defineSymbol({\n primitives: [\n ...Object.values(paths),\n { ...texts.top1, anchor: \"middle_left\" },\n { ...texts.bottom1, anchor: \"middle_right\" },\n ] as any,\n ports: [\n {\n ...refblocks.left1,\n labels: [\"1\", \"-\"],\n },\n {\n ...refblocks.right1,\n labels: [\"2\", \"+\"],\n },\n ],\n size: { width: bounds.width, height: bounds.height }, //{ width: 1, height: 0.24 },\n center: { x: bounds.centerX, y: bounds.centerY },\n})\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport varistor_horz from \"./varistor_horz\"\n\nexport default rotateSymbol(varistor_horz, {})\n","{\n \"paths\": {\n \"path11\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": -0.5307178,\n \"y\": 0.002520349999999949\n },\n {\n \"x\": -0.3042887999999997,\n \"y\": 0.002520349999999949\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path11-5-5\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.09442299999999992,\n \"y\": -0.0957435499999999\n },\n {\n \"x\": -0.004364400000000712,\n \"y\": 0.0957435499999999\n },\n {\n \"x\": -0.1110211000000012,\n \"y\": -0.0957435499999999\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path12\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.2899773000000003,\n \"y\": 0.002520349999999949\n },\n {\n \"x\": 0.5307178000000001,\n \"y\": 0.002520349999999949\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n }\n },\n \"texts\": {\n \"top1\": {\n \"type\": \"text\",\n \"text\": \"{REF}\",\n \"x\": -0.17652089999999898,\n \"y\": -0.3594553499999995\n },\n \"bottom1\": {\n \"type\": \"text\",\n \"text\": \"{VAL}\",\n \"x\": -0.009849199999999891,\n \"y\": 0.4348699500000004\n }\n },\n \"refblocks\": {\n \"left1\": {\n \"x\": -0.5446330999999993,\n \"y\": 0.003373150000000491\n },\n \"right1\": {\n \"x\": 0.5381638000000004,\n \"y\": 0.0023767500000007047\n }\n },\n \"bounds\": {\n \"minX\": -0.5307178,\n \"maxX\": 0.5307178000000001,\n \"minY\": -0.0957435499999999,\n \"maxY\": 0.0957435499999999,\n \"width\": 1.0614356000000003,\n \"height\": 1,\n \"centerX\": 5.551115123125783e-17,\n \"centerY\": 0\n },\n \"circles\": {\n \"path1\": {\n \"type\": \"circle\",\n \"x\": -0.006997299999999651,\n \"y\": -0.004607949999999583,\n \"radius\": 0.28854213,\n \"color\": \"primary\",\n \"fill\": false\n }\n }\n}","import { defineSymbol } from \"drawing/defineSymbol\"\nimport svgJson from \"assets/generated/volt_meter.json\"\n\nconst { paths, texts, bounds, circles, refblocks } = svgJson\n\nexport default defineSymbol({\n primitives: [\n ...Object.values(paths),\n ...Object.values(circles),\n {\n type: \"text\",\n text: \"{REF}\",\n x: 0,\n y: -0.3594553499999995,\n anchor: \"middle_bottom\",\n },\n {\n type: \"text\",\n text: \"{VAL}\",\n x: 0,\n y: 0.35,\n anchor: \"middle_top\",\n },\n ] as any,\n ports: [\n { ...refblocks.left1, labels: [\"1\"] }, // TODO add more \"standard\" labels\n { ...refblocks.right1, labels: [\"2\"] }, // TODO add more \"standard\" labels\n ],\n size: { width: bounds.width, height: bounds.height },\n center: { x: bounds.centerX, y: bounds.centerY },\n})\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport volt_meter_horz from \"./volt_meter_horz\"\n\nexport default rotateSymbol(volt_meter_horz)\n","{\n \"paths\": {\n \"path40\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.1413337499999996,\n \"y\": 0.00024145000000008743\n },\n {\n \"x\": -0.12324954999999993,\n \"y\": 0.13253315000000043\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path41\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": -0.12324954999999993,\n \"y\": -0.13205025000000026\n },\n {\n \"x\": 0.1413337499999996,\n \"y\": 0.00024145000000008743\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path42\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": -0.12324954999999993,\n \"y\": 0.1325331499999991\n },\n {\n \"x\": -0.12324954999999993,\n \"y\": -0.13205025000000026\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path43\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.1413337499999996,\n \"y\": -0.13205025000000026\n },\n {\n \"x\": 0.1413337499999996,\n \"y\": 0.1325331499999991\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path44\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": -0.12545425,\n \"y\": 0.00024145000000008743\n },\n {\n \"x\": -0.52012455,\n \"y\": 0.00024145000000008743\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path44-0\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.5201245499999998,\n \"y\": 0.00032664999999965083\n },\n {\n \"x\": 0.14641644999999937,\n \"y\": 0.00032664999999965083\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n },\n \"path43-8\": {\n \"type\": \"path\",\n \"points\": [\n {\n \"x\": 0.1401360499999995,\n \"y\": -0.13253315000000043\n },\n {\n \"x\": 0.07403164999999912,\n \"y\": -0.13204314999999966\n }\n ],\n \"color\": \"primary\",\n \"fill\": false\n }\n },\n \"texts\": {\n \"top1\": {\n \"type\": \"text\",\n \"text\": \"{REF}\",\n \"x\": -0.0082802500000001,\n \"y\": -0.22956755000000006\n },\n \"bottom1\": {\n \"type\": \"text\",\n \"text\": \"{VAL}\",\n \"x\": -0.0033669500000002017,\n \"y\": 0.31812304999999985\n }\n },\n \"refblocks\": {\n \"left1\": {\n \"x\": -0.5224022500000005,\n \"y\": -0.0006429500000009192\n },\n \"right1\": {\n \"x\": 0.5158919499999994,\n \"y\": 0.00038165000000001115\n }\n },\n \"bounds\": {\n \"minX\": -0.52012455,\n \"maxX\": 0.5201245499999998,\n \"minY\": -0.13253315000000043,\n \"maxY\": 0.13253315000000043,\n \"width\": 1.0402490999999998,\n \"height\": 1,\n \"centerX\": -1.1102230246251565e-16,\n \"centerY\": 0\n },\n \"circles\": {}\n}","import { defineSymbol } from \"drawing/defineSymbol\"\nimport svgJson from \"assets/generated/zener_diode.json\"\n\nconst { paths, texts, bounds, refblocks, circles } = svgJson\n\nexport default defineSymbol({\n primitives: [\n ...Object.values(paths),\n ...Object.values(circles),\n { ...texts.top1, anchor: \"middle_bottom\" },\n { ...texts.bottom1, anchor: \"middle_top\" },\n ] as any,\n ports: [\n { ...refblocks.left1, labels: [\"1\"] }, // TODO add more \"standard\" labels\n { ...refblocks.right1, labels: [\"2\"] }, // TODO add more \"standard\" labels\n ],\n size: { width: bounds.width, height: bounds.height },\n center: { x: bounds.centerX, y: bounds.centerY },\n})\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport zener_diode_horz from \"./zener_diode_horz\"\n\nimport type { TextPrimitive } from \"drawing\"\n\nconst rotated = rotateSymbol(zener_diode_horz)\nconst ref = rotated.primitives.find(\n (p) => p.type === \"text\" && p.text === \"{REF}\",\n)! as TextPrimitive\nconst val = rotated.primitives.find(\n (p) => p.type === \"text\" && p.text === \"{VAL}\",\n)! as TextPrimitive\n\nref.anchor = \"middle_left\"\nval.anchor = \"middle_right\"\n\nexport default rotated\n","import _avalanche_diode_horz from \"./../symbols/avalanche_diode_horz\"\nimport _avalanche_diode_vert from \"./../symbols/avalanche_diode_vert\"\nimport _boxresistor_horz from \"./../symbols/boxresistor_horz\"\nimport _boxresistor_vert from \"./../symbols/boxresistor_vert\"\nimport _capacitor_horz from \"./../symbols/capacitor_horz\"\nimport _capacitor_vert from \"./../symbols/capacitor_vert\"\nimport _diode_horz from \"./../symbols/diode_horz\"\nimport _diode_vert from \"./../symbols/diode_vert\"\nimport _fuse_horz from \"./../symbols/fuse_horz\"\nimport _fuse_vert from \"./../symbols/fuse_vert\"\nimport _led_horz from \"./../symbols/led_horz\"\nimport _led_vert from \"./../symbols/led_vert\"\nimport _mosfet_depletion_normally_on_horz from \"./../symbols/mosfet_depletion_normally_on_horz\"\nimport _mosfet_depletion_normally_on_vert from \"./../symbols/mosfet_depletion_normally_on_vert\"\nimport _photodiode_horz from \"./../symbols/photodiode_horz\"\nimport _photodiode_vert from \"./../symbols/photodiode_vert\"\nimport _potentiometer_horz from \"./../symbols/potentiometer_horz\"\nimport _potentiometer_vert from \"./../symbols/potentiometer_vert\"\nimport _potentiometer2_horz from \"./../symbols/potentiometer2_horz\"\nimport _potentiometer2_vert from \"./../symbols/potentiometer2_vert\"\nimport _push_button_normally_closed_momentary_horz from \"./../symbols/push_button_normally_closed_momentary_horz\"\nimport _push_button_normally_closed_momentary_vert from \"./../symbols/push_button_normally_closed_momentary_vert\"\nimport _push_button_normally_open_momentary_horz from \"./../symbols/push_button_normally_open_momentary_horz\"\nimport _push_button_normally_open_momentary_vert from \"./../symbols/push_button_normally_open_momentary_vert\"\nimport _schottky_diode_horz from \"./../symbols/schottky_diode_horz\"\nimport _schottky_diode_vert from \"./../symbols/schottky_diode_vert\"\nimport _tunnel_diode_horz from \"./../symbols/tunnel_diode_horz\"\nimport _tunnel_diode_vert from \"./../symbols/tunnel_diode_vert\"\nimport _varactor_diode_horz from \"./../symbols/varactor_diode_horz\"\nimport _varactor_diode_vert from \"./../symbols/varactor_diode_vert\"\nimport _varistor_horz from \"./../symbols/varistor_horz\"\nimport _varistor_vert from \"./../symbols/varistor_vert\"\nimport _volt_meter_horz from \"./../symbols/volt_meter_horz\"\nimport _volt_meter_vert from \"./../symbols/volt_meter_vert\"\nimport _zener_diode_horz from \"./../symbols/zener_diode_horz\"\nimport _zener_diode_vert from \"./../symbols/zener_diode_vert\"\n\nexport default {\n \"avalanche_diode_horz\": _avalanche_diode_horz,\n \"avalanche_diode_vert\": _avalanche_diode_vert,\n \"boxresistor_horz\": _boxresistor_horz,\n \"boxresistor_vert\": _boxresistor_vert,\n \"capacitor_horz\": _capacitor_horz,\n \"capacitor_vert\": _capacitor_vert,\n \"diode_horz\": _diode_horz,\n \"diode_vert\": _diode_vert,\n \"fuse_horz\": _fuse_horz,\n \"fuse_vert\": _fuse_vert,\n \"led_horz\": _led_horz,\n \"led_vert\": _led_vert,\n \"mosfet_depletion_normally_on_horz\": _mosfet_depletion_normally_on_horz,\n \"mosfet_depletion_normally_on_vert\": _mosfet_depletion_normally_on_vert,\n \"photodiode_horz\": _photodiode_horz,\n \"photodiode_vert\": _photodiode_vert,\n \"potentiometer_horz\": _potentiometer_horz,\n \"potentiometer_vert\": _potentiometer_vert,\n \"potentiometer2_horz\": _potentiometer2_horz,\n \"potentiometer2_vert\": _potentiometer2_vert,\n \"push_button_normally_closed_momentary_horz\": _push_button_normally_closed_momentary_horz,\n \"push_button_normally_closed_momentary_vert\": _push_button_normally_closed_momentary_vert,\n \"push_button_normally_open_momentary_horz\": _push_button_normally_open_momentary_horz,\n \"push_button_normally_open_momentary_vert\": _push_button_normally_open_momentary_vert,\n \"schottky_diode_horz\": _schottky_diode_horz,\n \"schottky_diode_vert\": _schottky_diode_vert,\n \"tunnel_diode_horz\": _tunnel_diode_horz,\n \"tunnel_diode_vert\": _tunnel_diode_vert,\n \"varactor_diode_horz\": _varactor_diode_horz,\n \"varactor_diode_vert\": _varactor_diode_vert,\n \"varistor_horz\": _varistor_horz,\n \"varistor_vert\": _varistor_vert,\n \"volt_meter_horz\": _volt_meter_horz,\n \"volt_meter_vert\": _volt_meter_vert,\n \"zener_diode_horz\": _zener_diode_horz,\n \"zener_diode_vert\": _zener_diode_vert\n}","export const mapColor = (color: string) => {\n switch (color) {\n case \"primary\":\n return \"black\"\n case \"secondary\":\n return \"gray\"\n default:\n return color\n }\n}\n","import type { Point } from \"drawing\"\n\nexport function pathToSvgD(points: Point[], closed: boolean = false): string {\n const pathCommands = points\n .map((point, index) => `${index === 0 ? \"M\" : \"L\"}${point.x},${point.y}`)\n .join(\" \")\n\n return closed ? `${pathCommands} Z` : pathCommands\n}\n","import { mapColor } from \"./mapColor\"\nimport { pathToSvgD } from \"./pathToSvgD\"\nimport type { Point, Port, SchSymbol, TextPrimitive } from \"./types\"\n\nfunction createDiamondElement(center: Point, size = 0.05): string {\n const { x, y } = center\n const halfSize = size / 2\n return `<path d=\"M ${x} ${y - halfSize} L ${x + halfSize} ${y} L ${x} ${\n y + halfSize\n } L ${x - halfSize} ${y} Z\" fill=\"green\" />`\n}\n\nfunction createTextElement(primitive: TextPrimitive): {\n text: string\n anchor: string\n} {\n const { x, y, text, fontSize = 0.1, anchor } = primitive\n let textAnchor: string\n const dx = 0\n let dy = 0\n\n const capHeight = fontSize * 0.75\n\n switch (anchor) {\n case \"top_left\":\n textAnchor = \"start\"\n dy = fontSize\n break\n case \"top_right\":\n textAnchor = \"end\"\n dy = fontSize\n break\n case \"bottom_left\":\n textAnchor = \"start\"\n break\n case \"bottom_right\":\n textAnchor = \"end\"\n break\n case \"center\":\n textAnchor = \"middle\"\n dy = fontSize / 2\n break\n case \"middle_top\":\n textAnchor = \"middle\"\n dy = capHeight\n break\n case \"middle_bottom\":\n textAnchor = \"middle\"\n break\n case \"middle_left\":\n textAnchor = \"start\"\n dy = capHeight / 2\n break\n case \"middle_right\":\n textAnchor = \"end\"\n dy = capHeight / 2\n break\n }\n\n return {\n text: `<text x=\"${x}\" y=\"${y}\" dx=\"${dx}\" dy=\"${dy}\" text-anchor=\"${textAnchor}\" style=\"font: ${\n fontSize ?? 0.1\n }px monospace; fill: ${mapColor(\"primary\")}\">${text}</text>`,\n anchor: `<rect x=\"${x - 0.025 / 2}\" y=\"${\n y - 0.025 / 2\n }\" width=\"0.025\" height=\"0.025\" fill=\"blue\" />`,\n }\n}\n\nfunction createPortElement(port: Port): string {\n const { x, y, labels } = port\n const rectSize = 0.05\n const labelFontSize = 0.08\n const label = labels[0] || \"\"\n\n return `\n <rect x=\"${x - rectSize / 2}\" y=\"${\n y - rectSize / 2\n }\" width=\"${rectSize}\" height=\"${rectSize}\" fill=\"red\" />\n <text x=\"${x - labelFontSize / 2}\" y=\"${\n y + rectSize + labelFontSize / 2\n }\" text-anchor=\"middle\" style=\"font: ${labelFontSize}px monospace; fill: #833;\">${label}</text>\n `\n}\n\nexport function getInnerSvg(\n symbol: SchSymbol,\n options: { width?: number; height?: number; debug?: boolean } = {},\n): string {\n const { debug = false } = options\n const { primitives, size, ports } = symbol\n const svgElements = primitives.map((primitive) => {\n switch (primitive.type) {\n case \"path\":\n return `<path d=\"${pathToSvgD(\n primitive.points,\n primitive.closed,\n )}\" fill=\"${\n primitive.fill ? mapColor(primitive.color) : \"none\"\n }\" stroke=\"${mapColor(\n primitive.color,\n )}\" stroke-width=\"0.02\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />`\n case \"text\":\n const textElements = createTextElement(primitive)\n return textElements.text + (debug ? textElements.anchor : \"\")\n case \"circle\":\n return `<circle cx=\"${primitive.x}\" cy=\"${primitive.y}\" r=\"${\n primitive.radius\n }\" fill=\"${primitive.fill ? mapColor(primitive.color) : \"none\"}\" ${\n !primitive.fill\n ? `stroke=\"${mapColor(primitive.color)}\" stroke-width=\"0.02\"`\n : \"\"\n } />`\n case \"box\":\n return `<rect x=\"${primitive.x}\" y=\"${primitive.y}\" width=\"${\n primitive.width\n }\" height=\"${primitive.height}\" fill=\"${mapColor(\"primary\")}\" />`\n default:\n return \"\"\n }\n })\n\n const portElements = ports.map(createPortElement).join(\"\\n \")\n\n const centerDiamond = createDiamondElement(symbol.center)\n\n return [svgElements.join(\"\\n \"), portElements, centerDiamond].join(\"\\n\")\n}\n\nexport function getSvg(\n symbol: SchSymbol,\n options: { width?: number; height?: number; debug?: boolean } = {},\n): string {\n const { size } = symbol\n const innerSvg = getInnerSvg(symbol, options)\n\n // Use the center and the size to calculate the viewBox\n const bufferMultiple = 1.2\n const w = size.width * bufferMultiple\n const h = size.height * bufferMultiple\n const viewBox = {\n x: symbol.center.x - w / 2,\n y: symbol.center.y - h / 2,\n width: w,\n height: h,\n }\n\n if (options.width && !options.height) {\n options.height = options.width! * (viewBox.height / viewBox.width)\n } else if (!options.width && options.height) {\n options.width = options.height! * (viewBox.width / viewBox.height)\n } else if (!options.width && !options.height) {\n options.width = viewBox.width\n options.height = viewBox.height\n }\n\n return `<svg width=\"${options.width}\" height=\"${options.height}\" viewBox=\"${viewBox.x} ${viewBox.y} ${viewBox.width} ${viewBox.height}\" xmlns=\"http://www.w3.org/2000/svg\">${innerSvg}</svg>`\n}\n","import type { SchSymbol } from \"./types\"\n\nexport function resizeSymbol(\n symbol: SchSymbol,\n newSize: { width?: number; height?: number },\n): SchSymbol {\n const { width: oldWidth, height: oldHeight } = symbol.size\n let scaleX = 1,\n scaleY = 1\n\n if (newSize.width && newSize.height) {\n scaleX = newSize.width / oldWidth\n scaleY = newSize.height / oldHeight\n } else if (newSize.width) {\n scaleX = scaleY = newSize.width / oldWidth\n } else if (newSize.height) {\n scaleX = scaleY = newSize.height / oldHeight\n }\n\n const resizedPrimitives = symbol.primitives.map((primitive) => {\n switch (primitive.type) {\n case \"path\":\n return {\n ...primitive,\n points: primitive.points.map((p) => ({\n x: p.x * scaleX,\n y: p.y * scaleY,\n })),\n }\n case \"text\":\n case \"circle\":\n return {\n ...primitive,\n x: primitive.x * scaleX,\n y: primitive.y * scaleY,\n }\n case \"box\":\n return {\n ...primitive,\n x: primitive.x * scaleX,\n y: primitive.y * scaleY,\n width: primitive.width * scaleX,\n height: primitive.height * scaleY,\n }\n default:\n return primitive\n }\n })\n\n return {\n ...symbol,\n primitives: resizedPrimitives,\n center: {\n x: symbol.center.x * scaleX,\n y: symbol.center.y * scaleY,\n },\n ports: symbol.ports.map((port) => ({\n ...port,\n x: port.x * scaleX,\n y: port.y * scaleY,\n })),\n size: {\n width: oldWidth * scaleX,\n height: oldHeight * scaleY,\n },\n }\n}\n","import symbols from \"./generated/symbols-index\"\n\nexport type {\n SchSymbol,\n BoxPrimitive,\n CirclePrimitive,\n PathPrimitive,\n TextPrimitive,\n} from \"./drawing/types\"\nimport { getSvg, getInnerSvg, resizeSymbol } from \"./drawing\"\n\nimport { BaseSymbolName } from \"./generated/base-symbol-names\"\n\n/**\n * Utility for easier autocomplete:\n *\n * ```ts\n * BASE_SYMBOLS.boxresistor // \"boxresistor\"\n * ```\n */\nexport const BASE_SYMBOLS: Record<BaseSymbolName, BaseSymbolName> =\n Object.fromEntries(Object.keys(symbols).map((k) => [k, k])) as any\n\nexport { symbols, getSvg, getInnerSvg, resizeSymbol, BaseSymbolName }\n"],"mappings":"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","names":["text","paths","bounds","refblocks","texts","paths","texts","bounds","refblocks","paths","texts","bounds","refblocks","paths","texts","bounds","refblocks","rotated","ref","val","paths","texts","bounds","refblocks","rotated","ref","val","paths","texts","bounds","refblocks","circles","texts","ref","paths","texts","bounds","refblocks","rotated","paths","texts","bounds","refblocks","paths","texts","bounds","refblocks","rotated","ref","val","paths","texts","bounds","refblocks","rotated","ref","val","paths","texts","bounds","refblocks","circles","rotated","ref","val","paths","texts","bounds","refblocks","circles","rotated","ref","val","paths","texts","bounds","refblocks","circles","rotated","ref","val","paths","texts","bounds","refblocks","paths","texts","bounds","circles","refblocks","paths","texts","bounds","refblocks","circles","rotated","ref","val","text"]}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "schematic-symbols",
3
3
  "main": "./dist/index.js",
4
- "version": "0.0.30",
4
+ "version": "0.0.31",
5
5
  "type": "module",
6
6
  "files": [
7
7
  "dist",
@@ -0,0 +1,19 @@
1
+ import { defineSymbol } from "drawing/defineSymbol"
2
+ import svgJson from "assets/generated/tunnel_diode.json"
3
+
4
+ const { paths, texts, bounds, refblocks, circles } = svgJson
5
+
6
+ export default defineSymbol({
7
+ primitives: [
8
+ ...Object.values(paths),
9
+ ...Object.values(circles),
10
+ { ...texts.top1, anchor: "middle_bottom" },
11
+ { ...texts.bottom1, anchor: "middle_top" },
12
+ ] as any,
13
+ ports: [
14
+ { ...refblocks.left1, labels: ["1"] }, // TODO add more "standard" labels
15
+ { ...refblocks.right1, labels: ["2"] }, // TODO add more "standard" labels
16
+ ],
17
+ size: { width: bounds.width, height: bounds.height },
18
+ center: { x: bounds.centerX, y: bounds.centerY },
19
+ })
@@ -0,0 +1,18 @@
1
+ import { rotateSymbol } from "drawing/rotateSymbol"
2
+ import tunnel_diode_horz from "./tunnel_diode_horz"
3
+
4
+ import type { TextPrimitive } from "drawing"
5
+
6
+ const rotated = rotateSymbol(tunnel_diode_horz)
7
+
8
+ const ref = rotated.primitives.find(
9
+ (p) => p.type === "text" && p.text === "{REF}",
10
+ )! as TextPrimitive
11
+ const val = rotated.primitives.find(
12
+ (p) => p.type === "text" && p.text === "{VAL}",
13
+ )! as TextPrimitive
14
+
15
+ ref.anchor = "middle_left"
16
+ val.anchor = "middle_right"
17
+
18
+ export default rotated