simple-circuit-engine 0.0.12 → 0.0.14

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.
Files changed (99) hide show
  1. package/AGENTS.md +9 -6
  2. package/CLAUDE.md +2 -0
  3. package/README.md +8 -8
  4. package/dist/core/index.js +109 -74
  5. package/dist/core/setup.d.ts +18 -0
  6. package/dist/core/simulation/behaviors/arithmetic/AdderBehavior.d.ts +28 -0
  7. package/dist/core/simulation/behaviors/arithmetic/ArithmeticBehaviorMixin.d.ts +63 -0
  8. package/dist/core/simulation/behaviors/arithmetic/EightBitAdderBehavior.d.ts +51 -0
  9. package/dist/core/simulation/behaviors/arithmetic/EightBitOnesComplementBehavior.d.ts +29 -0
  10. package/dist/core/simulation/behaviors/arithmetic/HalfAdderBehavior.d.ts +22 -0
  11. package/dist/core/simulation/behaviors/arithmetic/index.d.ts +7 -0
  12. package/dist/core/simulation/behaviors/index.d.ts +14 -0
  13. package/dist/core/simulation/behaviors/interface/EightInputBehavior.d.ts +9 -0
  14. package/dist/core/simulation/behaviors/interface/EightLightBehavior.d.ts +9 -0
  15. package/dist/core/simulation/behaviors/interface/FourInputBehavior.d.ts +9 -0
  16. package/dist/core/simulation/behaviors/interface/FourLightBehavior.d.ts +9 -0
  17. package/dist/core/simulation/behaviors/interface/InputBehaviorMixin.d.ts +37 -0
  18. package/dist/core/simulation/behaviors/interface/LightBehaviorMixin.d.ts +60 -0
  19. package/dist/core/simulation/behaviors/interface/OneInputBehavior.d.ts +9 -0
  20. package/dist/core/simulation/behaviors/interface/OneLightBehavior.d.ts +9 -0
  21. package/dist/core/simulation/behaviors/interface/TwoInputBehavior.d.ts +9 -0
  22. package/dist/core/simulation/behaviors/interface/TwoLightBehavior.d.ts +9 -0
  23. package/dist/core/simulation/behaviors/interface/index.d.ts +0 -0
  24. package/dist/core/simulation/states/arithmetic/AdderState.d.ts +16 -0
  25. package/dist/core/simulation/states/arithmetic/ArithmeticState.d.ts +53 -0
  26. package/dist/core/simulation/states/arithmetic/EightBitAdderState.d.ts +25 -0
  27. package/dist/core/simulation/states/arithmetic/EightBitOnesComplementState.d.ts +18 -0
  28. package/dist/core/simulation/states/arithmetic/HalfAdderState.d.ts +16 -0
  29. package/dist/core/simulation/states/arithmetic/index.d.ts +7 -0
  30. package/dist/core/simulation/states/index.d.ts +15 -0
  31. package/dist/core/simulation/states/interface/EightInputState.d.ts +6 -0
  32. package/dist/core/simulation/states/interface/EightLightState.d.ts +6 -0
  33. package/dist/core/simulation/states/interface/FourInputState.d.ts +6 -0
  34. package/dist/core/simulation/states/interface/FourLightState.d.ts +6 -0
  35. package/dist/core/simulation/states/interface/InputState.d.ts +45 -0
  36. package/dist/core/simulation/states/interface/LightState.d.ts +54 -0
  37. package/dist/core/simulation/states/interface/OneInputState.d.ts +6 -0
  38. package/dist/core/simulation/states/interface/OneLightState.d.ts +6 -0
  39. package/dist/core/simulation/states/interface/TwoInputState.d.ts +6 -0
  40. package/dist/core/simulation/states/interface/TwoLightState.d.ts +6 -0
  41. package/dist/core/simulation/types.d.ts +10 -2
  42. package/dist/core/topology/Component.d.ts +6 -1
  43. package/dist/core/topology/ENode.d.ts +7 -2
  44. package/dist/core/topology/index.d.ts +2 -0
  45. package/dist/core/topology/networkTraversal.d.ts +50 -0
  46. package/dist/core/topology/types.d.ts +31 -6
  47. package/dist/core-HH6iRWtB.js +4671 -0
  48. package/dist/core-HH6iRWtB.js.map +1 -0
  49. package/dist/i18n/index.d.ts +1158 -0
  50. package/dist/i18n/locales/en.json.d.ts +366 -0
  51. package/dist/i18n/locales/fr.json.d.ts +366 -0
  52. package/dist/index.d.ts +1 -0
  53. package/dist/index.js +172 -118
  54. package/dist/scene/CircuitEngine.d.ts +49 -4
  55. package/dist/scene/index.d.ts +6 -2
  56. package/dist/scene/index.js +62 -45
  57. package/dist/scene/setup.d.ts +18 -0
  58. package/dist/scene/shared/AbstractCircuitController.d.ts +11 -3
  59. package/dist/scene/shared/HoverManager.d.ts +15 -0
  60. package/dist/scene/shared/components/arithmetic/AdderVisualFactory.d.ts +54 -0
  61. package/dist/scene/shared/components/arithmetic/EightBitAdderVisualFactory.d.ts +45 -0
  62. package/dist/scene/shared/components/arithmetic/EightBitOnesComplementVisualFactory.d.ts +63 -0
  63. package/dist/scene/shared/components/arithmetic/HalfAdderVisualFactory.d.ts +55 -0
  64. package/dist/scene/shared/components/arithmetic/index.d.ts +4 -0
  65. package/dist/scene/shared/components/index.d.ts +14 -0
  66. package/dist/scene/shared/components/interface/EightInputVisualFactory.d.ts +15 -0
  67. package/dist/scene/shared/components/interface/EightLightVisualFactory.d.ts +15 -0
  68. package/dist/scene/shared/components/interface/FourInputVisualFactory.d.ts +15 -0
  69. package/dist/scene/shared/components/interface/FourLightVisualFactory.d.ts +15 -0
  70. package/dist/scene/shared/components/interface/InputVisualFactoryBase.d.ts +50 -0
  71. package/dist/scene/shared/components/interface/LightVisualFactoryBase.d.ts +46 -0
  72. package/dist/scene/shared/components/interface/OneInputVisualFactory.d.ts +15 -0
  73. package/dist/scene/shared/components/interface/OneLightVisualFactory.d.ts +15 -0
  74. package/dist/scene/shared/components/interface/TwoInputVisualFactory.d.ts +15 -0
  75. package/dist/scene/shared/components/interface/TwoLightVisualFactory.d.ts +15 -0
  76. package/dist/scene/shared/types.d.ts +34 -4
  77. package/dist/scene/shared/utils/ControlsUtils.d.ts +1 -1
  78. package/dist/scene/shared/utils/GeometryUtils.d.ts +111 -0
  79. package/dist/scene/static/CircuitController.d.ts +13 -1
  80. package/dist/scene/static/tools/BuildTool.d.ts +81 -0
  81. package/dist/scene/static/tools/ComponentPickerWidget.d.ts +7 -0
  82. package/dist/scene/static/tools/ConfigPanelWidget.d.ts +14 -0
  83. package/dist/scene/static/tools/MultiWiringPlacement.d.ts +40 -0
  84. package/dist/scene/widgets/HelpWidget.d.ts +13 -0
  85. package/dist/scene/widgets/ModeWidget.d.ts +16 -0
  86. package/dist/scene/widgets/MultiWiringWidget.d.ts +21 -0
  87. package/dist/scene/{static → widgets}/PinTooltipWidget.d.ts +7 -1
  88. package/dist/scene/widgets/SimulationPlayerWidget.d.ts +62 -0
  89. package/dist/scene/widgets/ToolsWidget.d.ts +18 -0
  90. package/dist/scene/widgets/WidgetsManager.d.ts +65 -0
  91. package/dist/scene/widgets/assets/icons.d.ts +20 -0
  92. package/dist/scene/widgets/index.d.ts +9 -0
  93. package/dist/scene/widgets/styles.d.ts +33 -0
  94. package/dist/{scene-CVsDdySt.js → scene-C1xhdw_B.js} +3993 -772
  95. package/dist/scene-C1xhdw_B.js.map +1 -0
  96. package/package.json +14 -9
  97. package/dist/core-Bjta9Y7_.js +0 -2707
  98. package/dist/core-Bjta9Y7_.js.map +0 -1
  99. package/dist/scene-CVsDdySt.js.map +0 -1
@@ -0,0 +1,1158 @@
1
+ import { i18n } from 'i18next';
2
+ /** Namespace used for all simple-circuit-engine translations. */
3
+ export declare const SCE_NS: "sce";
4
+ declare const bundles: {
5
+ readonly en: {
6
+ components: {
7
+ groups: {
8
+ basic: {
9
+ name: string;
10
+ };
11
+ gates: {
12
+ name: string;
13
+ };
14
+ arithmetic: {
15
+ name: string;
16
+ };
17
+ };
18
+ battery: {
19
+ name: string;
20
+ };
21
+ clock: {
22
+ name: string;
23
+ config: {
24
+ fields: {
25
+ startHigh: {
26
+ name: string;
27
+ };
28
+ halfPeriod: {
29
+ name: string;
30
+ };
31
+ };
32
+ };
33
+ };
34
+ label: {
35
+ name: string;
36
+ config: {
37
+ fields: {
38
+ text: {
39
+ name: string;
40
+ };
41
+ size: {
42
+ name: string;
43
+ };
44
+ };
45
+ };
46
+ };
47
+ switch: {
48
+ name: string;
49
+ config: {
50
+ fields: {
51
+ initialState: {
52
+ name: string;
53
+ };
54
+ transitionSpan: {
55
+ name: string;
56
+ };
57
+ size: {
58
+ name: string;
59
+ };
60
+ };
61
+ };
62
+ };
63
+ doubleThrowSwitch: {
64
+ name: string;
65
+ config: {
66
+ fields: {
67
+ initialState: {
68
+ name: string;
69
+ };
70
+ transitionSpan: {
71
+ name: string;
72
+ };
73
+ size: {
74
+ name: string;
75
+ };
76
+ };
77
+ };
78
+ };
79
+ lightbulb: {
80
+ name: string;
81
+ config: {
82
+ fields: {
83
+ transitionSpan: {
84
+ name: string;
85
+ };
86
+ size: {
87
+ name: string;
88
+ };
89
+ };
90
+ };
91
+ };
92
+ rectangleLED: {
93
+ name: string;
94
+ config: {
95
+ fields: {
96
+ transitionSpan: {
97
+ name: string;
98
+ };
99
+ idleColor: {
100
+ name: string;
101
+ };
102
+ activeColor: {
103
+ name: string;
104
+ };
105
+ size: {
106
+ name: string;
107
+ };
108
+ hwRatio: {
109
+ name: string;
110
+ };
111
+ ywRatio: {
112
+ name: string;
113
+ };
114
+ };
115
+ };
116
+ };
117
+ relay: {
118
+ name: string;
119
+ config: {
120
+ fields: {
121
+ activationLogic: {
122
+ name: string;
123
+ };
124
+ transitionSpan: {
125
+ name: string;
126
+ };
127
+ size: {
128
+ name: string;
129
+ };
130
+ initializationOrder: {
131
+ name: string;
132
+ };
133
+ };
134
+ };
135
+ };
136
+ smallLED: {
137
+ name: string;
138
+ config: {
139
+ fields: {
140
+ transitionSpan: {
141
+ name: string;
142
+ };
143
+ idleColor: {
144
+ name: string;
145
+ };
146
+ activeColor: {
147
+ name: string;
148
+ };
149
+ size: {
150
+ name: string;
151
+ };
152
+ ywRatio: {
153
+ name: string;
154
+ };
155
+ };
156
+ };
157
+ };
158
+ inverter: {
159
+ name: string;
160
+ config: {
161
+ fields: {
162
+ defaultLogicFamily: {
163
+ name: string;
164
+ };
165
+ activationLogic: {
166
+ name: string;
167
+ };
168
+ transitionSpan: {
169
+ name: string;
170
+ };
171
+ initializationOrder: {
172
+ name: string;
173
+ };
174
+ };
175
+ };
176
+ };
177
+ nandGate: {
178
+ name: string;
179
+ config: {
180
+ fields: {
181
+ defaultLogicFamily: {
182
+ name: string;
183
+ };
184
+ activationLogic: {
185
+ name: string;
186
+ };
187
+ transitionSpan: {
188
+ name: string;
189
+ };
190
+ initializationOrder: {
191
+ name: string;
192
+ };
193
+ };
194
+ };
195
+ };
196
+ nand4Gate: {
197
+ name: string;
198
+ config: {
199
+ fields: {
200
+ defaultLogicFamily: {
201
+ name: string;
202
+ };
203
+ activationLogic: {
204
+ name: string;
205
+ };
206
+ transitionSpan: {
207
+ name: string;
208
+ };
209
+ initializationOrder: {
210
+ name: string;
211
+ };
212
+ };
213
+ };
214
+ };
215
+ nand8Gate: {
216
+ name: string;
217
+ config: {
218
+ fields: {
219
+ defaultLogicFamily: {
220
+ name: string;
221
+ };
222
+ activationLogic: {
223
+ name: string;
224
+ };
225
+ transitionSpan: {
226
+ name: string;
227
+ };
228
+ initializationOrder: {
229
+ name: string;
230
+ };
231
+ };
232
+ };
233
+ };
234
+ norGate: {
235
+ name: string;
236
+ config: {
237
+ fields: {
238
+ defaultLogicFamily: {
239
+ name: string;
240
+ };
241
+ activationLogic: {
242
+ name: string;
243
+ };
244
+ transitionSpan: {
245
+ name: string;
246
+ };
247
+ initializationOrder: {
248
+ name: string;
249
+ };
250
+ };
251
+ };
252
+ };
253
+ nor4Gate: {
254
+ name: string;
255
+ config: {
256
+ fields: {
257
+ defaultLogicFamily: {
258
+ name: string;
259
+ };
260
+ activationLogic: {
261
+ name: string;
262
+ };
263
+ transitionSpan: {
264
+ name: string;
265
+ };
266
+ initializationOrder: {
267
+ name: string;
268
+ };
269
+ };
270
+ };
271
+ };
272
+ nor8Gate: {
273
+ name: string;
274
+ config: {
275
+ fields: {
276
+ defaultLogicFamily: {
277
+ name: string;
278
+ };
279
+ activationLogic: {
280
+ name: string;
281
+ };
282
+ transitionSpan: {
283
+ name: string;
284
+ };
285
+ initializationOrder: {
286
+ name: string;
287
+ };
288
+ };
289
+ };
290
+ };
291
+ xorGate: {
292
+ name: string;
293
+ config: {
294
+ fields: {
295
+ defaultLogicFamily: {
296
+ name: string;
297
+ };
298
+ activationLogic: {
299
+ name: string;
300
+ };
301
+ transitionSpan: {
302
+ name: string;
303
+ };
304
+ initializationOrder: {
305
+ name: string;
306
+ };
307
+ };
308
+ };
309
+ };
310
+ xor4Gate: {
311
+ name: string;
312
+ config: {
313
+ fields: {
314
+ defaultLogicFamily: {
315
+ name: string;
316
+ };
317
+ activationLogic: {
318
+ name: string;
319
+ };
320
+ transitionSpan: {
321
+ name: string;
322
+ };
323
+ initializationOrder: {
324
+ name: string;
325
+ };
326
+ };
327
+ };
328
+ };
329
+ xor8Gate: {
330
+ name: string;
331
+ config: {
332
+ fields: {
333
+ defaultLogicFamily: {
334
+ name: string;
335
+ };
336
+ activationLogic: {
337
+ name: string;
338
+ };
339
+ transitionSpan: {
340
+ name: string;
341
+ };
342
+ initializationOrder: {
343
+ name: string;
344
+ };
345
+ };
346
+ };
347
+ };
348
+ halfAdder: {
349
+ name: string;
350
+ config: {
351
+ fields: {
352
+ defaultLogicFamily: {
353
+ name: string;
354
+ };
355
+ transitionSpan: {
356
+ name: string;
357
+ };
358
+ initializationOrder: {
359
+ name: string;
360
+ };
361
+ };
362
+ };
363
+ };
364
+ adder: {
365
+ name: string;
366
+ config: {
367
+ fields: {
368
+ defaultLogicFamily: {
369
+ name: string;
370
+ };
371
+ transitionSpan: {
372
+ name: string;
373
+ };
374
+ initializationOrder: {
375
+ name: string;
376
+ };
377
+ };
378
+ };
379
+ };
380
+ eightBitAdder: {
381
+ name: string;
382
+ config: {
383
+ fields: {
384
+ defaultLogicFamily: {
385
+ name: string;
386
+ };
387
+ transitionSpan: {
388
+ name: string;
389
+ };
390
+ initializationOrder: {
391
+ name: string;
392
+ };
393
+ };
394
+ };
395
+ };
396
+ eightBitOnesComplement: {
397
+ name: string;
398
+ config: {
399
+ fields: {
400
+ defaultLogicFamily: {
401
+ name: string;
402
+ };
403
+ transitionSpan: {
404
+ name: string;
405
+ };
406
+ initializationOrder: {
407
+ name: string;
408
+ };
409
+ };
410
+ };
411
+ };
412
+ oneInput: {
413
+ name: string;
414
+ config: {
415
+ fields: {
416
+ initialState: {
417
+ name: string;
418
+ };
419
+ transitionSpan: {
420
+ name: string;
421
+ };
422
+ size: {
423
+ name: string;
424
+ };
425
+ };
426
+ };
427
+ };
428
+ twoInput: {
429
+ name: string;
430
+ config: {
431
+ fields: {
432
+ initialState: {
433
+ name: string;
434
+ };
435
+ transitionSpan: {
436
+ name: string;
437
+ };
438
+ size: {
439
+ name: string;
440
+ };
441
+ };
442
+ };
443
+ };
444
+ fourInput: {
445
+ name: string;
446
+ config: {
447
+ fields: {
448
+ initialState: {
449
+ name: string;
450
+ };
451
+ transitionSpan: {
452
+ name: string;
453
+ };
454
+ size: {
455
+ name: string;
456
+ };
457
+ };
458
+ };
459
+ };
460
+ eightInput: {
461
+ name: string;
462
+ config: {
463
+ fields: {
464
+ initialState: {
465
+ name: string;
466
+ };
467
+ transitionSpan: {
468
+ name: string;
469
+ };
470
+ size: {
471
+ name: string;
472
+ };
473
+ };
474
+ };
475
+ };
476
+ oneLight: {
477
+ name: string;
478
+ config: {
479
+ fields: {
480
+ transitionSpan: {
481
+ name: string;
482
+ };
483
+ size: {
484
+ name: string;
485
+ };
486
+ };
487
+ };
488
+ };
489
+ twoLight: {
490
+ name: string;
491
+ config: {
492
+ fields: {
493
+ transitionSpan: {
494
+ name: string;
495
+ };
496
+ size: {
497
+ name: string;
498
+ };
499
+ };
500
+ };
501
+ };
502
+ fourLight: {
503
+ name: string;
504
+ config: {
505
+ fields: {
506
+ transitionSpan: {
507
+ name: string;
508
+ };
509
+ size: {
510
+ name: string;
511
+ };
512
+ };
513
+ };
514
+ };
515
+ eightLight: {
516
+ name: string;
517
+ config: {
518
+ fields: {
519
+ transitionSpan: {
520
+ name: string;
521
+ };
522
+ size: {
523
+ name: string;
524
+ };
525
+ };
526
+ };
527
+ };
528
+ default: {
529
+ config: {
530
+ fields: {
531
+ color: {
532
+ name: string;
533
+ };
534
+ };
535
+ };
536
+ };
537
+ };
538
+ picker: {
539
+ title: string;
540
+ branchingPoint: string;
541
+ };
542
+ config: {
543
+ title: string;
544
+ };
545
+ widgets: {
546
+ mode: {
547
+ edit: string;
548
+ simulation: string;
549
+ };
550
+ tools: {
551
+ build: string;
552
+ multiSelect: string;
553
+ };
554
+ multiWiring: string;
555
+ simulation: {
556
+ stop: string;
557
+ play: string;
558
+ pause: string;
559
+ speed: string;
560
+ step: string;
561
+ staticStep: string;
562
+ };
563
+ help: {
564
+ title: string;
565
+ };
566
+ };
567
+ };
568
+ readonly fr: {
569
+ components: {
570
+ groups: {
571
+ basic: {
572
+ name: string;
573
+ };
574
+ gates: {
575
+ name: string;
576
+ };
577
+ arithmetic: {
578
+ name: string;
579
+ };
580
+ };
581
+ battery: {
582
+ name: string;
583
+ };
584
+ clock: {
585
+ name: string;
586
+ config: {
587
+ fields: {
588
+ startHigh: {
589
+ name: string;
590
+ };
591
+ halfPeriod: {
592
+ name: string;
593
+ };
594
+ };
595
+ };
596
+ };
597
+ label: {
598
+ name: string;
599
+ config: {
600
+ fields: {
601
+ text: {
602
+ name: string;
603
+ };
604
+ size: {
605
+ name: string;
606
+ };
607
+ };
608
+ };
609
+ };
610
+ switch: {
611
+ name: string;
612
+ config: {
613
+ fields: {
614
+ initialState: {
615
+ name: string;
616
+ };
617
+ transitionSpan: {
618
+ name: string;
619
+ };
620
+ size: {
621
+ name: string;
622
+ };
623
+ };
624
+ };
625
+ };
626
+ doubleThrowSwitch: {
627
+ name: string;
628
+ config: {
629
+ fields: {
630
+ initialState: {
631
+ name: string;
632
+ };
633
+ transitionSpan: {
634
+ name: string;
635
+ };
636
+ size: {
637
+ name: string;
638
+ };
639
+ };
640
+ };
641
+ };
642
+ lightbulb: {
643
+ name: string;
644
+ config: {
645
+ fields: {
646
+ transitionSpan: {
647
+ name: string;
648
+ };
649
+ size: {
650
+ name: string;
651
+ };
652
+ };
653
+ };
654
+ };
655
+ rectangleLED: {
656
+ name: string;
657
+ config: {
658
+ fields: {
659
+ transitionSpan: {
660
+ name: string;
661
+ };
662
+ idleColor: {
663
+ name: string;
664
+ };
665
+ activeColor: {
666
+ name: string;
667
+ };
668
+ size: {
669
+ name: string;
670
+ };
671
+ hwRatio: {
672
+ name: string;
673
+ };
674
+ ywRatio: {
675
+ name: string;
676
+ };
677
+ };
678
+ };
679
+ };
680
+ relay: {
681
+ name: string;
682
+ config: {
683
+ fields: {
684
+ activationLogic: {
685
+ name: string;
686
+ };
687
+ transitionSpan: {
688
+ name: string;
689
+ };
690
+ size: {
691
+ name: string;
692
+ };
693
+ initializationOrder: {
694
+ name: string;
695
+ };
696
+ };
697
+ };
698
+ };
699
+ smallLED: {
700
+ name: string;
701
+ config: {
702
+ fields: {
703
+ transitionSpan: {
704
+ name: string;
705
+ };
706
+ idleColor: {
707
+ name: string;
708
+ };
709
+ activeColor: {
710
+ name: string;
711
+ };
712
+ size: {
713
+ name: string;
714
+ };
715
+ ywRatio: {
716
+ name: string;
717
+ };
718
+ };
719
+ };
720
+ };
721
+ inverter: {
722
+ name: string;
723
+ config: {
724
+ fields: {
725
+ defaultLogicFamily: {
726
+ name: string;
727
+ };
728
+ activationLogic: {
729
+ name: string;
730
+ };
731
+ transitionSpan: {
732
+ name: string;
733
+ };
734
+ initializationOrder: {
735
+ name: string;
736
+ };
737
+ };
738
+ };
739
+ };
740
+ nandGate: {
741
+ name: string;
742
+ config: {
743
+ fields: {
744
+ defaultLogicFamily: {
745
+ name: string;
746
+ };
747
+ activationLogic: {
748
+ name: string;
749
+ };
750
+ transitionSpan: {
751
+ name: string;
752
+ };
753
+ initializationOrder: {
754
+ name: string;
755
+ };
756
+ };
757
+ };
758
+ };
759
+ nand4Gate: {
760
+ name: string;
761
+ config: {
762
+ fields: {
763
+ defaultLogicFamily: {
764
+ name: string;
765
+ };
766
+ activationLogic: {
767
+ name: string;
768
+ };
769
+ transitionSpan: {
770
+ name: string;
771
+ };
772
+ initializationOrder: {
773
+ name: string;
774
+ };
775
+ };
776
+ };
777
+ };
778
+ nand8Gate: {
779
+ name: string;
780
+ config: {
781
+ fields: {
782
+ defaultLogicFamily: {
783
+ name: string;
784
+ };
785
+ activationLogic: {
786
+ name: string;
787
+ };
788
+ transitionSpan: {
789
+ name: string;
790
+ };
791
+ initializationOrder: {
792
+ name: string;
793
+ };
794
+ };
795
+ };
796
+ };
797
+ norGate: {
798
+ name: string;
799
+ config: {
800
+ fields: {
801
+ defaultLogicFamily: {
802
+ name: string;
803
+ };
804
+ activationLogic: {
805
+ name: string;
806
+ };
807
+ transitionSpan: {
808
+ name: string;
809
+ };
810
+ initializationOrder: {
811
+ name: string;
812
+ };
813
+ };
814
+ };
815
+ };
816
+ nor4Gate: {
817
+ name: string;
818
+ config: {
819
+ fields: {
820
+ defaultLogicFamily: {
821
+ name: string;
822
+ };
823
+ activationLogic: {
824
+ name: string;
825
+ };
826
+ transitionSpan: {
827
+ name: string;
828
+ };
829
+ initializationOrder: {
830
+ name: string;
831
+ };
832
+ };
833
+ };
834
+ };
835
+ nor8Gate: {
836
+ name: string;
837
+ config: {
838
+ fields: {
839
+ defaultLogicFamily: {
840
+ name: string;
841
+ };
842
+ activationLogic: {
843
+ name: string;
844
+ };
845
+ transitionSpan: {
846
+ name: string;
847
+ };
848
+ initializationOrder: {
849
+ name: string;
850
+ };
851
+ };
852
+ };
853
+ };
854
+ xorGate: {
855
+ name: string;
856
+ config: {
857
+ fields: {
858
+ defaultLogicFamily: {
859
+ name: string;
860
+ };
861
+ activationLogic: {
862
+ name: string;
863
+ };
864
+ transitionSpan: {
865
+ name: string;
866
+ };
867
+ initializationOrder: {
868
+ name: string;
869
+ };
870
+ };
871
+ };
872
+ };
873
+ xor4Gate: {
874
+ name: string;
875
+ config: {
876
+ fields: {
877
+ defaultLogicFamily: {
878
+ name: string;
879
+ };
880
+ activationLogic: {
881
+ name: string;
882
+ };
883
+ transitionSpan: {
884
+ name: string;
885
+ };
886
+ initializationOrder: {
887
+ name: string;
888
+ };
889
+ };
890
+ };
891
+ };
892
+ xor8Gate: {
893
+ name: string;
894
+ config: {
895
+ fields: {
896
+ defaultLogicFamily: {
897
+ name: string;
898
+ };
899
+ activationLogic: {
900
+ name: string;
901
+ };
902
+ transitionSpan: {
903
+ name: string;
904
+ };
905
+ initializationOrder: {
906
+ name: string;
907
+ };
908
+ };
909
+ };
910
+ };
911
+ halfAdder: {
912
+ name: string;
913
+ config: {
914
+ fields: {
915
+ defaultLogicFamily: {
916
+ name: string;
917
+ };
918
+ transitionSpan: {
919
+ name: string;
920
+ };
921
+ initializationOrder: {
922
+ name: string;
923
+ };
924
+ };
925
+ };
926
+ };
927
+ adder: {
928
+ name: string;
929
+ config: {
930
+ fields: {
931
+ defaultLogicFamily: {
932
+ name: string;
933
+ };
934
+ transitionSpan: {
935
+ name: string;
936
+ };
937
+ initializationOrder: {
938
+ name: string;
939
+ };
940
+ };
941
+ };
942
+ };
943
+ eightBitAdder: {
944
+ name: string;
945
+ config: {
946
+ fields: {
947
+ defaultLogicFamily: {
948
+ name: string;
949
+ };
950
+ transitionSpan: {
951
+ name: string;
952
+ };
953
+ initializationOrder: {
954
+ name: string;
955
+ };
956
+ };
957
+ };
958
+ };
959
+ eightBitOnesComplement: {
960
+ name: string;
961
+ config: {
962
+ fields: {
963
+ defaultLogicFamily: {
964
+ name: string;
965
+ };
966
+ transitionSpan: {
967
+ name: string;
968
+ };
969
+ initializationOrder: {
970
+ name: string;
971
+ };
972
+ };
973
+ };
974
+ };
975
+ oneInput: {
976
+ name: string;
977
+ config: {
978
+ fields: {
979
+ initialState: {
980
+ name: string;
981
+ };
982
+ transitionSpan: {
983
+ name: string;
984
+ };
985
+ size: {
986
+ name: string;
987
+ };
988
+ };
989
+ };
990
+ };
991
+ twoInput: {
992
+ name: string;
993
+ config: {
994
+ fields: {
995
+ initialState: {
996
+ name: string;
997
+ };
998
+ transitionSpan: {
999
+ name: string;
1000
+ };
1001
+ size: {
1002
+ name: string;
1003
+ };
1004
+ };
1005
+ };
1006
+ };
1007
+ fourInput: {
1008
+ name: string;
1009
+ config: {
1010
+ fields: {
1011
+ initialState: {
1012
+ name: string;
1013
+ };
1014
+ transitionSpan: {
1015
+ name: string;
1016
+ };
1017
+ size: {
1018
+ name: string;
1019
+ };
1020
+ };
1021
+ };
1022
+ };
1023
+ eightInput: {
1024
+ name: string;
1025
+ config: {
1026
+ fields: {
1027
+ initialState: {
1028
+ name: string;
1029
+ };
1030
+ transitionSpan: {
1031
+ name: string;
1032
+ };
1033
+ size: {
1034
+ name: string;
1035
+ };
1036
+ };
1037
+ };
1038
+ };
1039
+ oneLight: {
1040
+ name: string;
1041
+ config: {
1042
+ fields: {
1043
+ transitionSpan: {
1044
+ name: string;
1045
+ };
1046
+ size: {
1047
+ name: string;
1048
+ };
1049
+ };
1050
+ };
1051
+ };
1052
+ twoLight: {
1053
+ name: string;
1054
+ config: {
1055
+ fields: {
1056
+ transitionSpan: {
1057
+ name: string;
1058
+ };
1059
+ size: {
1060
+ name: string;
1061
+ };
1062
+ };
1063
+ };
1064
+ };
1065
+ fourLight: {
1066
+ name: string;
1067
+ config: {
1068
+ fields: {
1069
+ transitionSpan: {
1070
+ name: string;
1071
+ };
1072
+ size: {
1073
+ name: string;
1074
+ };
1075
+ };
1076
+ };
1077
+ };
1078
+ eightLight: {
1079
+ name: string;
1080
+ config: {
1081
+ fields: {
1082
+ transitionSpan: {
1083
+ name: string;
1084
+ };
1085
+ size: {
1086
+ name: string;
1087
+ };
1088
+ };
1089
+ };
1090
+ };
1091
+ default: {
1092
+ config: {
1093
+ fields: {
1094
+ color: {
1095
+ name: string;
1096
+ };
1097
+ };
1098
+ };
1099
+ };
1100
+ };
1101
+ picker: {
1102
+ title: string;
1103
+ branchingPoint: string;
1104
+ };
1105
+ config: {
1106
+ title: string;
1107
+ };
1108
+ widgets: {
1109
+ mode: {
1110
+ edit: string;
1111
+ simulation: string;
1112
+ };
1113
+ tools: {
1114
+ build: string;
1115
+ multiSelect: string;
1116
+ };
1117
+ multiWiring: string;
1118
+ simulation: {
1119
+ stop: string;
1120
+ play: string;
1121
+ pause: string;
1122
+ speed: string;
1123
+ step: string;
1124
+ staticStep: string;
1125
+ };
1126
+ help: {
1127
+ title: string;
1128
+ };
1129
+ };
1130
+ };
1131
+ };
1132
+ /** Locales shipped with simple-circuit-engine. */
1133
+ export type SceLocale = keyof typeof bundles;
1134
+ /**
1135
+ * Register simple-circuit-engine translations into the consumer's i18next
1136
+ * instance under the `sce` namespace.
1137
+ *
1138
+ * Must be called after the consumer has initialized i18next. Safe to call
1139
+ * multiple times; existing bundles in the `sce` namespace are NOT overwritten
1140
+ * so consumers can register their own overrides first.
1141
+ *
1142
+ * @param instance - The consumer's i18next singleton
1143
+ */
1144
+ export declare function registerSceTranslations(instance: i18n): void;
1145
+ /**
1146
+ * Translate a key inside the sce namespace using the shared i18next singleton.
1147
+ *
1148
+ * Uses a direct import of the i18next singleton rather than an injected
1149
+ * instance — this avoids module-state duplication when Vite pre-bundles the
1150
+ * library's subpath exports separately. i18next is declared as a
1151
+ * peerDependency so the consumer and library always share the same module.
1152
+ *
1153
+ * Internal helper — not re-exported from src/index.ts.
1154
+ */
1155
+ export declare function sceT(key: string, options?: {
1156
+ defaultValue?: string;
1157
+ } & Record<string, unknown>): string;
1158
+ export {};