easyeda-mcp-pro 0.26.0 → 0.28.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.
- package/dist/circuit/circuit-ir.d.ts +2 -2
- package/dist/circuit/design-intent.d.ts +1 -1
- package/dist/config/profiles.js +5 -5
- package/dist/config/version.d.ts +1 -1
- package/dist/config/version.js +1 -1
- package/dist/tools/L1_drc_erc.js +170 -0
- package/dist/tools/L1_drc_erc.js.map +1 -1
- package/dist/tools/L1_schematic_read.js +135 -0
- package/dist/tools/L1_schematic_read.js.map +1 -1
- package/dist/workflows/schematic-post-write-qa.d.ts +58 -0
- package/dist/workflows/schematic-post-write-qa.js +165 -0
- package/dist/workflows/schematic-post-write-qa.js.map +1 -0
- package/dist/workflows/schematic-safe-region.d.ts +59 -0
- package/dist/workflows/schematic-safe-region.js +215 -0
- package/dist/workflows/schematic-safe-region.js.map +1 -0
- package/easyeda-bridge-extension.eext +0 -0
- package/package.json +1 -1
|
@@ -349,9 +349,9 @@ export type PcbIntent = z.infer<typeof PcbIntentSchema>;
|
|
|
349
349
|
export declare const ManufacturingIntentSchema: z.ZodObject<{
|
|
350
350
|
quantity: z.ZodOptional<z.ZodNumber>;
|
|
351
351
|
process: z.ZodOptional<z.ZodEnum<{
|
|
352
|
+
mixed: "mixed";
|
|
352
353
|
"lead-free": "lead-free";
|
|
353
354
|
"lead-based": "lead-based";
|
|
354
|
-
mixed: "mixed";
|
|
355
355
|
}>>;
|
|
356
356
|
timelineWeeks: z.ZodOptional<z.ZodNumber>;
|
|
357
357
|
notes: z.ZodOptional<z.ZodString>;
|
|
@@ -673,9 +673,9 @@ export declare const CircuitIRSchema: z.ZodObject<{
|
|
|
673
673
|
manufacturing: z.ZodDefault<z.ZodObject<{
|
|
674
674
|
quantity: z.ZodOptional<z.ZodNumber>;
|
|
675
675
|
process: z.ZodOptional<z.ZodEnum<{
|
|
676
|
+
mixed: "mixed";
|
|
676
677
|
"lead-free": "lead-free";
|
|
677
678
|
"lead-based": "lead-based";
|
|
678
|
-
mixed: "mixed";
|
|
679
679
|
}>>;
|
|
680
680
|
timelineWeeks: z.ZodOptional<z.ZodNumber>;
|
|
681
681
|
notes: z.ZodOptional<z.ZodString>;
|
|
@@ -60,9 +60,9 @@ export declare const DesignIntentSchema: z.ZodObject<{
|
|
|
60
60
|
"mass-production": "mass-production";
|
|
61
61
|
}>>;
|
|
62
62
|
process: z.ZodOptional<z.ZodEnum<{
|
|
63
|
+
mixed: "mixed";
|
|
63
64
|
"lead-free": "lead-free";
|
|
64
65
|
"lead-based": "lead-based";
|
|
65
|
-
mixed: "mixed";
|
|
66
66
|
}>>;
|
|
67
67
|
timelineWeeks: z.ZodOptional<z.ZodNumber>;
|
|
68
68
|
notes: z.ZodOptional<z.ZodString>;
|
package/dist/config/profiles.js
CHANGED
|
@@ -3,35 +3,35 @@ export const PROFILE_DEFINITIONS = {
|
|
|
3
3
|
name: 'core',
|
|
4
4
|
label: 'Core',
|
|
5
5
|
description: 'High-confidence tools: diagnostics, EasyEDA API inventory, schematic, BOM, DRC/ERC, board layers/stackup, Gerber export',
|
|
6
|
-
approxToolCount: '
|
|
6
|
+
approxToolCount: '62',
|
|
7
7
|
isDefault: true,
|
|
8
8
|
},
|
|
9
9
|
pro: {
|
|
10
10
|
name: 'pro',
|
|
11
11
|
label: 'Pro',
|
|
12
12
|
description: 'Adds pick-and-place, PDF, netlist export, compound transactional workflow tools, autorouting, route-context export, and offline SPICE verification for manufacturing workflows',
|
|
13
|
-
approxToolCount: '
|
|
13
|
+
approxToolCount: '78',
|
|
14
14
|
isDefault: false,
|
|
15
15
|
},
|
|
16
16
|
full: {
|
|
17
17
|
name: 'full',
|
|
18
18
|
label: 'Full',
|
|
19
19
|
description: 'Adds controlled documented EasyEDA API method calls and CircuitIR-driven floorplanning for full runtime control without raw JavaScript execution',
|
|
20
|
-
approxToolCount: '
|
|
20
|
+
approxToolCount: '90',
|
|
21
21
|
isDefault: false,
|
|
22
22
|
},
|
|
23
23
|
dev: {
|
|
24
24
|
name: 'dev',
|
|
25
25
|
label: 'Dev',
|
|
26
26
|
description: 'Adds diagnostics probes for bridge methods and live component runtime shape inspection',
|
|
27
|
-
approxToolCount: '
|
|
27
|
+
approxToolCount: '95',
|
|
28
28
|
isDefault: false,
|
|
29
29
|
},
|
|
30
30
|
experimental: {
|
|
31
31
|
name: 'experimental',
|
|
32
32
|
label: 'Experimental',
|
|
33
33
|
description: 'MCP Apps, Tasks, AI action plans',
|
|
34
|
-
approxToolCount: '
|
|
34
|
+
approxToolCount: '95',
|
|
35
35
|
isDefault: false,
|
|
36
36
|
},
|
|
37
37
|
};
|
package/dist/config/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const SERVER_VERSION = "0.
|
|
1
|
+
export declare const SERVER_VERSION = "0.28.0";
|
package/dist/config/version.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const SERVER_VERSION = '0.
|
|
1
|
+
export const SERVER_VERSION = '0.28.0'; // x-release-please-version
|
|
2
2
|
//# sourceMappingURL=version.js.map
|
package/dist/tools/L1_drc_erc.js
CHANGED
|
@@ -2,6 +2,7 @@ import { z } from 'zod';
|
|
|
2
2
|
import { validateNets } from '../net-validation/validation.js';
|
|
3
3
|
import { classifyNetType, classifyPinElectricalType } from '../net-validation/pin-classifier.js';
|
|
4
4
|
import { analyzePowerTree } from '../power-tree/index.js';
|
|
5
|
+
import { classifyPostWriteQa } from '../workflows/schematic-post-write-qa.js';
|
|
5
6
|
import { fetchComponentPins } from './schematic-helpers.js';
|
|
6
7
|
/** Shared error/warning mapper for both the hand-authored and auto-extracted
|
|
7
8
|
* semantic ERC tools — same NetValidationIssue shape, same response fields. */
|
|
@@ -608,6 +609,175 @@ function registerDrcErcTools(registry, _config) {
|
|
|
608
609
|
};
|
|
609
610
|
},
|
|
610
611
|
});
|
|
612
|
+
const qaViolationSchema = z.object({
|
|
613
|
+
rule: z.string().optional(),
|
|
614
|
+
description: z.string().optional(),
|
|
615
|
+
message: z.string().optional(),
|
|
616
|
+
severity: z.enum(['error', 'warning', 'info']).optional(),
|
|
617
|
+
net: z.string().optional(),
|
|
618
|
+
component: z.string().optional(),
|
|
619
|
+
});
|
|
620
|
+
const qaRunOverrideSchema = z.object({
|
|
621
|
+
not_available: z.boolean().optional(),
|
|
622
|
+
error: z.string().optional(),
|
|
623
|
+
violations: z.array(qaViolationSchema).optional(),
|
|
624
|
+
total_violations: z.number().int().nonnegative().optional(),
|
|
625
|
+
error_count: z.number().int().nonnegative().optional(),
|
|
626
|
+
warning_count: z.number().int().nonnegative().optional(),
|
|
627
|
+
passed: z.boolean().optional(),
|
|
628
|
+
inferred_floating_pins: z
|
|
629
|
+
.array(z.object({
|
|
630
|
+
primitiveId: z.string().optional(),
|
|
631
|
+
designator: z.string().optional(),
|
|
632
|
+
pinNumber: z.string().optional(),
|
|
633
|
+
}))
|
|
634
|
+
.optional(),
|
|
635
|
+
});
|
|
636
|
+
registry.register({
|
|
637
|
+
name: 'easyeda_post_write_qa',
|
|
638
|
+
title: 'Classify post-write schematic QA results',
|
|
639
|
+
description: 'Run and classify post-write schematic QA after generated edits. Combines native DRC/ERC results ' +
|
|
640
|
+
'with policy-aware classification so duplicate net names, free networks, and unconnected pins are ' +
|
|
641
|
+
'reported as pass/fail/inconclusive instead of raw warning counts.',
|
|
642
|
+
profile: 'core',
|
|
643
|
+
evidence: ['runtime-probe', 'inferred'],
|
|
644
|
+
risk: 'medium',
|
|
645
|
+
confirmWrite: false,
|
|
646
|
+
group: 'drc-erc',
|
|
647
|
+
version: '1.0.0',
|
|
648
|
+
annotations: {
|
|
649
|
+
readOnlyHint: false,
|
|
650
|
+
destructiveHint: false,
|
|
651
|
+
idempotentHint: true,
|
|
652
|
+
},
|
|
653
|
+
inputSchema: z.object({
|
|
654
|
+
projectId: z.string(),
|
|
655
|
+
policy: z.enum(['circuit', 'diagnostic-fixture']).default('circuit'),
|
|
656
|
+
useNativeChecks: z.boolean().default(true),
|
|
657
|
+
manualDrcMessages: z
|
|
658
|
+
.array(z.string())
|
|
659
|
+
.optional()
|
|
660
|
+
.describe('Optional user-copied EasyEDA DRC log lines for classification when native details are unavailable'),
|
|
661
|
+
manualErcMessages: z
|
|
662
|
+
.array(z.string())
|
|
663
|
+
.optional()
|
|
664
|
+
.describe('Optional user-copied EasyEDA ERC log lines for classification when native details are unavailable'),
|
|
665
|
+
drc: qaRunOverrideSchema
|
|
666
|
+
.optional()
|
|
667
|
+
.describe('Optional explicit DRC result override for tests or log ingestion'),
|
|
668
|
+
erc: qaRunOverrideSchema
|
|
669
|
+
.optional()
|
|
670
|
+
.describe('Optional explicit ERC result override for tests or log ingestion'),
|
|
671
|
+
}),
|
|
672
|
+
outputSchema: z.object({
|
|
673
|
+
project_id: z.string(),
|
|
674
|
+
status: z.enum(['pass', 'fail', 'inconclusive']),
|
|
675
|
+
passed: z.boolean(),
|
|
676
|
+
policy: z.enum(['circuit', 'diagnostic-fixture']),
|
|
677
|
+
issue_count: z.number().int().nonnegative(),
|
|
678
|
+
fatal_count: z.number().int().nonnegative(),
|
|
679
|
+
warning_count: z.number().int().nonnegative(),
|
|
680
|
+
inconclusive_count: z.number().int().nonnegative(),
|
|
681
|
+
categories: z.record(z.string(), z.number().int().nonnegative()),
|
|
682
|
+
issues: z.array(z.object({
|
|
683
|
+
source: z.enum(['drc', 'erc', 'layout', 'manual-log']),
|
|
684
|
+
category: z.string(),
|
|
685
|
+
severity: z.enum(['error', 'warning', 'info']),
|
|
686
|
+
fatal: z.boolean(),
|
|
687
|
+
message: z.string(),
|
|
688
|
+
rule: z.string().optional(),
|
|
689
|
+
net: z.string().optional(),
|
|
690
|
+
component: z.string().optional(),
|
|
691
|
+
remediation_hint: z.string(),
|
|
692
|
+
})),
|
|
693
|
+
summary: z.string(),
|
|
694
|
+
detail_source: z.enum(['native', 'manual', 'override', 'mixed']).optional(),
|
|
695
|
+
}),
|
|
696
|
+
handler: async (ctx, params) => {
|
|
697
|
+
const p = z
|
|
698
|
+
.object({
|
|
699
|
+
projectId: z.string(),
|
|
700
|
+
policy: z.enum(['circuit', 'diagnostic-fixture']).default('circuit'),
|
|
701
|
+
useNativeChecks: z.boolean().default(true),
|
|
702
|
+
manualDrcMessages: z.array(z.string()).optional(),
|
|
703
|
+
manualErcMessages: z.array(z.string()).optional(),
|
|
704
|
+
drc: qaRunOverrideSchema.optional(),
|
|
705
|
+
erc: qaRunOverrideSchema.optional(),
|
|
706
|
+
})
|
|
707
|
+
.parse(params ?? {});
|
|
708
|
+
const manualDrc = p.manualDrcMessages?.map((description) => ({
|
|
709
|
+
description,
|
|
710
|
+
severity: 'warning',
|
|
711
|
+
}));
|
|
712
|
+
const manualErc = p.manualErcMessages?.map((description) => ({
|
|
713
|
+
description,
|
|
714
|
+
severity: 'warning',
|
|
715
|
+
}));
|
|
716
|
+
let drc = p.drc ??
|
|
717
|
+
(manualDrc ? { violations: manualDrc, total_violations: manualDrc.length } : undefined);
|
|
718
|
+
let erc = p.erc ??
|
|
719
|
+
(manualErc ? { violations: manualErc, total_violations: manualErc.length } : undefined);
|
|
720
|
+
let nativeUsed = false;
|
|
721
|
+
if (p.useNativeChecks) {
|
|
722
|
+
if (!drc) {
|
|
723
|
+
try {
|
|
724
|
+
const result = (await ctx.bridge.call('design.drc', { projectId: p.projectId }));
|
|
725
|
+
drc = {
|
|
726
|
+
violations: result.violations?.map((v) => ({
|
|
727
|
+
...v,
|
|
728
|
+
severity: v.severity === 'error' || v.severity === 'warning' || v.severity === 'info'
|
|
729
|
+
? v.severity
|
|
730
|
+
: undefined,
|
|
731
|
+
})),
|
|
732
|
+
total_violations: result.totalViolations,
|
|
733
|
+
error_count: result.errorCount,
|
|
734
|
+
warning_count: result.warningCount,
|
|
735
|
+
};
|
|
736
|
+
nativeUsed = true;
|
|
737
|
+
}
|
|
738
|
+
catch (err) {
|
|
739
|
+
drc = { not_available: true, error: err instanceof Error ? err.message : String(err) };
|
|
740
|
+
}
|
|
741
|
+
}
|
|
742
|
+
if (!erc) {
|
|
743
|
+
try {
|
|
744
|
+
const result = (await ctx.bridge.call('design.erc', { projectId: p.projectId }));
|
|
745
|
+
erc = {
|
|
746
|
+
violations: result.violations?.map((v) => ({
|
|
747
|
+
...v,
|
|
748
|
+
severity: v.severity === 'error' || v.severity === 'warning' || v.severity === 'info'
|
|
749
|
+
? v.severity
|
|
750
|
+
: undefined,
|
|
751
|
+
})),
|
|
752
|
+
total_violations: result.totalViolations,
|
|
753
|
+
error_count: result.errorCount,
|
|
754
|
+
warning_count: result.warningCount,
|
|
755
|
+
inferred_floating_pins: result.inferredFloatingPins,
|
|
756
|
+
};
|
|
757
|
+
nativeUsed = true;
|
|
758
|
+
}
|
|
759
|
+
catch (err) {
|
|
760
|
+
erc = { not_available: true, error: err instanceof Error ? err.message : String(err) };
|
|
761
|
+
}
|
|
762
|
+
}
|
|
763
|
+
}
|
|
764
|
+
const summary = classifyPostWriteQa({ projectId: p.projectId, policy: p.policy, drc, erc });
|
|
765
|
+
const hasManual = Boolean(p.manualDrcMessages?.length || p.manualErcMessages?.length);
|
|
766
|
+
const hasOverride = Boolean(p.drc || p.erc);
|
|
767
|
+
return {
|
|
768
|
+
...summary,
|
|
769
|
+
detail_source: [nativeUsed, hasManual, hasOverride].filter(Boolean).length > 1
|
|
770
|
+
? 'mixed'
|
|
771
|
+
: nativeUsed
|
|
772
|
+
? 'native'
|
|
773
|
+
: hasManual
|
|
774
|
+
? 'manual'
|
|
775
|
+
: hasOverride
|
|
776
|
+
? 'override'
|
|
777
|
+
: undefined,
|
|
778
|
+
};
|
|
779
|
+
},
|
|
780
|
+
});
|
|
611
781
|
registry.register({
|
|
612
782
|
name: 'easyeda_rule_check_summary',
|
|
613
783
|
title: 'Get rule check summary',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"L1_drc_erc.js","sourceRoot":"","sources":["../../src/tools/L1_drc_erc.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"L1_drc_erc.js","sourceRoot":"","sources":["../../src/tools/L1_drc_erc.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,18 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { fetchComponentPins } from './schematic-helpers.js';
|
|
3
3
|
import { scanSheetForPinCollisions } from '../workflows/collision.js';
|
|
4
|
+
import { planSafeSchematicRegion } from '../workflows/schematic-safe-region.js';
|
|
5
|
+
const schematicRegionPreferenceSchema = z.enum([
|
|
6
|
+
'upper-left',
|
|
7
|
+
'upper-center',
|
|
8
|
+
'upper-right',
|
|
9
|
+
'center-left',
|
|
10
|
+
'center',
|
|
11
|
+
'center-right',
|
|
12
|
+
'lower-left',
|
|
13
|
+
'lower-center',
|
|
14
|
+
'lower-right',
|
|
15
|
+
]);
|
|
4
16
|
const searchDeviceInputSchema = z.object({
|
|
5
17
|
key: z
|
|
6
18
|
.string()
|
|
@@ -526,6 +538,129 @@ function registerSchematicReadTools(registry, _config) {
|
|
|
526
538
|
}
|
|
527
539
|
},
|
|
528
540
|
});
|
|
541
|
+
registry.register({
|
|
542
|
+
name: 'easyeda_schematic_plan_safe_region',
|
|
543
|
+
title: 'Plan safe schematic drawing region',
|
|
544
|
+
description: 'Compute a safe schematic drawing region before placing components. Uses live sheet info when available, assumes EasyEDA bottom-left coordinates, reserves the default lower-right title-block keep-out, and returns an anchor/bounds plan that avoids title-block overlap.',
|
|
545
|
+
profile: 'core',
|
|
546
|
+
evidence: ['runtime-probe', 'inferred'],
|
|
547
|
+
risk: 'low',
|
|
548
|
+
confirmWrite: false,
|
|
549
|
+
group: 'schematic',
|
|
550
|
+
version: '1.0.0',
|
|
551
|
+
annotations: {
|
|
552
|
+
readOnlyHint: true,
|
|
553
|
+
idempotentHint: true,
|
|
554
|
+
},
|
|
555
|
+
inputSchema: z.object({
|
|
556
|
+
projectId: z.string().optional(),
|
|
557
|
+
contentWidth: z
|
|
558
|
+
.number()
|
|
559
|
+
.positive()
|
|
560
|
+
.describe('Estimated width of the planned circuit block in EasyEDA coordinates'),
|
|
561
|
+
contentHeight: z
|
|
562
|
+
.number()
|
|
563
|
+
.positive()
|
|
564
|
+
.describe('Estimated height of the planned circuit block in EasyEDA coordinates'),
|
|
565
|
+
preferredRegion: schematicRegionPreferenceSchema.default('upper-left'),
|
|
566
|
+
margin: z.number().positive().optional(),
|
|
567
|
+
titleBlockKeepout: z
|
|
568
|
+
.object({
|
|
569
|
+
x: z.number(),
|
|
570
|
+
y: z.number(),
|
|
571
|
+
width: z.number().positive(),
|
|
572
|
+
height: z.number().positive(),
|
|
573
|
+
})
|
|
574
|
+
.optional()
|
|
575
|
+
.describe('Optional explicit title-block keep-out rectangle when the sheet template is known'),
|
|
576
|
+
}),
|
|
577
|
+
outputSchema: z.object({
|
|
578
|
+
project_id: z.string().optional(),
|
|
579
|
+
blocked: z.boolean(),
|
|
580
|
+
preferred_region: z.string(),
|
|
581
|
+
sheet: z.object({
|
|
582
|
+
width: z.number(),
|
|
583
|
+
height: z.number(),
|
|
584
|
+
unit: z.string(),
|
|
585
|
+
origin: z.string(),
|
|
586
|
+
source: z.string(),
|
|
587
|
+
}),
|
|
588
|
+
usable_bounds: z.object({
|
|
589
|
+
x: z.number(),
|
|
590
|
+
y: z.number(),
|
|
591
|
+
width: z.number(),
|
|
592
|
+
height: z.number(),
|
|
593
|
+
}),
|
|
594
|
+
requested_bounds: z.object({
|
|
595
|
+
x: z.number(),
|
|
596
|
+
y: z.number(),
|
|
597
|
+
width: z.number(),
|
|
598
|
+
height: z.number(),
|
|
599
|
+
}),
|
|
600
|
+
bounds: z.object({ x: z.number(), y: z.number(), width: z.number(), height: z.number() }),
|
|
601
|
+
anchor: z.object({ x: z.number(), y: z.number() }),
|
|
602
|
+
keepouts: z.array(z.object({
|
|
603
|
+
x: z.number(),
|
|
604
|
+
y: z.number(),
|
|
605
|
+
width: z.number(),
|
|
606
|
+
height: z.number(),
|
|
607
|
+
kind: z.string(),
|
|
608
|
+
})),
|
|
609
|
+
warnings: z.array(z.string()),
|
|
610
|
+
issues: z.array(z.object({ code: z.string(), message: z.string() })),
|
|
611
|
+
not_available: z.boolean().optional(),
|
|
612
|
+
error: z.string().optional(),
|
|
613
|
+
}),
|
|
614
|
+
handler: async (ctx, params) => {
|
|
615
|
+
const p = z
|
|
616
|
+
.object({
|
|
617
|
+
projectId: z.string().optional(),
|
|
618
|
+
contentWidth: z.number().positive(),
|
|
619
|
+
contentHeight: z.number().positive(),
|
|
620
|
+
preferredRegion: schematicRegionPreferenceSchema.default('upper-left'),
|
|
621
|
+
margin: z.number().positive().optional(),
|
|
622
|
+
titleBlockKeepout: z
|
|
623
|
+
.object({
|
|
624
|
+
x: z.number(),
|
|
625
|
+
y: z.number(),
|
|
626
|
+
width: z.number().positive(),
|
|
627
|
+
height: z.number().positive(),
|
|
628
|
+
})
|
|
629
|
+
.optional(),
|
|
630
|
+
})
|
|
631
|
+
.parse(params ?? {});
|
|
632
|
+
let sheetInfo;
|
|
633
|
+
try {
|
|
634
|
+
sheetInfo = await ctx.bridge.call('schematic.getSheetInfo', { projectId: p.projectId });
|
|
635
|
+
}
|
|
636
|
+
catch {
|
|
637
|
+
// Degrade to the conservative A4 default rather than blocking preview
|
|
638
|
+
// planning, because this tool is often used before a live sheet is fully ready.
|
|
639
|
+
sheetInfo = undefined;
|
|
640
|
+
}
|
|
641
|
+
const plan = planSafeSchematicRegion({
|
|
642
|
+
sheetInfo,
|
|
643
|
+
contentWidth: p.contentWidth,
|
|
644
|
+
contentHeight: p.contentHeight,
|
|
645
|
+
preferredRegion: p.preferredRegion,
|
|
646
|
+
margin: p.margin,
|
|
647
|
+
titleBlockKeepout: p.titleBlockKeepout,
|
|
648
|
+
});
|
|
649
|
+
return {
|
|
650
|
+
project_id: p.projectId,
|
|
651
|
+
blocked: plan.blocked,
|
|
652
|
+
preferred_region: plan.preferredRegion,
|
|
653
|
+
sheet: plan.sheet,
|
|
654
|
+
usable_bounds: plan.usableBounds,
|
|
655
|
+
requested_bounds: plan.requestedBounds,
|
|
656
|
+
bounds: plan.bounds,
|
|
657
|
+
anchor: plan.anchor,
|
|
658
|
+
keepouts: plan.keepouts,
|
|
659
|
+
warnings: plan.warnings,
|
|
660
|
+
issues: plan.issues,
|
|
661
|
+
};
|
|
662
|
+
},
|
|
663
|
+
});
|
|
529
664
|
registry.register({
|
|
530
665
|
name: 'easyeda_schematic_verify_write',
|
|
531
666
|
title: 'Verify schematic write result',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"L1_schematic_read.js","sourceRoot":"","sources":["../../src/tools/L1_schematic_read.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"L1_schematic_read.js","sourceRoot":"","sources":["../../src/tools/L1_schematic_read.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
export type QaSource = 'drc' | 'erc' | 'layout' | 'manual-log';
|
|
2
|
+
export type QaSeverity = 'error' | 'warning' | 'info';
|
|
3
|
+
export type QaCategory = 'duplicate_net_names' | 'free_network_no_pins' | 'unconnected_pin' | 'native_drc_unavailable' | 'native_erc_unavailable' | 'native_rule_violation' | 'uncategorized';
|
|
4
|
+
export type QaPolicy = 'circuit' | 'diagnostic-fixture';
|
|
5
|
+
export type QaStatus = 'pass' | 'fail' | 'inconclusive';
|
|
6
|
+
export interface NativeRuleViolationInput {
|
|
7
|
+
rule?: string;
|
|
8
|
+
description?: string;
|
|
9
|
+
message?: string;
|
|
10
|
+
severity?: string;
|
|
11
|
+
net?: string;
|
|
12
|
+
component?: string;
|
|
13
|
+
}
|
|
14
|
+
export interface NativeRuleRunInput {
|
|
15
|
+
not_available?: boolean;
|
|
16
|
+
error?: string;
|
|
17
|
+
violations?: NativeRuleViolationInput[];
|
|
18
|
+
total_violations?: number;
|
|
19
|
+
error_count?: number;
|
|
20
|
+
warning_count?: number;
|
|
21
|
+
passed?: boolean;
|
|
22
|
+
inferred_floating_pins?: Array<{
|
|
23
|
+
primitiveId?: string;
|
|
24
|
+
designator?: string;
|
|
25
|
+
pinNumber?: string;
|
|
26
|
+
}>;
|
|
27
|
+
}
|
|
28
|
+
export interface ClassifiedQaIssue {
|
|
29
|
+
source: QaSource;
|
|
30
|
+
category: QaCategory;
|
|
31
|
+
severity: QaSeverity;
|
|
32
|
+
fatal: boolean;
|
|
33
|
+
message: string;
|
|
34
|
+
rule?: string;
|
|
35
|
+
net?: string;
|
|
36
|
+
component?: string;
|
|
37
|
+
remediation_hint: string;
|
|
38
|
+
}
|
|
39
|
+
export interface PostWriteQaInput {
|
|
40
|
+
projectId: string;
|
|
41
|
+
policy?: QaPolicy;
|
|
42
|
+
drc?: NativeRuleRunInput;
|
|
43
|
+
erc?: NativeRuleRunInput;
|
|
44
|
+
}
|
|
45
|
+
export interface PostWriteQaSummary {
|
|
46
|
+
project_id: string;
|
|
47
|
+
status: QaStatus;
|
|
48
|
+
passed: boolean;
|
|
49
|
+
policy: QaPolicy;
|
|
50
|
+
issue_count: number;
|
|
51
|
+
fatal_count: number;
|
|
52
|
+
warning_count: number;
|
|
53
|
+
inconclusive_count: number;
|
|
54
|
+
categories: Record<QaCategory, number>;
|
|
55
|
+
issues: ClassifiedQaIssue[];
|
|
56
|
+
summary: string;
|
|
57
|
+
}
|
|
58
|
+
export declare function classifyPostWriteQa(input: PostWriteQaInput): PostWriteQaSummary;
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
const CATEGORY_ZERO = {
|
|
2
|
+
duplicate_net_names: 0,
|
|
3
|
+
free_network_no_pins: 0,
|
|
4
|
+
unconnected_pin: 0,
|
|
5
|
+
native_drc_unavailable: 0,
|
|
6
|
+
native_erc_unavailable: 0,
|
|
7
|
+
native_rule_violation: 0,
|
|
8
|
+
uncategorized: 0,
|
|
9
|
+
};
|
|
10
|
+
function normalizeText(value) {
|
|
11
|
+
return String(value ?? '').trim();
|
|
12
|
+
}
|
|
13
|
+
function classifyDescription(description) {
|
|
14
|
+
const lower = description.toLowerCase();
|
|
15
|
+
if (lower.includes('multiple net names') || lower.includes('duplicate net'))
|
|
16
|
+
return 'duplicate_net_names';
|
|
17
|
+
if (lower.includes('free network') && lower.includes('no pins'))
|
|
18
|
+
return 'free_network_no_pins';
|
|
19
|
+
if (lower.includes('no pins attached'))
|
|
20
|
+
return 'free_network_no_pins';
|
|
21
|
+
if (lower.includes('unconnected') && lower.includes('pin'))
|
|
22
|
+
return 'unconnected_pin';
|
|
23
|
+
if (lower.includes('floating') && lower.includes('pin'))
|
|
24
|
+
return 'unconnected_pin';
|
|
25
|
+
return 'uncategorized';
|
|
26
|
+
}
|
|
27
|
+
function normalizeSeverity(value, fallback) {
|
|
28
|
+
return value === 'error' || value === 'warning' || value === 'info' ? value : fallback;
|
|
29
|
+
}
|
|
30
|
+
function policyFatal(category, severity, policy) {
|
|
31
|
+
if (category === 'duplicate_net_names')
|
|
32
|
+
return true;
|
|
33
|
+
if (category === 'unconnected_pin')
|
|
34
|
+
return true;
|
|
35
|
+
if (category === 'native_drc_unavailable' || category === 'native_erc_unavailable')
|
|
36
|
+
return false;
|
|
37
|
+
if (category === 'free_network_no_pins')
|
|
38
|
+
return policy === 'circuit';
|
|
39
|
+
return severity === 'error';
|
|
40
|
+
}
|
|
41
|
+
function remediationHint(category, policy) {
|
|
42
|
+
switch (category) {
|
|
43
|
+
case 'duplicate_net_names':
|
|
44
|
+
return 'Do not stamp the same native netName repeatedly on merged wire segments; seed the net once and continue same-net segments unlabeled.';
|
|
45
|
+
case 'free_network_no_pins':
|
|
46
|
+
return policy === 'diagnostic-fixture'
|
|
47
|
+
? 'Allowed for diagnostic fixtures that intentionally draw wire-only nets. Real circuits must connect each named net to at least one component pin.'
|
|
48
|
+
: 'Connect the named net to component pins, or remove the orphan wire/net flag before accepting the generated circuit.';
|
|
49
|
+
case 'unconnected_pin':
|
|
50
|
+
return 'Connect the expected pin, mark it as intentional no-connect where valid, or update the circuit template connectivity expectations.';
|
|
51
|
+
case 'native_drc_unavailable':
|
|
52
|
+
return 'Native DRC details were not available from the EasyEDA runtime. Capture/manual DRC-log ingestion is required before accepting a production schematic.';
|
|
53
|
+
case 'native_erc_unavailable':
|
|
54
|
+
return 'Native ERC details were not available from the EasyEDA runtime. Capture/manual ERC-log ingestion is required before accepting a production schematic.';
|
|
55
|
+
case 'native_rule_violation':
|
|
56
|
+
return 'Inspect the native rule violation and update routing/layout or component placement before release.';
|
|
57
|
+
case 'uncategorized':
|
|
58
|
+
return 'Review the warning manually and add a classifier rule if this warning recurs in live testing.';
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
function pushNativeUnavailable(issues, source, error) {
|
|
62
|
+
const category = source === 'drc' ? 'native_drc_unavailable' : 'native_erc_unavailable';
|
|
63
|
+
issues.push({
|
|
64
|
+
source,
|
|
65
|
+
category,
|
|
66
|
+
severity: 'warning',
|
|
67
|
+
fatal: false,
|
|
68
|
+
message: error
|
|
69
|
+
? `${source.toUpperCase()} unavailable: ${error}`
|
|
70
|
+
: `${source.toUpperCase()} unavailable`,
|
|
71
|
+
remediation_hint: remediationHint(category, 'circuit'),
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
function classifyViolation(source, violation, policy) {
|
|
75
|
+
const description = normalizeText(violation.description || violation.message || violation.rule || 'Rule violation');
|
|
76
|
+
const category = classifyDescription(description);
|
|
77
|
+
const severity = normalizeSeverity(violation.severity, category === 'uncategorized' ? 'warning' : 'error');
|
|
78
|
+
const normalizedCategory = category === 'uncategorized' && severity === 'error' ? 'native_rule_violation' : category;
|
|
79
|
+
return {
|
|
80
|
+
source,
|
|
81
|
+
category: normalizedCategory,
|
|
82
|
+
severity,
|
|
83
|
+
fatal: policyFatal(normalizedCategory, severity, policy),
|
|
84
|
+
message: description,
|
|
85
|
+
rule: normalizeText(violation.rule) || undefined,
|
|
86
|
+
net: normalizeText(violation.net) || undefined,
|
|
87
|
+
component: normalizeText(violation.component) || undefined,
|
|
88
|
+
remediation_hint: remediationHint(normalizedCategory, policy),
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
function classifyNativeRun(source, run, policy) {
|
|
92
|
+
const issues = [];
|
|
93
|
+
if (!run)
|
|
94
|
+
return issues;
|
|
95
|
+
if (run.not_available) {
|
|
96
|
+
pushNativeUnavailable(issues, source, run.error);
|
|
97
|
+
return issues;
|
|
98
|
+
}
|
|
99
|
+
for (const violation of run.violations ?? []) {
|
|
100
|
+
issues.push(classifyViolation(source, violation, policy));
|
|
101
|
+
}
|
|
102
|
+
if (source === 'erc') {
|
|
103
|
+
for (const pin of run.inferred_floating_pins ?? []) {
|
|
104
|
+
const designator = normalizeText(pin.designator) || 'unknown component';
|
|
105
|
+
const pinNumber = normalizeText(pin.pinNumber) || 'unknown pin';
|
|
106
|
+
const message = `Unconnected inferred pin ${designator}.${pinNumber}`;
|
|
107
|
+
const category = 'unconnected_pin';
|
|
108
|
+
issues.push({
|
|
109
|
+
source: 'erc',
|
|
110
|
+
category,
|
|
111
|
+
severity: 'error',
|
|
112
|
+
fatal: policyFatal(category, 'error', policy),
|
|
113
|
+
message,
|
|
114
|
+
component: designator,
|
|
115
|
+
remediation_hint: remediationHint(category, policy),
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
const total = run.total_violations ?? 0;
|
|
120
|
+
if (total > 0 && issues.length === 0) {
|
|
121
|
+
const category = 'native_rule_violation';
|
|
122
|
+
const severity = (run.error_count ?? 0) > 0 ? 'error' : 'warning';
|
|
123
|
+
issues.push({
|
|
124
|
+
source,
|
|
125
|
+
category,
|
|
126
|
+
severity,
|
|
127
|
+
fatal: policyFatal(category, severity, policy),
|
|
128
|
+
message: `${source.toUpperCase()} reported ${total} violation(s), but detailed violations were not available.`,
|
|
129
|
+
remediation_hint: remediationHint(category, policy),
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
return issues;
|
|
133
|
+
}
|
|
134
|
+
export function classifyPostWriteQa(input) {
|
|
135
|
+
const policy = input.policy ?? 'circuit';
|
|
136
|
+
const issues = [
|
|
137
|
+
...classifyNativeRun('drc', input.drc, policy),
|
|
138
|
+
...classifyNativeRun('erc', input.erc, policy),
|
|
139
|
+
];
|
|
140
|
+
const categories = { ...CATEGORY_ZERO };
|
|
141
|
+
for (const issue of issues)
|
|
142
|
+
categories[issue.category] += 1;
|
|
143
|
+
const fatalCount = issues.filter((issue) => issue.fatal).length;
|
|
144
|
+
const inconclusiveCount = issues.filter((issue) => issue.category === 'native_drc_unavailable' || issue.category === 'native_erc_unavailable').length;
|
|
145
|
+
const warningCount = issues.filter((issue) => issue.severity === 'warning' && !issue.fatal).length;
|
|
146
|
+
const status = fatalCount > 0 ? 'fail' : inconclusiveCount > 0 ? 'inconclusive' : 'pass';
|
|
147
|
+
return {
|
|
148
|
+
project_id: input.projectId,
|
|
149
|
+
status,
|
|
150
|
+
passed: status === 'pass',
|
|
151
|
+
policy,
|
|
152
|
+
issue_count: issues.length,
|
|
153
|
+
fatal_count: fatalCount,
|
|
154
|
+
warning_count: warningCount,
|
|
155
|
+
inconclusive_count: inconclusiveCount,
|
|
156
|
+
categories,
|
|
157
|
+
issues,
|
|
158
|
+
summary: status === 'pass'
|
|
159
|
+
? 'Post-write QA passed.'
|
|
160
|
+
: status === 'inconclusive'
|
|
161
|
+
? 'Post-write QA is inconclusive because native rule details were unavailable.'
|
|
162
|
+
: `Post-write QA failed with ${fatalCount} fatal issue(s).`,
|
|
163
|
+
};
|
|
164
|
+
}
|
|
165
|
+
//# sourceMappingURL=schematic-post-write-qa.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schematic-post-write-qa.js","sourceRoot":"","sources":["../../src/workflows/schematic-post-write-qa.ts"],"names":[],"mappings":"AAsEA,MAAM,aAAa,GAA+B;IAChD,mBAAmB,EAAE,CAAC;IACtB,oBAAoB,EAAE,CAAC;IACvB,eAAe,EAAE,CAAC;IAClB,sBAAsB,EAAE,CAAC;IACzB,sBAAsB,EAAE,CAAC;IACzB,qBAAqB,EAAE,CAAC;IACxB,aAAa,EAAE,CAAC;CACjB,CAAC;AAEF,SAAS,aAAa,CAAC,KAAc;IACnC,OAAO,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;AACpC,CAAC;AAED,SAAS,mBAAmB,CAAC,WAAmB;IAC9C,MAAM,KAAK,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC;IACxC,IAAI,KAAK,CAAC,QAAQ,CAAC,oBAAoB,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAC;QACzE,OAAO,qBAAqB,CAAC;IAC/B,IAAI,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC;QAAE,OAAO,sBAAsB,CAAC;IAC/F,IAAI,KAAK,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QAAE,OAAO,sBAAsB,CAAC;IACtE,IAAI,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,iBAAiB,CAAC;IACrF,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,iBAAiB,CAAC;IAClF,OAAO,eAAe,CAAC;AACzB,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAyB,EAAE,QAAoB;IACxE,OAAO,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;AACzF,CAAC;AAED,SAAS,WAAW,CAAC,QAAoB,EAAE,QAAoB,EAAE,MAAgB;IAC/E,IAAI,QAAQ,KAAK,qBAAqB;QAAE,OAAO,IAAI,CAAC;IACpD,IAAI,QAAQ,KAAK,iBAAiB;QAAE,OAAO,IAAI,CAAC;IAChD,IAAI,QAAQ,KAAK,wBAAwB,IAAI,QAAQ,KAAK,wBAAwB;QAAE,OAAO,KAAK,CAAC;IACjG,IAAI,QAAQ,KAAK,sBAAsB;QAAE,OAAO,MAAM,KAAK,SAAS,CAAC;IACrE,OAAO,QAAQ,KAAK,OAAO,CAAC;AAC9B,CAAC;AAED,SAAS,eAAe,CAAC,QAAoB,EAAE,MAAgB;IAC7D,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,qBAAqB;YACxB,OAAO,sIAAsI,CAAC;QAChJ,KAAK,sBAAsB;YACzB,OAAO,MAAM,KAAK,oBAAoB;gBACpC,CAAC,CAAC,kJAAkJ;gBACpJ,CAAC,CAAC,qHAAqH,CAAC;QAC5H,KAAK,iBAAiB;YACpB,OAAO,oIAAoI,CAAC;QAC9I,KAAK,wBAAwB;YAC3B,OAAO,uJAAuJ,CAAC;QACjK,KAAK,wBAAwB;YAC3B,OAAO,uJAAuJ,CAAC;QACjK,KAAK,uBAAuB;YAC1B,OAAO,oGAAoG,CAAC;QAC9G,KAAK,eAAe;YAClB,OAAO,+FAA+F,CAAC;IAC3G,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAC5B,MAA2B,EAC3B,MAAqB,EACrB,KAAyB;IAEzB,MAAM,QAAQ,GACZ,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,wBAAwB,CAAC;IACzE,MAAM,CAAC,IAAI,CAAC;QACV,MAAM;QACN,QAAQ;QACR,QAAQ,EAAE,SAAS;QACnB,KAAK,EAAE,KAAK;QACZ,OAAO,EAAE,KAAK;YACZ,CAAC,CAAC,GAAG,MAAM,CAAC,WAAW,EAAE,iBAAiB,KAAK,EAAE;YACjD,CAAC,CAAC,GAAG,MAAM,CAAC,WAAW,EAAE,cAAc;QACzC,gBAAgB,EAAE,eAAe,CAAC,QAAQ,EAAE,SAAS,CAAC;KACvD,CAAC,CAAC;AACL,CAAC;AAED,SAAS,iBAAiB,CACxB,MAAqB,EACrB,SAAmC,EACnC,MAAgB;IAEhB,MAAM,WAAW,GAAG,aAAa,CAC/B,SAAS,CAAC,WAAW,IAAI,SAAS,CAAC,OAAO,IAAI,SAAS,CAAC,IAAI,IAAI,gBAAgB,CACjF,CAAC;IACF,MAAM,QAAQ,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAC;IAClD,MAAM,QAAQ,GAAG,iBAAiB,CAChC,SAAS,CAAC,QAAQ,EAClB,QAAQ,KAAK,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CACnD,CAAC;IACF,MAAM,kBAAkB,GACtB,QAAQ,KAAK,eAAe,IAAI,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC5F,OAAO;QACL,MAAM;QACN,QAAQ,EAAE,kBAAkB;QAC5B,QAAQ;QACR,KAAK,EAAE,WAAW,CAAC,kBAAkB,EAAE,QAAQ,EAAE,MAAM,CAAC;QACxD,OAAO,EAAE,WAAW;QACpB,IAAI,EAAE,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,SAAS;QAChD,GAAG,EAAE,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,SAAS;QAC9C,SAAS,EAAE,aAAa,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,SAAS;QAC1D,gBAAgB,EAAE,eAAe,CAAC,kBAAkB,EAAE,MAAM,CAAC;KAC9D,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CACxB,MAAqB,EACrB,GAAmC,EACnC,MAAgB;IAEhB,MAAM,MAAM,GAAwB,EAAE,CAAC;IACvC,IAAI,CAAC,GAAG;QAAE,OAAO,MAAM,CAAC;IACxB,IAAI,GAAG,CAAC,aAAa,EAAE,CAAC;QACtB,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QACjD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,MAAM,SAAS,IAAI,GAAG,CAAC,UAAU,IAAI,EAAE,EAAE,CAAC;QAC7C,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;QACrB,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,sBAAsB,IAAI,EAAE,EAAE,CAAC;YACnD,MAAM,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,mBAAmB,CAAC;YACxE,MAAM,SAAS,GAAG,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,aAAa,CAAC;YAChE,MAAM,OAAO,GAAG,4BAA4B,UAAU,IAAI,SAAS,EAAE,CAAC;YACtE,MAAM,QAAQ,GAAe,iBAAiB,CAAC;YAC/C,MAAM,CAAC,IAAI,CAAC;gBACV,MAAM,EAAE,KAAK;gBACb,QAAQ;gBACR,QAAQ,EAAE,OAAO;gBACjB,KAAK,EAAE,WAAW,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC;gBAC7C,OAAO;gBACP,SAAS,EAAE,UAAU;gBACrB,gBAAgB,EAAE,eAAe,CAAC,QAAQ,EAAE,MAAM,CAAC;aACpD,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,MAAM,KAAK,GAAG,GAAG,CAAC,gBAAgB,IAAI,CAAC,CAAC;IACxC,IAAI,KAAK,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrC,MAAM,QAAQ,GAAe,uBAAuB,CAAC;QACrD,MAAM,QAAQ,GAAe,CAAC,GAAG,CAAC,WAAW,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;QAC9E,MAAM,CAAC,IAAI,CAAC;YACV,MAAM;YACN,QAAQ;YACR,QAAQ;YACR,KAAK,EAAE,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC;YAC9C,OAAO,EAAE,GAAG,MAAM,CAAC,WAAW,EAAE,aAAa,KAAK,4DAA4D;YAC9G,gBAAgB,EAAE,eAAe,CAAC,QAAQ,EAAE,MAAM,CAAC;SACpD,CAAC,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAAuB;IACzD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,SAAS,CAAC;IACzC,MAAM,MAAM,GAAG;QACb,GAAG,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC;QAC9C,GAAG,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC;KAC/C,CAAC;IACF,MAAM,UAAU,GAA+B,EAAE,GAAG,aAAa,EAAE,CAAC;IACpE,KAAK,MAAM,KAAK,IAAI,MAAM;QAAE,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAE5D,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;IAChE,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CACrC,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,QAAQ,KAAK,wBAAwB,IAAI,KAAK,CAAC,QAAQ,KAAK,wBAAwB,CAC7F,CAAC,MAAM,CAAC;IACT,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAChC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,KAAK,CACxD,CAAC,MAAM,CAAC;IACT,MAAM,MAAM,GACV,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,iBAAiB,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC;IAE5E,OAAO;QACL,UAAU,EAAE,KAAK,CAAC,SAAS;QAC3B,MAAM;QACN,MAAM,EAAE,MAAM,KAAK,MAAM;QACzB,MAAM;QACN,WAAW,EAAE,MAAM,CAAC,MAAM;QAC1B,WAAW,EAAE,UAAU;QACvB,aAAa,EAAE,YAAY;QAC3B,kBAAkB,EAAE,iBAAiB;QACrC,UAAU;QACV,MAAM;QACN,OAAO,EACL,MAAM,KAAK,MAAM;YACf,CAAC,CAAC,uBAAuB;YACzB,CAAC,CAAC,MAAM,KAAK,cAAc;gBACzB,CAAC,CAAC,6EAA6E;gBAC/E,CAAC,CAAC,6BAA6B,UAAU,kBAAkB;KAClE,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Schematic sheet safe-region planner.
|
|
3
|
+
*
|
|
4
|
+
* EasyEDA Pro schematic coordinates observed in live MSI testing use a
|
|
5
|
+
* bottom-left-style sheet origin: larger Y values move objects upward on the
|
|
6
|
+
* page. The default A4 title block occupies the lower/right portion of the
|
|
7
|
+
* frame, so hard-coded low-Y coordinates easily collide with the title block.
|
|
8
|
+
*
|
|
9
|
+
* This module is deliberately pure and conservative. It does not resize the
|
|
10
|
+
* sheet; it returns a safe bounding box/anchor or a blocked plan with reasons
|
|
11
|
+
* that callers can surface before applying any writes.
|
|
12
|
+
*/
|
|
13
|
+
export type SchematicRegionPreference = 'upper-left' | 'upper-center' | 'upper-right' | 'center-left' | 'center' | 'center-right' | 'lower-left' | 'lower-center' | 'lower-right';
|
|
14
|
+
export interface SchematicRect {
|
|
15
|
+
x: number;
|
|
16
|
+
y: number;
|
|
17
|
+
width: number;
|
|
18
|
+
height: number;
|
|
19
|
+
}
|
|
20
|
+
export interface SchematicPoint {
|
|
21
|
+
x: number;
|
|
22
|
+
y: number;
|
|
23
|
+
}
|
|
24
|
+
export interface SchematicSheetGeometry {
|
|
25
|
+
width: number;
|
|
26
|
+
height: number;
|
|
27
|
+
unit: string;
|
|
28
|
+
origin: 'bottom-left';
|
|
29
|
+
source: 'sheet-info' | 'default-a4-landscape';
|
|
30
|
+
}
|
|
31
|
+
export interface SafeSchematicRegionPlanInput {
|
|
32
|
+
sheetInfo?: unknown;
|
|
33
|
+
contentWidth: number;
|
|
34
|
+
contentHeight: number;
|
|
35
|
+
preferredRegion?: SchematicRegionPreference;
|
|
36
|
+
margin?: number;
|
|
37
|
+
titleBlockKeepout?: SchematicRect;
|
|
38
|
+
}
|
|
39
|
+
export interface SafeSchematicRegionPlan {
|
|
40
|
+
blocked: boolean;
|
|
41
|
+
preferredRegion: SchematicRegionPreference;
|
|
42
|
+
sheet: SchematicSheetGeometry;
|
|
43
|
+
usableBounds: SchematicRect;
|
|
44
|
+
requestedBounds: SchematicRect;
|
|
45
|
+
bounds: SchematicRect;
|
|
46
|
+
anchor: SchematicPoint;
|
|
47
|
+
keepouts: Array<SchematicRect & {
|
|
48
|
+
kind: 'title-block';
|
|
49
|
+
}>;
|
|
50
|
+
warnings: string[];
|
|
51
|
+
issues: Array<{
|
|
52
|
+
code: string;
|
|
53
|
+
message: string;
|
|
54
|
+
}>;
|
|
55
|
+
}
|
|
56
|
+
export declare function inferSchematicSheetGeometry(sheetInfo: unknown): SchematicSheetGeometry;
|
|
57
|
+
export declare function defaultTitleBlockKeepout(sheet: SchematicSheetGeometry): SchematicRect;
|
|
58
|
+
export declare function rectsOverlap(a: SchematicRect, b: SchematicRect): boolean;
|
|
59
|
+
export declare function planSafeSchematicRegion(input: SafeSchematicRegionPlanInput): SafeSchematicRegionPlan;
|
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Schematic sheet safe-region planner.
|
|
3
|
+
*
|
|
4
|
+
* EasyEDA Pro schematic coordinates observed in live MSI testing use a
|
|
5
|
+
* bottom-left-style sheet origin: larger Y values move objects upward on the
|
|
6
|
+
* page. The default A4 title block occupies the lower/right portion of the
|
|
7
|
+
* frame, so hard-coded low-Y coordinates easily collide with the title block.
|
|
8
|
+
*
|
|
9
|
+
* This module is deliberately pure and conservative. It does not resize the
|
|
10
|
+
* sheet; it returns a safe bounding box/anchor or a blocked plan with reasons
|
|
11
|
+
* that callers can surface before applying any writes.
|
|
12
|
+
*/
|
|
13
|
+
const DEFAULT_A4_LANDSCAPE = {
|
|
14
|
+
// EasyEDA schematic coordinates are not guaranteed to be true millimetres,
|
|
15
|
+
// but the live A4 frame behaves consistently with this 1189x841-style
|
|
16
|
+
// internal coordinate scale. Prefer runtime sheet-info when available.
|
|
17
|
+
width: 1189,
|
|
18
|
+
height: 841,
|
|
19
|
+
unit: 'easyeda-coordinate',
|
|
20
|
+
};
|
|
21
|
+
const DEFAULT_MARGIN = 80;
|
|
22
|
+
const REGION_ROWS = {
|
|
23
|
+
'upper-left': 'upper',
|
|
24
|
+
'upper-center': 'upper',
|
|
25
|
+
'upper-right': 'upper',
|
|
26
|
+
'center-left': 'center',
|
|
27
|
+
center: 'center',
|
|
28
|
+
'center-right': 'center',
|
|
29
|
+
'lower-left': 'lower',
|
|
30
|
+
'lower-center': 'lower',
|
|
31
|
+
'lower-right': 'lower',
|
|
32
|
+
};
|
|
33
|
+
const REGION_COLUMNS = {
|
|
34
|
+
'upper-left': 'left',
|
|
35
|
+
'upper-center': 'center',
|
|
36
|
+
'upper-right': 'right',
|
|
37
|
+
'center-left': 'left',
|
|
38
|
+
center: 'center',
|
|
39
|
+
'center-right': 'right',
|
|
40
|
+
'lower-left': 'left',
|
|
41
|
+
'lower-center': 'center',
|
|
42
|
+
'lower-right': 'right',
|
|
43
|
+
};
|
|
44
|
+
function readRecord(value) {
|
|
45
|
+
return value && typeof value === 'object' && !Array.isArray(value)
|
|
46
|
+
? value
|
|
47
|
+
: {};
|
|
48
|
+
}
|
|
49
|
+
function readNumber(record, keys) {
|
|
50
|
+
for (const key of keys) {
|
|
51
|
+
const value = record[key];
|
|
52
|
+
if (typeof value === 'number' && Number.isFinite(value) && value > 0)
|
|
53
|
+
return value;
|
|
54
|
+
if (typeof value === 'string') {
|
|
55
|
+
const parsed = Number(value.trim());
|
|
56
|
+
if (Number.isFinite(parsed) && parsed > 0)
|
|
57
|
+
return parsed;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
return undefined;
|
|
61
|
+
}
|
|
62
|
+
function readString(record, keys) {
|
|
63
|
+
for (const key of keys) {
|
|
64
|
+
const value = record[key];
|
|
65
|
+
if (typeof value === 'string' && value.trim())
|
|
66
|
+
return value.trim();
|
|
67
|
+
}
|
|
68
|
+
return undefined;
|
|
69
|
+
}
|
|
70
|
+
export function inferSchematicSheetGeometry(sheetInfo) {
|
|
71
|
+
const root = readRecord(sheetInfo);
|
|
72
|
+
const current = readRecord(root.currentPage);
|
|
73
|
+
const currentOrRoot = Object.keys(current).length > 0 ? current : root;
|
|
74
|
+
const pageSize = readRecord(root.page_size ?? root.pageSize ?? currentOrRoot.page_size ?? currentOrRoot.pageSize);
|
|
75
|
+
const width = readNumber(pageSize, ['width', 'pageWidth', 'paperWidth', 'w']) ??
|
|
76
|
+
readNumber(currentOrRoot, ['width', 'pageWidth', 'paperWidth', 'w', 'Width']) ??
|
|
77
|
+
readNumber(root, ['width', 'pageWidth', 'paperWidth', 'w', 'Width']);
|
|
78
|
+
const height = readNumber(pageSize, ['height', 'pageHeight', 'paperHeight', 'h']) ??
|
|
79
|
+
readNumber(currentOrRoot, ['height', 'pageHeight', 'paperHeight', 'h', 'Height']) ??
|
|
80
|
+
readNumber(root, ['height', 'pageHeight', 'paperHeight', 'h', 'Height']);
|
|
81
|
+
const unit = readString(pageSize, ['unit', 'units', 'pageUnit']) ??
|
|
82
|
+
readString(currentOrRoot, ['unit', 'units', 'pageUnit']) ??
|
|
83
|
+
readString(root, ['unit', 'units', 'pageUnit']) ??
|
|
84
|
+
DEFAULT_A4_LANDSCAPE.unit;
|
|
85
|
+
if (width !== undefined && height !== undefined) {
|
|
86
|
+
return { width, height, unit, origin: 'bottom-left', source: 'sheet-info' };
|
|
87
|
+
}
|
|
88
|
+
return {
|
|
89
|
+
width: DEFAULT_A4_LANDSCAPE.width,
|
|
90
|
+
height: DEFAULT_A4_LANDSCAPE.height,
|
|
91
|
+
unit,
|
|
92
|
+
origin: 'bottom-left',
|
|
93
|
+
source: 'default-a4-landscape',
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
export function defaultTitleBlockKeepout(sheet) {
|
|
97
|
+
return {
|
|
98
|
+
x: sheet.width * 0.55,
|
|
99
|
+
y: 0,
|
|
100
|
+
width: sheet.width * 0.45,
|
|
101
|
+
height: sheet.height * 0.26,
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
export function rectsOverlap(a, b) {
|
|
105
|
+
return a.x < b.x + b.width && a.x + a.width > b.x && a.y < b.y + b.height && a.y + a.height > b.y;
|
|
106
|
+
}
|
|
107
|
+
function candidateBounds(usable, width, height, preference) {
|
|
108
|
+
const column = REGION_COLUMNS[preference];
|
|
109
|
+
const row = REGION_ROWS[preference];
|
|
110
|
+
const x = column === 'left'
|
|
111
|
+
? usable.x
|
|
112
|
+
: column === 'center'
|
|
113
|
+
? usable.x + (usable.width - width) / 2
|
|
114
|
+
: usable.x + usable.width - width;
|
|
115
|
+
const y = row === 'lower'
|
|
116
|
+
? usable.y
|
|
117
|
+
: row === 'center'
|
|
118
|
+
? usable.y + (usable.height - height) / 2
|
|
119
|
+
: usable.y + usable.height - height;
|
|
120
|
+
return { x, y, width, height };
|
|
121
|
+
}
|
|
122
|
+
function clampBoundsToUsable(bounds, usable) {
|
|
123
|
+
return {
|
|
124
|
+
...bounds,
|
|
125
|
+
x: Math.min(Math.max(bounds.x, usable.x), usable.x + usable.width - bounds.width),
|
|
126
|
+
y: Math.min(Math.max(bounds.y, usable.y), usable.y + usable.height - bounds.height),
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
const FALLBACK_REGIONS = [
|
|
130
|
+
'upper-left',
|
|
131
|
+
'upper-center',
|
|
132
|
+
'center-left',
|
|
133
|
+
'center',
|
|
134
|
+
'upper-right',
|
|
135
|
+
'center-right',
|
|
136
|
+
'lower-left',
|
|
137
|
+
'lower-center',
|
|
138
|
+
'lower-right',
|
|
139
|
+
];
|
|
140
|
+
export function planSafeSchematicRegion(input) {
|
|
141
|
+
const sheet = inferSchematicSheetGeometry(input.sheetInfo);
|
|
142
|
+
const margin = input.margin ?? DEFAULT_MARGIN;
|
|
143
|
+
const preferredRegion = input.preferredRegion ?? 'upper-left';
|
|
144
|
+
const keepout = {
|
|
145
|
+
...(input.titleBlockKeepout ?? defaultTitleBlockKeepout(sheet)),
|
|
146
|
+
kind: 'title-block',
|
|
147
|
+
};
|
|
148
|
+
const usableBounds = {
|
|
149
|
+
x: margin,
|
|
150
|
+
y: margin,
|
|
151
|
+
width: Math.max(0, sheet.width - margin * 2),
|
|
152
|
+
height: Math.max(0, sheet.height - margin * 2),
|
|
153
|
+
};
|
|
154
|
+
const issues = [];
|
|
155
|
+
const warnings = [];
|
|
156
|
+
if (input.contentWidth <= 0 || input.contentHeight <= 0) {
|
|
157
|
+
issues.push({
|
|
158
|
+
code: 'INVALID_CONTENT_SIZE',
|
|
159
|
+
message: 'contentWidth and contentHeight must be positive.',
|
|
160
|
+
});
|
|
161
|
+
}
|
|
162
|
+
if (input.contentWidth > usableBounds.width || input.contentHeight > usableBounds.height) {
|
|
163
|
+
issues.push({
|
|
164
|
+
code: 'CONTENT_DOES_NOT_FIT_USABLE_BOUNDS',
|
|
165
|
+
message: `Requested content ${input.contentWidth}x${input.contentHeight} exceeds usable sheet bounds ${usableBounds.width}x${usableBounds.height}.`,
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
const requestedBounds = clampBoundsToUsable(candidateBounds(usableBounds, input.contentWidth, input.contentHeight, preferredRegion), usableBounds);
|
|
169
|
+
let bounds = requestedBounds;
|
|
170
|
+
if (rectsOverlap(bounds, keepout)) {
|
|
171
|
+
warnings.push(`Preferred region ${preferredRegion} intersects the title-block keep-out; searching fallback safe regions.`);
|
|
172
|
+
const fallback = FALLBACK_REGIONS.map((region) => clampBoundsToUsable(candidateBounds(usableBounds, input.contentWidth, input.contentHeight, region), usableBounds)).find((candidate) => !rectsOverlap(candidate, keepout));
|
|
173
|
+
if (fallback) {
|
|
174
|
+
bounds = fallback;
|
|
175
|
+
}
|
|
176
|
+
else {
|
|
177
|
+
issues.push({
|
|
178
|
+
code: 'NO_SAFE_REGION_OUTSIDE_TITLE_BLOCK',
|
|
179
|
+
message: 'No candidate region fits outside the title-block keep-out.',
|
|
180
|
+
});
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
if (bounds.x < usableBounds.x || bounds.y < usableBounds.y) {
|
|
184
|
+
issues.push({
|
|
185
|
+
code: 'BOUNDS_OUTSIDE_USABLE_AREA',
|
|
186
|
+
message: 'Computed bounds start outside usable area.',
|
|
187
|
+
});
|
|
188
|
+
}
|
|
189
|
+
if (bounds.x + bounds.width > usableBounds.x + usableBounds.width ||
|
|
190
|
+
bounds.y + bounds.height > usableBounds.y + usableBounds.height) {
|
|
191
|
+
issues.push({
|
|
192
|
+
code: 'BOUNDS_EXCEED_USABLE_AREA',
|
|
193
|
+
message: 'Computed bounds exceed usable area.',
|
|
194
|
+
});
|
|
195
|
+
}
|
|
196
|
+
if (rectsOverlap(bounds, keepout)) {
|
|
197
|
+
issues.push({
|
|
198
|
+
code: 'TITLE_BLOCK_OVERLAP',
|
|
199
|
+
message: 'Computed bounds overlap the title-block keep-out.',
|
|
200
|
+
});
|
|
201
|
+
}
|
|
202
|
+
return {
|
|
203
|
+
blocked: issues.length > 0,
|
|
204
|
+
preferredRegion,
|
|
205
|
+
sheet,
|
|
206
|
+
usableBounds,
|
|
207
|
+
requestedBounds,
|
|
208
|
+
bounds,
|
|
209
|
+
anchor: { x: bounds.x, y: bounds.y + bounds.height },
|
|
210
|
+
keepouts: [keepout],
|
|
211
|
+
warnings,
|
|
212
|
+
issues,
|
|
213
|
+
};
|
|
214
|
+
}
|
|
215
|
+
//# sourceMappingURL=schematic-safe-region.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schematic-safe-region.js","sourceRoot":"","sources":["../../src/workflows/schematic-safe-region.ts"],"names":[],"mappings":"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"}
|
|
Binary file
|
package/package.json
CHANGED