Merge pull request 'Removing mxpic_forge from dependency' (#2) from main into pengkun_main #3

Merged
PotatoMaxwell merged 16 commits from pengkun_main into qinyue_main 2026-06-10 11:34:17 +00:00
Showing only changes of commit a9187e8a29 - Show all commits
+38
View File
@@ -135,3 +135,41 @@ Contract tests were added and updated to cover explicit route group metadata par
mxpic_router/mxpic_router/eda_loader.py
mxpic_router/mxpic_router/builder.py
mxpic_router/tests/test_eda_router_contract.py
## 2026-06-10
### Scope
Frontend/backend routing metadata integration and electrical routing behavior review.
### Summary
Recent work focused on aligning the backend route grouping logic with the updated EDA frontend bundle-group export format, and reviewing why resistor routes were not using PCB-style routing.
### Completed Work
#### 1. Frontend Bundle Group Integration
The updated frontend exports user-selected route bundle groups as YAML bundle keys instead of duplicating `bundle_group` inside each link.
The backend route grouping logic was updated to treat custom YAML bundle keys as explicit route groups for S-bend `Lstart` spacing.
Default groups such as `output_bus`, `free_wires`, and `free_wires_*` are still treated as fallback groups to avoid unintentionally merging unrelated free-wire routes.
#### 2. Contract Test Update
A contract test was added to verify that custom frontend bundle keys are recognized as backend route groups, while default bundle names remain excluded from explicit grouping.
#### 3. PCB Routing Condition Review
The PCB routing condition was reviewed for resistor-based test layouts.
The backend currently enables `PCB=True` based on route `xsection` only. Routes using `metal_1`, `metal1`, `metal_2`, or `metal2` enable PCB routing; routes exported as `strip` remain optical-style routes.
The current resistor test YAML was found to export `xsection: strip` and `family: optical`, so the issue was traced to frontend route metadata export rather than the backend PCB flag logic.
### Modified Files
mxpic_router/mxpic_router/builder.py
mxpic_router/tests/test_eda_router_contract.py