From 7cf618fe02b2070c9caeef346cdfef1eeb43e11c Mon Sep 17 00:00:00 2001 From: PotatoMaxwell Date: Mon, 1 Jun 2026 09:19:44 +0800 Subject: [PATCH] Programm architecture simplified so that the EDA can now run individually without generation of .gds file --- GDS_SVG_GENERATION_LOGIC.md | 216 ++++ INTRANET_DEPLOYMENT.md | 14 + PDK_TECHNOLOGY_XSECTION_LOADING.md | 581 +++++++++ README.md | 16 +- ...EC_SiN400_1310_1p0dB_L635_A0_QY_202604.png | Bin 13750 -> 0 bytes ...EC_SiN400_1310_1p0dB_L635_A0_QY_202604.yml | 41 - backend/__pycache__/database.cpython-39.pyc | Bin 5978 -> 5977 bytes .../__pycache__/gds_builder.cpython-39.pyc | Bin 11953 -> 2331 bytes backend/__pycache__/pdk_access.cpython-39.pyc | Bin 2458 -> 2438 bytes .../routed_layout_preview.cpython-39.pyc | Bin 1699 -> 1621 bytes .../router_dependency.cpython-39.pyc | Bin 0 -> 2451 bytes .../technology_manifest.cpython-39.pyc | Bin 1536 -> 1516 bytes backend/gds_builder.py | 297 +---- backend/layout_preview.py | 154 --- backend/pdk_registry.py | 132 -- backend/routed_layout_preview.py | 9 +- backend/router_dependency.py | 77 ++ backend/server.py | 95 +- database/admin/layout/MZM_TX/MZM_TX.svg | 956 -------------- database/admin/layout/MZM_TX/MZM_TX.yml | 102 -- database/admin/layout/MZM_TX/Spliter_1x4.yml | 192 --- database/admin/layout/MZM_TX/canvas_1.svg | 69 -- .../{MZM_TX => mxpic_project_1}/.project.json | 2 +- .../mxpic_project_1.svg} | 226 ++-- .../mxpic_project_1/mxpic_project_1.yml | 89 ++ database/mxpic_data.db | Bin 131072 -> 131072 bytes .../2026-05-31-required-mxpic-router-stack.md | 330 +++++ ...026-06-01-pdk-root-technology-migration.md | 93 ++ frontend/canvas.html | 3 + ...400_Si220_PIN_mod_1310_L1300_QY_202603.yml | 76 -- ..._Si220_PIN_mod_1310_L1300_QY_202603_BB.svg | 34 - ...L3000_GSSG_TRAIL_TypeA1_QY_v1_20260303.yml | 113 -- ...00_GSSG_TRAIL_TypeA1_QY_v1_20260303_BB.svg | 48 - ...L3000_GSSG_TRAIL_TypeA2_QY_v1_20260303.yml | 113 -- ...00_GSSG_TRAIL_TypeA2_QY_v1_20260303_BB.svg | 48 - ...L3000_GSSG_TRAIL_TypeA3_QY_v1_20260303.yml | 113 -- ...00_GSSG_TRAIL_TypeA3_QY_v1_20260303_BB.svg | 48 - ...L3000_GSSG_TRAIL_TypeA4_QY_v1_20260303.yml | 113 -- ...00_GSSG_TRAIL_TypeA4_QY_v1_20260303_BB.svg | 48 - ...L3000_GSSG_TRAIL_TypeA5_QY_v1_20260303.yml | 113 -- ...00_GSSG_TRAIL_TypeA5_QY_v1_20260303_BB.svg | 48 - ...L3000_GSSG_TRAIL_TypeE1_QY_v1_20260303.yml | 113 -- ...00_GSSG_TRAIL_TypeE1_QY_v1_20260303_BB.svg | 48 - ...L3000_GSSG_TRAIL_TypeE2_QY_v1_20260303.yml | 113 -- ...00_GSSG_TRAIL_TypeE2_QY_v1_20260303_BB.svg | 48 - ...L3000_GSSG_TRAIL_TypeE3_QY_v1_20260303.yml | 113 -- ...00_GSSG_TRAIL_TypeE3_QY_v1_20260303_BB.svg | 48 - ...L3000_GSSG_TRAIL_TypeE4_QY_v1_20260303.yml | 113 -- ...00_GSSG_TRAIL_TypeE4_QY_v1_20260303_BB.svg | 48 - ...L3000_GSSG_TRAIL_TypeG1_QY_v1_20260303.yml | 113 -- ...00_GSSG_TRAIL_TypeG1_QY_v1_20260303_BB.svg | 48 - ...L3000_GSSG_TRAIL_TypeG2_QY_v1_20260303.yml | 113 -- ...00_GSSG_TRAIL_TypeG2_QY_v1_20260303_BB.svg | 48 - ...L3000_GSSG_TRAIL_TypeG3_QY_v1_20260303.yml | 113 -- ...00_GSSG_TRAIL_TypeG3_QY_v1_20260303_BB.svg | 48 - ...L3000_GSSG_TRAIL_TypeG4_QY_v1_20260303.yml | 113 -- ...00_GSSG_TRAIL_TypeG4_QY_v1_20260303_BB.svg | 48 - ...L3000_GSSG_TRAIL_TypeZ1_QY_v1_20260303.yml | 113 -- ...00_GSSG_TRAIL_TypeZ1_QY_v1_20260303_BB.svg | 48 - ...L3000_GSSG_TRAIL_TypeZ2_QY_v1_20260303.yml | 113 -- ...00_GSSG_TRAIL_TypeZ2_QY_v1_20260303_BB.svg | 48 - ...L3000_GSSG_TRAIL_TypeZ3_QY_v1_20260303.yml | 113 -- ...00_GSSG_TRAIL_TypeZ3_QY_v1_20260303_BB.svg | 48 - ...L3000_GSSG_TRAIL_TypeZ4_QY_v1_20260303.yml | 113 -- ...00_GSSG_TRAIL_TypeZ4_QY_v1_20260303_BB.svg | 48 - ...L3000_GSSG_TRAIL_TypeR1_QY_v1_20260303.yml | 113 -- ...00_GSSG_TRAIL_TypeR1_QY_v1_20260303_BB.svg | 48 - ...L3000_GSSG_TRAIL_TypeR2_QY_v1_20260303.yml | 113 -- ...00_GSSG_TRAIL_TypeR2_QY_v1_20260303_BB.svg | 48 - ...L3000_GSSG_TRAIL_TypeT1_QY_v1_20260303.yml | 113 -- ...00_GSSG_TRAIL_TypeT1_QY_v1_20260303_BB.svg | 48 - ...L3000_GSSG_TRAIL_TypeT2_QY_v1_20260303.yml | 113 -- ...00_GSSG_TRAIL_TypeT2_QY_v1_20260303_BB.svg | 48 - ...L3000_GSSG_TRAIL_TypeT3_QY_v1_20260303.yml | 113 -- ...00_GSSG_TRAIL_TypeT3_QY_v1_20260303_BB.svg | 48 - ...L3000_GSSG_TRAIL_TypeT4_QY_v1_20260303.yml | 113 -- ...00_GSSG_TRAIL_TypeT4_QY_v1_20260303_BB.svg | 48 - ...L3000_GSSG_TRAIL_TypeT5_QY_v1_20260303.yml | 113 -- ...00_GSSG_TRAIL_TypeT5_QY_v1_20260303_BB.svg | 48 - ...L3000_GSSG_TRAIL_TypeV1_QY_v1_20260303.yml | 113 -- ...00_GSSG_TRAIL_TypeV1_QY_v1_20260303_BB.svg | 48 - ...L3000_GSSG_TRAIL_TypeV2_QY_v1_20260303.yml | 113 -- ...00_GSSG_TRAIL_TypeV2_QY_v1_20260303_BB.svg | 48 - ...L3000_GSSG_TRAIL_TypeW1_QY_v1_20260303.yml | 113 -- ...00_GSSG_TRAIL_TypeW1_QY_v1_20260303_BB.svg | 48 - ...L3000_GSSG_TRAIL_TypeW2_QY_v1_20260303.yml | 113 -- ...00_GSSG_TRAIL_TypeW2_QY_v1_20260303_BB.svg | 48 - ...L3000_GSSG_TRAIL_TypeW3_QY_v1_20260303.yml | 113 -- ...00_GSSG_TRAIL_TypeW3_QY_v1_20260303_BB.svg | 48 - ...L3000_GSSG_TRAIL_TypeW4_QY_v1_20260303.yml | 113 -- ...00_GSSG_TRAIL_TypeW4_QY_v1_20260303_BB.svg | 48 - ...L3000_GSSG_TRAIL_TypeX1_QY_v1_20260303.yml | 113 -- ...00_GSSG_TRAIL_TypeX1_QY_v1_20260303_BB.svg | 48 - ...L3000_GSSG_TRAIL_TypeX2_QY_v1_20260303.yml | 113 -- ...00_GSSG_TRAIL_TypeX2_QY_v1_20260303_BB.svg | 48 - ...L3000_GSSG_TRAIL_TypeX3_QY_v1_20260303.yml | 113 -- ...00_GSSG_TRAIL_TypeX3_QY_v1_20260303_BB.svg | 48 - ...L3000_GSSG_TRAIL_TypeX4_QY_v1_20260303.yml | 113 -- ...00_GSSG_TRAIL_TypeX4_QY_v1_20260303_BB.svg | 48 - ...L3000_GSSG_TRAIL_TypeX5_QY_v1_20260303.yml | 113 -- ...00_GSSG_TRAIL_TypeX5_QY_v1_20260303_BB.svg | 48 - .../INDC_200pH_SiNPP_QY_202604.yml | 46 - .../INDC_200pH_SiNPP_QY_202604_BB.svg | 22 - .../RFPAD_GSSG_P625_QY_202604.yml | 76 -- .../RFPAD_GSSG_P625_QY_202604_BB.svg | 34 - ...s_ABCD_292_P125_250_W80_80_QY_20260324.yml | 1095 ----------------- .../RES_30OHM_NPP_QY_202604.yml | 76 -- .../RES_30OHM_NPP_QY_202604_BB.svg | 34 - .../RES_35OHM_NPP_QY_202604.yml | 76 -- .../RES_35OHM_NPP_QY_202604_BB.svg | 34 - .../RES_40OHM_NPP_QY_202604.yml | 76 -- .../RES_40OHM_NPP_QY_202604_BB.svg | 34 - .../RES_50OHM_NPP_QY_202604.yml | 76 -- .../RES_50OHM_NPP_QY_202604_BB.svg | 34 - .../QC_MARKER_QY_202603.yml | 216 ---- .../QC_MARKER_QY_202603_BB.svg | 90 -- .../Silterra_EMO1_Optihk_LOGO_QY.yml | 36 - .../Silterra_EMO1_Optihk_LOGO_QY_BB.svg | 18 - .../SiN_EUB_1310_H400_w2500_L45_QY_202604.yml | 46 - ...N_EUB_1310_H400_w2500_L45_QY_202604_BB.svg | 22 - .../SiN_EUB_1310_H400_w3000_L45_QY_202604.yml | 46 - ...N_EUB_1310_H400_w3000_L45_QY_202604_BB.svg | 22 - .../Si_EUB_1310_H220_w2000_L50_QY_202604.yml | 46 - ...i_EUB_1310_H220_w2000_L50_QY_202604_BB.svg | 22 - ..._EUB_1310_H220_w380_2000_L50_QY_202604.yml | 46 - ...B_1310_H220_w380_2000_L50_QY_202604_BB.svg | 22 - ...DC_SiN400_99_1_1310_jyh_quantex_202603.yml | 53 - ...EC_SiN400_1310_0p5dB_L935_A0_QY_202604.yml | 41 - ...SiN400_1310_0p5dB_L935_A0_QY_202604_BB.svg | 20 - ...EC_SiN400_1310_0p5dB_L935_A8_QY_202604.yml | 41 - ...SiN400_1310_0p5dB_L935_A8_QY_202604_BB.svg | 20 - ...EC_SiN400_1310_1p0dB_L635_A0_QY_202604.yml | 41 - ...SiN400_1310_1p0dB_L635_A0_QY_202604_BB.svg | 20 - ...EC_SiN400_1310_1p0dB_L635_A8_QY_202604.yml | 41 - ...SiN400_1310_1p0dB_L635_A8_QY_202604_BB.svg | 20 - ...x2MMI_1310nm_TE_Silterra_202603_ZKY_v2.yml | 51 - ...MI_1310nm_TE_Silterra_202603_ZKY_v2_BB.svg | 24 - .../2x2MMI_1310nm_TE_Silterra_202603_ZKY.yml | 56 - ...x2MMI_1310nm_TE_Silterra_202603_ZKY_BB.svg | 26 - ...310_Monitor_Si220_Ge500_NPN_XHN_202604.yml | 63 - ...G_TERM_SiN220_1310_w380_t150_QY_202606.yml | 41 - ...ERM_SiN220_1310_w380_t150_QY_202606_BB.svg | 20 - ...G_TERM_SiN400_1310_w700_t150_QY_202606.yml | 41 - ...ERM_SiN400_1310_w700_t150_QY_202606_BB.svg | 20 - .../Si_Strip_Rib_TRX_w380.yml | 46 - .../Si_Strip_Rib_TRX_w380_BB.svg | 22 - ...150R_SiPPP_L500_100OHM_DUMMY_QY_202604.yml | 46 - ...R_SiPPP_L500_100OHM_DUMMY_QY_202604_BB.svg | 22 - .../HT_150R_SiPPP_L500_100OHM_QY_202604.yml | 67 - ...HT_150R_SiPPP_L500_100OHM_QY_202604_BB.svg | 30 - .../HT_150R_TiN_L200_200OHM_QY_202604.yml | 67 - .../HT_150R_TiN_L200_200OHM_QY_202604_BB.svg | 30 - ...T_150R_TiN_L500_200OHM_DUMMY_QY_202604.yml | 46 - ...50R_TiN_L500_200OHM_DUMMY_QY_202604_BB.svg | 22 - .../VOA_Si220_1310_L1050_QY_202603.yml | 66 - .../VOA_Si220_1310_L1050_QY_202603_BB.svg | 30 - .../EMO1_2ML_CU_Al_RDL/technology.yml | 80 -- mxpic/PDKs/Silterra/directories.yaml | 22 - tests/layout-backend-static.test.js | 113 +- tests/layout-ui-wiring.test.js | 5 + 160 files changed, 1640 insertions(+), 11497 deletions(-) create mode 100644 GDS_SVG_GENERATION_LOGIC.md create mode 100644 PDK_TECHNOLOGY_XSECTION_LOADING.md delete mode 100644 backend/PDK_libs/primitives/edge_couplers/EC_SiN400_1310_1p0dB_L635_A0_QY_202604/EC_SiN400_1310_1p0dB_L635_A0_QY_202604.png delete mode 100644 backend/PDK_libs/primitives/edge_couplers/EC_SiN400_1310_1p0dB_L635_A0_QY_202604/EC_SiN400_1310_1p0dB_L635_A0_QY_202604.yml create mode 100644 backend/__pycache__/router_dependency.cpython-39.pyc delete mode 100644 backend/layout_preview.py delete mode 100644 backend/pdk_registry.py create mode 100644 backend/router_dependency.py delete mode 100644 database/admin/layout/MZM_TX/MZM_TX.svg delete mode 100644 database/admin/layout/MZM_TX/MZM_TX.yml delete mode 100644 database/admin/layout/MZM_TX/Spliter_1x4.yml delete mode 100644 database/admin/layout/MZM_TX/canvas_1.svg rename database/admin/layout/{MZM_TX => mxpic_project_1}/.project.json (62%) rename database/admin/layout/{MZM_TX/Spliter_1x4.svg => mxpic_project_1/mxpic_project_1.svg} (62%) create mode 100644 database/admin/layout/mxpic_project_1/mxpic_project_1.yml create mode 100644 docs/superpowers/plans/2026-05-31-required-mxpic-router-stack.md create mode 100644 docs/superpowers/plans/2026-06-01-pdk-root-technology-migration.md delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/composite/Mach_Zender_modulators/MZI_SiN400_Si220_PIN_mod_1310_L1300_QY_202603/MZI_SiN400_Si220_PIN_mod_1310_L1300_QY_202603.yml delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/composite/Mach_Zender_modulators/MZI_SiN400_Si220_PIN_mod_1310_L1300_QY_202603/MZI_SiN400_Si220_PIN_mod_1310_L1300_QY_202603_BB.svg delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/composite/Mach_Zender_modulators/MZM_1600G_L3000_GSSG_TRAIL_TypeA1_QY_v1_20260303/MZM_1600G_L3000_GSSG_TRAIL_TypeA1_QY_v1_20260303.yml delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/composite/Mach_Zender_modulators/MZM_1600G_L3000_GSSG_TRAIL_TypeA1_QY_v1_20260303/MZM_1600G_L3000_GSSG_TRAIL_TypeA1_QY_v1_20260303_BB.svg delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/composite/Mach_Zender_modulators/MZM_1600G_L3000_GSSG_TRAIL_TypeA2_QY_v1_20260303/MZM_1600G_L3000_GSSG_TRAIL_TypeA2_QY_v1_20260303.yml delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/composite/Mach_Zender_modulators/MZM_1600G_L3000_GSSG_TRAIL_TypeA2_QY_v1_20260303/MZM_1600G_L3000_GSSG_TRAIL_TypeA2_QY_v1_20260303_BB.svg delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/composite/Mach_Zender_modulators/MZM_1600G_L3000_GSSG_TRAIL_TypeA3_QY_v1_20260303/MZM_1600G_L3000_GSSG_TRAIL_TypeA3_QY_v1_20260303.yml delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/composite/Mach_Zender_modulators/MZM_1600G_L3000_GSSG_TRAIL_TypeA3_QY_v1_20260303/MZM_1600G_L3000_GSSG_TRAIL_TypeA3_QY_v1_20260303_BB.svg delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/composite/Mach_Zender_modulators/MZM_1600G_L3000_GSSG_TRAIL_TypeA4_QY_v1_20260303/MZM_1600G_L3000_GSSG_TRAIL_TypeA4_QY_v1_20260303.yml delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/composite/Mach_Zender_modulators/MZM_1600G_L3000_GSSG_TRAIL_TypeA4_QY_v1_20260303/MZM_1600G_L3000_GSSG_TRAIL_TypeA4_QY_v1_20260303_BB.svg delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/composite/Mach_Zender_modulators/MZM_1600G_L3000_GSSG_TRAIL_TypeA5_QY_v1_20260303/MZM_1600G_L3000_GSSG_TRAIL_TypeA5_QY_v1_20260303.yml delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/composite/Mach_Zender_modulators/MZM_1600G_L3000_GSSG_TRAIL_TypeA5_QY_v1_20260303/MZM_1600G_L3000_GSSG_TRAIL_TypeA5_QY_v1_20260303_BB.svg delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/composite/Mach_Zender_modulators/MZM_1600G_L3000_GSSG_TRAIL_TypeE1_QY_v1_20260303/MZM_1600G_L3000_GSSG_TRAIL_TypeE1_QY_v1_20260303.yml delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/composite/Mach_Zender_modulators/MZM_1600G_L3000_GSSG_TRAIL_TypeE1_QY_v1_20260303/MZM_1600G_L3000_GSSG_TRAIL_TypeE1_QY_v1_20260303_BB.svg delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/composite/Mach_Zender_modulators/MZM_1600G_L3000_GSSG_TRAIL_TypeE2_QY_v1_20260303/MZM_1600G_L3000_GSSG_TRAIL_TypeE2_QY_v1_20260303.yml delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/composite/Mach_Zender_modulators/MZM_1600G_L3000_GSSG_TRAIL_TypeE2_QY_v1_20260303/MZM_1600G_L3000_GSSG_TRAIL_TypeE2_QY_v1_20260303_BB.svg delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/composite/Mach_Zender_modulators/MZM_1600G_L3000_GSSG_TRAIL_TypeE3_QY_v1_20260303/MZM_1600G_L3000_GSSG_TRAIL_TypeE3_QY_v1_20260303.yml delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/composite/Mach_Zender_modulators/MZM_1600G_L3000_GSSG_TRAIL_TypeE3_QY_v1_20260303/MZM_1600G_L3000_GSSG_TRAIL_TypeE3_QY_v1_20260303_BB.svg delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/composite/Mach_Zender_modulators/MZM_1600G_L3000_GSSG_TRAIL_TypeE4_QY_v1_20260303/MZM_1600G_L3000_GSSG_TRAIL_TypeE4_QY_v1_20260303.yml delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/composite/Mach_Zender_modulators/MZM_1600G_L3000_GSSG_TRAIL_TypeE4_QY_v1_20260303/MZM_1600G_L3000_GSSG_TRAIL_TypeE4_QY_v1_20260303_BB.svg delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/composite/Mach_Zender_modulators/MZM_1600G_L3000_GSSG_TRAIL_TypeG1_QY_v1_20260303/MZM_1600G_L3000_GSSG_TRAIL_TypeG1_QY_v1_20260303.yml delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/composite/Mach_Zender_modulators/MZM_1600G_L3000_GSSG_TRAIL_TypeG1_QY_v1_20260303/MZM_1600G_L3000_GSSG_TRAIL_TypeG1_QY_v1_20260303_BB.svg delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/composite/Mach_Zender_modulators/MZM_1600G_L3000_GSSG_TRAIL_TypeG2_QY_v1_20260303/MZM_1600G_L3000_GSSG_TRAIL_TypeG2_QY_v1_20260303.yml delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/composite/Mach_Zender_modulators/MZM_1600G_L3000_GSSG_TRAIL_TypeG2_QY_v1_20260303/MZM_1600G_L3000_GSSG_TRAIL_TypeG2_QY_v1_20260303_BB.svg delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/composite/Mach_Zender_modulators/MZM_1600G_L3000_GSSG_TRAIL_TypeG3_QY_v1_20260303/MZM_1600G_L3000_GSSG_TRAIL_TypeG3_QY_v1_20260303.yml delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/composite/Mach_Zender_modulators/MZM_1600G_L3000_GSSG_TRAIL_TypeG3_QY_v1_20260303/MZM_1600G_L3000_GSSG_TRAIL_TypeG3_QY_v1_20260303_BB.svg delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/composite/Mach_Zender_modulators/MZM_1600G_L3000_GSSG_TRAIL_TypeG4_QY_v1_20260303/MZM_1600G_L3000_GSSG_TRAIL_TypeG4_QY_v1_20260303.yml delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/composite/Mach_Zender_modulators/MZM_1600G_L3000_GSSG_TRAIL_TypeG4_QY_v1_20260303/MZM_1600G_L3000_GSSG_TRAIL_TypeG4_QY_v1_20260303_BB.svg delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/composite/Mach_Zender_modulators/MZM_1600G_L3000_GSSG_TRAIL_TypeZ1_QY_v1_20260303/MZM_1600G_L3000_GSSG_TRAIL_TypeZ1_QY_v1_20260303.yml delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/composite/Mach_Zender_modulators/MZM_1600G_L3000_GSSG_TRAIL_TypeZ1_QY_v1_20260303/MZM_1600G_L3000_GSSG_TRAIL_TypeZ1_QY_v1_20260303_BB.svg delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/composite/Mach_Zender_modulators/MZM_1600G_L3000_GSSG_TRAIL_TypeZ2_QY_v1_20260303/MZM_1600G_L3000_GSSG_TRAIL_TypeZ2_QY_v1_20260303.yml delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/composite/Mach_Zender_modulators/MZM_1600G_L3000_GSSG_TRAIL_TypeZ2_QY_v1_20260303/MZM_1600G_L3000_GSSG_TRAIL_TypeZ2_QY_v1_20260303_BB.svg delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/composite/Mach_Zender_modulators/MZM_1600G_L3000_GSSG_TRAIL_TypeZ3_QY_v1_20260303/MZM_1600G_L3000_GSSG_TRAIL_TypeZ3_QY_v1_20260303.yml delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/composite/Mach_Zender_modulators/MZM_1600G_L3000_GSSG_TRAIL_TypeZ3_QY_v1_20260303/MZM_1600G_L3000_GSSG_TRAIL_TypeZ3_QY_v1_20260303_BB.svg delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/composite/Mach_Zender_modulators/MZM_1600G_L3000_GSSG_TRAIL_TypeZ4_QY_v1_20260303/MZM_1600G_L3000_GSSG_TRAIL_TypeZ4_QY_v1_20260303.yml delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/composite/Mach_Zender_modulators/MZM_1600G_L3000_GSSG_TRAIL_TypeZ4_QY_v1_20260303/MZM_1600G_L3000_GSSG_TRAIL_TypeZ4_QY_v1_20260303_BB.svg delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/composite/Mach_Zender_modulators/MZM_800G_L3000_GSSG_TRAIL_TypeR1_QY_v1_20260303/MZM_800G_L3000_GSSG_TRAIL_TypeR1_QY_v1_20260303.yml delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/composite/Mach_Zender_modulators/MZM_800G_L3000_GSSG_TRAIL_TypeR1_QY_v1_20260303/MZM_800G_L3000_GSSG_TRAIL_TypeR1_QY_v1_20260303_BB.svg delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/composite/Mach_Zender_modulators/MZM_800G_L3000_GSSG_TRAIL_TypeR2_QY_v1_20260303/MZM_800G_L3000_GSSG_TRAIL_TypeR2_QY_v1_20260303.yml delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/composite/Mach_Zender_modulators/MZM_800G_L3000_GSSG_TRAIL_TypeR2_QY_v1_20260303/MZM_800G_L3000_GSSG_TRAIL_TypeR2_QY_v1_20260303_BB.svg delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/composite/Mach_Zender_modulators/MZM_800G_L3000_GSSG_TRAIL_TypeT1_QY_v1_20260303/MZM_800G_L3000_GSSG_TRAIL_TypeT1_QY_v1_20260303.yml delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/composite/Mach_Zender_modulators/MZM_800G_L3000_GSSG_TRAIL_TypeT1_QY_v1_20260303/MZM_800G_L3000_GSSG_TRAIL_TypeT1_QY_v1_20260303_BB.svg delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/composite/Mach_Zender_modulators/MZM_800G_L3000_GSSG_TRAIL_TypeT2_QY_v1_20260303/MZM_800G_L3000_GSSG_TRAIL_TypeT2_QY_v1_20260303.yml delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/composite/Mach_Zender_modulators/MZM_800G_L3000_GSSG_TRAIL_TypeT2_QY_v1_20260303/MZM_800G_L3000_GSSG_TRAIL_TypeT2_QY_v1_20260303_BB.svg delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/composite/Mach_Zender_modulators/MZM_800G_L3000_GSSG_TRAIL_TypeT3_QY_v1_20260303/MZM_800G_L3000_GSSG_TRAIL_TypeT3_QY_v1_20260303.yml delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/composite/Mach_Zender_modulators/MZM_800G_L3000_GSSG_TRAIL_TypeT3_QY_v1_20260303/MZM_800G_L3000_GSSG_TRAIL_TypeT3_QY_v1_20260303_BB.svg delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/composite/Mach_Zender_modulators/MZM_800G_L3000_GSSG_TRAIL_TypeT4_QY_v1_20260303/MZM_800G_L3000_GSSG_TRAIL_TypeT4_QY_v1_20260303.yml delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/composite/Mach_Zender_modulators/MZM_800G_L3000_GSSG_TRAIL_TypeT4_QY_v1_20260303/MZM_800G_L3000_GSSG_TRAIL_TypeT4_QY_v1_20260303_BB.svg delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/composite/Mach_Zender_modulators/MZM_800G_L3000_GSSG_TRAIL_TypeT5_QY_v1_20260303/MZM_800G_L3000_GSSG_TRAIL_TypeT5_QY_v1_20260303.yml delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/composite/Mach_Zender_modulators/MZM_800G_L3000_GSSG_TRAIL_TypeT5_QY_v1_20260303/MZM_800G_L3000_GSSG_TRAIL_TypeT5_QY_v1_20260303_BB.svg delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/composite/Mach_Zender_modulators/MZM_800G_L3000_GSSG_TRAIL_TypeV1_QY_v1_20260303/MZM_800G_L3000_GSSG_TRAIL_TypeV1_QY_v1_20260303.yml delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/composite/Mach_Zender_modulators/MZM_800G_L3000_GSSG_TRAIL_TypeV1_QY_v1_20260303/MZM_800G_L3000_GSSG_TRAIL_TypeV1_QY_v1_20260303_BB.svg delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/composite/Mach_Zender_modulators/MZM_800G_L3000_GSSG_TRAIL_TypeV2_QY_v1_20260303/MZM_800G_L3000_GSSG_TRAIL_TypeV2_QY_v1_20260303.yml delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/composite/Mach_Zender_modulators/MZM_800G_L3000_GSSG_TRAIL_TypeV2_QY_v1_20260303/MZM_800G_L3000_GSSG_TRAIL_TypeV2_QY_v1_20260303_BB.svg delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/composite/Mach_Zender_modulators/MZM_800G_L3000_GSSG_TRAIL_TypeW1_QY_v1_20260303/MZM_800G_L3000_GSSG_TRAIL_TypeW1_QY_v1_20260303.yml delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/composite/Mach_Zender_modulators/MZM_800G_L3000_GSSG_TRAIL_TypeW1_QY_v1_20260303/MZM_800G_L3000_GSSG_TRAIL_TypeW1_QY_v1_20260303_BB.svg delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/composite/Mach_Zender_modulators/MZM_800G_L3000_GSSG_TRAIL_TypeW2_QY_v1_20260303/MZM_800G_L3000_GSSG_TRAIL_TypeW2_QY_v1_20260303.yml delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/composite/Mach_Zender_modulators/MZM_800G_L3000_GSSG_TRAIL_TypeW2_QY_v1_20260303/MZM_800G_L3000_GSSG_TRAIL_TypeW2_QY_v1_20260303_BB.svg delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/composite/Mach_Zender_modulators/MZM_800G_L3000_GSSG_TRAIL_TypeW3_QY_v1_20260303/MZM_800G_L3000_GSSG_TRAIL_TypeW3_QY_v1_20260303.yml delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/composite/Mach_Zender_modulators/MZM_800G_L3000_GSSG_TRAIL_TypeW3_QY_v1_20260303/MZM_800G_L3000_GSSG_TRAIL_TypeW3_QY_v1_20260303_BB.svg delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/composite/Mach_Zender_modulators/MZM_800G_L3000_GSSG_TRAIL_TypeW4_QY_v1_20260303/MZM_800G_L3000_GSSG_TRAIL_TypeW4_QY_v1_20260303.yml delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/composite/Mach_Zender_modulators/MZM_800G_L3000_GSSG_TRAIL_TypeW4_QY_v1_20260303/MZM_800G_L3000_GSSG_TRAIL_TypeW4_QY_v1_20260303_BB.svg delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/composite/Mach_Zender_modulators/MZM_800G_L3000_GSSG_TRAIL_TypeX1_QY_v1_20260303/MZM_800G_L3000_GSSG_TRAIL_TypeX1_QY_v1_20260303.yml delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/composite/Mach_Zender_modulators/MZM_800G_L3000_GSSG_TRAIL_TypeX1_QY_v1_20260303/MZM_800G_L3000_GSSG_TRAIL_TypeX1_QY_v1_20260303_BB.svg delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/composite/Mach_Zender_modulators/MZM_800G_L3000_GSSG_TRAIL_TypeX2_QY_v1_20260303/MZM_800G_L3000_GSSG_TRAIL_TypeX2_QY_v1_20260303.yml delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/composite/Mach_Zender_modulators/MZM_800G_L3000_GSSG_TRAIL_TypeX2_QY_v1_20260303/MZM_800G_L3000_GSSG_TRAIL_TypeX2_QY_v1_20260303_BB.svg delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/composite/Mach_Zender_modulators/MZM_800G_L3000_GSSG_TRAIL_TypeX3_QY_v1_20260303/MZM_800G_L3000_GSSG_TRAIL_TypeX3_QY_v1_20260303.yml delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/composite/Mach_Zender_modulators/MZM_800G_L3000_GSSG_TRAIL_TypeX3_QY_v1_20260303/MZM_800G_L3000_GSSG_TRAIL_TypeX3_QY_v1_20260303_BB.svg delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/composite/Mach_Zender_modulators/MZM_800G_L3000_GSSG_TRAIL_TypeX4_QY_v1_20260303/MZM_800G_L3000_GSSG_TRAIL_TypeX4_QY_v1_20260303.yml delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/composite/Mach_Zender_modulators/MZM_800G_L3000_GSSG_TRAIL_TypeX4_QY_v1_20260303/MZM_800G_L3000_GSSG_TRAIL_TypeX4_QY_v1_20260303_BB.svg delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/composite/Mach_Zender_modulators/MZM_800G_L3000_GSSG_TRAIL_TypeX5_QY_v1_20260303/MZM_800G_L3000_GSSG_TRAIL_TypeX5_QY_v1_20260303.yml delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/composite/Mach_Zender_modulators/MZM_800G_L3000_GSSG_TRAIL_TypeX5_QY_v1_20260303/MZM_800G_L3000_GSSG_TRAIL_TypeX5_QY_v1_20260303_BB.svg delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/electronics/inductors/INDC_200pH_SiNPP_QY_202604/INDC_200pH_SiNPP_QY_202604.yml delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/electronics/inductors/INDC_200pH_SiNPP_QY_202604/INDC_200pH_SiNPP_QY_202604_BB.svg delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/electronics/pads/RFPAD_GSSG_P625_QY_202604/RFPAD_GSSG_P625_QY_202604.yml delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/electronics/pads/RFPAD_GSSG_P625_QY_202604/RFPAD_GSSG_P625_QY_202604_BB.svg delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/electronics/pads/Spec_PADs_ABCD_292_P125_250_W80_80_QY_20260324/Spec_PADs_ABCD_292_P125_250_W80_80_QY_20260324.yml delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/electronics/resistors/RES_30OHM_NPP_QY_202604/RES_30OHM_NPP_QY_202604.yml delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/electronics/resistors/RES_30OHM_NPP_QY_202604/RES_30OHM_NPP_QY_202604_BB.svg delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/electronics/resistors/RES_35OHM_NPP_QY_202604/RES_35OHM_NPP_QY_202604.yml delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/electronics/resistors/RES_35OHM_NPP_QY_202604/RES_35OHM_NPP_QY_202604_BB.svg delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/electronics/resistors/RES_40OHM_NPP_QY_202604/RES_40OHM_NPP_QY_202604.yml delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/electronics/resistors/RES_40OHM_NPP_QY_202604/RES_40OHM_NPP_QY_202604_BB.svg delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/electronics/resistors/RES_50OHM_NPP_QY_202604/RES_50OHM_NPP_QY_202604.yml delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/electronics/resistors/RES_50OHM_NPP_QY_202604/RES_50OHM_NPP_QY_202604_BB.svg delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/others/QC_MARKER_QY_202603/QC_MARKER_QY_202603.yml delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/others/QC_MARKER_QY_202603/QC_MARKER_QY_202603_BB.svg delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/others/Silterra_EMO1_Optihk_LOGO_QY/Silterra_EMO1_Optihk_LOGO_QY.yml delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/others/Silterra_EMO1_Optihk_LOGO_QY/Silterra_EMO1_Optihk_LOGO_QY_BB.svg delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/primitives/bendings/SiN_EUB_1310_H400_w2500_L45_QY_202604/SiN_EUB_1310_H400_w2500_L45_QY_202604.yml delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/primitives/bendings/SiN_EUB_1310_H400_w2500_L45_QY_202604/SiN_EUB_1310_H400_w2500_L45_QY_202604_BB.svg delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/primitives/bendings/SiN_EUB_1310_H400_w3000_L45_QY_202604/SiN_EUB_1310_H400_w3000_L45_QY_202604.yml delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/primitives/bendings/SiN_EUB_1310_H400_w3000_L45_QY_202604/SiN_EUB_1310_H400_w3000_L45_QY_202604_BB.svg delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/primitives/bendings/Si_EUB_1310_H220_w2000_L50_QY_202604/Si_EUB_1310_H220_w2000_L50_QY_202604.yml delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/primitives/bendings/Si_EUB_1310_H220_w2000_L50_QY_202604/Si_EUB_1310_H220_w2000_L50_QY_202604_BB.svg delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/primitives/bendings/Si_EUB_1310_H220_w380_2000_L50_QY_202604/Si_EUB_1310_H220_w380_2000_L50_QY_202604.yml delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/primitives/bendings/Si_EUB_1310_H220_w380_2000_L50_QY_202604/Si_EUB_1310_H220_w380_2000_L50_QY_202604_BB.svg delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/primitives/directional_couplers/DC_SiN400_99_1_1310_jyh_quantex_202603/DC_SiN400_99_1_1310_jyh_quantex_202603.yml delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/primitives/edge_couplers/EC_SiN400_1310_0p5dB_L935_A0_QY_202604/EC_SiN400_1310_0p5dB_L935_A0_QY_202604.yml delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/primitives/edge_couplers/EC_SiN400_1310_0p5dB_L935_A0_QY_202604/EC_SiN400_1310_0p5dB_L935_A0_QY_202604_BB.svg delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/primitives/edge_couplers/EC_SiN400_1310_0p5dB_L935_A8_QY_202604/EC_SiN400_1310_0p5dB_L935_A8_QY_202604.yml delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/primitives/edge_couplers/EC_SiN400_1310_0p5dB_L935_A8_QY_202604/EC_SiN400_1310_0p5dB_L935_A8_QY_202604_BB.svg delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/primitives/edge_couplers/EC_SiN400_1310_1p0dB_L635_A0_QY_202604/EC_SiN400_1310_1p0dB_L635_A0_QY_202604.yml delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/primitives/edge_couplers/EC_SiN400_1310_1p0dB_L635_A0_QY_202604/EC_SiN400_1310_1p0dB_L635_A0_QY_202604_BB.svg delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/primitives/edge_couplers/EC_SiN400_1310_1p0dB_L635_A8_QY_202604/EC_SiN400_1310_1p0dB_L635_A8_QY_202604.yml delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/primitives/edge_couplers/EC_SiN400_1310_1p0dB_L635_A8_QY_202604/EC_SiN400_1310_1p0dB_L635_A8_QY_202604_BB.svg delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/primitives/multimode_interferometers/1x2MMI_1310nm_TE_Silterra_202603_ZKY_v2/1x2MMI_1310nm_TE_Silterra_202603_ZKY_v2.yml delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/primitives/multimode_interferometers/1x2MMI_1310nm_TE_Silterra_202603_ZKY_v2/1x2MMI_1310nm_TE_Silterra_202603_ZKY_v2_BB.svg delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/primitives/multimode_interferometers/2x2MMI_1310nm_TE_Silterra_202603_ZKY/2x2MMI_1310nm_TE_Silterra_202603_ZKY.yml delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/primitives/multimode_interferometers/2x2MMI_1310nm_TE_Silterra_202603_ZKY/2x2MMI_1310nm_TE_Silterra_202603_ZKY_BB.svg delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/primitives/photodetectors/PD_1310_Monitor_Si220_Ge500_NPN_XHN_202604/PD_1310_Monitor_Si220_Ge500_NPN_XHN_202604.yml delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/primitives/terminations/WG_TERM_SiN220_1310_w380_t150_QY_202606/WG_TERM_SiN220_1310_w380_t150_QY_202606.yml delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/primitives/terminations/WG_TERM_SiN220_1310_w380_t150_QY_202606/WG_TERM_SiN220_1310_w380_t150_QY_202606_BB.svg delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/primitives/terminations/WG_TERM_SiN400_1310_w700_t150_QY_202606/WG_TERM_SiN400_1310_w700_t150_QY_202606.yml delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/primitives/terminations/WG_TERM_SiN400_1310_w700_t150_QY_202606/WG_TERM_SiN400_1310_w700_t150_QY_202606_BB.svg delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/primitives/transitions/Si_Strip_Rib_TRX_w380/Si_Strip_Rib_TRX_w380.yml delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/primitives/transitions/Si_Strip_Rib_TRX_w380/Si_Strip_Rib_TRX_w380_BB.svg delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/primitives/waveguides/HT_150R_SiPPP_L500_100OHM_DUMMY_QY_202604/HT_150R_SiPPP_L500_100OHM_DUMMY_QY_202604.yml delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/primitives/waveguides/HT_150R_SiPPP_L500_100OHM_DUMMY_QY_202604/HT_150R_SiPPP_L500_100OHM_DUMMY_QY_202604_BB.svg delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/primitives/waveguides/HT_150R_SiPPP_L500_100OHM_QY_202604/HT_150R_SiPPP_L500_100OHM_QY_202604.yml delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/primitives/waveguides/HT_150R_SiPPP_L500_100OHM_QY_202604/HT_150R_SiPPP_L500_100OHM_QY_202604_BB.svg delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/primitives/waveguides/HT_150R_TiN_L200_200OHM_QY_202604/HT_150R_TiN_L200_200OHM_QY_202604.yml delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/primitives/waveguides/HT_150R_TiN_L200_200OHM_QY_202604/HT_150R_TiN_L200_200OHM_QY_202604_BB.svg delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/primitives/waveguides/HT_150R_TiN_L500_200OHM_DUMMY_QY_202604/HT_150R_TiN_L500_200OHM_DUMMY_QY_202604.yml delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/primitives/waveguides/HT_150R_TiN_L500_200OHM_DUMMY_QY_202604/HT_150R_TiN_L500_200OHM_DUMMY_QY_202604_BB.svg delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/primitives/waveguides/VOA_Si220_1310_L1050_QY_202603/VOA_Si220_1310_L1050_QY_202603.yml delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/primitives/waveguides/VOA_Si220_1310_L1050_QY_202603/VOA_Si220_1310_L1050_QY_202603_BB.svg delete mode 100644 mxpic/PDKs/Silterra/EMO1_2ML_CU_Al_RDL/technology.yml delete mode 100644 mxpic/PDKs/Silterra/directories.yaml diff --git a/GDS_SVG_GENERATION_LOGIC.md b/GDS_SVG_GENERATION_LOGIC.md new file mode 100644 index 0000000..b1f106b --- /dev/null +++ b/GDS_SVG_GENERATION_LOGIC.md @@ -0,0 +1,216 @@ +# GDS and SVG Generation Logic Path + +This document traces the current code path for generating saved layout YAML, +layout preview SVG, and downloadable project GDS when the user clicks +`Build Layout` or `Build GDS`. + +Line numbers refer to the files as currently checked in. + +## Build-Time Router Gate + +`python backend/server.py` -> `app.run` starts without importing +`mxpic_router`, `mxpic_forge`, Nazca, or gdstk. Login, dashboard, canvas +editing, YAML generation, PDK browsing, and project save without preview do not +require the external build stack. + +Build actions validate the external stack on demand: + +- `Build GDS` -> `backend/gds_builder.py` -> `require_router_stack()`. +- `Build Layout` SVG preview -> `backend/routed_layout_preview.py` -> + `require_router_stack(require_gdstk=True)`. + +Important functions: + +- `ensure_router_path` (`backend/router_dependency.py` line 23) adds the sibling + `../mxpic_router` checkout to `sys.path` when present. +- `require_router_stack` (`backend/router_dependency.py` line 31) imports + `mxpic_router`, `nazca`, and the route backend used by `mxpic_router`. + `gdstk` is checked only when SVG preview generation requests it. + +## Generated Files + +- Saved cell YAML: `database//layout//.yml` + - Path helpers: `user_layout_root`, `project_root`, `cell_file_path` + (`backend/server.py` lines 124-137). +- Saved layout preview SVG: `database//layout//.svg` + - Path helper: `cell_svg_path` (`backend/server.py` lines 140-142). +- Optional route sidecar: `database//layout//.routes.yml` + - Path helper and writer: `cell_routes_path`, `write_route_points_sidecar` + (`backend/server.py` lines 145-175). +- Downloadable GDS export: `database/_exports//.gds` + - Created by `create_export_path` (`backend/pdk_access.py` lines 53-59). + +## Build Layout: Click Button -> YAML -> Router GDS -> SVG + +Compact path: + +`Click Build Layout` -> `handleBuildLayout` (`frontend/canvas.html` line 6209) : +`buildYamlForPage` (`frontend/canvas.html` line 6141) generates layout YAML -> +POST `/api/save-layout` (`frontend/canvas.html` line 6219) -> `save_layout` +(`backend/server.py` line 715) writes `.yml` -> `create_routed_layout_svg` +(`backend/server.py` line 734) -> `mxpic_router.build_project_gds` generates +temporary Nazca GDS -> `gdstk.read_gds` + `write_svg` writes `.svg` -> +backend returns `svg_url` -> `openLayoutPreview` (`frontend/canvas.html` line +6183) opens the SVG preview tab. + +Detailed path: + +1. The button is rendered only for non-preview pages: + - `