From 5a3a80700fee7b1b8c1da108cf77fc72b4c691cb Mon Sep 17 00:00:00 2001 From: PotatoMaxwell Date: Sat, 30 May 2026 12:04:02 +0800 Subject: [PATCH] 1. Anchor routing added with mutiport --- backend/__pycache__/database.cpython-39.pyc | Bin 5436 -> 5437 bytes .../__pycache__/gds_builder.cpython-39.pyc | Bin 6690 -> 6691 bytes .../__pycache__/layout_preview.cpython-39.pyc | Bin 4662 -> 4663 bytes backend/__pycache__/pdk_access.cpython-39.pyc | Bin 2059 -> 2060 bytes .../__pycache__/pdk_registry.cpython-39.pyc | Bin 3756 -> 3757 bytes .../routed_layout_preview.cpython-39.pyc | Bin 1630 -> 1631 bytes .../technology_manifest.cpython-39.pyc | Bin 1312 -> 1313 bytes .../mxpic_project_1.gds | Bin 0 -> 301558 bytes .../mxpic_project_1.gds | Bin 0 -> 176990 bytes .../mxpic_project_1.gds | Bin 0 -> 344230 bytes .../mxpic_project_1.gds | Bin 0 -> 32666 bytes .../mxpic_project_1/mxpic_project_1.svg | 531 +++++++++++++----- .../mxpic_project_1/mxpic_project_1.yml | 158 +++++- .../layout/mxpic_project_1/.project.json | 4 + .../mxpic_project_1/mxpic_project_1.svg | 87 +++ .../mxpic_project_1/mxpic_project_1.yml | 55 ++ database/mxpic_data.db | Bin 73728 -> 86016 bytes frontend/canvas-helpers.js | 121 +++- frontend/canvas.html | 341 +++++++++-- tests/canvas-helpers.test.js | 74 ++- tests/layout-backend-static.test.js | 18 + tests/layout-ui-wiring.test.js | 47 +- tests/project-load-static.test.js | 24 + 23 files changed, 1226 insertions(+), 234 deletions(-) create mode 100644 database/_exports/29af00af64d84428b19f37ddc03eec46/mxpic_project_1.gds create mode 100644 database/_exports/2c8f8cfc00964701ab5efb3f25e63323/mxpic_project_1.gds create mode 100644 database/_exports/c951f0317ebf4c9b903025b481290f8f/mxpic_project_1.gds create mode 100644 database/_exports/d61ec6d8ecd74bd790e512e1196f4515/mxpic_project_1.gds create mode 100644 database/engineer/layout/mxpic_project_1/.project.json create mode 100644 database/engineer/layout/mxpic_project_1/mxpic_project_1.svg create mode 100644 database/engineer/layout/mxpic_project_1/mxpic_project_1.yml diff --git a/backend/__pycache__/database.cpython-39.pyc b/backend/__pycache__/database.cpython-39.pyc index e2b00e664e1725d78da62a453a2bba9a762af535..d2c03ceb8ea13804cdd4360e47b8e7819e0dc696 100644 GIT binary patch delta 46 wcmdm^wO5Nfk(ZZ?0SLBPNNwc4&nTjvVil8HQIMGoA>&xVil8HQIMGoA>&k(ZZ?0SLBPNNwak!z7}WVil8HQIMGoA>&&;M1& delta 45 vcmdn4vQ33Mk(ZZ?0SGwPNN(irW){{-v5Lv9D9B8PknyfAj+<98_woS%53vnd diff --git a/backend/__pycache__/pdk_access.cpython-39.pyc b/backend/__pycache__/pdk_access.cpython-39.pyc index 2113caea7f6d6f00b6aba2b985c133c5ecb90621..4e3d088c26b6ce6e42424d4aef0f4f03403509bf 100644 GIT binary patch delta 46 vcmeAc=n>#f+ diff --git a/backend/__pycache__/pdk_registry.cpython-39.pyc b/backend/__pycache__/pdk_registry.cpython-39.pyc index 33473b9b54949208fee9096e9496d899b2e55f02..83bcec10c47c50d36ded01166e2e222dadb82d21 100644 GIT binary patch delta 45 vcmZ1@yH=Jvk(ZZ?0SLBPNNwcqV-(R&v5Lv9D9B8PknyfAjuDI3F!BNb5VQ>} delta 44 ucmZ20yGE8fk(ZZ?0SGwPNN(irV-(g(v5Lv9D9B8PknyfAj*Hha@&W++)C`#b diff --git a/backend/__pycache__/routed_layout_preview.cpython-39.pyc b/backend/__pycache__/routed_layout_preview.cpython-39.pyc index 2caad5eada147899f6ab34d8062361024f7d73e2..9f2c8c7dcce8a3db3457c5b24a1822d6e65a6ce4 100644 GIT binary patch delta 46 wcmcb|bDxJhk(ZZ?0SLBPNNwa!Wf3t+v5Lv9D9B8PknyfAjuD%iS#C1|04Jml3IG5A delta 45 vcmcc5bB~8Rk(ZZ?0SGwPNN(g#Wf3+`v5Lv9D9B8PknyfAj+b)6)eIg0 diff --git a/database/_exports/29af00af64d84428b19f37ddc03eec46/mxpic_project_1.gds b/database/_exports/29af00af64d84428b19f37ddc03eec46/mxpic_project_1.gds new file mode 100644 index 0000000000000000000000000000000000000000..d3a1188a9e85637b043c3b91d30e55f0968c70b3 GIT binary patch literal 301558 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

a&7=I$r%qnf{!|PWh=-rUpWpE-z&+PoLih5 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

p1&Ko%9%7I6Eg`Eo9AMG>=*FEXf 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 z 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 n-}okNt@aW9pyq!8Qc!}A literal 0 HcmV?d00001 diff --git a/database/_exports/d61ec6d8ecd74bd790e512e1196f4515/mxpic_project_1.gds b/database/_exports/d61ec6d8ecd74bd790e512e1196f4515/mxpic_project_1.gds new file mode 100644 index 0000000000000000000000000000000000000000..f45ea972a2cb10ab4def9a25ed67bca4f033c844 GIT binary patch literal 32666 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 I-N#4$7k$m=)Bpeg literal 0 HcmV?d00001 diff --git a/database/admin/layout/mxpic_project_1/mxpic_project_1.svg b/database/admin/layout/mxpic_project_1/mxpic_project_1.svg index 96ba2e6..518873c 100644 --- a/database/admin/layout/mxpic_project_1/mxpic_project_1.svg +++ b/database/admin/layout/mxpic_project_1/mxpic_project_1.svg @@ -1,174 +1,393 @@ - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/database/admin/layout/mxpic_project_1/mxpic_project_1.yml b/database/admin/layout/mxpic_project_1/mxpic_project_1.yml index 0e6c351..c0b6f47 100644 --- a/database/admin/layout/mxpic_project_1/mxpic_project_1.yml +++ b/database/admin/layout/mxpic_project_1/mxpic_project_1.yml @@ -13,14 +13,31 @@ type: project version: "1.0.0" # 1. External Ports (How this cell connects to the outside world) -ports: [] +ports: +- name: port + layer: WG_CORE + x: 50.0 + y: -150.0 + angle: 0.0 + width: 0.5 # 2. Instances (The sub-components dropped onto this canvas) instances: + EC_1: + component: Silterra/EMO1_2ML_CU_Al_RDL/primitives/edge_couplers/EC_SiN400_1310_1p0dB_L635_A0_QY_202604 + x: 0.0 + y: -2660.0 + rotation: 180.0 + flip: 0 + flop: 0 + mirror: false + settings: + length: + MMI_1: component: Silterra/EMO1_2ML_CU_Al_RDL/primitives/multimode_interferometers/1x2MMI_1310nm_TE_Silterra_202603_ZKY_v2 - x: 476.0 - y: -2453.2 + x: 936.8 + y: -2358.5 rotation: 0.0 flip: 0 flop: 0 @@ -30,8 +47,8 @@ instances: MMI_2: component: Silterra/EMO1_2ML_CU_Al_RDL/primitives/multimode_interferometers/1x2MMI_1310nm_TE_Silterra_202603_ZKY_v2 - x: 723.1 - y: -2241.8 + x: 1089.2 + y: -2247.3 rotation: 0.0 flip: 0 flop: 0 @@ -41,8 +58,8 @@ instances: MMI_3: component: Silterra/EMO1_2ML_CU_Al_RDL/primitives/multimode_interferometers/1x2MMI_1310nm_TE_Silterra_202603_ZKY_v2 - x: 438.9 - y: -2230.2 + x: 1096.8 + y: -2598.0 rotation: 0.0 flip: 0 flop: 0 @@ -52,8 +69,63 @@ instances: MMI_4: component: Silterra/EMO1_2ML_CU_Al_RDL/primitives/multimode_interferometers/1x2MMI_1310nm_TE_Silterra_202603_ZKY_v2 - x: 750.9 - y: -2468.7 + x: 735.0 + y: -2541.1 + rotation: 90.0 + flip: 0 + flop: 0 + mirror: false + settings: + length: + + MMI_5: + component: Silterra/EMO1_2ML_CU_Al_RDL/primitives/multimode_interferometers/1x2MMI_1310nm_TE_Silterra_202603_ZKY_v2 + x: 1086.5 + y: -2097.1 + rotation: 0.0 + flip: 0 + flop: 0 + mirror: false + settings: + length: + + EC_2: + component: Silterra/EMO1_2ML_CU_Al_RDL/primitives/edge_couplers/EC_SiN400_1310_1p0dB_L635_A0_QY_202604 + x: 0.0 + y: -2825.7 + rotation: 180.0 + flip: 0 + flop: 0 + mirror: false + settings: + length: + + MMI_6: + component: Silterra/EMO1_2ML_CU_Al_RDL/primitives/multimode_interferometers/1x2MMI_1310nm_TE_Silterra_202603_ZKY_v2 + x: 913.7 + y: -2537.3 + rotation: 90.0 + flip: 0 + flop: 0 + mirror: false + settings: + length: + + MMI_7: + component: Silterra/EMO1_2ML_CU_Al_RDL/primitives/multimode_interferometers/1x2MMI_1310nm_TE_Silterra_202603_ZKY_v2 + x: 1027.2 + y: -2736.7 + rotation: 0.0 + flip: 0 + flop: 0 + mirror: false + settings: + length: + + MMI_8: + component: Silterra/EMO1_2ML_CU_Al_RDL/primitives/multimode_interferometers/1x2MMI_1310nm_TE_Silterra_202603_ZKY_v2 + x: 842.6 + y: -2941.6 rotation: 0.0 flip: 0 flop: 0 @@ -62,11 +134,23 @@ instances: length: elements: + port: + type: port + x: 50.0 + y: -150.0 + angle: 0.0 + port_number: 1 + pitch: 10 + layer: WG_CORE + width: 0.5 + description: "" anchor_1: type: anchor - x: 421.9 - y: -2624.7 + x: 732.7 + y: -2824.7 angle: 0.0 + port_number: 5 + pitch: 10 layer: WG_CORE width: 0.5 description: "" @@ -76,22 +160,64 @@ bundles: output_bus: routing_type: euler_bend links: - - from: MMI_2:a1 - to: MMI_1:b1 + - from: MMI_1:b1 + to: MMI_2:a1 xsection: strip family: optical width: 0.45 radius: 10 routing_type: euler_bend - - from: anchor_1:right + - from: MMI_1:b2 + to: MMI_3:a1 + xsection: strip + family: optical + width: 0.45 + radius: 10 + routing_type: euler_bend + - from: EC_1:a1 + to: anchor_1:a1 + xsection: strip + family: optical + width: 0.45 + radius: 10 + routing_type: euler_bend + - from: anchor_1:b1 to: MMI_4:a1 xsection: strip family: optical width: 0.45 radius: 10 routing_type: euler_bend - - from: anchor_1:left - to: MMI_3:a1 + - from: MMI_4:b2 + to: MMI_1:a1 + xsection: strip + family: optical + width: 0.45 + radius: 10 + routing_type: euler_bend + - from: MMI_5:a1 + to: MMI_4:b1 + xsection: strip + family: optical + width: 0.45 + radius: 10 + routing_type: euler_bend + - from: EC_2:a1 + to: anchor_1:a2 + xsection: strip + family: optical + width: 0.45 + radius: 10 + routing_type: euler_bend + - from: anchor_1:b2 + to: MMI_6:a1 + xsection: strip + family: optical + width: 0.45 + radius: 10 + routing_type: euler_bend + - from: MMI_8:b1 + to: MMI_7:a1 xsection: strip family: optical width: 0.45 diff --git a/database/engineer/layout/mxpic_project_1/.project.json b/database/engineer/layout/mxpic_project_1/.project.json new file mode 100644 index 0000000..4f868b9 --- /dev/null +++ b/database/engineer/layout/mxpic_project_1/.project.json @@ -0,0 +1,4 @@ +{ + "name": "mxpic_project_1", + "technology": "Silterra/EMO1_2ML_CU_Al_RDL" +} \ No newline at end of file diff --git a/database/engineer/layout/mxpic_project_1/mxpic_project_1.svg b/database/engineer/layout/mxpic_project_1/mxpic_project_1.svg new file mode 100644 index 0000000..ba8ac45 --- /dev/null +++ b/database/engineer/layout/mxpic_project_1/mxpic_project_1.svg @@ -0,0 +1,87 @@ + + + + + + + + + +a1 +b1 +b2 +a0 +b0 + + + + + + +a1 +b1 +b2 +a0 +b0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/database/engineer/layout/mxpic_project_1/mxpic_project_1.yml b/database/engineer/layout/mxpic_project_1/mxpic_project_1.yml new file mode 100644 index 0000000..a4bc821 --- /dev/null +++ b/database/engineer/layout/mxpic_project_1/mxpic_project_1.yml @@ -0,0 +1,55 @@ +# ============================================= +# mxPIC Cell/Project Definition File +# ============================================= +schema_version: "2.0.0" +kind: cell +coordinate_system: gds_y_up +canvas_size: + width: 5000 + height: 5000 +project: mxpic_project_1 +name: mxpic_project_1 +type: project +version: "1.0.0" + +# 1. External Ports (How this cell connects to the outside world) +ports: [] + +# 2. Instances (The sub-components dropped onto this canvas) +instances: + MMI_1: + component: Silterra/EMO1_2ML_CU_Al_RDL/primitives/multimode_interferometers/1x2MMI_1310nm_TE_Silterra_202603_ZKY_v2 + x: 1511.5 + y: -2531.5 + rotation: 0.0 + flip: 0 + flop: 0 + mirror: false + settings: + length: + + MMI_2: + component: Silterra/EMO1_2ML_CU_Al_RDL/primitives/multimode_interferometers/1x2MMI_1310nm_TE_Silterra_202603_ZKY_v2 + x: 1716.4 + y: -2293.8 + rotation: 0.0 + flip: 0 + flop: 0 + mirror: false + settings: + length: + +elements: {} + +# 3. Bundles (Grouped links for multi-bus/parallel routing) +bundles: + output_bus: + routing_type: euler_bend + links: + - from: MMI_2:a1 + to: MMI_1:b2 + xsection: strip + family: optical + width: 0.45 + radius: 10 + routing_type: euler_bend \ No newline at end of file diff --git a/database/mxpic_data.db b/database/mxpic_data.db index 6c8560a6d0de54c20492acc9f1af4c299ffe1be5..8788761136c17a76e990d9135920903a369d8d35 100644 GIT binary patch delta 2798 zcmai0TWnNC7(QorOS?B#xmYe@OBDl@%gmhn;Zh1)15&Q72wS=A#KBcKFwqn|Z z#HWdm5@*iNUon)J1dCH>0X`?wZup!;m!17`!|E}8x^zuSESR`8{#`s8`#zS4z7dT? z(&4YeR>L<9%j(b9CnvmE_etI2P;c<3;Ecd~@{jTs>Dq94Bvh8^GIn(|%~HKn9#Bv> z!nS7Gs+xkp(%JyA6*E;%(j~0@on+9`4R+z=K*B|-s*O>qL~Zuco=$f0`omr}Rk1al zgDf_DF&WfVlY^>)n3pnZN&yNR9A(@Gr9df-qx2e-0<|oT(g4*FFva=2QpB<~xK)y> z)fv6RLr_Jj0jiALtdlp6ydIRNR$zqiTBN2HKroOYQ|t%)T&ArkKm@8Gf)E=ES{M6( z=`M4GQ=Td}(M3@y+_7C!)A7CH6ztp43~zeXI!PU-t!&iU&gS&_V&MA` zr)@s(IU9YooOpKP()hVJ ziS3U594$nCiOddfYZz{bx#|r48j1&x1;zqP#v)kuNQ~>=U8$&yiv`ci+ zK-N7q5u0eX3hkHa<{A_ah)Zm8Q5aRD;D$nj8*5S6Rw2+sH?X1G+nb4%&Lfo0>uSza zRbpnal~;^hE{hb$$*MZrbz`%4O00`kC+T`1ZBHDUJ&!ciZ+8}v5w++HtkquAW;P>Rs!*jq!cM#LHtbI>mo zrm9xORv`*LC_1{wjiRbCQEUQHA%@-m5hXAyJ+#kNeb&sI*?bmK=&FHmI-@!HjFKms zqbmwg?x`N~!XOFveO5HluqwKBgThC9$59Ufm@??eMw%Z%P4XpSX=0Vz?n>%#OKSyB z+|D-jtzvIq(E}Z;*v*fLM-ISYm=4k$n|-!3d@y~$=^gCLIqd45hbpNMkTHj5|IZyo zS)`{9&X}0dKWmRijV7tZ%Oo4IWrU;7M>EBWS2!B)IJuA^2;{fiu zu;cBu0FkLgpQ#1FI?$D*J+8GFmRdEfs?Hs7fTqMdCTr~4pljsBhLGExZR3EAT<74c z1|NU{x-|lHKib;b!A4&J89{b0A<`ClaOeU!L6SZ_F1a_| z3iyQh39v;7!!)W*8ywwzGoEr)<4Sd|mlxR}Mm~O#@M$S=bm9l`>#@7BvDoqGrRc`U zvGD29@@wG`sPzz6Yg5+Ja2_exa58x{Yh^5?Afjbd6B7&NO}6t!mpGHkJLR7EpgRPn zDF#TiOGJUJ0eZmY(d0aOt=DuQi(i$c|4xQfgH-tEzjSP3!J}B>k75M?chG5(kqz@7 z_n&QLQs!$OXRiG#7F=T!}BeDJ(% zU=Run%UU|XvqAUDd#kg(dshP`+&aFX!S@>W+sXC{mMgZK?&DZKXwO$;H=Qbu>b(i;9_8fl@sDdw?W^&}1G5 yiOnhjGx#^}@%K2u!@|qWz^}s>!F!pPd$XXxZyuILmnMzL6A!y=50+(I%LD*8=NMD~ diff --git a/frontend/canvas-helpers.js b/frontend/canvas-helpers.js index 3821dc6..cbed004 100644 --- a/frontend/canvas-helpers.js +++ b/frontend/canvas-helpers.js @@ -10,6 +10,8 @@ const DEFAULT_COMPONENT_BOX_SIZE = { width: 132, height: 82 }; const DEFAULT_CANVAS_SIZE = { width: 5000, height: 5000 }; const PORT_NODE_SIZE = 30; + const ANCHOR_NODE_WIDTH = 8; + const DEFAULT_ELEMENT_PITCH = 10; const ELEMENT_COMPONENTS = { Port: { name: 'Port', @@ -22,8 +24,8 @@ name: 'Anchor', elementType: 'anchor', ports: { - left: { x: 0, y: -PORT_NODE_SIZE / 2, a: 180, width: 0.5 }, - right: { x: PORT_NODE_SIZE, y: -PORT_NODE_SIZE / 2, a: 0, width: 0.5 } + a1: { x: 0, y: -PORT_NODE_SIZE / 2, a: 180, width: 0.5 }, + b1: { x: 0, y: -PORT_NODE_SIZE / 2, a: 0, width: 0.5 } } } }; @@ -514,19 +516,64 @@ const isPortElementNode = (node) => node && (node.data && node.data.elementType === 'port' || node.id === 'page-port' || node.type === 'portNode'); const isElementNode = (node) => node && node.data && (node.data.elementType === 'port' || node.data.elementType === 'anchor'); + const normalizePortNumber = (value) => { + const number = Math.floor(Number(value)); + return Number.isFinite(number) ? Math.max(1, number) : 1; + }; + + const normalizePitch = (value) => { + const number = Number(value); + return Number.isFinite(number) ? Math.max(0, number) : DEFAULT_ELEMENT_PITCH; + }; + + const elementPortOffset = (index, count, pitch) => ((count - 1) / 2 - index) * pitch; + + const buildElementBoxSize = (data) => { + const portNumber = normalizePortNumber(data && data.portNumber); + const pitch = normalizePitch(data && data.pitch); + const handleClearance = Math.max(pitch, 14); + return { + width: data && data.elementType === 'anchor' ? ANCHOR_NODE_WIDTH : PORT_NODE_SIZE, + height: Math.max(PORT_NODE_SIZE, PORT_NODE_SIZE + Math.max(0, portNumber - 1) * handleClearance) + }; + }; + const buildElementPorts = (elementType, data) => { const element = ELEMENT_COMPONENTS[elementType === 'anchor' ? 'Anchor' : 'Port']; if (!element) return {}; + const portNumber = normalizePortNumber(data && data.portNumber); + const pitch = normalizePitch(data && data.pitch); + const width = Number((data && data.width) || 0.5); if (element.elementType === 'port') { + if (portNumber > 1) { + return Object.fromEntries(Array.from({ length: portNumber }, (_, index) => [ + `port_${index + 1}`, + { + x: 0, + y: elementPortOffset(index, portNumber, pitch), + a: Number((data && (data.angle ?? data.a)) ?? 0), + width + } + ])); + } return { port: { x: 0, y: 0, a: Number((data && (data.angle ?? data.a)) ?? 0), - width: Number((data && data.width) || 0.5) + width } }; } + if (portNumber > 1) { + const entries = []; + Array.from({ length: portNumber }, (_, index) => { + const y = -PORT_NODE_SIZE / 2 + elementPortOffset(index, portNumber, pitch); + entries.push([`a${index + 1}`, { x: 0, y, a: 180, width }]); + entries.push([`b${index + 1}`, { x: 0, y, a: 0, width }]); + }); + return Object.fromEntries(entries); + } return JSON.parse(JSON.stringify(element.ports)); }; @@ -598,12 +645,24 @@ if (portNodes.length > 0) { return portNodes.reduce((ports, node) => { const data = node.data || {}; - ports[getNodePortName(node)] = { - x: Number((node.position && node.position.x) || 0), - y: Number((node.position && node.position.y) || 0), - a: Number(data.angle ?? data.a ?? 0), - width: Number(data.width || 0.5) - }; + const baseName = getNodePortName(node); + const elementPorts = buildElementPorts('port', data); + const entries = Object.entries(elementPorts); + entries.forEach(([portName, portInfo]) => { + const exportName = entries.length === 1 + ? baseName + : `${baseName}_${portName.replace(/^port_/, '')}`; + const point = getNodePortCanvasPoint(node, portName) || { + x: Number((node.position && node.position.x) || 0), + y: Number((node.position && node.position.y) || 0) + }; + ports[exportName] = { + x: Number(point.x || 0), + y: Number(point.y || 0), + a: Number(portInfo.a ?? data.angle ?? data.a ?? 0), + width: Number(portInfo.width || data.width || 0.5) + }; + }); return ports; }, {}); } @@ -645,11 +704,15 @@ const data = node.data || {}; const name = data.componentDisplayName || data.portName || node.id; const angle = data.elementType === 'port' ? data.angle : data.rotation; + const portNumber = normalizePortNumber(data.portNumber); + const pitch = normalizePitch(data.pitch); return ` ${name}: type: ${data.elementType} x: ${Number((node.position && node.position.x) || 0).toFixed(1)} y: ${canvasToLayoutY((node.position && node.position.y) || 0).toFixed(1)} angle: ${Number(angle || 0).toFixed(1)} + port_number: ${portNumber} + pitch: ${Number(pitch)} layer: ${data.layer || 'WG_CORE'} width: ${Number(data.width || 0.5)} description: ${toYamlScalar(data.description || '')}`; @@ -718,7 +781,28 @@ ${linksYaml}`; const x = Number((node.position && node.position.x) || 0); const y = Number((node.position && node.position.y) || 0); if (node.type === 'portNode' || (node.data && node.data.elementType === 'port')) { - return { x: roundMeasureValue(x), y: roundMeasureValue(y) }; + const ports = buildElementPorts('port', node.data); + const portInfo = ports && portName ? ports[portName] : ports.port; + if (!portInfo) return { x: roundMeasureValue(x), y: roundMeasureValue(y) }; + const transformedInfo = transformPortInfo(portInfo, { rotation: 0 }); + return { + x: roundMeasureValue(x + Number(transformedInfo.x || 0)), + y: roundMeasureValue(y - Number(transformedInfo.y || 0)) + }; + } + if (node.type === 'anchorNode' || (node.data && node.data.elementType === 'anchor')) { + const ports = buildElementPorts('anchor', node.data); + const portInfo = ports && portName ? ports[portName] : null; + if (!portInfo) return null; + const transformedInfo = transformPortInfo(portInfo, { + rotation: (node.data && node.data.rotation) || 0, + flip: Boolean(node.data && node.data.flip), + flop: Boolean(node.data && node.data.flop) + }); + return { + x: roundMeasureValue(x + Number(transformedInfo.x || 0)), + y: roundMeasureValue(y - Number(transformedInfo.y || 0)) + }; } const ports = node.data && node.data.ports; const portInfo = ports && portName ? ports[portName] : null; @@ -758,7 +842,9 @@ ${linksYaml}`; }); const handle = handles.find(item => item.name === handleId); if (handle) { - const componentSize = normalizeBoxSize({ box_size: node.data && node.data.boxSize }, DEFAULT_COMPONENT_BOX_SIZE); + const componentSize = node.data && node.data.elementType + ? buildElementBoxSize(node.data) + : normalizeBoxSize({ box_size: node.data && node.data.boxSize }, DEFAULT_COMPONENT_BOX_SIZE); let x = Number((node.position && node.position.x) || 0); let y = Number((node.position && node.position.y) || 0); if (handle.position === 'left') { @@ -825,14 +911,23 @@ ${linksYaml}`; return o1 !== o2 && o3 !== o4; }; + const routeTypeKey = (route) => { + const xsection = String((route && route.xsection) || '').trim().toLowerCase(); + if (xsection === 'metal1') return 'metal_1'; + if (xsection === 'metal2') return 'metal_2'; + if (xsection === 'rib') return 'rib_low'; + return xsection; + }; + const findSameTypeRouteCrossing = (candidateEdge, existingEdges, nodeMap, manifest) => { const candidateRoute = createRouteSettings(manifest, candidateEdge.data && candidateEdge.data.route); + const candidateType = routeTypeKey(candidateRoute); const candidatePoints = getEdgeRoutePoints(candidateEdge, nodeMap); for (const edge of existingEdges || []) { if (!edge || edge.id === candidateEdge.id) continue; if (edge.source === candidateEdge.source || edge.source === candidateEdge.target || edge.target === candidateEdge.source || edge.target === candidateEdge.target) continue; const route = createRouteSettings(manifest, edge.data && edge.data.route); - if (route.xsection !== candidateRoute.xsection) continue; + if (routeTypeKey(route) !== candidateType) continue; const points = getEdgeRoutePoints(edge, nodeMap); if (routeSegmentsIntersect(candidatePoints, points)) { return { conflictEdge: edge, xsection: route.xsection }; @@ -849,6 +944,7 @@ ${linksYaml}`; DEFAULT_COMPONENT_BOX_SIZE, DEFAULT_CANVAS_SIZE, PORT_NODE_SIZE, + DEFAULT_ELEMENT_PITCH, ELEMENT_COMPONENTS, BASIC_COMPONENTS, DEFAULT_FORGE_ARGUMENTS, @@ -878,6 +974,7 @@ ${linksYaml}`; getNodePortCanvasPoint, buildPortHandles, buildElementPorts, + buildElementBoxSize, buildBasicComponentPorts, getBasicComponentMetadata, buildInstanceYaml, diff --git a/frontend/canvas.html b/frontend/canvas.html index bd3d579..b906cff 100644 --- a/frontend/canvas.html +++ b/frontend/canvas.html @@ -1433,6 +1433,7 @@ DEFAULT_COMPONENT_BOX_SIZE, DEFAULT_CANVAS_SIZE, PORT_NODE_SIZE, + DEFAULT_ELEMENT_PITCH, ELEMENT_COMPONENTS, BASIC_COMPONENTS, createForgeArguments, @@ -1446,6 +1447,7 @@ calculateLayoutBounds, buildPortHandles, buildElementPorts, + buildElementBoxSize, getBasicComponentMetadata, buildInstancesYaml, buildPageComponentPorts, @@ -1703,10 +1705,29 @@ const PortNode = ({ id, data, selected }) => { const angle = data.angle ?? 0; - const handleId = data.portName || data.componentDisplayName || 'port'; + const ports = buildElementPorts('port', data); + const elementSize = buildElementBoxSize(data); + const localHandlePorts = Object.fromEntries( + Object.entries(ports).map(([name, info]) => [name, { ...info, a: 0 }]) + ); + const portHandles = useMemo( + () => buildPortHandles(localHandlePorts, { rotation: 0 }), + [localHandlePorts] + ); + const handlePositionMap = { + left: Position.Left, + right: Position.Right, + top: Position.Top, + bottom: Position.Bottom + }; + const baseHandleStyle = { + background: 'var(--accent)', + width: 8, + height: 8 + }; return (

); }; const AnchorNode = memo(({ id, data, selected }) => { const updateNodeInternals = useUpdateNodeInternals(); - const ports = data.ports || buildElementPorts('anchor'); + const anchorRotation = data.rotation || 0; + const anchorVisualRotation = -Number(anchorRotation || 0); + const ports = buildElementPorts('anchor', data); + const elementSize = buildElementBoxSize(data); + const localAnchorHandlePorts = Object.fromEntries( + Object.entries(ports).map(([name, info]) => [name, { ...info, a: name.startsWith('a') || name.startsWith('left') ? 180 : 0 }]) + ); const portHandles = useMemo( - () => buildPortHandles(ports, { rotation: data.rotation || 0, flip: Boolean(data.flip), flop: Boolean(data.flop) }), - [ports, data.rotation, data.flip, data.flop] + () => buildPortHandles(localAnchorHandlePorts, { rotation: 0, flip: Boolean(data.flip), flop: Boolean(data.flop) }), + [localAnchorHandlePorts, data.flip, data.flop] + ); + const anchorDirectionHandles = useMemo( + () => new Map(buildPortHandles(localAnchorHandlePorts, { rotation: Number(anchorRotation || 0), flip: Boolean(data.flip), flop: Boolean(data.flop) }).map(handle => [handle.name, handle.position])), + [localAnchorHandlePorts, anchorRotation, data.flip, data.flop] ); const handlePositionMap = { left: Position.Left, @@ -1742,6 +1777,32 @@ border: '1px solid var(--bg-main)', borderRadius: '50%' }; + const anchorPortVisualSide = (portName) => { + const name = String(portName || ''); + return name.startsWith('a') || name.startsWith('left') ? 'left' : 'right'; + }; + const anchorPortVisualTop = (portName) => { + const match = String(portName || '').match(/(\d+)$/); + const index = match ? Math.max(1, Number(match[1])) : 1; + const portCount = Math.max(1, Math.floor(Number(data.portNumber || 1))); + if (portCount <= 1) return elementSize.height / 2; + const travel = Math.max(0, elementSize.height - baseHandleStyle.height); + return baseHandleStyle.height / 2 + ((index - 1) / (portCount - 1)) * travel; + }; + const anchorHandleVisualStyle = (portHandle, zIndex) => { + const visualSide = anchorPortVisualSide(portHandle.name); + const localLeft = visualSide === 'left' ? 0 : elementSize.width; + const localTop = anchorPortVisualTop(portHandle.name); + return { + ...baseHandleStyle, + zIndex, + left: localLeft, + top: localTop, + right: 'auto', + bottom: 'auto', + transform: 'translate(-50%, -50%)' + }; + }; useEffect(() => { updateNodeInternals(id); @@ -1750,9 +1811,9 @@ return (
A {portHandles.map((portHandle) => ( ))} @@ -1814,9 +1876,25 @@
)); + const routeDirectionVector = (direction) => { + if (direction === 'left') return { x: -1, y: 0 }; + if (direction === 'right') return { x: 1, y: 0 }; + if (direction === 'top') return { x: 0, y: -1 }; + if (direction === 'bottom') return { x: 0, y: 1 }; + return null; + }; + const directionToReactFlowPosition = (direction) => { + if (direction === 'left') return Position.Left; + if (direction === 'right') return Position.Right; + if (direction === 'top') return Position.Top; + if (direction === 'bottom') return Position.Bottom; + return undefined; + }; + const ParallelRouteEdge = memo(({ id, sourceX, sourceY, targetX, targetY, markerEnd, style, selected, data }) => { const offset = Number(data?.parallelOffset || 0); - let rawPoints = Array.isArray(data?.points) && data.points.length >= 2 + const hasExplicitPoints = Array.isArray(data?.points) && data.points.length >= 2; + let rawPoints = hasExplicitPoints ? data.points.map(point => ({ x: Number(point.x), y: Number(point.y) })).filter(point => Number.isFinite(point.x) && Number.isFinite(point.y)) : [{ x: sourceX, y: sourceY }, { x: targetX, y: targetY }]; if (!data?.freeRoute && rawPoints.length >= 2) { @@ -1828,6 +1906,20 @@ { x: Number(targetPoint.x), y: Number(targetPoint.y) } ]; } + const sourceVector = routeDirectionVector(data?.sourceDirection); + const targetVector = routeDirectionVector(data?.targetDirection); + if (!hasExplicitPoints && (sourceVector || targetVector) && rawPoints.length >= 2) { + const stubLength = Math.min(48, Math.max(18, Math.hypot(targetX - sourceX, targetY - sourceY) / 4)); + const directedPoints = [rawPoints[0]]; + if (sourceVector) { + directedPoints.push({ x: rawPoints[0].x + sourceVector.x * stubLength, y: rawPoints[0].y + sourceVector.y * stubLength }); + } + if (targetVector) { + directedPoints.push({ x: rawPoints[1].x + targetVector.x * stubLength, y: rawPoints[1].y + targetVector.y * stubLength }); + } + directedPoints.push(rawPoints[1]); + rawPoints = directedPoints; + } const firstPoint = rawPoints[0] || { x: sourceX, y: sourceY }; const lastPoint = rawPoints[rawPoints.length - 1] || { x: targetX, y: targetY }; const dx = lastPoint.x - firstPoint.x; @@ -2543,7 +2635,7 @@ if (selectedNode) { setLocalX(selectedNode.position.x.toFixed(3)); setLocalY(selectedNode.position.y.toFixed(3)); - const rot = selectedNode.id === 'page-port' + const rot = selectedNode.id === 'page-port' || selectedNode.type === 'portNode' || selectedNode.data?.elementType === 'port' ? (selectedNode.data?.angle ?? 0) : (selectedNode.data?.rotation ?? 0); setLocalRotation(rot.toFixed(3)); @@ -2722,12 +2814,19 @@ const updatePortField = (key, value, type = 'text') => { if (!selectedNode) return; - const nextValue = type === 'number' ? Number(value || 0) : value; + let nextValue = type === 'number' ? Number(value || 0) : value; + if (key === 'portNumber') nextValue = Math.max(1, Math.floor(nextValue || 1)); + if (key === 'pitch') nextValue = Math.max(0, Number(nextValue || 0)); const dataUpdate = { [key]: nextValue }; if (key === 'portName') { dataUpdate.componentDisplayName = value || selectedNode.data?.componentDisplayName; dataUpdate.label = value || selectedNode.data?.label; } + if (key === 'portNumber' || key === 'pitch' || key === 'width') { + const nextData = { ...selectedNode.data, ...dataUpdate }; + dataUpdate.ports = buildElementPorts(selectedNode.data?.elementType === 'anchor' ? 'anchor' : 'port', nextData); + dataUpdate.boxSize = buildElementBoxSize(nextData); + } onUpdateNode(selectedNode.id, { data: dataUpdate }); }; @@ -2819,7 +2918,7 @@ updateRotation(selectedNode.id, val, selectedNode.type === 'portNode' || selectedNode.data?.elementType === 'port'); setLocalRotation(val.toFixed(3)); } else if (selectedNode) { - const rot = selectedNode.id === 'page-port' + const rot = selectedNode.id === 'page-port' || selectedNode.type === 'portNode' || selectedNode.data?.elementType === 'port' ? (selectedNode.data?.angle ?? 0) : (selectedNode.data?.rotation ?? 0); setLocalRotation(rot.toFixed(3)); @@ -2893,6 +2992,24 @@ value={selectedNode.data?.width ?? 0.5} onChange={(event) => updatePortField('width', event.target.value, 'number')} /> +

+ + updatePortField('portNumber', event.target.value, 'number')} + /> +

+ + updatePortField('pitch', event.target.value, 'number')} + /> )} @@ -2914,6 +3031,24 @@ value={selectedNode.data?.description || ''} onChange={(event) => onUpdateNode(selectedNode.id, { data: { description: event.target.value } })} /> +

+ + updatePortField('portNumber', event.target.value, 'number')} + /> +

+ + updatePortField('pitch', event.target.value, 'number')} + /> )} @@ -3473,8 +3608,18 @@ style: { width: activeCanvasSize.width, height: activeCanvasSize.height, zIndex: -1, pointerEvents: 'none' } }, ...currentNodes, ...freeRouteEndpointNodes, ...rulerNodes]; }, [activePage, currentNodes, activeCanvasSize, freeRouteEndpointNodes, rulerNodes]); + const getAnchorHandleRouteDirection = useCallback((node, handleId) => { + if (!node || !handleId || !(node.type === 'anchorNode' || node.data?.elementType === 'anchor')) return null; + const handles = buildPortHandles(buildElementPorts('anchor', node.data), { + rotation: Number(node.data?.rotation || 0), + flip: Boolean(node.data?.flip), + flop: Boolean(node.data?.flop) + }); + return handles.find(handle => handle.name === handleId)?.position || null; + }, []); const renderEdges = useMemo(() => { const groups = new Map(); + const nodeMap = Object.fromEntries(currentNodes.map(node => [node.id, node])); currentEdges.forEach(edge => { const sourceEndpoint = `${edge.source}:${edge.sourceHandle || ''}`; const targetEndpoint = `${edge.target}:${edge.targetHandle || ''}`; @@ -3487,11 +3632,22 @@ const targetEndpoint = `${edge.target}:${edge.targetHandle || ''}`; const key = [sourceEndpoint, targetEndpoint].sort().join('<>'); const group = groups.get(key) || []; - if (group.length <= 1 && !(edge.data && Array.isArray(edge.data.points) && edge.data.points.length >= 2)) return edge; + const sourceDirection = getAnchorHandleRouteDirection(nodeMap[edge.source], edge.sourceHandle); + const targetDirection = getAnchorHandleRouteDirection(nodeMap[edge.target], edge.targetHandle); + const usesAnchorDirection = Boolean(sourceDirection || targetDirection); + const hasRoutePoints = edge.data && Array.isArray(edge.data.points) && edge.data.points.length >= 2; + const directionalEdge = usesAnchorDirection + ? { + ...edge, + sourcePosition: directionToReactFlowPosition(sourceDirection), + targetPosition: directionToReactFlowPosition(targetDirection) + } + : edge; + if (group.length <= 1 && !hasRoutePoints) return directionalEdge; const index = group.indexOf(edge.id); const offset = (index - (group.length - 1) / 2) * 18; return { - ...edge, + ...directionalEdge, type: 'parallelRoute', data: { ...(edge.data || {}), @@ -3500,7 +3656,7 @@ }; }); return [...separatedEdges, ...rulerEdges]; - }, [currentEdges, rulerEdges]); + }, [currentEdges, currentNodes, getAnchorHandleRouteDirection, rulerEdges]); const [projectCompositeMap, setProjectCompositeMap] = useState({}); const [standaloneComposites, setStandaloneComposites] = useState([]); @@ -3748,7 +3904,15 @@ return { ...p, nodes: p.nodes.map(node => { - if (node.id !== nodeId || node.type !== 'rotatableNode' || node.data?.elementType) return node; + if (node.id !== nodeId) return node; + if (node.type === 'portNode' || node.data?.elementType === 'port') { + return { ...node, data: { ...node.data, angle: normalizeAngle(Number(node.data?.angle || 0) + 90) } }; + } + if (node.type === 'anchorNode' || node.data?.elementType === 'anchor') { + const rotation = normalizeAngle(Number(node.data?.rotation || 0) + 90); + return { ...node, data: { ...node.data, rotation } }; + } + if (node.type !== 'rotatableNode') return node; const rotation = normalizeAngle(Number(node.data?.rotation || 0) + 90); return { ...node, data: { ...node.data, rotation } }; }) @@ -3759,12 +3923,14 @@ const getSpaceRotationTarget = useCallback(() => { if (spaceRotateNodeIdRef.current) return spaceRotateNodeIdRef.current; const selectedSpaceNode = selectedNode; - if (!selectedSpaceNode || selectedSpaceNode.type !== 'rotatableNode' || selectedSpaceNode.data?.elementType) return null; + if (!selectedSpaceNode) return null; + if (selectedSpaceNode.type !== 'rotatableNode' && selectedSpaceNode.type !== 'portNode' && selectedSpaceNode.type !== 'anchorNode') return null; return selectedSpaceNode.id; }, [selectedNode]); const onNodeMouseDown = useCallback((event, node) => { - if (event.button !== 0 || node.type !== 'rotatableNode' || node.data?.elementType) return; + if (event.button !== 0) return; + if (node.type !== 'rotatableNode' && node.type !== 'portNode' && node.type !== 'anchorNode') return; spaceRotateNodeIdRef.current = node.id; }, []); @@ -4061,6 +4227,89 @@ return names; }, []); + const getAvailableComponentsForLoadedComponent = useCallback((componentName) => { + if (!library || !componentName || isForgeComponent(componentName) || isBasicComponent(componentName)) return undefined; + const componentEntries = collectComponentNames(library); + const matchedComponent = componentEntries.find(component => component.name === componentName); + if (!matchedComponent) return undefined; + const sameCategoryComponents = componentEntries + .filter(component => component.category === matchedComponent.category) + .map(component => component.name) + .filter(Boolean); + return Array.from(new Set([FORGE_COMPONENT_LABEL, ...sameCategoryComponents, componentName])); + }, [library, collectComponentNames]); + + const buildElementNodesFromYaml = useCallback((doc, usesGdsYUp, nodeNameMap = {}) => { + const nodes = []; + Object.entries(doc.elements || {}).forEach(([elementName, element]) => { + if (!element || typeof element !== 'object') return; + const elementType = element.type === 'anchor' ? 'anchor' : (element.type === 'port' ? 'port' : ''); + if (!elementType) return; + if (elementType === 'port' && elementName === 'port' && Array.isArray(doc.ports) && doc.ports.length > 0) { + return; + } + const portNumberValue = Math.floor(Number(element.port_number ?? element.portNumber ?? 1)); + const portNumber = Number.isFinite(portNumberValue) ? Math.max(1, portNumberValue) : 1; + const pitchValue = Number(element.pitch ?? DEFAULT_ELEMENT_PITCH); + const pitch = Number.isFinite(pitchValue) ? Math.max(0, pitchValue) : DEFAULT_ELEMENT_PITCH; + const widthValue = Number(element.width ?? 0.5); + const width = Number.isFinite(widthValue) ? widthValue : 0.5; + const xValue = Number(element.x || 0); + const yValue = Number(element.y || 0); + const x = Number.isFinite(xValue) ? xValue : 0; + const y = Number.isFinite(yValue) ? yValue : 0; + const baseData = { + label: elementName, + componentDisplayName: elementName, + elementType, + width, + portNumber, + pitch, + layer: element.layer || 'WG_CORE', + description: element.description || '', + boxSize: buildElementBoxSize({ elementType, portNumber, pitch }) + }; + const nodeId = `element-${elementName}-${Date.now()}-${Math.random().toString(36).substr(2, 5)}`; + nodeNameMap[elementName] = nodeId; + if (elementType === 'port') { + const angle = Number(element.angle ?? element.a ?? 0); + nodes.push({ + id: nodeId, + type: 'portNode', + position: { + x, + y: usesGdsYUp ? layoutToCanvasY(y) : y, + }, + data: { + ...baseData, + portName: elementName, + angle: Number.isFinite(angle) ? angle : 0, + ports: buildElementPorts('port', { angle: Number.isFinite(angle) ? angle : 0, width, portNumber, pitch }) + }, + }); + return; + } + const rotation = Number(element.angle ?? element.rotation ?? 0); + nodes.push({ + id: nodeId, + type: 'anchorNode', + position: { + x, + y: usesGdsYUp ? layoutToCanvasY(y) : y, + }, + data: { + ...baseData, + componentName: 'Anchor', + category: null, + rotation: Number.isFinite(rotation) ? rotation : 0, + hideIcon: true, + ports: buildElementPorts('anchor', { portNumber, pitch, width }) + }, + }); + }); + return nodes; + }, []); + useEffect(() => { const input = document.getElementById('open-yaml-input'); if (!input) return; @@ -4072,8 +4321,8 @@ const text = await file.text(); const doc = jsyaml.load(text); const usesGdsYUp = doc.coordinate_system === 'gds_y_up'; - if (!doc.instances) { - alert('no instances found'); + if (!doc.instances && !doc.elements) { + alert('no instances or elements found'); return; } @@ -4081,14 +4330,18 @@ const newEdges = []; const nodeNameMap = {}; const isProject = doc.type === 'project'; + if (!isProject) { + nodeNameMap.port = 'page-port'; + } - for (const [instName, inst] of Object.entries(doc.instances)) { + for (const [instName, inst] of Object.entries(doc.instances || {})) { const compPath = inst.component || ''; const compName = compPath.split('/').pop(); const instIsForge = isForgeComponent(compPath) || isForgeComponent(compName); const instIsBasic = isBasicComponent(compPath) || isBasicComponent(compName); const displayCompName = instIsForge ? FORGE_COMPONENT_LABEL : (instIsBasic ? compPath : compName); const basicMetadata = instIsBasic ? getBasicComponentMetadata(displayCompName, inst.settings) : null; + const loadedAvailableComponents = getAvailableComponentsForLoadedComponent(displayCompName); let category = ''; if (!isProject && displayCompName && library && !instIsForge) { @@ -4124,7 +4377,7 @@ flop: toBooleanFlag(inst.flop), componentDisplayName: instName, type: isProject ? 'composite' : undefined, - availableComponents: instIsForge ? [FORGE_COMPONENT_LABEL] : undefined, + availableComponents: instIsForge ? [FORGE_COMPONENT_LABEL] : loadedAvailableComponents, ports: instIsBasic ? (basicMetadata?.ports || {}) : (instIsForge ? {} : undefined), boxSize: instIsBasic && basicMetadata ? normalizeBoxSize(basicMetadata) : undefined, forgeArguments: instIsForge ? createForgeArguments(inst.settings) : undefined, @@ -4132,6 +4385,7 @@ }, }); } + newNodes.push(...buildElementNodesFromYaml(doc, usesGdsYUp, nodeNameMap)); if (!isProject) { const links = doc.bundles?.output_bus?.links; @@ -4198,7 +4452,7 @@ if (isProject) { setProjectCompositeMap(prev => ({ ...prev, - [newPageName]: [...(prev[newPageName] || []), ...Object.keys(doc.instances)] + [newPageName]: [...(prev[newPageName] || []), ...Object.keys(doc.instances || {})] })); } else { setStandaloneComposites(prev => { @@ -4208,7 +4462,7 @@ if (library) { const compTree = {}; - for (const inst of Object.values(doc.instances)) { + for (const inst of Object.values(doc.instances || {})) { const compPath = inst.component || ''; const compName = compPath.split('/').pop(); if (isForgeComponent(compPath) || isForgeComponent(compName)) continue; @@ -4240,7 +4494,7 @@ input.addEventListener('change', handleFile); return () => input.removeEventListener('change', handleFile); - }, [library, technologyManifest, makeFreeRouteEdge]); + }, [library, technologyManifest, makeFreeRouteEdge, buildElementNodesFromYaml, getAvailableComponentsForLoadedComponent]); useEffect(() => { setProjectCompositeMap(prev => { @@ -4307,6 +4561,7 @@ } ]; const edges = []; + nodeNameMap.port = 'page-port'; Object.entries(doc.instances || {}).forEach(([instName, inst]) => { const compPath = inst.component || ''; @@ -4315,6 +4570,7 @@ const instIsBasic = isBasicComponent(compPath) || isBasicComponent(compName); const displayCompName = instIsForge ? FORGE_COMPONENT_LABEL : (instIsBasic ? compPath : compName); const basicMetadata = instIsBasic ? getBasicComponentMetadata(displayCompName, inst.settings) : null; + const loadedAvailableComponents = getAvailableComponentsForLoadedComponent(displayCompName); const nodeId = `node-${Date.now()}-${Math.random().toString(36).substr(2, 5)}`; nodeNameMap[instName] = nodeId; nodes.push({ @@ -4332,7 +4588,7 @@ flip: toBooleanFlag(inst.flip ?? inst.mirror), flop: toBooleanFlag(inst.flop), componentDisplayName: instName, - availableComponents: instIsForge ? [FORGE_COMPONENT_LABEL] : undefined, + availableComponents: instIsForge ? [FORGE_COMPONENT_LABEL] : loadedAvailableComponents, ports: instIsBasic ? (basicMetadata?.ports || {}) : (instIsForge ? {} : undefined), boxSize: instIsBasic && basicMetadata ? normalizeBoxSize(basicMetadata) : undefined, forgeArguments: instIsForge ? createForgeArguments(inst.settings) : undefined, @@ -4340,6 +4596,7 @@ }, }); }); + nodes.push(...buildElementNodesFromYaml(doc, usesGdsYUp, nodeNameMap)); const links = doc.bundles?.output_bus?.links; if (links) { @@ -4422,7 +4679,7 @@ }; loadProject(); - }, [library, currentProjectName, loadTechnologyManifest, toBooleanFlag, makeFreeRouteEdge]); + }, [library, currentProjectName, loadTechnologyManifest, toBooleanFlag, makeFreeRouteEdge, buildElementNodesFromYaml, getAvailableComponentsForLoadedComponent]); useEffect(() => { if (activePage && activePage.type !== 'layoutPreview' && reactFlowInstance) { @@ -4900,7 +5157,9 @@ const position = clampPositionToCanvas( reactFlowInstance.screenToFlowPosition({ x: event.clientX, y: event.clientY }), activePage?.canvasSize || activeCanvasSize, - parsedData.type === 'element' ? { width: PORT_NODE_SIZE, height: PORT_NODE_SIZE } : DEFAULT_COMPONENT_BOX_SIZE + parsedData.type === 'element' + ? buildElementBoxSize({ elementType: parsedData.elementType === 'anchor' ? 'anchor' : 'port', portNumber: 1, pitch: DEFAULT_ELEMENT_PITCH }) + : DEFAULT_COMPONENT_BOX_SIZE ); if (parsedData.type === 'basic') { const componentName = parsedData.componentName || parsedData.name; @@ -4946,14 +5205,18 @@ elementType: 'port', angle: 0, width: 0.5, + portNumber: 1, + pitch: DEFAULT_ELEMENT_PITCH, layer: 'WG_CORE', - description: '' + description: '', + boxSize: buildElementBoxSize({ elementType: 'port', portNumber: 1, pitch: DEFAULT_ELEMENT_PITCH }), + ports: buildElementPorts('port', { angle: 0, width: 0.5, portNumber: 1, pitch: DEFAULT_ELEMENT_PITCH }) }, } : { id: Date.now().toString(), type: 'anchorNode', - position: clampPositionToCanvas(position, activePage?.canvasSize || activeCanvasSize, { width: PORT_NODE_SIZE, height: PORT_NODE_SIZE }), + position: clampPositionToCanvas(position, activePage?.canvasSize || activeCanvasSize, buildElementBoxSize({ elementType: 'anchor', portNumber: 1, pitch: DEFAULT_ELEMENT_PITCH })), data: { label: elementName, componentName: 'Anchor', @@ -4962,11 +5225,13 @@ category: null, rotation: 0, width: 0.5, + portNumber: 1, + pitch: DEFAULT_ELEMENT_PITCH, layer: 'WG_CORE', description: '', hideIcon: true, - boxSize: { width: PORT_NODE_SIZE, height: PORT_NODE_SIZE }, - ports: buildElementPorts('anchor') + boxSize: buildElementBoxSize({ elementType: 'anchor', portNumber: 1, pitch: DEFAULT_ELEMENT_PITCH }), + ports: buildElementPorts('anchor', { portNumber: 1, pitch: DEFAULT_ELEMENT_PITCH, width: 0.5 }) }, }; setPages(prev => prev.map(p => { diff --git a/tests/canvas-helpers.test.js b/tests/canvas-helpers.test.js index dba05d7..ae1944d 100644 --- a/tests/canvas-helpers.test.js +++ b/tests/canvas-helpers.test.js @@ -142,22 +142,22 @@ assert.strictEqual( ); assert.deepStrictEqual( { - left: helpers.buildElementPorts('anchor').left.a, - right: helpers.buildElementPorts('anchor').right.a, + a1: helpers.buildElementPorts('anchor').a1.a, + b1: helpers.buildElementPorts('anchor').b1.a, }, - { left: 180, right: 0 }, - 'Anchor objects should default to 180 degree left port and 0 degree right port' + { a1: 180, b1: 0 }, + 'Anchor objects should default to a1 for the left port and b1 for the right port' ); assert.deepStrictEqual( { - left: helpers.buildElementPorts('anchor').left, - right: helpers.buildElementPorts('anchor').right, + a1: helpers.buildElementPorts('anchor').a1, + b1: helpers.buildElementPorts('anchor').b1, }, { - left: { x: 0, y: -15, a: 180, width: 0.5 }, - right: { x: 30, y: -15, a: 0, width: 0.5 } + a1: { x: 0, y: -15, a: 180, width: 0.5 }, + b1: { x: 0, y: -15, a: 0, width: 0.5 } }, - 'Anchor ports should sit on the left and right edges of a port-sized circle' + 'Anchor a/b port pairs should share coordinates and keep opposite directions' ); assert.deepStrictEqual( helpers.buildBasicComponentPorts('waveguide', { length: 120, width: 0.6 }).b1, @@ -300,7 +300,46 @@ const elementNodes = [ assert.deepStrictEqual(helpers.buildElementPorts('port', { angle: 90, width: 0.8 }), { port: { x: 0, y: 0, a: 90, width: 0.8 } }); -assert.deepStrictEqual(Object.keys(helpers.buildElementPorts('anchor')), ['left', 'right']); +assert.deepStrictEqual(Object.keys(helpers.buildElementPorts('anchor')), ['a1', 'b1']); +assert.deepStrictEqual(Object.keys(helpers.buildElementPorts('port', { portNumber: 3, pitch: 10 })), ['port_1', 'port_2', 'port_3']); +assert.deepStrictEqual(helpers.buildElementPorts('port', { portNumber: 3, pitch: 10 }).port_1, { x: 0, y: 10, a: 0, width: 0.5 }); +assert.deepStrictEqual(helpers.buildElementPorts('port', { portNumber: 3 }).port_1, { x: 0, y: 10, a: 0, width: 0.5 }); +assert.deepStrictEqual(Object.keys(helpers.buildElementPorts('anchor', { portNumber: 2, pitch: 12 })), ['a1', 'b1', 'a2', 'b2']); +assert.deepStrictEqual(helpers.buildElementPorts('anchor', { portNumber: 2, pitch: 12 }).b2, { x: 0, y: -21, a: 0, width: 0.5 }); +assert.deepStrictEqual(helpers.buildElementPorts('anchor', { portNumber: 2, pitch: 12 }).a2, { x: 0, y: -21, a: 180, width: 0.5 }); +assert.deepStrictEqual( + helpers.getNodePortCanvasPoint({ + id: 'anchor-rotated', + type: 'anchorNode', + position: { x: 100, y: 200 }, + data: { + elementType: 'anchor', + rotation: 90, + portNumber: 1, + pitch: 10, + ports: helpers.buildElementPorts('anchor', { portNumber: 1, pitch: 10 }) + } + }, 'a1'), + { x: 115, y: 200 }, + 'Anchor port endpoint coordinates should rotate with the anchor body' +); +assert.deepStrictEqual(helpers.buildElementBoxSize({ portNumber: 1 }), { width: 30, height: 30 }); +assert.deepStrictEqual(helpers.buildElementBoxSize({ elementType: 'anchor', portNumber: 1 }), { width: 8, height: 30 }); +assert.deepStrictEqual(helpers.buildElementBoxSize({ elementType: 'anchor', portNumber: 4, pitch: 10 }), { width: 8, height: 72 }); +assert.deepStrictEqual(helpers.buildElementBoxSize({ portNumber: 4, pitch: 10 }), { width: 30, height: 72 }); +assert.deepStrictEqual( + helpers.buildPageComponentPorts(null, [{ + id: 'port-array', + type: 'portNode', + position: { x: 100, y: 200 }, + data: { componentDisplayName: 'array', elementType: 'port', portNumber: 3, pitch: 10, width: 0.6 } + }]), + { + array_1: { x: 100, y: 190, a: 0, width: 0.6 }, + array_2: { x: 100, y: 200, a: 0, width: 0.6 }, + array_3: { x: 100, y: 210, a: 0, width: 0.6 } + } +); const canvasPortsYaml = helpers.buildCanvasPortsYaml(elementNodes); assert(canvasPortsYaml.includes('name: in0')); @@ -314,6 +353,8 @@ assert(elementsYaml.includes('type: port')); assert(elementsYaml.includes('anchor_1:')); assert(elementsYaml.includes('type: anchor')); assert(elementsYaml.includes('y: -20.0')); +assert(elementsYaml.includes('port_number: 1')); +assert(elementsYaml.includes('pitch: 10')); const instancesWithoutElements = helpers.buildInstancesYaml({ nodes: elementNodes, @@ -484,7 +525,20 @@ const edgeD = { target: 'f', data: { route: { xsection: 'rib_low', family: 'optical' } } }; +const edgeE = { + id: 'edge-metal-alias', + source: 'e', + target: 'f', + data: { route: { xsection: 'metal1', family: 'electrical' } } +}; +const edgeF = { + id: 'edge-metal-underscore', + source: 'a', + target: 'b', + data: { route: { xsection: 'metal_1', family: 'electrical' } } +}; assert.strictEqual(helpers.findSameTypeRouteCrossing(edgeB, [edgeA], crossingNodes).conflictEdge.id, 'edge-a-b'); assert.strictEqual(helpers.findSameTypeRouteCrossing(edgeC, [edgeA], crossingNodes), null); assert.strictEqual(helpers.findSameTypeRouteCrossing(edgeD, [edgeA], crossingNodes), null); +assert.strictEqual(helpers.findSameTypeRouteCrossing(edgeE, [edgeF], crossingNodes).conflictEdge.id, 'edge-metal-underscore'); assert.strictEqual(helpers.findSameFamilyRouteCrossing(edgeB, [edgeA], crossingNodes).conflictEdge.id, 'edge-a-b'); diff --git a/tests/layout-backend-static.test.js b/tests/layout-backend-static.test.js index f95c142..7e6dd20 100644 --- a/tests/layout-backend-static.test.js +++ b/tests/layout-backend-static.test.js @@ -85,6 +85,24 @@ assert( 'Build GDS should not silently fall back to unrouted gdstk when links are present' ); +const routerDir = path.resolve(root, '..', 'mxpic_router', 'mxpic_router'); +if (fs.existsSync(routerDir)) { + const routerLoaderPy = fs.readFileSync(path.join(routerDir, 'eda_loader.py'), 'utf8'); + const routerBuilderPy = fs.readFileSync(path.join(routerDir, 'builder.py'), 'utf8'); + assert( + routerLoaderPy.includes('port_number: int = 1') && + routerLoaderPy.includes('pitch: float = 10.0') && + routerLoaderPy.includes('port_number=_int(element.get("port_number"'), + 'mxpic_router loader should parse multi-port anchor metadata from exported elements' + ); + assert( + routerBuilderPy.includes('for index in range(port_number):') && + routerBuilderPy.includes('a{index + 1}') && + routerBuilderPy.includes('b{index + 1}'), + 'mxpic_router builder should register aN/bN pins for multi-port anchors' + ); +} + assert( serverPy.includes('def scoped_pdk_root_for_project') && serverPy.includes('read_project_meta(project_name).get("technology")') && diff --git a/tests/layout-ui-wiring.test.js b/tests/layout-ui-wiring.test.js index a96b069..91fc057 100644 --- a/tests/layout-ui-wiring.test.js +++ b/tests/layout-ui-wiring.test.js @@ -196,8 +196,51 @@ assert( 'holding a component and pressing Space should rotate it by 90 degrees' ); assert( - canvasHtml.includes('getSpaceRotationTarget') && canvasHtml.includes('selectedSpaceNode'), - 'Space rotation should also use the currently selected component when no mouse-hold target is active' + canvasHtml.includes('getSpaceRotationTarget') && + canvasHtml.includes('selectedSpaceNode') && + canvasHtml.includes('node.type !== \'rotatableNode\' && node.type !== \'portNode\' && node.type !== \'anchorNode\'') && + canvasHtml.includes('node.type === \'portNode\' || node.data?.elementType === \'port\'') && + canvasHtml.includes('angle: normalizeAngle(Number(node.data?.angle || 0) + 90)'), + 'Space rotation should also rotate selected Port and Anchor elements' +); +assert( + canvasHtml.includes('const anchorRotation = data.rotation || 0') && + canvasHtml.includes('const anchorVisualRotation = -Number(anchorRotation || 0)') && + canvasHtml.includes('transform: `rotate(${anchorVisualRotation}deg)`') && + canvasHtml.includes('buildPortHandles(localAnchorHandlePorts, { rotation: 0') && + canvasHtml.includes('anchorDirectionHandles') && + canvasHtml.includes('rotation: Number(anchorRotation || 0)') && + canvasHtml.includes('anchorHandleVisualStyle(portHandle') && + canvasHtml.includes('anchorPortVisualSide') && + canvasHtml.includes('portHandle.name') && + canvasHtml.includes('visualSide === \'left\' ? 0 : elementSize.width') && + canvasHtml.includes('anchorPortVisualTop') && + canvasHtml.includes('(index - 1) / (portCount - 1)') && + canvasHtml.includes('elementSize.height - baseHandleStyle.height') && + canvasHtml.includes('localLeft') && + canvasHtml.includes('localTop') && + canvasHtml.includes('handlePositionMap[anchorDirectionHandles.get(portHandle.name) || portHandle.position]') && + canvasHtml.includes('getAnchorHandleRouteDirection') && + canvasHtml.includes('rotation: Number(node.data?.rotation || 0)') && + canvasHtml.includes('directionToReactFlowPosition') && + canvasHtml.includes('sourcePosition: directionToReactFlowPosition(sourceDirection)') && + canvasHtml.includes('targetPosition: directionToReactFlowPosition(targetDirection)') && + !canvasHtml.includes('type: \'parallelRoute\',\n data: {\n ...(edge.data || {}),\n parallelOffset: offset,\n sourceDirection,\n targetDirection') && + !canvasHtml.includes('rotatedAnchorHandlePositions'), + 'Anchor port circles should split into side columns and spread across the full anchor body while built-in rectangular links use rotated directions' +); +assert( + canvasHtml.includes('Port Number') && + canvasHtml.includes('Pitch') && + canvasHtml.includes('portNumber') && + canvasHtml.includes('pitch') && + canvasHtml.includes('DEFAULT_ELEMENT_PITCH') && + canvasHtml.includes('buildElementBoxSize') && + canvasHtml.includes('height: elementSize.height') && + canvasHtml.includes('elementType: \'anchor\'') && + canvasHtml.includes('pitch: DEFAULT_ELEMENT_PITCH') && + canvasHtml.includes('ports: buildElementPorts'), + 'Port and Anchor inspectors should expose port number and pitch, default to 10 um pitch, and grow in height' ); assert( canvasHtml.includes('const componentIndexesByPrefixRef = useRef({});') && diff --git a/tests/project-load-static.test.js b/tests/project-load-static.test.js index 7d764f3..ea04204 100644 --- a/tests/project-load-static.test.js +++ b/tests/project-load-static.test.js @@ -17,3 +17,27 @@ assert( canvasHtml.includes('layoutToCanvasY'), 'loading saved layout YAML should convert GDS/layout Y coordinates back to canvas coordinates' ); +assert( + canvasHtml.includes('buildElementNodesFromYaml'), + 'project loading should rebuild saved anchor/port element nodes from YAML elements' +); +assert( + canvasHtml.includes('Object.entries(doc.elements || {})'), + 'project loading should read doc.elements, not only doc.instances' +); +assert( + canvasHtml.includes('nodeNameMap[elementName] = nodeId'), + 'loaded element names should be registered so saved links can reconnect to anchors and ports' +); +assert( + canvasHtml.includes('getAvailableComponentsForLoadedComponent'), + 'project loading should reconstruct PDK component selection options for saved instances' +); +assert( + canvasHtml.includes('availableComponents: instIsForge ? [FORGE_COMPONENT_LABEL] : loadedAvailableComponents'), + 'loaded PDK instances should keep availableComponents so the right panel can show the PDK selector' +); +assert( + canvasHtml.includes('Array.from(new Set([FORGE_COMPONENT_LABEL, ...sameCategoryComponents'), + 'loaded PDK selector choices should include forge and same-category library components' +);