smithkit 0.1.1 → 0.3.0

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 (146) hide show
  1. package/README.md +291 -42
  2. package/dist/lib/MarkerMeasurements.d.ts +6 -0
  3. package/dist/lib/MarkerMeasurements.js +22 -0
  4. package/dist/lib/Smith.d.ts +18 -35
  5. package/dist/lib/Smith.js +107 -275
  6. package/dist/lib/SmithFormatter.d.ts +10 -0
  7. package/dist/lib/SmithFormatter.js +19 -0
  8. package/dist/lib/appearance/SvgTheme.d.ts +6 -0
  9. package/dist/lib/appearance/SvgTheme.js +21 -0
  10. package/dist/lib/appearance/Theme.d.ts +8 -0
  11. package/dist/lib/appearance/Theme.js +120 -0
  12. package/dist/lib/appearance/types.d.ts +55 -0
  13. package/dist/lib/grid/CircleLayerControl.d.ts +15 -0
  14. package/dist/lib/grid/CircleLayerControl.js +40 -0
  15. package/dist/lib/{draw → grid}/ConstCircles.d.ts +4 -9
  16. package/dist/lib/{draw → grid}/ConstCircles.js +8 -22
  17. package/dist/lib/{draw → grid}/ConstQCircles.d.ts +2 -2
  18. package/dist/lib/{draw → grid}/ConstQCircles.js +4 -4
  19. package/dist/lib/{draw → grid}/ConstSwrCircles.d.ts +2 -2
  20. package/dist/lib/{draw → grid}/ConstSwrCircles.js +4 -4
  21. package/dist/lib/grid/GridDefinitions.d.ts +18 -0
  22. package/dist/lib/grid/GridDefinitions.js +167 -0
  23. package/dist/lib/grid/GridGeometry.d.ts +26 -0
  24. package/dist/lib/grid/GridGeometry.js +58 -0
  25. package/dist/lib/grid/GridLabels.d.ts +8 -0
  26. package/dist/lib/grid/GridLabels.js +45 -0
  27. package/dist/lib/grid/GridLayerControl.d.ts +13 -0
  28. package/dist/lib/grid/GridLayerControl.js +48 -0
  29. package/dist/lib/grid/LayerControl.d.ts +6 -0
  30. package/dist/lib/grid/LayerControl.js +16 -0
  31. package/dist/lib/grid/SmithGridLayer.d.ts +26 -0
  32. package/dist/lib/grid/SmithGridLayer.js +95 -0
  33. package/dist/lib/grid/types.d.ts +1 -1
  34. package/dist/lib/index.d.ts +11 -11
  35. package/dist/lib/index.js +5 -7
  36. package/dist/lib/{draw → interaction}/SmithCursor.d.ts +3 -20
  37. package/dist/lib/{draw → interaction}/SmithCursor.js +12 -20
  38. package/dist/lib/io/Touchstone.d.ts +10 -0
  39. package/dist/lib/io/Touchstone.js +75 -0
  40. package/dist/lib/layers.d.ts +7 -9
  41. package/dist/lib/layers.js +1 -73
  42. package/dist/lib/{complex → math}/Complex.d.ts +1 -0
  43. package/dist/lib/{complex → math}/Complex.js +1 -1
  44. package/dist/lib/math/geometry.d.ts +14 -0
  45. package/dist/lib/measurements.d.ts +2 -4
  46. package/dist/lib/measurements.js +1 -19
  47. package/dist/lib/rendering/SvgChartRenderer.d.ts +66 -0
  48. package/dist/lib/rendering/SvgChartRenderer.js +342 -0
  49. package/dist/lib/rf/RfCalculations.d.ts +65 -0
  50. package/dist/lib/rf/RfCalculations.js +161 -0
  51. package/dist/lib/{SmithConstantCircle.d.ts → rf/SmithConstantCircle.d.ts} +2 -3
  52. package/dist/lib/{SmithConstantCircle.js → rf/SmithConstantCircle.js} +3 -4
  53. package/dist/lib/scales/PeripheralScaleDefinitions.d.ts +16 -0
  54. package/dist/lib/scales/PeripheralScaleDefinitions.js +54 -0
  55. package/dist/lib/scales/RadialScaleDefinitions.d.ts +15 -0
  56. package/dist/lib/scales/RadialScaleDefinitions.js +112 -0
  57. package/dist/lib/scales/SmithPeripheralScales.d.ts +4 -2
  58. package/dist/lib/scales/SmithPeripheralScales.js +55 -35
  59. package/dist/lib/scales/SmithScales.d.ts +11 -2
  60. package/dist/lib/scales/SmithScales.js +78 -38
  61. package/dist/lib/svg/ImageExporter.d.ts +18 -0
  62. package/dist/lib/svg/ImageExporter.js +211 -0
  63. package/dist/lib/svg/LabelLayout.d.ts +17 -0
  64. package/dist/lib/svg/LabelLayout.js +145 -0
  65. package/dist/lib/svg/MarkerLegend.d.ts +12 -0
  66. package/dist/lib/svg/MarkerLegend.js +63 -0
  67. package/dist/lib/{draw → svg}/SmithArc.d.ts +1 -1
  68. package/dist/lib/{draw → svg}/SmithCircle.d.ts +1 -1
  69. package/dist/lib/{draw → svg}/SmithLine.d.ts +1 -1
  70. package/dist/lib/{draw → svg}/SmithScaler.d.ts +1 -4
  71. package/dist/lib/{draw → svg}/SmithText.d.ts +1 -1
  72. package/dist/lib/svg/SvgExporter.d.ts +19 -0
  73. package/dist/lib/svg/SvgExporter.js +182 -0
  74. package/dist/lib/svg/export.d.ts +36 -0
  75. package/dist/lib/{draw → traces}/SmithData.d.ts +24 -35
  76. package/dist/lib/traces/SmithData.js +195 -0
  77. package/dist/lib/{draw → traces}/SmithMarker.d.ts +14 -3
  78. package/dist/lib/traces/SmithMarker.js +240 -0
  79. package/dist/lib/traces/TraceModel.d.ts +31 -0
  80. package/dist/lib/traces/TraceModel.js +123 -0
  81. package/dist/lib/traces/TraceRenderer.d.ts +33 -0
  82. package/dist/lib/traces/TraceRenderer.js +152 -0
  83. package/package.json +4 -1
  84. package/dist/lib/SmithArcsDefs.d.ts +0 -10
  85. package/dist/lib/SmithArcsDefs.js +0 -10
  86. package/dist/lib/components.d.ts +0 -14
  87. package/dist/lib/components.js +0 -26
  88. package/dist/lib/draw/SmithData.js +0 -366
  89. package/dist/lib/draw/SmithGridLayer.d.ts +0 -19
  90. package/dist/lib/draw/SmithGridLayer.js +0 -48
  91. package/dist/lib/draw/SmithMarker.js +0 -122
  92. package/dist/lib/formatting.d.ts +0 -7
  93. package/dist/lib/formatting.js +0 -16
  94. package/dist/lib/grid/definitions.d.ts +0 -3
  95. package/dist/lib/grid/definitions.js +0 -123
  96. package/dist/lib/grid/geometry.d.ts +0 -20
  97. package/dist/lib/grid/geometry.js +0 -55
  98. package/dist/lib/grid/labels.d.ts +0 -3
  99. package/dist/lib/grid/labels.js +0 -41
  100. package/dist/lib/io/touchstone.d.ts +0 -7
  101. package/dist/lib/io/touchstone.js +0 -72
  102. package/dist/lib/math/complexRatio.d.ts +0 -3
  103. package/dist/lib/math/complexRatio.js +0 -30
  104. package/dist/lib/renormalization.d.ts +0 -10
  105. package/dist/lib/renormalization.js +0 -62
  106. package/dist/lib/rf.d.ts +0 -35
  107. package/dist/lib/rf.js +0 -74
  108. package/dist/lib/scales/peripheralScales.d.ts +0 -12
  109. package/dist/lib/scales/peripheralScales.js +0 -49
  110. package/dist/lib/scales/radialScales.d.ts +0 -12
  111. package/dist/lib/scales/radialScales.js +0 -109
  112. package/dist/lib/shapes/Arc.d.ts +0 -6
  113. package/dist/lib/shapes/Circle.d.ts +0 -5
  114. package/dist/lib/shapes/Line.d.ts +0 -5
  115. package/dist/lib/shapes/Point.d.ts +0 -1
  116. package/dist/lib/shapes/Point.js +0 -1
  117. /package/dist/lib/{draw/SmithDrawOptions.js → appearance/types.js} +0 -0
  118. /package/dist/lib/{draw → grid}/ConstConductance.d.ts +0 -0
  119. /package/dist/lib/{draw → grid}/ConstConductance.js +0 -0
  120. /package/dist/lib/{draw → grid}/ConstReactance.d.ts +0 -0
  121. /package/dist/lib/{draw → grid}/ConstReactance.js +0 -0
  122. /package/dist/lib/{draw → grid}/ConstResistance.d.ts +0 -0
  123. /package/dist/lib/{draw → grid}/ConstResistance.js +0 -0
  124. /package/dist/lib/{draw → grid}/ConstSusceptance.d.ts +0 -0
  125. /package/dist/lib/{draw → grid}/ConstSusceptance.js +0 -0
  126. /package/dist/lib/{arcs → grid}/Tick.d.ts +0 -0
  127. /package/dist/lib/{arcs → grid}/Tick.js +0 -0
  128. /package/dist/lib/{draw → interaction}/MouseGesture.d.ts +0 -0
  129. /package/dist/lib/{draw → interaction}/MouseGesture.js +0 -0
  130. /package/dist/lib/{shapes/Arc.js → math/geometry.js} +0 -0
  131. /package/dist/lib/{draw → svg}/SmithArc.js +0 -0
  132. /package/dist/lib/{draw → svg}/SmithCircle.js +0 -0
  133. /package/dist/lib/{draw → svg}/SmithDrawOptions.d.ts +0 -0
  134. /package/dist/lib/{shapes/Circle.js → svg/SmithDrawOptions.js} +0 -0
  135. /package/dist/lib/{draw → svg}/SmithGroup.d.ts +0 -0
  136. /package/dist/lib/{draw → svg}/SmithGroup.js +0 -0
  137. /package/dist/lib/{draw → svg}/SmithLine.js +0 -0
  138. /package/dist/lib/{draw → svg}/SmithPath.d.ts +0 -0
  139. /package/dist/lib/{draw → svg}/SmithPath.js +0 -0
  140. /package/dist/lib/{draw → svg}/SmithScaler.js +0 -0
  141. /package/dist/lib/{draw → svg}/SmithShape.d.ts +0 -0
  142. /package/dist/lib/{draw → svg}/SmithShape.js +0 -0
  143. /package/dist/lib/{draw → svg}/SmithSvg.d.ts +0 -0
  144. /package/dist/lib/{draw → svg}/SmithSvg.js +0 -0
  145. /package/dist/lib/{draw → svg}/SmithText.js +0 -0
  146. /package/dist/lib/{shapes/Line.js → svg/export.js} +0 -0
@@ -1,109 +0,0 @@
1
- import { SmithConstantCircle } from '../SmithConstantCircle.js';
2
- /** Normalized positions along each scale, from zero to one. */
3
- export function radialScales() {
4
- const calcs = new SmithConstantCircle();
5
- return [
6
- {
7
- id: 'vswr',
8
- unit: 'ratio',
9
- read: (gamma) => calcs.rflCoeffToSwr(gamma),
10
- title: 'VSWR',
11
- values: [1, 1.5, 2, 3, 5, 10, Infinity],
12
- position: (v) => (v === Infinity ? 1 : calcs.swrToRflCoeffEOrI(v)),
13
- },
14
- {
15
- id: 'vswr-db',
16
- unit: 'dB',
17
- read: (gamma) => calcs.rflCoeffToDBS(gamma),
18
- title: 'Standing-wave ratio · dB',
19
- values: [0, 3, 6, 10, 15, 20, Infinity],
20
- position: (v) => (v === Infinity ? 1 : calcs.dBSToAbsRflCoeff(v)),
21
- },
22
- {
23
- id: 'return-loss',
24
- unit: 'dB',
25
- read: (gamma) => calcs.rflCoeffToReturnLoss(gamma),
26
- title: 'Return loss · dB',
27
- values: [Infinity, 20, 14, 10, 6, 3, 0],
28
- position: (v) => calcs.returnLossToRflCoeffEOrI(v),
29
- },
30
- {
31
- id: 'mismatch-loss',
32
- unit: 'dB',
33
- read: (gamma) => calcs.rflCoeffToMismatchLoss(gamma),
34
- title: 'Reflection loss · dB',
35
- description: 'Reflection loss (mismatch loss): −10 log10(1 − |Γ|²), in dB.',
36
- values: [0, 0.1, 0.5, 1, 2, 4, Infinity],
37
- position: (v) => calcs.mismatchLossToRflCoeffEOrI(v),
38
- },
39
- {
40
- id: 'reflected-power',
41
- unit: 'ratio',
42
- read: (gamma) => calcs.rflCoeffP(gamma),
43
- title: 'Power reflection coefficient',
44
- description: 'Reflected power divided by incident power: |Γ|² (dimensionless).',
45
- values: [0, 0.01, 0.1, 0.25, 0.5, 0.75, 1],
46
- position: (v) => calcs.rflCoeffPToEOrI(v),
47
- },
48
- {
49
- id: 'transmitted-power',
50
- unit: 'ratio',
51
- read: (gamma) => calcs.rflCoeffToTransmCoeffP(gamma),
52
- title: 'Power transmission coefficient',
53
- description: 'Net power delivered to the load divided by incident power: 1 − |Γ|² (dimensionless).',
54
- values: [1, 0.99, 0.9, 0.75, 0.5, 0.25, 0],
55
- position: (v) => calcs.transmCoeffPToRflCoeffEOrI(v),
56
- },
57
- {
58
- id: 'standing-wave-loss',
59
- unit: 'ratio',
60
- read: (gamma) => calcs.rflCoeffToSwLossCoeff(gamma),
61
- title: 'Standing-wave loss coefficient',
62
- values: [1, 1.1, 1.5, 2, 3, 5, Infinity],
63
- position: (v) => (v === Infinity ? 1 : calcs.swLossCoeffToRflCoeffEOrI(v)),
64
- },
65
- {
66
- id: 'standing-wave-peak',
67
- unit: 'ratio',
68
- read: (gamma) => calcs.rflCoeffToSwPeakConstP(gamma),
69
- title: 'Standing-wave peak · constant power',
70
- values: [1, 1.2, 1.5, 2, 3, Infinity],
71
- position: (v) => (v === Infinity ? 1 : calcs.swPeakConstPToRflCoeffEOrI(v)),
72
- },
73
- {
74
- id: 'reflection-coefficient',
75
- unit: 'ratio',
76
- read: (gamma) => calcs.rflCoeffEOrI(gamma),
77
- title: 'Reflection coefficient · |Γ|',
78
- values: [0, 0.2, 0.4, 0.6, 0.8, 1],
79
- position: (v) => v,
80
- },
81
- {
82
- id: 'attenuation',
83
- unit: 'dB',
84
- read: (gamma) => calcs.rflCoeffToAttenuation(gamma),
85
- title: 'Attenuation · dB',
86
- description: 'One-way attenuation of a matched line or attenuator terminated in an open or short circuit. Not insertion loss of an arbitrary load.',
87
- values: [Infinity, 10, 7, 5, 3, 1, 0],
88
- position: (v) => calcs.attenuationToRflCoeff(v),
89
- },
90
- {
91
- id: 'voltage-transmission',
92
- unit: 'ratio',
93
- read: (gamma) => calcs.rflCoeffToTransmCoeffEOrI(gamma),
94
- title: 'Voltage transmission coefficient',
95
- description: 'Voltage transmission magnitude: |1 + Γ| (dimensionless).',
96
- values: [0, 0.4, 0.8, 1.2, 1.6, 2],
97
- position: (v) => v / 2,
98
- },
99
- {
100
- id: 'current-transmission',
101
- unit: 'ratio',
102
- read: (gamma) => calcs.rflCoeffToCurrentTransmission(gamma),
103
- title: 'Current transmission coefficient',
104
- description: 'Current transmission magnitude: |1 − Γ|, using the voltage reflection coefficient Γ (dimensionless).',
105
- values: [0, 0.4, 0.8, 1.2, 1.6, 2],
106
- position: (v) => v / 2,
107
- },
108
- ];
109
- }
@@ -1,6 +0,0 @@
1
- import { Point } from './Point.js';
2
- export interface Arc {
3
- p1: Point;
4
- p2: Point;
5
- r: number;
6
- }
@@ -1,5 +0,0 @@
1
- import { Point } from './Point.js';
2
- export interface Circle {
3
- p: Point;
4
- r: number;
5
- }
@@ -1,5 +0,0 @@
1
- import { Point } from './Point.js';
2
- export interface Line {
3
- p1: Point;
4
- p2: Point;
5
- }
@@ -1 +0,0 @@
1
- export type Point = [number, number];
@@ -1 +0,0 @@
1
- export {};
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes