@vessel-dsp/compiler 0.7.0 → 0.8.1

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 (37) hide show
  1. package/dist/compile.d.ts.map +1 -1
  2. package/dist/compile.js +36 -0
  3. package/dist/compile.js.map +1 -1
  4. package/dist/device-laws.d.ts.map +1 -1
  5. package/dist/device-laws.js +37 -10
  6. package/dist/device-laws.js.map +1 -1
  7. package/dist/netlist.d.ts.map +1 -1
  8. package/dist/netlist.js +12 -0
  9. package/dist/netlist.js.map +1 -1
  10. package/dist/part-catalog.d.ts +12 -0
  11. package/dist/part-catalog.d.ts.map +1 -1
  12. package/dist/part-catalog.js +52 -2
  13. package/dist/part-catalog.js.map +1 -1
  14. package/dist/registry-data/bjt.d.ts.map +1 -1
  15. package/dist/registry-data/bjt.js +318 -1
  16. package/dist/registry-data/bjt.js.map +1 -1
  17. package/dist/registry-data/diode.d.ts.map +1 -1
  18. package/dist/registry-data/diode.js +78 -64
  19. package/dist/registry-data/diode.js.map +1 -1
  20. package/dist/registry-data/index.d.ts +1 -0
  21. package/dist/registry-data/index.d.ts.map +1 -1
  22. package/dist/registry-data/index.js +20 -7
  23. package/dist/registry-data/index.js.map +1 -1
  24. package/dist/registry-data/jfet.d.ts.map +1 -1
  25. package/dist/registry-data/jfet.js +163 -0
  26. package/dist/registry-data/jfet.js.map +1 -1
  27. package/dist/registry-data/led.d.ts +20 -0
  28. package/dist/registry-data/led.d.ts.map +1 -0
  29. package/dist/registry-data/led.js +415 -0
  30. package/dist/registry-data/led.js.map +1 -0
  31. package/dist/registry-data/schema.d.ts +7 -3
  32. package/dist/registry-data/schema.d.ts.map +1 -1
  33. package/dist/registry-data/schema.js +11 -4
  34. package/dist/registry-data/schema.js.map +1 -1
  35. package/dist/types.d.ts +24 -1
  36. package/dist/types.d.ts.map +1 -1
  37. package/package.json +2 -2
@@ -0,0 +1,20 @@
1
+ import { type PartDataEntry } from "./loader";
2
+ export declare const ledRegistryRecords: readonly PartDataEntry[];
3
+ /**
4
+ * The closed colour vocabulary's canonical registry id per colour: the first partId of
5
+ * the colour's `led` record. The diode case resolves a `kind: led` device's stated,
6
+ * in-vocabulary `Color` through this map (whole folded id, existing lookup) when no
7
+ * registry PartNumber law resolves; a registry PartNumber law always wins, and typed
8
+ * document parameters win over both. `white` and `yellow` are colour words no packet
9
+ * uses as a part id -- they are reached only via `Color`.
10
+ */
11
+ export declare const LED_COLOUR_RECORD_ID: {
12
+ readonly red: "RED LED";
13
+ readonly yellow: "yellow";
14
+ readonly green: "LED-GREEN";
15
+ readonly blue: "blue";
16
+ readonly white: "white";
17
+ };
18
+ /** One closed-vocabulary LED colour. Mirrors the core `LedIndicatorColour`. */
19
+ export type LedColour = keyof typeof LED_COLOUR_RECORD_ID;
20
+ //# sourceMappingURL=led.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"led.d.ts","sourceRoot":"","sources":["../../src/registry-data/led.ts"],"names":[],"mappings":"AAoCA,OAAO,EAAkB,KAAK,aAAa,EAAE,MAAM,UAAU,CAAC;AA2C9D,eAAO,MAAM,kBAAkB,EAAE,SAAS,aAAa,EA4WrD,CAAC;AAEH;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB;;;;;;CAMvB,CAAC;AAEX,+EAA+E;AAC/E,MAAM,MAAM,SAAS,GAAG,MAAM,OAAO,oBAAoB,CAAC"}
@@ -0,0 +1,415 @@
1
+ // LED colour-default registry data: owner bench 2026-10-20 (measured IS and n;
2
+ // derived VT and, for the two-point colours, derived Rs -- assumed fit constants,
3
+ // never measurements).
4
+ //
5
+ // Keying by packet spelling (whole folded part ids packets already use):
6
+ // - red: "RED LED" (marshall-blues-breaker LED1, 9 V power indicator through 470 ohm),
7
+ // "5mm red LED" (pigtronix-philosophers-tone D13), "LED-RED" (bk-butler-tube-driver
8
+ // D_EFFECT_LED_RED, EFFECT 5 mm red led; marshall-guvnor-drivemaster D2/D3, `kind:
9
+ // diode` red clipper pair -- `Color` is read for `kind: led` only, so the id stays
10
+ // their only key).
11
+ // - green: "LED-GREEN" (bk-butler-tube-driver D_POWER_LED_GREEN, POWER 5 mm green led).
12
+ // - blue: reached via typed `Color` only (the one packet spelling, keeley-compressor-plus
13
+ // "3mm blue", states vocabulary `Color: blue`, so the id was removed as redundant).
14
+ //
15
+ // One record per closed-vocabulary colour (`red`, `yellow`, `green`, `blue`, `white`),
16
+ // resolved two ways through the existing diode lookup: by whole folded PartNumber for
17
+ // the packet spellings above, and by typed `Color` (see `LED_COLOUR_RECORD_ID`) for any
18
+ // other `kind: led` device that states a vocabulary colour. A registry PartNumber law
19
+ // always wins over colour; typed parameters declared in the document win over both.
20
+ // No packet spells white or yellow in a part id, so those records carry the colour
21
+ // word as their registry id (no packet uses it; they are reached only via `Color`).
22
+ //
23
+ // Not keyed and landed nowhere: bare "LED" (colourless), "5mm LED" (colourless),
24
+ // "unspecified-indicator-led (...)" (explicitly unknown part), empty PartNumber, and
25
+ // every manufacturer part number (LN28RP, SLP-135B, GL-32AR, ...: real parts the bench
26
+ // kit cannot speak for).
27
+ //
28
+ // Every record states `thermalVoltage: 0.025852` explicitly (the VT the fit was referred
29
+ // to; the LED class default is 0.05, with which the engine does not reproduce these Vf at
30
+ // all) and its own fitted `seriesResistance` (the 2.0 ohm LED default is a placeholder,
31
+ // not a measurement). IS depends exponentially on n: each triple ships as fitted,
32
+ // digits unrounded, one fit per record. White, blue and green fit both evidence
33
+ // files (A/B from the identified four LEDs per colour, C/D from one unidentified
34
+ // LED per size from the same bags); red and yellow keep the first-session two-point
35
+ // pair (Rs fixed at the 2.0 ohm default, valid about 1.4 to 11 mA only).
36
+ import { definePartData } from "./loader.js";
37
+ const LED_INSTRUMENT = "UNI-T UT107, DC volts. Every voltage was entered to 0.01 V, so the effective " +
38
+ "count is 10 mV (2 V or 20 V range not recorded)";
39
+ const EVIDENCE_FIRST_PATH = "packet-study/led-default/measurements/2026-10-20-led-default.json";
40
+ const EVIDENCE_FIRST_SHA256 = "72abc43aa3d562351212dd6045e4bbf1914cf4e660dfe0e4288644c7f1f7b37a";
41
+ const EVIDENCE_SECOND_PATH = "packet-study/led-default/measurements/2026-10-20-led-default-cd-points.json";
42
+ const EVIDENCE_SECOND_SHA256 = "d0c5560161745f40616b0f0ed7852edfe6734029bb4a3105bc4503a737b6fb41";
43
+ const FOUR_POINT_CONDITIONS = "USB 5 V breadboard shield 4.99 V read once; first session 2.2 kohm and 270 ohm, " +
44
+ "second session 20 kohm and 150 ohm, all as typed exactly nominal, probably not metered " +
45
+ "(kit tolerance 1 %); room 20 C; 4 LEDs per colour at A/B (2 per size, one kit, maker not " +
46
+ "recorded) plus one unidentified LED per size at C/D (same bags, may not be among the four)";
47
+ const FOUR_POINT_SOURCE_TAIL = `Evidence ${EVIDENCE_FIRST_PATH} sha256 ${EVIDENCE_FIRST_SHA256} and ` +
48
+ `${EVIDENCE_SECOND_PATH} sha256 ${EVIDENCE_SECOND_SHA256}, schema ` +
49
+ "vesseldsp.junction-default-measurement.v1 perDevice isEngine/nEngine pooled over every " +
50
+ "sample at the engine VT 0.025852 V.";
51
+ const RED_CONDITIONS = "USB 5 V breadboard shield measured 4.99 V; 2.2 kohm and 270 ohm resistors as typed, " +
52
+ "exactly nominal, probably not metered (kit tolerance 1 %); room 20 C; 4 red LEDs " +
53
+ "(2 per size, one kit, maker not recorded); anchors 1.435 mA at 1.8275 V and 11.07 mA " +
54
+ "at 1.9925 V (pooled means)";
55
+ // Assumed fit constants, never measurements (derived basis): the thermal voltage the
56
+ // IS and n were referred to, and the series resistance fixed for a two-point fit.
57
+ const VT_DERIVATION = "The engine constant 0.025852 V the IS and n fit was referred to: IS and n " +
58
+ "reproduce the bench Vf only at this value (the LED class default is 0.05 V). " +
59
+ "Assumed, not measured.";
60
+ const TWO_POINT_RS_DERIVATION = "Fixed at the 2.0 ohm LED class default for the two-point fit, so the stamp must " +
61
+ "run at 2.0 ohm. Assumed, not measured.";
62
+ export const ledRegistryRecords = definePartData([
63
+ {
64
+ // Red indicator default: first-session two-point pair, Rs fixed at the 2.0 ohm
65
+ // class default (which is then correct for it). Valid about 1.4 to 11 mA only:
66
+ // the marshall-blues-breaker power indicator this keys runs about 15 mA off 9 V
67
+ // through 470 ohm, an extrapolated use disclosed here. n 2.76 would need Rs 6.2
68
+ // ohm were the junction n 2, so it may carry a small version of the inflated-n
69
+ // structure that sank the blue/white/green pairs; unverified outside the anchors.
70
+ partIds: ["RED LED", "5mm red LED", "LED-RED"],
71
+ class: "led",
72
+ note: "Owner bench 2026-10-20 (measured by Joseph Cheng, the project owner), 4 samples, maker unrecorded, two currents: the pair " +
73
+ "(1.1110898624e-14, 2.7587062 at Rs 2.0 ohm) holds only about 1.4 to 11 mA. " +
74
+ "The marshall-blues-breaker RED LED indicator runs about 15 mA (9 V through " +
75
+ "470 ohm), above the window: an extrapolated use. n 2.76 is above a junction " +
76
+ "n of 2 and unverified outside the two anchors. Published-model cross-check " +
77
+ "(LTspice Standard.dio, third-party library, not a manufacturer model): " +
78
+ "Kingbright APT1608SURCK (SMD, N 2.139, RS 2) -61 mV at 1.4 mA and -93 mV at " +
79
+ "11 mA (model minus measured); Fairchild QTLP690C (N 1.5, RS 6) -108 mV at " +
80
+ "1.4 mA and -136 mV at 11 mA.",
81
+ params: {
82
+ saturationCurrent: {
83
+ value: 1.1110898624e-14,
84
+ basis: "measured",
85
+ source: "Owner bench 2026-10-20 (measured by Joseph Cheng, the project owner), same sitting and fit as the emissionCoefficient " +
86
+ "record (one two-point fit at the 2.0 ohm LED class default and VT 0.025852 V; " +
87
+ "IS depends exponentially on n, so both digits ship as fitted). Valid about " +
88
+ "1.4 to 11 mA only; unverified outside the anchors. Evidence " +
89
+ `${EVIDENCE_FIRST_PATH} sha256 ${EVIDENCE_FIRST_SHA256}.`,
90
+ measurementInstrument: LED_INSTRUMENT,
91
+ measurementConditions: RED_CONDITIONS,
92
+ measurementSampleCount: 4,
93
+ measurementDate: "2026-10-20",
94
+ measurementEvidencePath: EVIDENCE_FIRST_PATH,
95
+ measurementEvidenceSha256: EVIDENCE_FIRST_SHA256,
96
+ },
97
+ emissionCoefficient: {
98
+ value: 2.7587062,
99
+ basis: "measured",
100
+ source: "Owner bench 2026-10-20 (measured by Joseph Cheng, the project owner), red two-point pair (n 2.76 may carry inflated-n " +
101
+ "structure; Rs fixed at 2.0 ohm). Valid about 1.4 to 11 mA only. Evidence " +
102
+ `${EVIDENCE_FIRST_PATH} sha256 ${EVIDENCE_FIRST_SHA256}.`,
103
+ measurementInstrument: LED_INSTRUMENT,
104
+ measurementConditions: RED_CONDITIONS,
105
+ measurementSampleCount: 4,
106
+ measurementDate: "2026-10-20",
107
+ measurementEvidencePath: EVIDENCE_FIRST_PATH,
108
+ measurementEvidenceSha256: EVIDENCE_FIRST_SHA256,
109
+ },
110
+ thermalVoltage: {
111
+ value: 0.025852,
112
+ basis: "derived",
113
+ source: "The VT the red fit was referred to (the LED class default is 0.05, with " +
114
+ "which the engine does not reproduce these Vf). Evidence " +
115
+ `${EVIDENCE_FIRST_PATH} sha256 ${EVIDENCE_FIRST_SHA256}.`,
116
+ derivation: VT_DERIVATION,
117
+ },
118
+ seriesResistance: {
119
+ value: 2.0,
120
+ basis: "derived",
121
+ source: "The Rs the red fit assumed (the 2.0 ohm LED class default, fixed for the " +
122
+ "two-point fit, so the stamp must run at 2.0 ohm). Evidence " +
123
+ `${EVIDENCE_FIRST_PATH} sha256 ${EVIDENCE_FIRST_SHA256}.`,
124
+ derivation: TWO_POINT_RS_DERIVATION,
125
+ },
126
+ },
127
+ },
128
+ {
129
+ // Green indicator default: colour-level four-point effective values over 0.13 to
130
+ // 13 mA. MISSES the 20 mV page limit (residual 32 mV at B): green does not follow
131
+ // V = a + b ln I + R I within 30 mV. Per-LED #1/#2 agreement is 0 to 10 mV in both
132
+ // sizes, so most of the misfit is the model form, not noise; the unidentified C/D
133
+ // LED explains at most about a quarter of it. Sizes agree within the fit (Rs 28.8
134
+ // 3 mm vs 30.8 5 mm).
135
+ partIds: ["LED-GREEN"],
136
+ class: "led",
137
+ note: "Owner bench 2026-10-20 (measured by Joseph Cheng, the project owner), 4 + 2 samples (A/B four identified LEDs, C/D one " +
138
+ "unidentified LED per size from the same bags), maker unrecorded. Four-point " +
139
+ "effective values (5.275788e-17, 3.02001, 29.7599 ohm); residuals (model minus " +
140
+ "measured) -9.2 mV " +
141
+ "at 0.13 mA, +23.9 at 1.1 mA, -31.9 at 8 mA, +17.1 at 13 mA: green misses the " +
142
+ "20 mV limit (32 mV), a stated misfit of the one-diode form, not noise. No " +
143
+ "published model for an indicator green LED was found (manufacturer sites not " +
144
+ "searched).",
145
+ params: {
146
+ saturationCurrent: {
147
+ value: 5.275788e-17,
148
+ basis: "measured",
149
+ source: "Owner bench 2026-10-20 (measured by Joseph Cheng, the project owner) green four-point fit (V = a + n VT ln I + I Rs over " +
150
+ "C 0.13 mA, A 1.1 mA, B 8 mA, D 13 mA; IS depends exponentially on n, so " +
151
+ "all three digits ship as fitted). " + FOUR_POINT_SOURCE_TAIL,
152
+ measurementInstrument: LED_INSTRUMENT,
153
+ measurementConditions: FOUR_POINT_CONDITIONS,
154
+ measurementSampleCount: 6,
155
+ measurementDate: "2026-10-20",
156
+ measurementEvidencePath: EVIDENCE_FIRST_PATH,
157
+ measurementEvidenceSha256: EVIDENCE_FIRST_SHA256,
158
+ },
159
+ emissionCoefficient: {
160
+ value: 3.02001,
161
+ basis: "measured",
162
+ source: "Owner bench 2026-10-20 (measured by Joseph Cheng, the project owner) green four-point fit (n 3.02 is an effective value " +
163
+ "over 0.13 to 13 mA with a stated 32 mV misfit). " + FOUR_POINT_SOURCE_TAIL,
164
+ measurementInstrument: LED_INSTRUMENT,
165
+ measurementConditions: FOUR_POINT_CONDITIONS,
166
+ measurementSampleCount: 6,
167
+ measurementDate: "2026-10-20",
168
+ measurementEvidencePath: EVIDENCE_FIRST_PATH,
169
+ measurementEvidenceSha256: EVIDENCE_FIRST_SHA256,
170
+ },
171
+ thermalVoltage: {
172
+ value: 0.025852,
173
+ basis: "derived",
174
+ source: "The VT the green fit was referred to (the LED class default is 0.05, with " +
175
+ "which the engine does not reproduce these Vf). " + FOUR_POINT_SOURCE_TAIL,
176
+ derivation: VT_DERIVATION,
177
+ },
178
+ seriesResistance: {
179
+ value: 29.7599,
180
+ basis: "measured",
181
+ source: "Owner bench 2026-10-20 (measured by Joseph Cheng, the project owner) green four-point fit (Rs 29.76 ohm is why the " +
182
+ "first-session n read 8.0; the stamp must run at the fitted Rs, not the " +
183
+ "2.0 ohm class default). " + FOUR_POINT_SOURCE_TAIL,
184
+ measurementInstrument: LED_INSTRUMENT,
185
+ measurementConditions: FOUR_POINT_CONDITIONS,
186
+ measurementSampleCount: 6,
187
+ measurementDate: "2026-10-20",
188
+ measurementEvidencePath: EVIDENCE_FIRST_PATH,
189
+ measurementEvidenceSha256: EVIDENCE_FIRST_SHA256,
190
+ },
191
+ },
192
+ },
193
+ {
194
+ // Blue indicator default: colour-level four-point effective values over 0.13 to
195
+ // 13 mA, within the 20 mV page limit (residuals +6.4/-8.3/-2.5/+4.4 mV at
196
+ // 1/8/0.13/13 mA, model minus measured). Weaker evidence than green's "over it":
197
+ // the 3 mm A/B LEDs differed by up to 50 mV at 8 mA, so the unidentified C/D LED
198
+ // could by itself account for the 8 mV residual. Sizes: Rs 20.3 (3 mm) vs 24.1
199
+ // (5 mm), within the fit's resolution; the colour default pools both per the
200
+ // owner's by-colour rule. Reached via typed `Color` only: the one packet spelling
201
+ // ("3mm blue") states vocabulary `Color: blue`, so the id was removed as redundant.
202
+ partIds: ["blue"],
203
+ class: "led",
204
+ note: "Owner bench 2026-10-20 (measured by Joseph Cheng, the project owner), 4 + 2 samples (A/B four identified LEDs, C/D one " +
205
+ "unidentified LED per size from the same bags), maker unrecorded. Four-point " +
206
+ "effective values (8.668086e-34, 1.42282, 22.2290 ohm); residuals (model minus " +
207
+ "measured) +6.4 mV at 1 mA, -8.3 at 8 mA, -2.5 at 0.13 mA, +4.4 at 13 mA: " +
208
+ "within the 20 mV limit, but the unidentified C/D LED could by itself account " +
209
+ "for the residual (3 mm A/B spread reached 50 mV at 8 mA), so 'within limit' " +
210
+ "is weaker evidence than green's 'over it'. The keyed packet device is 3 mm; " +
211
+ "the record pools 3 and 5 mm per the owner's by-colour rule. Published-model " +
212
+ "cross-check (LTspice Standard.dio, third-party library): Microsemi UPBLED-470B " +
213
+ "(power LED, N 1.923, RS 32) sits +516 to +716 mV from the kit, a different " +
214
+ "part, not a generic blue.",
215
+ params: {
216
+ saturationCurrent: {
217
+ value: 8.668086e-34,
218
+ basis: "measured",
219
+ source: "Owner bench 2026-10-20 (measured by Joseph Cheng, the project owner) blue four-point fit (V = a + n VT ln I + I Rs over " +
220
+ "C 0.13 mA, A 1.1 mA, B 8 mA, D 13 mA; IS depends exponentially on n, so " +
221
+ "all three digits ship as fitted). " + FOUR_POINT_SOURCE_TAIL,
222
+ measurementInstrument: LED_INSTRUMENT,
223
+ measurementConditions: FOUR_POINT_CONDITIONS,
224
+ measurementSampleCount: 6,
225
+ measurementDate: "2026-10-20",
226
+ measurementEvidencePath: EVIDENCE_FIRST_PATH,
227
+ measurementEvidenceSha256: EVIDENCE_FIRST_SHA256,
228
+ },
229
+ emissionCoefficient: {
230
+ value: 1.42282,
231
+ basis: "measured",
232
+ source: "Owner bench 2026-10-20 (measured by Joseph Cheng, the project owner) blue four-point fit (effective value over 0.13 to " +
233
+ "13 mA). " + FOUR_POINT_SOURCE_TAIL,
234
+ measurementInstrument: LED_INSTRUMENT,
235
+ measurementConditions: FOUR_POINT_CONDITIONS,
236
+ measurementSampleCount: 6,
237
+ measurementDate: "2026-10-20",
238
+ measurementEvidencePath: EVIDENCE_FIRST_PATH,
239
+ measurementEvidenceSha256: EVIDENCE_FIRST_SHA256,
240
+ },
241
+ thermalVoltage: {
242
+ value: 0.025852,
243
+ basis: "derived",
244
+ source: "The VT the blue fit was referred to (the LED class default is 0.05, with " +
245
+ "which the engine does not reproduce these Vf). " + FOUR_POINT_SOURCE_TAIL,
246
+ derivation: VT_DERIVATION,
247
+ },
248
+ seriesResistance: {
249
+ value: 22.229,
250
+ basis: "measured",
251
+ source: "Owner bench 2026-10-20 (measured by Joseph Cheng, the project owner) blue four-point fit (Rs 22.229 ohm is why the " +
252
+ "first-session n read 4.4; the stamp must run at the fitted Rs, not the " +
253
+ "2.0 ohm class default). " + FOUR_POINT_SOURCE_TAIL,
254
+ measurementInstrument: LED_INSTRUMENT,
255
+ measurementConditions: FOUR_POINT_CONDITIONS,
256
+ measurementSampleCount: 6,
257
+ measurementDate: "2026-10-20",
258
+ measurementEvidencePath: EVIDENCE_FIRST_PATH,
259
+ measurementEvidenceSha256: EVIDENCE_FIRST_SHA256,
260
+ },
261
+ },
262
+ },
263
+ {
264
+ // White indicator default: colour-level four-point effective values over 0.12 to
265
+ // 13 mA, within the 20 mV page limit (residuals +13.9/-18.1/-5.4/+9.6 mV at
266
+ // 1/8/0.13/13 mA, model minus measured). Same unidentified-C/D caveat as blue, and
267
+ // stronger: white sizes differ by about 14 ohm of series resistance (Rs 15.7 3 mm
268
+ // vs 29.9 5 mm, about 160 mV at 13 mA), so the colour default pools two sizes that
269
+ // do not agree, per the owner's by-colour rule. Reached via typed `Color` only:
270
+ // no packet spells white in a part id.
271
+ partIds: ["white"],
272
+ class: "led",
273
+ note: "Owner bench 2026-10-20 (measured by Joseph Cheng, the project owner), 4 + 2 samples (A/B four identified LEDs, C/D one " +
274
+ "unidentified LED per size from the same bags), maker unrecorded. Four-point " +
275
+ "effective values (4.056687e-26, 1.98811, 22.5033 ohm); residuals (model minus " +
276
+ "measured) +13.9 mV at 1 mA, -18.1 at 8 mA, -5.4 at 0.13 mA, +9.6 at 13 mA: " +
277
+ "within the 20 mV limit, but the unidentified C/D LED could by itself account " +
278
+ "for the residual, and the 3 and 5 mm samples disagree by about 14 ohm " +
279
+ "(160 mV at 13 mA), so a colour-only default spans both. Published-model " +
280
+ "cross-check (LTspice Standard.dio, third-party library, not a manufacturer " +
281
+ "model): Nichia NSPW500BS (5 mm; IS 0.27n, N 6.79, RS 5.65) -264 mV at " +
282
+ "0.12 mA, +8 at 1.05 mA, +111 at 7.6 mA, +115 at 12.8 mA; Nichia NSCW100 " +
283
+ "(SMD; N 9.626, RS 8.163) -338, +94, +358, +414 mV at the same currents " +
284
+ "(model minus measured) -- each matches the kit at one current only, and both " +
285
+ "carry the same large-N structure as the rejected two-point pairs.",
286
+ params: {
287
+ saturationCurrent: {
288
+ value: 4.056687e-26,
289
+ basis: "measured",
290
+ source: "Owner bench 2026-10-20 (measured by Joseph Cheng, the project owner) white four-point fit (V = a + n VT ln I + I Rs over " +
291
+ "C 0.13 mA, A 1.1 mA, B 8 mA, D 13 mA; IS depends exponentially on n, so " +
292
+ "all three digits ship as fitted). " + FOUR_POINT_SOURCE_TAIL,
293
+ measurementInstrument: LED_INSTRUMENT,
294
+ measurementConditions: FOUR_POINT_CONDITIONS,
295
+ measurementSampleCount: 6,
296
+ measurementDate: "2026-10-20",
297
+ measurementEvidencePath: EVIDENCE_FIRST_PATH,
298
+ measurementEvidenceSha256: EVIDENCE_FIRST_SHA256,
299
+ },
300
+ emissionCoefficient: {
301
+ value: 1.98811,
302
+ basis: "measured",
303
+ source: "Owner bench 2026-10-20 (measured by Joseph Cheng, the project owner) white four-point fit (effective value over 0.12 to " +
304
+ "13 mA). " + FOUR_POINT_SOURCE_TAIL,
305
+ measurementInstrument: LED_INSTRUMENT,
306
+ measurementConditions: FOUR_POINT_CONDITIONS,
307
+ measurementSampleCount: 6,
308
+ measurementDate: "2026-10-20",
309
+ measurementEvidencePath: EVIDENCE_FIRST_PATH,
310
+ measurementEvidenceSha256: EVIDENCE_FIRST_SHA256,
311
+ },
312
+ thermalVoltage: {
313
+ value: 0.025852,
314
+ basis: "derived",
315
+ source: "The VT the white fit was referred to (the LED class default is 0.05, with " +
316
+ "which the engine does not reproduce these Vf). " + FOUR_POINT_SOURCE_TAIL,
317
+ derivation: VT_DERIVATION,
318
+ },
319
+ seriesResistance: {
320
+ value: 22.5033,
321
+ basis: "measured",
322
+ source: "Owner bench 2026-10-20 (measured by Joseph Cheng, the project owner) white four-point fit (Rs 22.5033 ohm is why the " +
323
+ "first-session n read 5.2; the stamp must run at the fitted Rs, not the " +
324
+ "2.0 ohm class default). " + FOUR_POINT_SOURCE_TAIL,
325
+ measurementInstrument: LED_INSTRUMENT,
326
+ measurementConditions: FOUR_POINT_CONDITIONS,
327
+ measurementSampleCount: 6,
328
+ measurementDate: "2026-10-20",
329
+ measurementEvidencePath: EVIDENCE_FIRST_PATH,
330
+ measurementEvidenceSha256: EVIDENCE_FIRST_SHA256,
331
+ },
332
+ },
333
+ },
334
+ {
335
+ // Yellow indicator default: first-session two-point pair, Rs fixed at the 2.0 ohm
336
+ // class default (which is then correct for it). Valid about 1.4 to 11 mA only;
337
+ // unverified outside the two anchors. Reached via typed `Color` only: no packet
338
+ // spells yellow in a part id. No published cross-check found (no model for an
339
+ // indicator yellow LED in LTspice Standard.dio; manufacturer sites not searched).
340
+ partIds: ["yellow"],
341
+ class: "led",
342
+ note: "Owner bench 2026-10-20 (measured by Joseph Cheng, the project owner), 4 samples, maker unrecorded, two currents: the pair " +
343
+ "(2.1187081810e-25, 1.4664285 at Rs 2.0 ohm) holds only about 1.4 to 11 mA. " +
344
+ "n 1.47 needs no series resistance, so the two-point form is consistent at the " +
345
+ "anchors; unverified outside them all the same.",
346
+ params: {
347
+ saturationCurrent: {
348
+ value: 2.1187081810e-25,
349
+ basis: "measured",
350
+ source: "Owner bench 2026-10-20 (measured by Joseph Cheng, the project owner), same sitting and fit as the emissionCoefficient " +
351
+ "record (one two-point fit at the 2.0 ohm LED class default and VT 0.025852 V; " +
352
+ "IS depends exponentially on n, so both digits ship as fitted). Valid about " +
353
+ "1.4 to 11 mA only; unverified outside the anchors. Evidence " +
354
+ `${EVIDENCE_FIRST_PATH} sha256 ${EVIDENCE_FIRST_SHA256}.`,
355
+ measurementInstrument: LED_INSTRUMENT,
356
+ measurementConditions: "USB 5 V breadboard shield measured 4.99 V; 2.2 kohm and 270 ohm resistors " +
357
+ "as typed, exactly nominal, probably not metered (kit tolerance 1 %); room " +
358
+ "20 C; 4 yellow LEDs (2 per size, one kit, maker not recorded); anchors " +
359
+ "1.40 mA at 1.9075 V and 11.03 mA at 2.005 V (pooled means)",
360
+ measurementSampleCount: 4,
361
+ measurementDate: "2026-10-20",
362
+ measurementEvidencePath: EVIDENCE_FIRST_PATH,
363
+ measurementEvidenceSha256: EVIDENCE_FIRST_SHA256,
364
+ },
365
+ emissionCoefficient: {
366
+ value: 1.4664285,
367
+ basis: "measured",
368
+ source: "Owner bench 2026-10-20 (measured by Joseph Cheng, the project owner) yellow two-point pair (n 1.47 needs no series " +
369
+ "resistance; Rs fixed at 2.0 ohm). Valid about 1.4 to 11 mA only. Evidence " +
370
+ `${EVIDENCE_FIRST_PATH} sha256 ${EVIDENCE_FIRST_SHA256}.`,
371
+ measurementInstrument: LED_INSTRUMENT,
372
+ measurementConditions: "USB 5 V breadboard shield measured 4.99 V; 2.2 kohm and 270 ohm resistors " +
373
+ "as typed, exactly nominal, probably not metered (kit tolerance 1 %); room " +
374
+ "20 C; 4 yellow LEDs (2 per size, one kit, maker not recorded); anchors " +
375
+ "1.40 mA at 1.9075 V and 11.03 mA at 2.005 V (pooled means)",
376
+ measurementSampleCount: 4,
377
+ measurementDate: "2026-10-20",
378
+ measurementEvidencePath: EVIDENCE_FIRST_PATH,
379
+ measurementEvidenceSha256: EVIDENCE_FIRST_SHA256,
380
+ },
381
+ thermalVoltage: {
382
+ value: 0.025852,
383
+ basis: "derived",
384
+ source: "The VT the yellow fit was referred to (the LED class default is 0.05, with " +
385
+ "which the engine does not reproduce these Vf). Evidence " +
386
+ `${EVIDENCE_FIRST_PATH} sha256 ${EVIDENCE_FIRST_SHA256}.`,
387
+ derivation: VT_DERIVATION,
388
+ },
389
+ seriesResistance: {
390
+ value: 2.0,
391
+ basis: "derived",
392
+ source: "The Rs the yellow fit assumed (the 2.0 ohm LED class default, fixed for the " +
393
+ "two-point fit, so the stamp must run at 2.0 ohm). Evidence " +
394
+ `${EVIDENCE_FIRST_PATH} sha256 ${EVIDENCE_FIRST_SHA256}.`,
395
+ derivation: TWO_POINT_RS_DERIVATION,
396
+ },
397
+ },
398
+ },
399
+ ]);
400
+ /**
401
+ * The closed colour vocabulary's canonical registry id per colour: the first partId of
402
+ * the colour's `led` record. The diode case resolves a `kind: led` device's stated,
403
+ * in-vocabulary `Color` through this map (whole folded id, existing lookup) when no
404
+ * registry PartNumber law resolves; a registry PartNumber law always wins, and typed
405
+ * document parameters win over both. `white` and `yellow` are colour words no packet
406
+ * uses as a part id -- they are reached only via `Color`.
407
+ */
408
+ export const LED_COLOUR_RECORD_ID = {
409
+ red: "RED LED",
410
+ yellow: "yellow",
411
+ green: "LED-GREEN",
412
+ blue: "blue",
413
+ white: "white",
414
+ };
415
+ //# sourceMappingURL=led.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"led.js","sourceRoot":"","sources":["../../src/registry-data/led.ts"],"names":[],"mappings":"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"}
@@ -31,8 +31,12 @@ export declare function classParamNames(cls: PartClassName): readonly string[];
31
31
  * - `jfet` / `mosfet`: thresholdVolts (pinch-off) and transconductance (gain). Geometry and
32
32
  * gate refinements (channelLengthModulation, subthresholdVolts, gate terms) keep defaults.
33
33
  * - `diode` / `led`: saturationCurrent (knee position) and emissionCoefficient (knee slope).
34
- * thermalVoltage is a constant, breakdownVolts 0 is an ordinary diode, seriesResistance
35
- * keeps its default.
34
+ * Silicon leaves thermalVoltage omitted (the engine constant), breakdownVolts 0 is an
35
+ * ordinary diode, seriesResistance keeps its class default (1.0 ohm diode, 2.0 ohm LED).
36
+ * An LED record states the VT its fit was referred to and its fitted Rs explicitly.
37
+ * A `custom` LED override must state the full quad: an (IS, n) measured at the engine
38
+ * VT silently mis-stamps when VT falls back to the 0.05 class default, and an Rs left
39
+ * at 2.0 ohm repeats the inflated-n failure the four-point fits exposed.
36
40
  * - `zener`: the diode pair plus breakdownVolts -- the breakdown IS the part, and without it
37
41
  * the law stamps an ordinary diode.
38
42
  * - `opamp`: openLoopGain and gainBandwidthHz. The swing pair is deliberately absent: per the
@@ -49,7 +53,7 @@ export declare const REQUIRED_CLASS_PARAMS: {
49
53
  readonly mosfet: readonly ["thresholdVolts", "transconductance"];
50
54
  readonly diode: readonly ["saturationCurrent", "emissionCoefficient"];
51
55
  readonly zener: readonly ["saturationCurrent", "emissionCoefficient", "breakdownVolts"];
52
- readonly led: readonly ["saturationCurrent", "emissionCoefficient"];
56
+ readonly led: readonly ["saturationCurrent", "emissionCoefficient", "thermalVoltage", "seriesResistance"];
53
57
  readonly opamp: readonly ["openLoopGain", "gainBandwidthHz"];
54
58
  readonly regulator: readonly ["volts"];
55
59
  readonly "charge-pump": readonly ["sourceOhms", "chargePumpLossVolts"];
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/registry-data/schema.ts"],"names":[],"mappings":"AAkCA,yFAAyF;AACzF,eAAO,MAAM,mBAAmB;;;;;;;;;;;CAwDtB,CAAC;AAEX,wEAAwE;AACxE,MAAM,MAAM,aAAa,GAAG,MAAM,OAAO,mBAAmB,CAAC;AAE7D,iEAAiE;AACjE,wBAAgB,eAAe,CAAC,GAAG,EAAE,aAAa,GAAG,SAAS,MAAM,EAAE,CAErE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;CAW2B,CAAC;AAE9D,mFAAmF;AACnF,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,aAAa,GAAG,SAAS,MAAM,EAAE,CAEzE"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/registry-data/schema.ts"],"names":[],"mappings":"AAqCA,yFAAyF;AACzF,eAAO,MAAM,mBAAmB;;;;;;;;;;;CAwDtB,CAAC;AAEX,wEAAwE;AACxE,MAAM,MAAM,aAAa,GAAG,MAAM,OAAO,mBAAmB,CAAC;AAE7D,iEAAiE;AACjE,wBAAgB,eAAe,CAAC,GAAG,EAAE,aAAa,GAAG,SAAS,MAAM,EAAE,CAErE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;CAW2B,CAAC;AAE9D,mFAAmF;AACnF,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,aAAa,GAAG,SAAS,MAAM,EAAE,CAEzE"}
@@ -11,7 +11,10 @@
11
11
  // law's numeric fields (`gateSaturationCurrent: 0` is the MOSFET's insulated gate).
12
12
  // - `diode` / `zener` / `led`: all three lower to the `diode` law; a zener adds a reverse
13
13
  // knee (`breakdownVolts`), an LED adds `isLed`, and a Schottky is a diode with a low
14
- // forward knee -- all fit these five numeric names.
14
+ // forward knee -- all fit these five numeric names. Silicon records omit
15
+ // `thermalVoltage` (the engine constant 0.025852 V, not a per-part figure); LED records
16
+ // state it explicitly, because the LED class default is 0.05 V and each LED fit was
17
+ // referred to 0.025852 V.
15
18
  // - `opamp`: the `ideal-opamp` law's numeric part facts. `openLoopGain` is listed because it
16
19
  // is a class parameter (stage 2 must allow overriding it) even though stage 1 keeps its
17
20
  // values in `part-catalog.ts` code; `gainBandwidthHz` and the swing pair move to data now.
@@ -109,8 +112,12 @@ export function classParamNames(cls) {
109
112
  * - `jfet` / `mosfet`: thresholdVolts (pinch-off) and transconductance (gain). Geometry and
110
113
  * gate refinements (channelLengthModulation, subthresholdVolts, gate terms) keep defaults.
111
114
  * - `diode` / `led`: saturationCurrent (knee position) and emissionCoefficient (knee slope).
112
- * thermalVoltage is a constant, breakdownVolts 0 is an ordinary diode, seriesResistance
113
- * keeps its default.
115
+ * Silicon leaves thermalVoltage omitted (the engine constant), breakdownVolts 0 is an
116
+ * ordinary diode, seriesResistance keeps its class default (1.0 ohm diode, 2.0 ohm LED).
117
+ * An LED record states the VT its fit was referred to and its fitted Rs explicitly.
118
+ * A `custom` LED override must state the full quad: an (IS, n) measured at the engine
119
+ * VT silently mis-stamps when VT falls back to the 0.05 class default, and an Rs left
120
+ * at 2.0 ohm repeats the inflated-n failure the four-point fits exposed.
114
121
  * - `zener`: the diode pair plus breakdownVolts -- the breakdown IS the part, and without it
115
122
  * the law stamps an ordinary diode.
116
123
  * - `opamp`: openLoopGain and gainBandwidthHz. The swing pair is deliberately absent: per the
@@ -127,7 +134,7 @@ export const REQUIRED_CLASS_PARAMS = {
127
134
  mosfet: ["thresholdVolts", "transconductance"],
128
135
  diode: ["saturationCurrent", "emissionCoefficient"],
129
136
  zener: ["saturationCurrent", "emissionCoefficient", "breakdownVolts"],
130
- led: ["saturationCurrent", "emissionCoefficient"],
137
+ led: ["saturationCurrent", "emissionCoefficient", "thermalVoltage", "seriesResistance"],
131
138
  opamp: ["openLoopGain", "gainBandwidthHz"],
132
139
  regulator: ["volts"],
133
140
  "charge-pump": ["sourceOhms", "chargePumpLossVolts"],
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/registry-data/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/registry-data/schema.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -173,6 +173,15 @@ export type Device = {
173
173
  readonly control: ControlId | null;
174
174
  readonly identity: DeviceIdentity;
175
175
  readonly isLed?: boolean;
176
+ /**
177
+ * The component's stated `Color` property verbatim, on a `kind: led` device only,
178
+ * or null where none is stated. Carried raw and validated where it is used
179
+ * (`device-laws.ts` diode case): a closed-vocabulary word keys the measured
180
+ * colour-default law, anything else keeps the class defaults and is named by the
181
+ * `led-colour-unmatched` diagnostic. Never read for any other device kind, never
182
+ * normalised, never inferred.
183
+ */
184
+ readonly ledColour?: string | null;
176
185
  /**
177
186
  * This device's explicit parameter override, as the source declared it under
178
187
  * `properties.DeviceOverride`, or absent where it declares none. Validated at
@@ -3012,6 +3021,20 @@ export type LegacyDeviceParameterWarning = {
3012
3021
  readonly overridden: readonly string[];
3013
3022
  readonly detail: string;
3014
3023
  };
3024
+ /**
3025
+ * A `kind: led` device whose stated `Color` is outside the closed colour vocabulary
3026
+ * (`red`, `yellow`, `green`, `blue`, `white`, compared whole and case-sensitively).
3027
+ * The device keeps the LED class defaults; no colour law is keyed, nothing is
3028
+ * normalised or inferred, and the spelling stays the packet's problem to fix. One
3029
+ * warning per device, naming the device and quoting the value verbatim.
3030
+ */
3031
+ export type LedColourUnmatchedWarning = {
3032
+ readonly code: "led-colour-unmatched";
3033
+ readonly device: DeviceId;
3034
+ /** The stated `Color` value verbatim, as authored (quotes and case included). */
3035
+ readonly value: string;
3036
+ readonly detail: string;
3037
+ };
3015
3038
  /**
3016
3039
  * One applied explicit parameter override: the device's values that came from its
3017
3040
  * `DeviceOverride` block rather than the registry or a class default. One notice per device,
@@ -3346,7 +3369,7 @@ export type PowerDomainControlWarning = {
3346
3369
  readonly device: DeviceId;
3347
3370
  readonly detail: string;
3348
3371
  };
3349
- export type CompileWarning = UnroutableThrowWarning | GenericSpeakerProfileWarning | LedgerDivergenceWarning | GenericTubeFitWarning | InertControlWarning | UnboundedOpampWarning | SupplyShortWarning | TaperNotExecutableWarning | OverDrivenNodeWarning | DanglingActiveTerminalWarning | ClockDriverSupplyAtGroundWarning | NonExecutableClockDriverWarning | NonExecutableSupportShellWarning | UnconnectedBehaviorComponentWarning | UnreadableTerminalRoleWarning | UnverifiedPinoutBindingWarning | PowerDomainControlWarning | UnimplementedControlRoleWarning | UnimplementedDeviceLawWarning | ElectricallyIsolatedIcWarning | RailWithoutVoltageWarning | FetLawDefaultWarning | BjtLawDefaultWarning | RegistryProvisionalValueWarning | LegacyDeviceParameterWarning | RegistryOverrideAppliedWarning | OpampLawDefaultWarning | OpampGainBandwidthDefaultWarning | IcNotExecutedWarning | OutputPortUnreachableWarning | InterfaceOrSourceOnlyWarning | NotPopulatedWarning | NotPopulatedWithoutValueWarning | UnsupportedComponentWarning | UnexecutedActiveRegionWarning | OutputPortNotTransformerCoupledWarning | NoOutputTransformerWarning | DeclaredDelayWarning | ControlPositionDisagreesWarning | BypassEngagedDisagreesWarning | ModulationNotModelledWarning | ConverterScaleNotModelledWarning;
3372
+ export type CompileWarning = UnroutableThrowWarning | GenericSpeakerProfileWarning | LedgerDivergenceWarning | GenericTubeFitWarning | InertControlWarning | UnboundedOpampWarning | SupplyShortWarning | TaperNotExecutableWarning | OverDrivenNodeWarning | DanglingActiveTerminalWarning | ClockDriverSupplyAtGroundWarning | NonExecutableClockDriverWarning | NonExecutableSupportShellWarning | UnconnectedBehaviorComponentWarning | UnreadableTerminalRoleWarning | UnverifiedPinoutBindingWarning | PowerDomainControlWarning | UnimplementedControlRoleWarning | UnimplementedDeviceLawWarning | ElectricallyIsolatedIcWarning | RailWithoutVoltageWarning | FetLawDefaultWarning | BjtLawDefaultWarning | RegistryProvisionalValueWarning | LegacyDeviceParameterWarning | LedColourUnmatchedWarning | RegistryOverrideAppliedWarning | OpampLawDefaultWarning | OpampGainBandwidthDefaultWarning | IcNotExecutedWarning | OutputPortUnreachableWarning | InterfaceOrSourceOnlyWarning | NotPopulatedWarning | NotPopulatedWithoutValueWarning | UnsupportedComponentWarning | UnexecutedActiveRegionWarning | OutputPortNotTransformerCoupledWarning | NoOutputTransformerWarning | DeclaredDelayWarning | ControlPositionDisagreesWarning | BypassEngagedDisagreesWarning | ModulationNotModelledWarning | ConverterScaleNotModelledWarning;
3350
3373
  /**
3351
3374
  * A composed program that touches a data converter but runs unity in volts, because one side's
3352
3375
  * converter is unwired, ambiguous, or has no cited full scale. See `converter-scale.ts`: the