@vessel-dsp/core 0.6.13 → 0.6.15
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/editor/factory.js +1 -0
- package/dist/editor/factory.js.map +1 -1
- package/dist/formats/circuit-json/serializer.js +2 -0
- package/dist/formats/circuit-json/serializer.js.map +1 -1
- package/dist/formats/document.js +3 -0
- package/dist/formats/document.js.map +1 -1
- package/dist/formats/interchange/parser.d.ts.map +1 -1
- package/dist/formats/interchange/parser.js +93 -0
- package/dist/formats/interchange/parser.js.map +1 -1
- package/dist/formats/interchange/serializer.d.ts.map +1 -1
- package/dist/formats/interchange/serializer.js +4 -0
- package/dist/formats/interchange/serializer.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/model/types.d.ts +116 -2
- package/dist/model/types.d.ts.map +1 -1
- package/dist/model/types.js.map +1 -1
- package/dist/model/validation.d.ts +1 -1
- package/dist/model/validation.d.ts.map +1 -1
- package/dist/model/validation.js +240 -3
- package/dist/model/validation.js.map +1 -1
- package/dist/preview/colors.d.ts.map +1 -1
- package/dist/preview/colors.js +1 -0
- package/dist/preview/colors.js.map +1 -1
- package/package.json +1 -1
package/dist/model/types.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ export type ParsedQuantity = Readonly<{
|
|
|
8
8
|
value: number;
|
|
9
9
|
unit: string;
|
|
10
10
|
}>;
|
|
11
|
-
export type ComponentKind = "resistor" | "capacitor" | "inductor" | "diode" | "led" | "bjt" | "jfet" | "mosfet" | "opamp" | "ota" | "triode" | "pentode" | "tube-diode" | "transformer" | "potentiometer" | "variable-resistor" | "switch" | "optocoupler" | "voltage-source" | "current-source" | "battery" | "ground" | "rail" | "jack" | "bbd" | "delay-ic" | "power-amp" | "regulator" | "analog-switch" | "flipflop" | "ic" | "label" | "named-wire" | "port" | "unsupported";
|
|
11
|
+
export type ComponentKind = "resistor" | "capacitor" | "inductor" | "diode" | "led" | "bjt" | "jfet" | "mosfet" | "opamp" | "ota" | "triode" | "pentode" | "tube-diode" | "transformer" | "potentiometer" | "variable-resistor" | "switch" | "optocoupler" | "voltage-source" | "current-source" | "battery" | "ground" | "rail" | "jack" | "bbd" | "delay-ic" | "power-amp" | "regulator" | "power-converter" | "analog-switch" | "flipflop" | "ic" | "label" | "named-wire" | "port" | "unsupported";
|
|
12
12
|
export type Terminal = Readonly<{
|
|
13
13
|
name: string;
|
|
14
14
|
position: Point;
|
|
@@ -290,6 +290,7 @@ export type CircuitPowerRailBinding = VdspBuildDataObject & Readonly<{
|
|
|
290
290
|
derivation: CircuitPowerRailDerivation;
|
|
291
291
|
parentRailComponentId?: string;
|
|
292
292
|
converterComponentId?: string;
|
|
293
|
+
nominalVoltage?: ParsedQuantity;
|
|
293
294
|
}>;
|
|
294
295
|
export type CircuitPowerDomain = VdspBuildDataObject & Readonly<{
|
|
295
296
|
id: string;
|
|
@@ -328,12 +329,124 @@ export type BuildBom = VdspBuildDataObject & Readonly<{
|
|
|
328
329
|
export type BuildPartProfile = VdspBuildDataObject & Readonly<{
|
|
329
330
|
id: string;
|
|
330
331
|
kind?: string;
|
|
332
|
+
profileSchema?: string;
|
|
331
333
|
}>;
|
|
334
|
+
export type ProfileResponseRef = VdspBuildDataObject & Readonly<{
|
|
335
|
+
id: string;
|
|
336
|
+
kind: string;
|
|
337
|
+
assetRef: string;
|
|
338
|
+
mimeType?: string;
|
|
339
|
+
sha256?: string;
|
|
340
|
+
}>;
|
|
341
|
+
export type PhysicalProfileIdentity = VdspBuildDataObject & Readonly<{
|
|
342
|
+
manufacturer?: string;
|
|
343
|
+
model?: string;
|
|
344
|
+
revision?: string;
|
|
345
|
+
}>;
|
|
346
|
+
export type PhysicalProfileBase = BuildPartProfile & Readonly<{
|
|
347
|
+
profileSchema: string;
|
|
348
|
+
kind: string;
|
|
349
|
+
displayName?: string;
|
|
350
|
+
identity?: PhysicalProfileIdentity;
|
|
351
|
+
responseRefs?: readonly ProfileResponseRef[];
|
|
352
|
+
extensions?: Readonly<Record<string, VdspBuildDataObject>>;
|
|
353
|
+
}>;
|
|
354
|
+
export type SpeakerDriverSmallSignal = VdspBuildDataObject & Readonly<{
|
|
355
|
+
nominalImpedanceOhms?: number;
|
|
356
|
+
reOhms?: number;
|
|
357
|
+
leHenries?: number;
|
|
358
|
+
fsHz?: number;
|
|
359
|
+
qms?: number;
|
|
360
|
+
qes?: number;
|
|
361
|
+
qts?: number;
|
|
362
|
+
vasM3?: number;
|
|
363
|
+
mmsKg?: number;
|
|
364
|
+
cmsMetersPerNewton?: number;
|
|
365
|
+
rmsKgPerSecond?: number;
|
|
366
|
+
blTeslaMeters?: number;
|
|
367
|
+
}>;
|
|
368
|
+
export type SpeakerDriverGeometry = VdspBuildDataObject & Readonly<{
|
|
369
|
+
radiatingAreaM2?: number;
|
|
370
|
+
xmaxM?: number;
|
|
371
|
+
}>;
|
|
372
|
+
export type SpeakerDriverProfile = PhysicalProfileBase & Readonly<{
|
|
373
|
+
profileSchema: "speaker-driver-profile/v1";
|
|
374
|
+
kind: "speaker-driver";
|
|
375
|
+
smallSignal?: SpeakerDriverSmallSignal;
|
|
376
|
+
geometry?: SpeakerDriverGeometry;
|
|
377
|
+
}>;
|
|
378
|
+
export type CabinetEnclosureType = "closed-back" | "open-back" | "ported" | "infinite-baffle" | "transmission-line" | "unknown";
|
|
379
|
+
export type CabinetDimensionsM = VdspBuildDataObject & Readonly<{
|
|
380
|
+
width?: number;
|
|
381
|
+
height?: number;
|
|
382
|
+
depth?: number;
|
|
383
|
+
}>;
|
|
384
|
+
export type CabinetPort = VdspBuildDataObject & Readonly<{
|
|
385
|
+
areaM2?: number;
|
|
386
|
+
lengthM?: number;
|
|
387
|
+
tuningHz?: number;
|
|
388
|
+
}>;
|
|
389
|
+
export type CabinetEnclosure = VdspBuildDataObject & Readonly<{
|
|
390
|
+
type: CabinetEnclosureType;
|
|
391
|
+
netVolumeM3?: number;
|
|
392
|
+
dimensionsM?: CabinetDimensionsM;
|
|
393
|
+
lossQ?: number;
|
|
394
|
+
ports?: readonly CabinetPort[];
|
|
395
|
+
}>;
|
|
396
|
+
export type CabinetDriverLoadout = VdspBuildDataObject & Readonly<{
|
|
397
|
+
driverProfileId: string;
|
|
398
|
+
count: number;
|
|
399
|
+
wiring?: string;
|
|
400
|
+
}>;
|
|
401
|
+
export type CabinetEnclosureProfile = PhysicalProfileBase & Readonly<{
|
|
402
|
+
profileSchema: "cabinet-enclosure-profile/v1";
|
|
403
|
+
kind: "cabinet-enclosure";
|
|
404
|
+
enclosure?: CabinetEnclosure;
|
|
405
|
+
loadout?: readonly CabinetDriverLoadout[];
|
|
406
|
+
}>;
|
|
407
|
+
export type MicrophoneTransducerPrinciple = "dynamic" | "ribbon" | "condenser" | "electret-condenser" | "measurement" | "unknown";
|
|
408
|
+
export type MicrophoneAcousticCoupling = "pressure" | "pressure-gradient" | "mixed" | "unknown";
|
|
409
|
+
export type MicrophoneTransducer = VdspBuildDataObject & Readonly<{
|
|
410
|
+
principle?: MicrophoneTransducerPrinciple;
|
|
411
|
+
acousticCoupling?: MicrophoneAcousticCoupling;
|
|
412
|
+
polarPattern?: string;
|
|
413
|
+
}>;
|
|
414
|
+
export type MicrophoneElectrical = VdspBuildDataObject & Readonly<{
|
|
415
|
+
nominalImpedanceOhms?: number;
|
|
416
|
+
sensitivityDbVPerPa?: number;
|
|
417
|
+
}>;
|
|
418
|
+
export type MicrophoneTransducerProfile = PhysicalProfileBase & Readonly<{
|
|
419
|
+
profileSchema: "microphone-transducer-profile/v1";
|
|
420
|
+
kind: "microphone-transducer";
|
|
421
|
+
transducer?: MicrophoneTransducer;
|
|
422
|
+
electrical?: MicrophoneElectrical;
|
|
423
|
+
}>;
|
|
424
|
+
export type KnownPhysicalProfile = SpeakerDriverProfile | CabinetEnclosureProfile | MicrophoneTransducerProfile;
|
|
332
425
|
export type BuildPartProfileCatalog = VdspBuildDataObject & Readonly<{
|
|
333
426
|
schema: "part-profile-catalog/v1";
|
|
334
427
|
resolution?: string;
|
|
335
428
|
units?: string;
|
|
336
|
-
profiles: readonly BuildPartProfile[];
|
|
429
|
+
profiles: readonly (KnownPhysicalProfile | BuildPartProfile)[];
|
|
430
|
+
}>;
|
|
431
|
+
export type SimulationProfile = VdspBuildDataObject & Readonly<{
|
|
432
|
+
profileSchema: string;
|
|
433
|
+
kind: string;
|
|
434
|
+
id: string;
|
|
435
|
+
targetProfileIds: readonly string[];
|
|
436
|
+
domain: string;
|
|
437
|
+
representation: string;
|
|
438
|
+
operatingRegime?: string;
|
|
439
|
+
coupling?: string;
|
|
440
|
+
parameters?: VdspBuildDataObject;
|
|
441
|
+
dataRef?: string;
|
|
442
|
+
assetRefs?: readonly ProfileResponseRef[];
|
|
443
|
+
extensions?: Readonly<Record<string, VdspBuildDataObject>>;
|
|
444
|
+
}>;
|
|
445
|
+
export type SimulationProfileCatalog = VdspBuildDataObject & Readonly<{
|
|
446
|
+
schema: "simulation-profile-catalog/v1";
|
|
447
|
+
resolution?: string;
|
|
448
|
+
units?: string;
|
|
449
|
+
profiles: readonly SimulationProfile[];
|
|
337
450
|
}>;
|
|
338
451
|
export type BoardFootprint = VdspBuildDataObject & Readonly<{
|
|
339
452
|
id: string;
|
|
@@ -510,6 +623,7 @@ export type CircuitDocument = Readonly<{
|
|
|
510
623
|
build?: BuildScope;
|
|
511
624
|
bom?: BuildBom;
|
|
512
625
|
partProfiles?: BuildPartProfileCatalog;
|
|
626
|
+
simulationProfiles?: SimulationProfileCatalog;
|
|
513
627
|
footprints?: BoardFootprintCatalog;
|
|
514
628
|
offBoardWiring?: OffBoardWiringPlan;
|
|
515
629
|
boards?: readonly BoardRealization[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/model/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/model/types.ts"],"names":[],"mappings":"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"}
|
package/dist/model/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/model/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/model/types.ts"],"names":[],"mappings":"AAq8BA,MAAM,CAAC,MAAM,cAAc,GAAoB;IAC9C,QAAQ,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE;IACvD,MAAM,EAAE,EAAE;IACV,UAAU,EAAE,EAAE;IACd,KAAK,EAAE,EAAE;IACT,UAAU,EAAE,EAAE;IACd,QAAQ,EAAE,EAAE;IACZ,aAAa,EAAE,EAAE;CACjB,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { CircuitDocument, Component, ComponentKind } from "./types";
|
|
2
2
|
export type ValidationSeverity = "error" | "warning";
|
|
3
|
-
export type ValidationCode = "value-required" | "model-required" | "value-unparseable" | "value-out-of-range" | "unit-mismatch" | "unsupported-component" | "invalid-jack-role" | "invalid-jack-interface" | "invalid-jack-audio-role" | "descriptor-control-empty" | "descriptor-mode-label-mismatch" | "firmware-id-missing" | "runtime-match-key-missing" | "runtime-match-key-incomplete" | "firmware-chip-missing" | "invalid-control-role" | "duplicate-device-interface-control-id" | "invalid-device-interface-token" | "control-group-context-unresolved" | "control-group-member-unresolved" | "control-group-member-context-unresolved" | "control-group-member-order-duplicate" | "device-interface-group-unresolved" | "device-interface-context-unresolved" | "device-interface-audio-binding-invalid" | "device-interface-binding-unresolved" | "device-interface-duplicate-role" | "appearance-invalid" | "panel-interface-control-unresolved" | "panel-binding-unresolved" | "panel-control-unresolved" | "panel-kind-mismatch" | "panel-cell-collision" | "panel-mount-orphan" | "panel-mount-inconsistent" | "build-board-unresolved" | "build-harness-unresolved" | "bom-ref-unresolved" | "offboard-endpoint-unresolved" | "offboard-signal-unresolved" | "board-source-hash-invalid" | "board-terminal-unresolved" | "board-route-feature-invalid" | "board-net-unrouted" | "power-source-unresolved" | "power-rail-unresolved" | "power-rail-parent-unresolved" | "power-rail-parent-cycle" | "power-domain-duplicate-id" | "power-rail-duplicate-ownership" | "power-coverage-domains-mismatch" | "duplicate-id" | "degenerate-wire";
|
|
3
|
+
export type ValidationCode = "value-required" | "model-required" | "value-unparseable" | "value-out-of-range" | "unit-mismatch" | "unsupported-component" | "invalid-jack-role" | "invalid-jack-interface" | "invalid-jack-audio-role" | "descriptor-control-empty" | "descriptor-mode-label-mismatch" | "firmware-id-missing" | "runtime-match-key-missing" | "runtime-match-key-incomplete" | "firmware-chip-missing" | "invalid-control-role" | "duplicate-device-interface-control-id" | "invalid-device-interface-token" | "control-group-context-unresolved" | "control-group-member-unresolved" | "control-group-member-context-unresolved" | "control-group-member-order-duplicate" | "device-interface-group-unresolved" | "device-interface-context-unresolved" | "device-interface-audio-binding-invalid" | "device-interface-binding-unresolved" | "device-interface-duplicate-role" | "appearance-invalid" | "panel-interface-control-unresolved" | "panel-binding-unresolved" | "panel-control-unresolved" | "panel-kind-mismatch" | "panel-cell-collision" | "panel-mount-orphan" | "panel-mount-inconsistent" | "build-board-unresolved" | "build-harness-unresolved" | "bom-ref-unresolved" | "part-profile-duplicate-id" | "part-profile-reference-unresolved" | "part-profile-quantity-invalid" | "simulation-profile-duplicate-id" | "simulation-profile-reference-unresolved" | "offboard-endpoint-unresolved" | "offboard-signal-unresolved" | "board-source-hash-invalid" | "board-terminal-unresolved" | "board-route-feature-invalid" | "board-net-unrouted" | "power-source-unresolved" | "power-rail-unresolved" | "power-rail-parent-unresolved" | "power-rail-parent-cycle" | "power-domain-duplicate-id" | "power-rail-duplicate-ownership" | "power-coverage-domains-mismatch" | "power-rail-converter-required" | "power-rail-converter-invalid-kind" | "power-rail-role-derivation-mismatch" | "power-rail-duplicate-converter-role" | "power-converter-missing-part-number" | "power-rail-missing-nominal-voltage" | "duplicate-id" | "degenerate-wire";
|
|
4
4
|
export type ValidationIssue = Readonly<{
|
|
5
5
|
code: ValidationCode | (string & {});
|
|
6
6
|
severity: ValidationSeverity;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/model/validation.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/model/validation.ts"],"names":[],"mappings":"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"}
|
package/dist/model/validation.js
CHANGED
|
@@ -263,6 +263,13 @@ const KIND_RULES = {
|
|
|
263
263
|
aliases: [...MODEL_ALIASES],
|
|
264
264
|
},
|
|
265
265
|
],
|
|
266
|
+
"power-converter": [
|
|
267
|
+
{
|
|
268
|
+
kind: "string",
|
|
269
|
+
name: "ConverterKind",
|
|
270
|
+
required: true,
|
|
271
|
+
},
|
|
272
|
+
],
|
|
266
273
|
"analog-switch": [
|
|
267
274
|
{
|
|
268
275
|
kind: "string",
|
|
@@ -421,6 +428,9 @@ export function validateDocument(doc, options = {}) {
|
|
|
421
428
|
for (const issue of validateCircuitPower(doc, seen)) {
|
|
422
429
|
issues.push(issue);
|
|
423
430
|
}
|
|
431
|
+
for (const issue of validatePowerConverterComponents(doc)) {
|
|
432
|
+
issues.push(issue);
|
|
433
|
+
}
|
|
424
434
|
const context = {
|
|
425
435
|
playbackClaim,
|
|
426
436
|
controlRoles: CONTROL_ROLES,
|
|
@@ -1443,6 +1453,7 @@ function validateV3BuildMetadata(doc, componentIds) {
|
|
|
1443
1453
|
}
|
|
1444
1454
|
}
|
|
1445
1455
|
}
|
|
1456
|
+
issues.push(...validateProfileCatalogs(doc));
|
|
1446
1457
|
for (const board of boards) {
|
|
1447
1458
|
issues.push(...validateBoardRealization(board, componentsById, boardNetsByBoardId));
|
|
1448
1459
|
}
|
|
@@ -1458,6 +1469,137 @@ function validateV3BuildMetadata(doc, componentIds) {
|
|
|
1458
1469
|
}
|
|
1459
1470
|
return issues;
|
|
1460
1471
|
}
|
|
1472
|
+
function validateProfileCatalogs(doc) {
|
|
1473
|
+
const issues = [];
|
|
1474
|
+
const partProfiles = doc.partProfiles?.profiles ?? [];
|
|
1475
|
+
const partProfileIds = new Set();
|
|
1476
|
+
for (const profile of partProfiles) {
|
|
1477
|
+
if (partProfileIds.has(profile.id)) {
|
|
1478
|
+
issues.push({
|
|
1479
|
+
code: "part-profile-duplicate-id",
|
|
1480
|
+
severity: "error",
|
|
1481
|
+
message: `Duplicate part profile id "${profile.id}"`,
|
|
1482
|
+
componentId: profile.id,
|
|
1483
|
+
});
|
|
1484
|
+
}
|
|
1485
|
+
partProfileIds.add(profile.id);
|
|
1486
|
+
issues.push(...validateKnownPhysicalProfile(profile));
|
|
1487
|
+
}
|
|
1488
|
+
for (const profile of partProfiles) {
|
|
1489
|
+
if (profile.profileSchema !== "cabinet-enclosure-profile/v1") {
|
|
1490
|
+
continue;
|
|
1491
|
+
}
|
|
1492
|
+
for (const loadout of dataObjectArray(profile, "loadout")) {
|
|
1493
|
+
const driverProfileId = dataString(loadout, "driverProfileId");
|
|
1494
|
+
if (driverProfileId !== undefined && !partProfileIds.has(driverProfileId)) {
|
|
1495
|
+
issues.push(unresolvedIssue("part-profile-reference-unresolved", "error", `Cabinet profile "${profile.id}" references missing driver profile "${driverProfileId}"`, profile.id, "loadout.driverProfileId"));
|
|
1496
|
+
}
|
|
1497
|
+
}
|
|
1498
|
+
}
|
|
1499
|
+
const simulationProfileIds = new Set();
|
|
1500
|
+
for (const profile of doc.simulationProfiles?.profiles ?? []) {
|
|
1501
|
+
if (simulationProfileIds.has(profile.id)) {
|
|
1502
|
+
issues.push({
|
|
1503
|
+
code: "simulation-profile-duplicate-id",
|
|
1504
|
+
severity: "error",
|
|
1505
|
+
message: `Duplicate simulation profile id "${profile.id}"`,
|
|
1506
|
+
componentId: profile.id,
|
|
1507
|
+
});
|
|
1508
|
+
}
|
|
1509
|
+
simulationProfileIds.add(profile.id);
|
|
1510
|
+
issues.push(...validateSimulationProfile(profile, partProfileIds));
|
|
1511
|
+
}
|
|
1512
|
+
return issues;
|
|
1513
|
+
}
|
|
1514
|
+
function validateKnownPhysicalProfile(profile) {
|
|
1515
|
+
switch (profile.profileSchema) {
|
|
1516
|
+
case "speaker-driver-profile/v1":
|
|
1517
|
+
return validatePositiveDataNumbers(profile, profile.id, [
|
|
1518
|
+
["smallSignal", "nominalImpedanceOhms"],
|
|
1519
|
+
["smallSignal", "reOhms"],
|
|
1520
|
+
["smallSignal", "leHenries"],
|
|
1521
|
+
["smallSignal", "fsHz"],
|
|
1522
|
+
["smallSignal", "qms"],
|
|
1523
|
+
["smallSignal", "qes"],
|
|
1524
|
+
["smallSignal", "qts"],
|
|
1525
|
+
["smallSignal", "vasM3"],
|
|
1526
|
+
["smallSignal", "mmsKg"],
|
|
1527
|
+
["smallSignal", "cmsMetersPerNewton"],
|
|
1528
|
+
["smallSignal", "rmsKgPerSecond"],
|
|
1529
|
+
["smallSignal", "blTeslaMeters"],
|
|
1530
|
+
["geometry", "radiatingAreaM2"],
|
|
1531
|
+
["geometry", "xmaxM"],
|
|
1532
|
+
]);
|
|
1533
|
+
case "cabinet-enclosure-profile/v1":
|
|
1534
|
+
return [
|
|
1535
|
+
...validatePositiveDataNumbers(profile, profile.id, [
|
|
1536
|
+
["enclosure", "netVolumeM3"],
|
|
1537
|
+
["enclosure", "lossQ"],
|
|
1538
|
+
]),
|
|
1539
|
+
...validateCabinetNestedQuantities(profile),
|
|
1540
|
+
];
|
|
1541
|
+
case "microphone-transducer-profile/v1":
|
|
1542
|
+
return validatePositiveDataNumbers(profile, profile.id, [
|
|
1543
|
+
["electrical", "nominalImpedanceOhms"],
|
|
1544
|
+
]);
|
|
1545
|
+
default:
|
|
1546
|
+
return [];
|
|
1547
|
+
}
|
|
1548
|
+
}
|
|
1549
|
+
function validateCabinetNestedQuantities(profile) {
|
|
1550
|
+
const issues = [];
|
|
1551
|
+
const enclosure = dataObject(profile, "enclosure");
|
|
1552
|
+
const dimensions = dataObject(enclosure, "dimensionsM");
|
|
1553
|
+
for (const key of ["width", "height", "depth"]) {
|
|
1554
|
+
const value = dataNumber(dimensions, key);
|
|
1555
|
+
if (value !== undefined && value <= 0) {
|
|
1556
|
+
issues.push(invalidProfileQuantity(profile.id, `enclosure.dimensionsM.${key}`));
|
|
1557
|
+
}
|
|
1558
|
+
}
|
|
1559
|
+
for (const [index, port] of dataObjectArray(enclosure, "ports").entries()) {
|
|
1560
|
+
for (const key of ["areaM2", "lengthM", "tuningHz"]) {
|
|
1561
|
+
const value = dataNumber(port, key);
|
|
1562
|
+
if (value !== undefined && value <= 0) {
|
|
1563
|
+
issues.push(invalidProfileQuantity(profile.id, `enclosure.ports[${index}].${key}`));
|
|
1564
|
+
}
|
|
1565
|
+
}
|
|
1566
|
+
}
|
|
1567
|
+
for (const [index, loadout] of dataObjectArray(profile, "loadout").entries()) {
|
|
1568
|
+
const count = dataNumber(loadout, "count");
|
|
1569
|
+
if (count !== undefined && (!Number.isInteger(count) || count <= 0)) {
|
|
1570
|
+
issues.push(invalidProfileQuantity(profile.id, `loadout[${index}].count`));
|
|
1571
|
+
}
|
|
1572
|
+
}
|
|
1573
|
+
return issues;
|
|
1574
|
+
}
|
|
1575
|
+
function validateSimulationProfile(profile, partProfileIds) {
|
|
1576
|
+
const issues = [];
|
|
1577
|
+
for (const targetProfileId of profile.targetProfileIds) {
|
|
1578
|
+
if (!partProfileIds.has(targetProfileId)) {
|
|
1579
|
+
issues.push(unresolvedIssue("simulation-profile-reference-unresolved", "error", `Simulation profile "${profile.id}" references missing target profile "${targetProfileId}"`, profile.id, "targetProfileIds"));
|
|
1580
|
+
}
|
|
1581
|
+
}
|
|
1582
|
+
return issues;
|
|
1583
|
+
}
|
|
1584
|
+
function validatePositiveDataNumbers(profile, profileId, paths) {
|
|
1585
|
+
const issues = [];
|
|
1586
|
+
for (const [objectKey, valueKey] of paths) {
|
|
1587
|
+
const value = dataNumber(dataObject(profile, objectKey), valueKey);
|
|
1588
|
+
if (value !== undefined && value <= 0) {
|
|
1589
|
+
issues.push(invalidProfileQuantity(profileId, `${objectKey}.${valueKey}`));
|
|
1590
|
+
}
|
|
1591
|
+
}
|
|
1592
|
+
return issues;
|
|
1593
|
+
}
|
|
1594
|
+
function invalidProfileQuantity(profileId, property) {
|
|
1595
|
+
return {
|
|
1596
|
+
code: "part-profile-quantity-invalid",
|
|
1597
|
+
severity: "error",
|
|
1598
|
+
message: `Part profile "${profileId}" has invalid non-positive quantity "${property}"`,
|
|
1599
|
+
componentId: profileId,
|
|
1600
|
+
property,
|
|
1601
|
+
};
|
|
1602
|
+
}
|
|
1461
1603
|
function validateCircuitPower(doc, componentIds) {
|
|
1462
1604
|
const power = doc.power;
|
|
1463
1605
|
if (power === undefined) {
|
|
@@ -1466,6 +1608,8 @@ function validateCircuitPower(doc, componentIds) {
|
|
|
1466
1608
|
const issues = [];
|
|
1467
1609
|
const domainIds = new Set();
|
|
1468
1610
|
const railOwners = new Map();
|
|
1611
|
+
const converterRoleOwners = new Map();
|
|
1612
|
+
const componentsById = new Map(doc.components.map((component) => [component.id, component]));
|
|
1469
1613
|
const expectsDomains = power.coverage === "explicit-topology" ||
|
|
1470
1614
|
power.coverage === "declared-rails";
|
|
1471
1615
|
if (!expectsDomains && power.domains.length > 0) {
|
|
@@ -1510,9 +1654,75 @@ function validateCircuitPower(doc, componentIds) {
|
|
|
1510
1654
|
!railsById.has(rail.parentRailComponentId)) {
|
|
1511
1655
|
issues.push(unresolvedIssue("power-rail-parent-unresolved", "error", `Rail "${rail.railComponentId}" parentRailComponentId references a rail not declared in domain "${domain.id}"`, rail.parentRailComponentId, "parentRailComponentId"));
|
|
1512
1656
|
}
|
|
1513
|
-
|
|
1514
|
-
|
|
1515
|
-
|
|
1657
|
+
const isChargePumpDerivation = rail.derivation === "doubler" || rail.derivation === "inverter";
|
|
1658
|
+
if (rail.converterComponentId === undefined) {
|
|
1659
|
+
if (isChargePumpDerivation) {
|
|
1660
|
+
issues.push({
|
|
1661
|
+
code: "power-rail-converter-required",
|
|
1662
|
+
severity: "error",
|
|
1663
|
+
message: `Rail "${rail.railComponentId}" derivation "${rail.derivation}" requires converterComponentId`,
|
|
1664
|
+
componentId: rail.railComponentId,
|
|
1665
|
+
});
|
|
1666
|
+
}
|
|
1667
|
+
}
|
|
1668
|
+
else {
|
|
1669
|
+
const converterComponent = componentsById.get(rail.converterComponentId);
|
|
1670
|
+
if (converterComponent === undefined) {
|
|
1671
|
+
issues.push(unresolvedIssue("power-rail-unresolved", "error", `Rail "${rail.railComponentId}" converterComponentId references missing component "${rail.converterComponentId}"`, rail.converterComponentId, "converterComponentId"));
|
|
1672
|
+
}
|
|
1673
|
+
else if (converterComponent.kind !== "power-converter") {
|
|
1674
|
+
issues.push({
|
|
1675
|
+
code: "power-rail-converter-invalid-kind",
|
|
1676
|
+
severity: "error",
|
|
1677
|
+
message: `Rail "${rail.railComponentId}" converterComponentId "${rail.converterComponentId}" references a "${converterComponent.kind}" component, not a power-converter`,
|
|
1678
|
+
componentId: rail.converterComponentId,
|
|
1679
|
+
});
|
|
1680
|
+
}
|
|
1681
|
+
const converterRoleKey = `${rail.converterComponentId}::${rail.role}`;
|
|
1682
|
+
const existingConverterRoleOwner = converterRoleOwners.get(converterRoleKey);
|
|
1683
|
+
if (existingConverterRoleOwner !== undefined &&
|
|
1684
|
+
existingConverterRoleOwner !== rail.railComponentId) {
|
|
1685
|
+
issues.push({
|
|
1686
|
+
code: "power-rail-duplicate-converter-role",
|
|
1687
|
+
severity: "error",
|
|
1688
|
+
message: `Converter "${rail.converterComponentId}" already has a rail with role "${rail.role}" (rail "${existingConverterRoleOwner}"); rail "${rail.railComponentId}" duplicates it`,
|
|
1689
|
+
componentId: rail.railComponentId,
|
|
1690
|
+
});
|
|
1691
|
+
}
|
|
1692
|
+
converterRoleOwners.set(converterRoleKey, rail.railComponentId);
|
|
1693
|
+
}
|
|
1694
|
+
if (rail.role === "main-supply" && rail.derivation !== "direct") {
|
|
1695
|
+
issues.push({
|
|
1696
|
+
code: "power-rail-role-derivation-mismatch",
|
|
1697
|
+
severity: "error",
|
|
1698
|
+
message: `Rail "${rail.railComponentId}" role "main-supply" is incompatible with derivation "${rail.derivation}"`,
|
|
1699
|
+
componentId: rail.railComponentId,
|
|
1700
|
+
});
|
|
1701
|
+
}
|
|
1702
|
+
if (rail.role === "regulated-output" &&
|
|
1703
|
+
rail.derivation !== "regulator") {
|
|
1704
|
+
issues.push({
|
|
1705
|
+
code: "power-rail-role-derivation-mismatch",
|
|
1706
|
+
severity: "error",
|
|
1707
|
+
message: `Rail "${rail.railComponentId}" role "regulated-output" is incompatible with derivation "${rail.derivation}"`,
|
|
1708
|
+
componentId: rail.railComponentId,
|
|
1709
|
+
});
|
|
1710
|
+
}
|
|
1711
|
+
if (rail.role === "charge-pump-output" && !isChargePumpDerivation) {
|
|
1712
|
+
issues.push({
|
|
1713
|
+
code: "power-rail-role-derivation-mismatch",
|
|
1714
|
+
severity: "error",
|
|
1715
|
+
message: `Rail "${rail.railComponentId}" role "charge-pump-output" is incompatible with derivation "${rail.derivation}"`,
|
|
1716
|
+
componentId: rail.railComponentId,
|
|
1717
|
+
});
|
|
1718
|
+
}
|
|
1719
|
+
if (isChargePumpDerivation && rail.nominalVoltage === undefined) {
|
|
1720
|
+
issues.push({
|
|
1721
|
+
code: "power-rail-missing-nominal-voltage",
|
|
1722
|
+
severity: "warning",
|
|
1723
|
+
message: `Rail "${rail.railComponentId}" derivation "${rail.derivation}" has no nominalVoltage`,
|
|
1724
|
+
componentId: rail.railComponentId,
|
|
1725
|
+
});
|
|
1516
1726
|
}
|
|
1517
1727
|
}
|
|
1518
1728
|
const reportedCycleMembers = new Set();
|
|
@@ -1550,12 +1760,31 @@ function findPowerRailParentCycle(start, railsById) {
|
|
|
1550
1760
|
}
|
|
1551
1761
|
return undefined;
|
|
1552
1762
|
}
|
|
1763
|
+
function validatePowerConverterComponents(doc) {
|
|
1764
|
+
const issues = [];
|
|
1765
|
+
for (const component of doc.components) {
|
|
1766
|
+
if (component.kind !== "power-converter") {
|
|
1767
|
+
continue;
|
|
1768
|
+
}
|
|
1769
|
+
const hasPartNumber = MODEL_ALIASES.some((alias) => propertyStringValue(component.properties[alias]) !== null);
|
|
1770
|
+
if (!hasPartNumber) {
|
|
1771
|
+
issues.push({
|
|
1772
|
+
code: "power-converter-missing-part-number",
|
|
1773
|
+
severity: "warning",
|
|
1774
|
+
message: `Component "${component.id}" is a power-converter with no PartNumber`,
|
|
1775
|
+
componentId: component.id,
|
|
1776
|
+
});
|
|
1777
|
+
}
|
|
1778
|
+
}
|
|
1779
|
+
return issues;
|
|
1780
|
+
}
|
|
1553
1781
|
function hasV3BuildMetadata(doc) {
|
|
1554
1782
|
return (doc.appearance !== undefined ||
|
|
1555
1783
|
doc.mechanical !== undefined ||
|
|
1556
1784
|
doc.build !== undefined ||
|
|
1557
1785
|
doc.bom !== undefined ||
|
|
1558
1786
|
doc.partProfiles !== undefined ||
|
|
1787
|
+
doc.simulationProfiles !== undefined ||
|
|
1559
1788
|
doc.footprints !== undefined ||
|
|
1560
1789
|
doc.offBoardWiring !== undefined ||
|
|
1561
1790
|
doc.boards !== undefined ||
|
|
@@ -1797,10 +2026,18 @@ function dataString(object, key) {
|
|
|
1797
2026
|
const value = object?.[key];
|
|
1798
2027
|
return typeof value === "string" ? value : undefined;
|
|
1799
2028
|
}
|
|
2029
|
+
function dataNumber(object, key) {
|
|
2030
|
+
const value = object?.[key];
|
|
2031
|
+
return typeof value === "number" ? value : undefined;
|
|
2032
|
+
}
|
|
1800
2033
|
function dataObject(object, key) {
|
|
1801
2034
|
const value = object?.[key];
|
|
1802
2035
|
return isBuildDataObject(value) ? value : undefined;
|
|
1803
2036
|
}
|
|
2037
|
+
function dataObjectArray(object, key) {
|
|
2038
|
+
const value = object?.[key];
|
|
2039
|
+
return Array.isArray(value) ? value.filter(isBuildDataObject) : [];
|
|
2040
|
+
}
|
|
1804
2041
|
function isBuildDataObject(value) {
|
|
1805
2042
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
1806
2043
|
}
|