diff --git a/.github/workflows/pages.yml b/.github/workflows/pages.yml index b80a94a..0b5281b 100644 --- a/.github/workflows/pages.yml +++ b/.github/workflows/pages.yml @@ -1,36 +1,42 @@ -name: Sphinx docs to gh-pages +name: build docs on: + pull_request: push: branches: - main workflow_dispatch: +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + jobs: build-docs: runs-on: ubuntu-latest - name: Sphinx docs to gh-pages + container: ghcr.io/gdsfactory/gdsfactory:main steps: - uses: actions/checkout@v4 - - name: Set up Python - uses: actions/setup-python@v4 - with: - python-version: '3.10' - cache: "pip" - cache-dependency-path: pyproject.toml - name: Installing the library + env: + TIDY3D_USER: ${{ secrets.TIDY3D_EMAIL }} + TIDY3D_PASS: ${{ secrets.TIDY3D_PASSWORD }} + SIMCLOUD_APIKEY: ${{ secrets.SIMCLOUD_APIKEY }} + DISPLAY: 1.0 + DOCS: True + GDSFACTORY_DISPLAY_TYPE: klayout shell: bash -l {0} run: | - make dev - - name: make docs - run: | + make install make docs - name: Upload artifact - uses: actions/upload-pages-artifact@v2 + uses: actions/upload-pages-artifact@v3 with: path: "./docs/_build/html/" + deploy-docs: needs: build-docs + if: ${{ github.ref == 'refs/heads/main' }} permissions: pages: write id-token: write @@ -43,4 +49,4 @@ jobs: steps: - name: Deploy to GitHub Pages id: deployment - uses: actions/deploy-pages@v2 + uses: actions/deploy-pages@v4 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index f60905c..b7bc864 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -26,3 +26,9 @@ jobs: run: | make build twine upload dist/* + - name: Publish Latest Draft + run: | + gh release edit ${{ github.ref_name }} --draft=false + gh release upload ${{ github.ref_name }} dist/gvtt-${{ github.ref_name}}-py3-none-any.whl --clobber + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/test_code.yml b/.github/workflows/test_code.yml index 6fb5c60..83180da 100644 --- a/.github/workflows/test_code.yml +++ b/.github/workflows/test_code.yml @@ -1,4 +1,4 @@ -name: Test pre-commit, code and docs +name: Test code on: pull_request: @@ -11,60 +11,27 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - uses: actions/setup-python@v4 - - uses: pre-commit/action@v3.0.0 + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: "3.10" + - name: Test pre-commit hooks + run: | + python -m pip install --upgrade pip + pip install pre-commit + pre-commit run -a test_code: runs-on: ${{ matrix.os }} + container: ghcr.io/gdsfactory/gdsfactory:main strategy: max-parallel: 12 matrix: python-version: ["3.11"] os: [ubuntu-latest] - steps: - uses: actions/checkout@v4 - - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - cache: "pip" - cache-dependency-path: pyproject.toml - name: Install dependencies run: | make dev - name: Test with pytest run: pytest tests/ - test_docs: - runs-on: ${{ matrix.os }} - strategy: - max-parallel: 12 - matrix: - python-version: [3.11] - os: [ubuntu-latest] - - steps: - - uses: actions/checkout@v4 - - name: Set up Python - uses: actions/setup-python@v4 - with: - python-version: "3.11" - cache: "pip" - cache-dependency-path: pyproject.toml - - name: Install dependencies - run: | - make dev - pip freeze > requirements.txt - - uses: actions/upload-artifact@v3 - with: - name: requirements - path: requirements.txt - - name: Test documentation - env: - TIDY3D_USER: ${{ secrets.TIDY3D_EMAIL }} - TIDY3D_PASS: ${{ secrets.TIDY3D_PASSWORD }} - DISPLAY: 1.0 - DOCS: True - GDSFACTORY_DISPLAY_TYPE: klayout - run: | - mkdir -p $HOME/.tidy3d - make docs diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 78c7e3a..d0b731f 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,22 +1,41 @@ repos: - repo: https://github.com/pre-commit/pre-commit-hooks - rev: 9260cbc9c84c06022993bfbcc42fdbf0305c5b8e + rev: v4.6.0 hooks: + - id: check-yaml + exclude: ^(conda\.recipe/meta\.yaml|conda_build/templates/.*\.yaml|docs/click/meta\.yaml|conda/meta\.yaml|conda/construct.yaml|.*\.pic\.yml|conda/constructor/Miniforge3/construct.yaml) - id: end-of-file-fixer - id: trailing-whitespace - - id: requirements-txt-fixer + - repo: https://github.com/kynan/nbstripout + rev: 0.7.1 + hooks: + - id: nbstripout + files: ".ipynb" - - repo: https://github.com/psf/black - rev: 25d886f52c2bbbb58386ac8050f4e67952507bc7 + - repo: https://github.com/codespell-project/codespell + rev: v2.2.6 hooks: - - id: black + - id: codespell + additional_dependencies: + - tomli - - repo: https://github.com/charliermarsh/ruff-pre-commit - rev: "6a0ba1854991b693612486cc84a2254de82d071d" + - repo: https://github.com/astral-sh/ruff-pre-commit + rev: "v0.4.1" hooks: - id: ruff + args: [ --fix, --exit-non-zero-on-fix ] + - id: ruff-format + - repo: https://github.com/macisamuele/language-formatters-pre-commit-hooks - rev: v2.10.0 + rev: v2.13.0 hooks: - id: pretty-format-toml args: [--autofix] + + - repo: https://github.com/aristanetworks/j2lint.git + rev: v1.1.0 + hooks: + - id: j2lint + types: [file] + files: \.(j2|yml|yaml)$ + exclude: .github/.* diff --git a/Makefile b/Makefile index e4b8a40..3f3f70c 100644 --- a/Makefile +++ b/Makefile @@ -1,12 +1,11 @@ install: - pip install -e .[dev] + pip install -e .[dev,docs] pre-commit install dev: pip install -e .[dev,docs] - test: pytest -s diff --git a/gvtt/components/__init__.py b/gvtt/components/__init__.py index 55eeec2..c94b9c8 100644 --- a/gvtt/components/__init__.py +++ b/gvtt/components/__init__.py @@ -20,6 +20,7 @@ strip_taper, xs_rib_strip, ) +from gvtt.xsections import straight, straight_rib, straight_sc __all__ = [ "bend_euler", @@ -32,4 +33,7 @@ "rib_to_strip", "strip_taper", "xs_rib_strip", + "straight_sc", + "straight_rib", + "straight", ] diff --git a/gvtt/components/bend_euler.py b/gvtt/components/bend_euler.py index 143970c..de044ba 100644 --- a/gvtt/components/bend_euler.py +++ b/gvtt/components/bend_euler.py @@ -73,14 +73,11 @@ def bend_euler( ) ref = c << p.extrude(x) - c.info["length"] = np.round(p.length(), 3) - c.info["dy"] = np.round(abs(float(p.points[0][0] - p.points[-1][0])), 3) - c.info["radius_min"] = np.round(p.info["Rmin"], 3) - c.info["radius"] = p.xmax - c.info["width"] = x.width - - if x.info: - c.info.update(x.info) + c.info["length"] = float(np.round(p.length(), 3)) + c.info["dy"] = float(np.round(abs(float(p.points[0][0] - p.points[-1][0])), 3)) + c.info["radius_min"] = float(np.round(p.info["Rmin"], 3)) + c.info["radius"] = float(p.xmax) + c.info["width"] = float(x.width) if with_bbox and x.bbox_layers: padding = [] diff --git a/gvtt/components/edge_coupler_rib.py b/gvtt/components/edge_coupler_rib.py index 06f82c9..a9e4efc 100644 --- a/gvtt/components/edge_coupler_rib.py +++ b/gvtt/components/edge_coupler_rib.py @@ -12,6 +12,15 @@ def edge_coupler_rib( xpos: float = 0.0, ypos: float = 0.0, ) -> Component: + """Returns a rib waveguide edge coupler. + + Args: + edge_coupling_width: width of the edge coupling waveguide. + polishing_length: length of the edge coupling waveguide. + side: side of the edge coupler (W, E, N, S). + xpos: x position of the edge coupler. + ypos: y position of the edge coupler. + """ c = gf.Component() side = side.upper() diff --git a/gvtt/klayout/layers.lyp b/gvtt/klayout/layers.lyp index 21d7ff7..df4a791 100644 --- a/gvtt/klayout/layers.lyp +++ b/gvtt/klayout/layers.lyp @@ -5,7 +5,7 @@ #262262 0 0 - + I3 true true @@ -22,7 +22,7 @@ #00aeef 0 0 - + I3 true true @@ -39,7 +39,7 @@ #aa9011 0 0 - + I3 true true @@ -56,7 +56,7 @@ #ef4036 0 0 - + I3 true true @@ -73,7 +73,7 @@ #92278f 0 0 - + I3 true true @@ -90,7 +90,7 @@ #00a651 0 0 - + I3 true true @@ -107,7 +107,7 @@ #8b5e3b 0 0 - + I3 true true @@ -124,7 +124,7 @@ #191741 0 0 - + I3 true true @@ -141,7 +141,7 @@ #008bbe 0 0 - + I3 true true @@ -158,7 +158,7 @@ #7e6b0d 0 0 - + I3 true true @@ -175,7 +175,7 @@ #e61e12 0 0 - + I3 true true @@ -192,7 +192,7 @@ #6c1d69 0 0 - + I3 true true @@ -209,7 +209,7 @@ #00773a 0 0 - + I3 true true @@ -226,7 +226,7 @@ #69472c 0 0 - + I3 true true @@ -243,7 +243,7 @@ #9792d9 0 0 - + I3 true true @@ -260,7 +260,7 @@ #a7e7ff 0 0 - + I3 true true @@ -277,7 +277,7 @@ #f5e598 0 0 - + I3 true true @@ -294,7 +294,7 @@ #fac5c2 0 0 - + I3 true true @@ -311,7 +311,7 @@ #e7a5e5 0 0 - + I3 true true @@ -328,7 +328,7 @@ #82ffbf 0 0 - + I3 true true @@ -345,7 +345,7 @@ #dfc7b4 0 0 - + I3 true true @@ -362,7 +362,7 @@ #aa9011 0 0 - + I3 true true @@ -379,7 +379,7 @@ #ef4036 0 0 - + I3 true true @@ -396,7 +396,7 @@ #92278f 0 0 - + I3 true true @@ -413,7 +413,7 @@ #00a651 0 0 - + I3 true true @@ -430,7 +430,7 @@ #8b5e3b 0 0 - + I3 true true @@ -447,7 +447,7 @@ #7e6b0d 0 0 - + I3 true true @@ -464,7 +464,7 @@ #e61e12 0 0 - + I3 true true @@ -481,7 +481,7 @@ #6c1d69 0 0 - + I3 true true @@ -498,7 +498,7 @@ #00773a 0 0 - + I3 true true @@ -515,7 +515,7 @@ #69472c 0 0 - + I3 true true @@ -532,7 +532,7 @@ #f5e598 0 0 - + I3 true true @@ -549,7 +549,7 @@ #fac5c2 0 0 - + I3 true true @@ -566,7 +566,7 @@ #e7a5e5 0 0 - + I3 true true @@ -583,7 +583,7 @@ #82ffbf 0 0 - + I3 true true @@ -600,7 +600,7 @@ #dfc7b4 0 0 - + I3 true true @@ -617,7 +617,7 @@ #aa9011 0 0 - + I3 true true @@ -634,7 +634,7 @@ #ef4036 0 0 - + I3 true true @@ -651,7 +651,7 @@ #7e6b0d 0 0 - + I3 true true @@ -668,7 +668,7 @@ #e61e12 0 0 - + I3 true true @@ -685,7 +685,7 @@ #f5e598 0 0 - + I3 true true @@ -702,7 +702,7 @@ #fac5c2 0 0 - + I3 true true @@ -719,7 +719,7 @@ #262262 0 0 - + I3 true true @@ -736,7 +736,7 @@ #00aeef 0 0 - + I3 true true @@ -753,7 +753,7 @@ #aa9011 0 0 - + I3 true true @@ -770,7 +770,7 @@ #f1592a 0 0 - + I3 true true @@ -787,7 +787,7 @@ #262262 0 0 - + I3 true true @@ -804,7 +804,7 @@ #00aeef 0 0 - + I3 true true @@ -821,7 +821,7 @@ #aa9011 0 0 - + I3 true true @@ -838,7 +838,7 @@ #262262 0 0 - + I3 true true @@ -855,7 +855,7 @@ #00aeef 0 0 - + I3 true true @@ -872,7 +872,7 @@ #aa9011 0 0 - + I3 true true @@ -889,7 +889,7 @@ #ef4036 0 0 - + I3 true true @@ -906,7 +906,7 @@ #262262 0 0 - + I3 true true @@ -923,7 +923,7 @@ #00aeef 0 0 - + I3 true true @@ -940,7 +940,7 @@ #aa9011 0 0 - + I3 true true @@ -957,7 +957,7 @@ #ef4036 0 0 - + I3 true true @@ -974,7 +974,7 @@ #92278f 0 0 - + I3 true true @@ -991,7 +991,7 @@ #00a651 0 0 - + I3 true true @@ -1008,7 +1008,7 @@ #8b5e3b 0 0 - + I3 true true @@ -1025,7 +1025,7 @@ #aa9011 0 0 - + I3 true true @@ -1042,7 +1042,7 @@ #ef4036 0 0 - + I3 true true @@ -1059,7 +1059,7 @@ #92278f 0 0 - + I3 true true @@ -1076,7 +1076,7 @@ #00a651 0 0 - + I3 true true @@ -1093,7 +1093,7 @@ #8b5e3b 0 0 - + I3 true true @@ -1110,7 +1110,7 @@ #aa9011 0 0 - + I3 true true @@ -1127,7 +1127,7 @@ #ef4036 0 0 - + I3 true true diff --git a/gvtt/klayout/tech.lyt b/gvtt/klayout/tech.lyt index fec8d41..8c2902b 100644 --- a/gvtt/klayout/tech.lyt +++ b/gvtt/klayout/tech.lyt @@ -4,6 +4,7 @@ 0.001 + layers.lyp diff --git a/gvtt/layers.py b/gvtt/layers.py index ca6b015..df8996e 100644 --- a/gvtt/layers.py +++ b/gvtt/layers.py @@ -101,8 +101,8 @@ class LayerMap(LayerMap): # layers = lyp_to_dataclass(PATH.lyp) # print(layers) - LAYER_VIEWS = gf.technology.LayerViews(filepath=PATH.lyp) - LAYER_VIEWS.to_yaml(PATH.lyp_yaml) + LAYER_VIEWS = gf.technology.LayerViews(filepath=PATH.lyp_yaml) + # LAYER_VIEWS.to_yaml(PATH.lyp_yaml, default_hatch_pattern_name='coarsely dotted') t = KLayoutTechnology( name="VTT", layer_map=dict(LAYER), diff --git a/gvtt/layers.yaml b/gvtt/layers.yaml index 23b8d83..abec9a6 100644 --- a/gvtt/layers.yaml +++ b/gvtt/layers.yaml @@ -1,457 +1,269 @@ LayerViews: WG_RIBS_ADD: layer: [1, 10] - color: !!python/object/new:pydantic_extra_types.color.Color - state: [null, {_original: '#262262', _rgba: !!python/object/new:pydantic_extra_types.color.RGBA { - state: [null, {r: 0.14901960784313725, g: 0.13333333333333333, b: 0.3843137254901961, - alpha: null, _tuple: [0.14901960784313725, 0.13333333333333333, 0.3843137254901961, - null]}]}}] + color: "#262262" + hatch_pattern: coarsely dotted WG_MOST_ADD: layer: [1, 11] - color: !!python/object/new:pydantic_extra_types.color.Color - state: [null, {_original: '#00aeef', _rgba: !!python/object/new:pydantic_extra_types.color.RGBA { - state: [null, {r: 0.0, g: 0.6823529411764706, b: 0.9372549019607843, alpha: null, - _tuple: [0.0, 0.6823529411764706, 0.9372549019607843, null]}]}}] + color: "#00aeef" + hatch_pattern: coarsely dotted WG_LANE_ADD: layer: [1, 12] - color: !!python/object/new:pydantic_extra_types.color.Color - state: [null, {_original: '#aa9011', _rgba: !!python/object/new:pydantic_extra_types.color.RGBA { - state: [null, {r: 0.6666666666666666, g: 0.5647058823529412, b: 0.06666666666666667, - alpha: null, _tuple: [0.6666666666666666, 0.5647058823529412, 0.06666666666666667, - null]}]}}] + color: "#aa9011" + hatch_pattern: coarsely dotted WG_DEOX_ADD: layer: [1, 13] - color: !!python/object/new:pydantic_extra_types.color.Color - state: [null, {_original: '#ef4036', _rgba: !!python/object/new:pydantic_extra_types.color.RGBA { - state: [null, {r: 0.9372549019607843, g: 0.25098039215686274, b: 0.21176470588235294, - alpha: null, _tuple: [0.9372549019607843, 0.25098039215686274, 0.21176470588235294, - null]}]}}] + color: "#ef4036" + hatch_pattern: coarsely dotted WG_ARCO_ADD: layer: [1, 14] - color: !!python/object/new:pydantic_extra_types.color.Color - state: [null, {_original: '#92278f', _rgba: !!python/object/new:pydantic_extra_types.color.RGBA { - state: [null, {r: 0.5725490196078431, g: 0.15294117647058825, b: 0.5607843137254902, - alpha: null, _tuple: [0.5725490196078431, 0.15294117647058825, 0.5607843137254902, - null]}]}}] + color: "#92278f" + hatch_pattern: coarsely dotted WG_SNGL_ADD: layer: [1, 15] - color: !!python/object/new:pydantic_extra_types.color.Color - state: [null, {_original: '#00a651', _rgba: !!python/object/new:pydantic_extra_types.color.RGBA { - state: [null, {r: 0.0, g: 0.6509803921568628, b: 0.3176470588235294, alpha: null, - _tuple: [0.0, 0.6509803921568628, 0.3176470588235294, null]}]}}] + color: "#00a651" + hatch_pattern: coarsely dotted WG_PEDE_ADD: layer: [1, 16] - color: !!python/object/new:pydantic_extra_types.color.Color - state: [null, {_original: '#8b5e3b', _rgba: !!python/object/new:pydantic_extra_types.color.RGBA { - state: [null, {r: 0.5450980392156862, g: 0.3686274509803922, b: 0.23137254901960785, - alpha: null, _tuple: [0.5450980392156862, 0.3686274509803922, 0.23137254901960785, - null]}]}}] + color: "#8b5e3b" + hatch_pattern: coarsely dotted WG_RIBS_SUB: layer: [1, 20] - color: !!python/object/new:pydantic_extra_types.color.Color - state: [null, {_original: '#191741', _rgba: !!python/object/new:pydantic_extra_types.color.RGBA { - state: [null, {r: 0.09803921568627451, g: 0.09019607843137255, b: 0.2549019607843137, - alpha: null, _tuple: [0.09803921568627451, 0.09019607843137255, 0.2549019607843137, - null]}]}}] + color: "#191741" + hatch_pattern: coarsely dotted WG_MOST_SUB: layer: [1, 21] - color: !!python/object/new:pydantic_extra_types.color.Color - state: [null, {_original: '#008bbe', _rgba: !!python/object/new:pydantic_extra_types.color.RGBA { - state: [null, {r: 0.0, g: 0.5450980392156862, b: 0.7450980392156863, alpha: null, - _tuple: [0.0, 0.5450980392156862, 0.7450980392156863, null]}]}}] + color: "#008bbe" + hatch_pattern: coarsely dotted WG_LANE_SUB: layer: [1, 22] - color: !!python/object/new:pydantic_extra_types.color.Color - state: [null, {_original: '#7e6b0d', _rgba: !!python/object/new:pydantic_extra_types.color.RGBA { - state: [null, {r: 0.49411764705882355, g: 0.4196078431372549, b: 0.050980392156862744, - alpha: null, _tuple: [0.49411764705882355, 0.4196078431372549, 0.050980392156862744, - null]}]}}] + color: "#7e6b0d" + hatch_pattern: coarsely dotted WG_DEOX_SUB: layer: [1, 23] - color: !!python/object/new:pydantic_extra_types.color.Color - state: [null, {_original: '#e61e12', _rgba: !!python/object/new:pydantic_extra_types.color.RGBA { - state: [null, {r: 0.9019607843137255, g: 0.11764705882352941, b: 0.07058823529411765, - alpha: null, _tuple: [0.9019607843137255, 0.11764705882352941, 0.07058823529411765, - null]}]}}] + color: "#e61e12" + hatch_pattern: coarsely dotted WG_ARCO_SUB: layer: [1, 24] - color: !!python/object/new:pydantic_extra_types.color.Color - state: [null, {_original: '#6c1d69', _rgba: !!python/object/new:pydantic_extra_types.color.RGBA { - state: [null, {r: 0.4235294117647059, g: 0.11372549019607843, b: 0.4117647058823529, - alpha: null, _tuple: [0.4235294117647059, 0.11372549019607843, 0.4117647058823529, - null]}]}}] + color: "#6c1d69" + hatch_pattern: coarsely dotted WG_SNGL_SUB: layer: [1, 25] - color: !!python/object/new:pydantic_extra_types.color.Color - state: [null, {_original: '#00773a', _rgba: !!python/object/new:pydantic_extra_types.color.RGBA { - state: [null, {r: 0.0, g: 0.4666666666666667, b: 0.22745098039215686, - alpha: null, _tuple: [0.0, 0.4666666666666667, 0.22745098039215686, - null]}]}}] + color: "#00773a" + hatch_pattern: coarsely dotted WG_PEDE_SUB: layer: [1, 26] - color: !!python/object/new:pydantic_extra_types.color.Color - state: [null, {_original: '#69472c', _rgba: !!python/object/new:pydantic_extra_types.color.RGBA { - state: [null, {r: 0.4117647058823529, g: 0.2784313725490196, b: 0.17254901960784313, - alpha: null, _tuple: [0.4117647058823529, 0.2784313725490196, 0.17254901960784313, - null]}]}}] + color: "#69472c" + hatch_pattern: coarsely dotted WG_RIBS_CPY: layer: [1, 30] - color: !!python/object/new:pydantic_extra_types.color.Color - state: [null, {_original: '#9792d9', _rgba: !!python/object/new:pydantic_extra_types.color.RGBA { - state: [null, {r: 0.592156862745098, g: 0.5725490196078431, b: 0.8509803921568627, - alpha: null, _tuple: [0.592156862745098, 0.5725490196078431, 0.8509803921568627, - null]}]}}] + color: "#9792d9" + hatch_pattern: coarsely dotted WG_MOST_CPY: layer: [1, 31] - color: !!python/object/new:pydantic_extra_types.color.Color - state: [null, {_original: '#a7e7ff', _rgba: !!python/object/new:pydantic_extra_types.color.RGBA { - state: [null, {r: 0.6549019607843137, g: 0.9058823529411765, b: 1.0, alpha: null, - _tuple: [0.6549019607843137, 0.9058823529411765, 1.0, null]}]}}] + color: "#a7e7ff" + hatch_pattern: coarsely dotted WG_LANE_CPY: layer: [1, 32] - color: !!python/object/new:pydantic_extra_types.color.Color - state: [null, {_original: '#f5e598', _rgba: !!python/object/new:pydantic_extra_types.color.RGBA { - state: [null, {r: 0.9607843137254902, g: 0.8980392156862745, b: 0.596078431372549, - alpha: null, _tuple: [0.9607843137254902, 0.8980392156862745, 0.596078431372549, - null]}]}}] + color: "#f5e598" + hatch_pattern: coarsely dotted WG_DEOX_CPY: layer: [1, 33] - color: !!python/object/new:pydantic_extra_types.color.Color - state: [null, {_original: '#fac5c2', _rgba: !!python/object/new:pydantic_extra_types.color.RGBA { - state: [null, {r: 0.9803921568627451, g: 0.7725490196078432, b: 0.7607843137254902, - alpha: null, _tuple: [0.9803921568627451, 0.7725490196078432, 0.7607843137254902, - null]}]}}] + color: "#fac5c2" + hatch_pattern: coarsely dotted WG_ARCO_CPY: layer: [1, 34] - color: !!python/object/new:pydantic_extra_types.color.Color - state: [null, {_original: '#e7a5e5', _rgba: !!python/object/new:pydantic_extra_types.color.RGBA { - state: [null, {r: 0.9058823529411765, g: 0.6470588235294118, b: 0.8980392156862745, - alpha: null, _tuple: [0.9058823529411765, 0.6470588235294118, 0.8980392156862745, - null]}]}}] + color: "#e7a5e5" + hatch_pattern: coarsely dotted WG_SNGL_CPY: layer: [1, 35] - color: !!python/object/new:pydantic_extra_types.color.Color - state: [null, {_original: '#82ffbf', _rgba: !!python/object/new:pydantic_extra_types.color.RGBA { - state: [null, {r: 0.5098039215686274, g: 1.0, b: 0.7490196078431373, alpha: null, - _tuple: [0.5098039215686274, 1.0, 0.7490196078431373, null]}]}}] + color: "#82ffbf" + hatch_pattern: coarsely dotted WG_PEDE_CPY: layer: [1, 36] - color: !!python/object/new:pydantic_extra_types.color.Color - state: [null, {_original: '#dfc7b4', _rgba: !!python/object/new:pydantic_extra_types.color.RGBA { - state: [null, {r: 0.8745098039215686, g: 0.7803921568627451, b: 0.7058823529411765, - alpha: null, _tuple: [0.8745098039215686, 0.7803921568627451, 0.7058823529411765, - null]}]}}] + color: "#dfc7b4" + hatch_pattern: coarsely dotted ME_GOLD_ADD: layer: [2, 12] - color: !!python/object/new:pydantic_extra_types.color.Color - state: [null, {_original: '#aa9011', _rgba: !!python/object/new:pydantic_extra_types.color.RGBA { - state: [null, {r: 0.6666666666666666, g: 0.5647058823529412, b: 0.06666666666666667, - alpha: null, _tuple: [0.6666666666666666, 0.5647058823529412, 0.06666666666666667, - null]}]}}] + color: "#aa9011" + hatch_pattern: coarsely dotted ME_ALUM_ADD: layer: [2, 13] - color: !!python/object/new:pydantic_extra_types.color.Color - state: [null, {_original: '#ef4036', _rgba: !!python/object/new:pydantic_extra_types.color.RGBA { - state: [null, {r: 0.9372549019607843, g: 0.25098039215686274, b: 0.21176470588235294, - alpha: null, _tuple: [0.9372549019607843, 0.25098039215686274, 0.21176470588235294, - null]}]}}] + color: "#ef4036" + hatch_pattern: coarsely dotted ME_HVIA_ADD: layer: [2, 14] - color: !!python/object/new:pydantic_extra_types.color.Color - state: [null, {_original: '#92278f', _rgba: !!python/object/new:pydantic_extra_types.color.RGBA { - state: [null, {r: 0.5725490196078431, g: 0.15294117647058825, b: 0.5607843137254902, - alpha: null, _tuple: [0.5725490196078431, 0.15294117647058825, 0.5607843137254902, - null]}]}}] + color: "#92278f" + hatch_pattern: coarsely dotted ME_WIRE_ADD: layer: [2, 15] - color: !!python/object/new:pydantic_extra_types.color.Color - state: [null, {_original: '#00a651', _rgba: !!python/object/new:pydantic_extra_types.color.RGBA { - state: [null, {r: 0.0, g: 0.6509803921568628, b: 0.3176470588235294, alpha: null, - _tuple: [0.0, 0.6509803921568628, 0.3176470588235294, null]}]}}] + color: "#00a651" + hatch_pattern: coarsely dotted ME_WIPO_ADD: layer: [2, 16] - color: !!python/object/new:pydantic_extra_types.color.Color - state: [null, {_original: '#8b5e3b', _rgba: !!python/object/new:pydantic_extra_types.color.RGBA { - state: [null, {r: 0.5450980392156862, g: 0.3686274509803922, b: 0.23137254901960785, - alpha: null, _tuple: [0.5450980392156862, 0.3686274509803922, 0.23137254901960785, - null]}]}}] + color: "#8b5e3b" + hatch_pattern: coarsely dotted ME_GOLD_SUB: layer: [2, 22] - color: !!python/object/new:pydantic_extra_types.color.Color - state: [null, {_original: '#7e6b0d', _rgba: !!python/object/new:pydantic_extra_types.color.RGBA { - state: [null, {r: 0.49411764705882355, g: 0.4196078431372549, b: 0.050980392156862744, - alpha: null, _tuple: [0.49411764705882355, 0.4196078431372549, 0.050980392156862744, - null]}]}}] + color: "#7e6b0d" + hatch_pattern: coarsely dotted ME_ALUM_SUB: layer: [2, 23] - color: !!python/object/new:pydantic_extra_types.color.Color - state: [null, {_original: '#e61e12', _rgba: !!python/object/new:pydantic_extra_types.color.RGBA { - state: [null, {r: 0.9019607843137255, g: 0.11764705882352941, b: 0.07058823529411765, - alpha: null, _tuple: [0.9019607843137255, 0.11764705882352941, 0.07058823529411765, - null]}]}}] + color: "#e61e12" + hatch_pattern: coarsely dotted ME_HVIA_SUB: layer: [2, 24] - color: !!python/object/new:pydantic_extra_types.color.Color - state: [null, {_original: '#6c1d69', _rgba: !!python/object/new:pydantic_extra_types.color.RGBA { - state: [null, {r: 0.4235294117647059, g: 0.11372549019607843, b: 0.4117647058823529, - alpha: null, _tuple: [0.4235294117647059, 0.11372549019607843, 0.4117647058823529, - null]}]}}] + color: "#6c1d69" + hatch_pattern: coarsely dotted ME_WIRE_SUB: layer: [2, 25] - color: !!python/object/new:pydantic_extra_types.color.Color - state: [null, {_original: '#00773a', _rgba: !!python/object/new:pydantic_extra_types.color.RGBA { - state: [null, {r: 0.0, g: 0.4666666666666667, b: 0.22745098039215686, - alpha: null, _tuple: [0.0, 0.4666666666666667, 0.22745098039215686, - null]}]}}] + color: "#00773a" + hatch_pattern: coarsely dotted ME_WIPO_SUB: layer: [2, 26] - color: !!python/object/new:pydantic_extra_types.color.Color - state: [null, {_original: '#69472c', _rgba: !!python/object/new:pydantic_extra_types.color.RGBA { - state: [null, {r: 0.4117647058823529, g: 0.2784313725490196, b: 0.17254901960784313, - alpha: null, _tuple: [0.4117647058823529, 0.2784313725490196, 0.17254901960784313, - null]}]}}] + color: "#69472c" + hatch_pattern: coarsely dotted ME_GOLD_CPY: layer: [2, 32] - color: !!python/object/new:pydantic_extra_types.color.Color - state: [null, {_original: '#f5e598', _rgba: !!python/object/new:pydantic_extra_types.color.RGBA { - state: [null, {r: 0.9607843137254902, g: 0.8980392156862745, b: 0.596078431372549, - alpha: null, _tuple: [0.9607843137254902, 0.8980392156862745, 0.596078431372549, - null]}]}}] + color: "#f5e598" + hatch_pattern: coarsely dotted ME_ALUM_CPY: layer: [2, 33] - color: !!python/object/new:pydantic_extra_types.color.Color - state: [null, {_original: '#fac5c2', _rgba: !!python/object/new:pydantic_extra_types.color.RGBA { - state: [null, {r: 0.9803921568627451, g: 0.7725490196078432, b: 0.7607843137254902, - alpha: null, _tuple: [0.9803921568627451, 0.7725490196078432, 0.7607843137254902, - null]}]}}] + color: "#fac5c2" + hatch_pattern: coarsely dotted ME_HVIA_CPY: layer: [2, 34] - color: !!python/object/new:pydantic_extra_types.color.Color - state: [null, {_original: '#e7a5e5', _rgba: !!python/object/new:pydantic_extra_types.color.RGBA { - state: [null, {r: 0.9058823529411765, g: 0.6470588235294118, b: 0.8980392156862745, - alpha: null, _tuple: [0.9058823529411765, 0.6470588235294118, 0.8980392156862745, - null]}]}}] + color: "#e7a5e5" + hatch_pattern: coarsely dotted ME_WIRE_CPY: layer: [2, 35] - color: !!python/object/new:pydantic_extra_types.color.Color - state: [null, {_original: '#82ffbf', _rgba: !!python/object/new:pydantic_extra_types.color.RGBA { - state: [null, {r: 0.5098039215686274, g: 1.0, b: 0.7490196078431373, alpha: null, - _tuple: [0.5098039215686274, 1.0, 0.7490196078431373, null]}]}}] + color: "#82ffbf" + hatch_pattern: coarsely dotted ME_WIPO_CPY: layer: [2, 36] - color: !!python/object/new:pydantic_extra_types.color.Color - state: [null, {_original: '#dfc7b4', _rgba: !!python/object/new:pydantic_extra_types.color.RGBA { - state: [null, {r: 0.8745098039215686, g: 0.7803921568627451, b: 0.7058823529411765, - alpha: null, _tuple: [0.8745098039215686, 0.7803921568627451, 0.7058823529411765, - null]}]}}] + color: "#dfc7b4" + hatch_pattern: coarsely dotted NP_PIMP_ADD: layer: [5, 12] - color: !!python/object/new:pydantic_extra_types.color.Color - state: [null, {_original: '#aa9011', _rgba: !!python/object/new:pydantic_extra_types.color.RGBA { - state: [null, {r: 0.6666666666666666, g: 0.5647058823529412, b: 0.06666666666666667, - alpha: null, _tuple: [0.6666666666666666, 0.5647058823529412, 0.06666666666666667, - null]}]}}] + color: "#aa9011" + hatch_pattern: coarsely dotted NP_NIMP_ADD: layer: [5, 13] - color: !!python/object/new:pydantic_extra_types.color.Color - state: [null, {_original: '#ef4036', _rgba: !!python/object/new:pydantic_extra_types.color.RGBA { - state: [null, {r: 0.9372549019607843, g: 0.25098039215686274, b: 0.21176470588235294, - alpha: null, _tuple: [0.9372549019607843, 0.25098039215686274, 0.21176470588235294, - null]}]}}] + color: "#ef4036" + hatch_pattern: coarsely dotted NP_PIMP_SUB: layer: [5, 22] - color: !!python/object/new:pydantic_extra_types.color.Color - state: [null, {_original: '#7e6b0d', _rgba: !!python/object/new:pydantic_extra_types.color.RGBA { - state: [null, {r: 0.49411764705882355, g: 0.4196078431372549, b: 0.050980392156862744, - alpha: null, _tuple: [0.49411764705882355, 0.4196078431372549, 0.050980392156862744, - null]}]}}] + color: "#7e6b0d" + hatch_pattern: coarsely dotted NP_NIMP_SUB: layer: [5, 23] - color: !!python/object/new:pydantic_extra_types.color.Color - state: [null, {_original: '#e61e12', _rgba: !!python/object/new:pydantic_extra_types.color.RGBA { - state: [null, {r: 0.9019607843137255, g: 0.11764705882352941, b: 0.07058823529411765, - alpha: null, _tuple: [0.9019607843137255, 0.11764705882352941, 0.07058823529411765, - null]}]}}] + color: "#e61e12" + hatch_pattern: coarsely dotted NP_PIMP_CPY: layer: [5, 32] - color: !!python/object/new:pydantic_extra_types.color.Color - state: [null, {_original: '#f5e598', _rgba: !!python/object/new:pydantic_extra_types.color.RGBA { - state: [null, {r: 0.9607843137254902, g: 0.8980392156862745, b: 0.596078431372549, - alpha: null, _tuple: [0.9607843137254902, 0.8980392156862745, 0.596078431372549, - null]}]}}] + color: "#f5e598" + hatch_pattern: coarsely dotted NP_NIMP_CPY: layer: [5, 33] - color: !!python/object/new:pydantic_extra_types.color.Color - state: [null, {_original: '#fac5c2', _rgba: !!python/object/new:pydantic_extra_types.color.RGBA { - state: [null, {r: 0.9803921568627451, g: 0.7725490196078432, b: 0.7607843137254902, - alpha: null, _tuple: [0.9803921568627451, 0.7725490196078432, 0.7607843137254902, - null]}]}}] + color: "#fac5c2" + hatch_pattern: coarsely dotted AX_NOXX: layer: [63, 0] - color: !!python/object/new:pydantic_extra_types.color.Color - state: [null, {_original: '#262262', _rgba: !!python/object/new:pydantic_extra_types.color.RGBA { - state: [null, {r: 0.14901960784313725, g: 0.13333333333333333, b: 0.3843137254901961, - alpha: null, _tuple: [0.14901960784313725, 0.13333333333333333, 0.3843137254901961, - null]}]}}] + color: "#262262" + hatch_pattern: coarsely dotted AX_NOME: layer: [63, 1] - color: !!python/object/new:pydantic_extra_types.color.Color - state: [null, {_original: '#00aeef', _rgba: !!python/object/new:pydantic_extra_types.color.RGBA { - state: [null, {r: 0.0, g: 0.6823529411764706, b: 0.9372549019607843, alpha: null, - _tuple: [0.0, 0.6823529411764706, 0.9372549019607843, null]}]}}] + color: "#00aeef" + hatch_pattern: coarsely dotted AX_NOWG: layer: [63, 2] - color: !!python/object/new:pydantic_extra_types.color.Color - state: [null, {_original: '#aa9011', _rgba: !!python/object/new:pydantic_extra_types.color.RGBA { - state: [null, {r: 0.6666666666666666, g: 0.5647058823529412, b: 0.06666666666666667, - alpha: null, _tuple: [0.6666666666666666, 0.5647058823529412, 0.06666666666666667, - null]}]}}] + color: "#aa9011" + hatch_pattern: coarsely dotted AX_NOUS: layer: [63, 9] - color: !!python/object/new:pydantic_extra_types.color.Color - state: [null, {_original: '#f1592a', _rgba: !!python/object/new:pydantic_extra_types.color.RGBA { - state: [null, {r: 0.9450980392156862, g: 0.34901960784313724, b: 0.16470588235294117, - alpha: null, _tuple: [0.9450980392156862, 0.34901960784313724, 0.16470588235294117, - null]}]}}] + color: "#f1592a" + hatch_pattern: coarsely dotted AX_BBOX: layer: [63, 10] - color: !!python/object/new:pydantic_extra_types.color.Color - state: [null, {_original: '#262262', _rgba: !!python/object/new:pydantic_extra_types.color.RGBA { - state: [null, {r: 0.14901960784313725, g: 0.13333333333333333, b: 0.3843137254901961, - alpha: null, _tuple: [0.14901960784313725, 0.13333333333333333, 0.3843137254901961, - null]}]}}] + color: "#262262" + hatch_pattern: coarsely dotted AX_BVIZ: layer: [63, 11] - color: !!python/object/new:pydantic_extra_types.color.Color - state: [null, {_original: '#00aeef', _rgba: !!python/object/new:pydantic_extra_types.color.RGBA { - state: [null, {r: 0.0, g: 0.6823529411764706, b: 0.9372549019607843, alpha: null, - _tuple: [0.0, 0.6823529411764706, 0.9372549019607843, null]}]}}] + color: "#00aeef" + hatch_pattern: coarsely dotted AX_BPIN: layer: [63, 12] - color: !!python/object/new:pydantic_extra_types.color.Color - state: [null, {_original: '#aa9011', _rgba: !!python/object/new:pydantic_extra_types.color.RGBA { - state: [null, {r: 0.6666666666666666, g: 0.5647058823529412, b: 0.06666666666666667, - alpha: null, _tuple: [0.6666666666666666, 0.5647058823529412, 0.06666666666666667, - null]}]}}] + color: "#aa9011" + hatch_pattern: coarsely dotted AX_LINE: layer: [63, 40] - color: !!python/object/new:pydantic_extra_types.color.Color - state: [null, {_original: '#262262', _rgba: !!python/object/new:pydantic_extra_types.color.RGBA { - state: [null, {r: 0.14901960784313725, g: 0.13333333333333333, b: 0.3843137254901961, - alpha: null, _tuple: [0.14901960784313725, 0.13333333333333333, 0.3843137254901961, - null]}]}}] + color: "#262262" + hatch_pattern: coarsely dotted AX_TRIP: layer: [63, 41] - color: !!python/object/new:pydantic_extra_types.color.Color - state: [null, {_original: '#00aeef', _rgba: !!python/object/new:pydantic_extra_types.color.RGBA { - state: [null, {r: 0.0, g: 0.6823529411764706, b: 0.9372549019607843, alpha: null, - _tuple: [0.0, 0.6823529411764706, 0.9372549019607843, null]}]}}] + color: "#00aeef" + hatch_pattern: coarsely dotted AX_WARN: layer: [63, 42] - color: !!python/object/new:pydantic_extra_types.color.Color - state: [null, {_original: '#aa9011', _rgba: !!python/object/new:pydantic_extra_types.color.RGBA { - state: [null, {r: 0.6666666666666666, g: 0.5647058823529412, b: 0.06666666666666667, - alpha: null, _tuple: [0.6666666666666666, 0.5647058823529412, 0.06666666666666667, - null]}]}}] + color: "#aa9011" + hatch_pattern: coarsely dotted AX_INFO: layer: [63, 63] - color: !!python/object/new:pydantic_extra_types.color.Color - state: [null, {_original: '#ef4036', _rgba: !!python/object/new:pydantic_extra_types.color.RGBA { - state: [null, {r: 0.9372549019607843, g: 0.25098039215686274, b: 0.21176470588235294, - alpha: null, _tuple: [0.9372549019607843, 0.25098039215686274, 0.21176470588235294, - null]}]}}] + color: "#ef4036" + hatch_pattern: coarsely dotted WG_RIBS_DF: layer: [1, 0] - color: !!python/object/new:pydantic_extra_types.color.Color - state: [null, {_original: '#262262', _rgba: !!python/object/new:pydantic_extra_types.color.RGBA { - state: [null, {r: 0.14901960784313725, g: 0.13333333333333333, b: 0.3843137254901961, - alpha: null, _tuple: [0.14901960784313725, 0.13333333333333333, 0.3843137254901961, - null]}]}}] + color: "#262262" + hatch_pattern: coarsely dotted WG_MOST_DF: layer: [1, 1] - color: !!python/object/new:pydantic_extra_types.color.Color - state: [null, {_original: '#00aeef', _rgba: !!python/object/new:pydantic_extra_types.color.RGBA { - state: [null, {r: 0.0, g: 0.6823529411764706, b: 0.9372549019607843, alpha: null, - _tuple: [0.0, 0.6823529411764706, 0.9372549019607843, null]}]}}] + color: "#00aeef" + hatch_pattern: coarsely dotted WG_LANE_DF: layer: [1, 2] - color: !!python/object/new:pydantic_extra_types.color.Color - state: [null, {_original: '#aa9011', _rgba: !!python/object/new:pydantic_extra_types.color.RGBA { - state: [null, {r: 0.6666666666666666, g: 0.5647058823529412, b: 0.06666666666666667, - alpha: null, _tuple: [0.6666666666666666, 0.5647058823529412, 0.06666666666666667, - null]}]}}] + color: "#aa9011" + hatch_pattern: coarsely dotted WG_DEOX_DF: layer: [1, 3] - color: !!python/object/new:pydantic_extra_types.color.Color - state: [null, {_original: '#ef4036', _rgba: !!python/object/new:pydantic_extra_types.color.RGBA { - state: [null, {r: 0.9372549019607843, g: 0.25098039215686274, b: 0.21176470588235294, - alpha: null, _tuple: [0.9372549019607843, 0.25098039215686274, 0.21176470588235294, - null]}]}}] + color: "#ef4036" + hatch_pattern: coarsely dotted WG_ARCO_LF: layer: [1, 4] - color: !!python/object/new:pydantic_extra_types.color.Color - state: [null, {_original: '#92278f', _rgba: !!python/object/new:pydantic_extra_types.color.RGBA { - state: [null, {r: 0.5725490196078431, g: 0.15294117647058825, b: 0.5607843137254902, - alpha: null, _tuple: [0.5725490196078431, 0.15294117647058825, 0.5607843137254902, - null]}]}}] + color: "#92278f" + hatch_pattern: coarsely dotted WG_SNGL_DF: layer: [1, 5] - color: !!python/object/new:pydantic_extra_types.color.Color - state: [null, {_original: '#00a651', _rgba: !!python/object/new:pydantic_extra_types.color.RGBA { - state: [null, {r: 0.0, g: 0.6509803921568628, b: 0.3176470588235294, alpha: null, - _tuple: [0.0, 0.6509803921568628, 0.3176470588235294, null]}]}}] + color: "#00a651" + hatch_pattern: coarsely dotted WG_PEDE_LF: layer: [1, 6] - color: !!python/object/new:pydantic_extra_types.color.Color - state: [null, {_original: '#8b5e3b', _rgba: !!python/object/new:pydantic_extra_types.color.RGBA { - state: [null, {r: 0.5450980392156862, g: 0.3686274509803922, b: 0.23137254901960785, - alpha: null, _tuple: [0.5450980392156862, 0.3686274509803922, 0.23137254901960785, - null]}]}}] + color: "#8b5e3b" + hatch_pattern: coarsely dotted ME_GOLD_LF_C: layer: [2, 2] - color: !!python/object/new:pydantic_extra_types.color.Color - state: [null, {_original: '#aa9011', _rgba: !!python/object/new:pydantic_extra_types.color.RGBA { - state: [null, {r: 0.6666666666666666, g: 0.5647058823529412, b: 0.06666666666666667, - alpha: null, _tuple: [0.6666666666666666, 0.5647058823529412, 0.06666666666666667, - null]}]}}] + color: "#aa9011" + hatch_pattern: coarsely dotted ME_ALUM_LF: layer: [2, 3] - color: !!python/object/new:pydantic_extra_types.color.Color - state: [null, {_original: '#ef4036', _rgba: !!python/object/new:pydantic_extra_types.color.RGBA { - state: [null, {r: 0.9372549019607843, g: 0.25098039215686274, b: 0.21176470588235294, - alpha: null, _tuple: [0.9372549019607843, 0.25098039215686274, 0.21176470588235294, - null]}]}}] + color: "#ef4036" + hatch_pattern: coarsely dotted ME_HVIA_DF: layer: [2, 4] - color: !!python/object/new:pydantic_extra_types.color.Color - state: [null, {_original: '#92278f', _rgba: !!python/object/new:pydantic_extra_types.color.RGBA { - state: [null, {r: 0.5725490196078431, g: 0.15294117647058825, b: 0.5607843137254902, - alpha: null, _tuple: [0.5725490196078431, 0.15294117647058825, 0.5607843137254902, - null]}]}}] + color: "#92278f" + hatch_pattern: coarsely dotted ME_WIRE_LF: layer: [2, 5] - color: !!python/object/new:pydantic_extra_types.color.Color - state: [null, {_original: '#00a651', _rgba: !!python/object/new:pydantic_extra_types.color.RGBA { - state: [null, {r: 0.0, g: 0.6509803921568628, b: 0.3176470588235294, alpha: null, - _tuple: [0.0, 0.6509803921568628, 0.3176470588235294, null]}]}}] + color: "#00a651" + hatch_pattern: coarsely dotted ME_WIPO_DF_C: layer: [2, 6] - color: !!python/object/new:pydantic_extra_types.color.Color - state: [null, {_original: '#8b5e3b', _rgba: !!python/object/new:pydantic_extra_types.color.RGBA { - state: [null, {r: 0.5450980392156862, g: 0.3686274509803922, b: 0.23137254901960785, - alpha: null, _tuple: [0.5450980392156862, 0.3686274509803922, 0.23137254901960785, - null]}]}}] + color: "#8b5e3b" + hatch_pattern: coarsely dotted NP_PIMP_DF: layer: [5, 2] - color: !!python/object/new:pydantic_extra_types.color.Color - state: [null, {_original: '#aa9011', _rgba: !!python/object/new:pydantic_extra_types.color.RGBA { - state: [null, {r: 0.6666666666666666, g: 0.5647058823529412, b: 0.06666666666666667, - alpha: null, _tuple: [0.6666666666666666, 0.5647058823529412, 0.06666666666666667, - null]}]}}] + color: "#aa9011" + hatch_pattern: coarsely dotted NP_NIMP_DF: layer: [5, 3] - color: !!python/object/new:pydantic_extra_types.color.Color - state: [null, {_original: '#ef4036', _rgba: !!python/object/new:pydantic_extra_types.color.RGBA { - state: [null, {r: 0.9372549019607843, g: 0.25098039215686274, b: 0.21176470588235294, - alpha: null, _tuple: [0.9372549019607843, 0.25098039215686274, 0.21176470588235294, - null]}]}}] + color: "#ef4036" + hatch_pattern: coarsely dotted diff --git a/gvtt/vtt-layer-list.yaml b/gvtt/vtt-layer-list.yaml deleted file mode 100644 index 107adce..0000000 --- a/gvtt/vtt-layer-list.yaml +++ /dev/null @@ -1,96 +0,0 @@ -technology_name: VTT 3 um SOI - Public -release_date: 2023-06-14 -modules: - WG: - gds_layer: 1 - description: Waveguide processing - layers: - RIBS: - datatype: 0 - ADD_note: Rib+strip waveguide trenches - SUB_note: Rib and strip waveguides - CPY_note: 1.2 um SOI layer etch - MOST: - datatype: 1 - ADD_note: "Combined with RIBS: Strip waveguide trench, mirror facets." - CPY_note: Full SOI layer etch - LANE: - datatype: 2 - ADD_note: Chip border - DEOX: - datatype: 3 - ADD_note: Oxide removal from facets - ARCO: - datatype: 4 - ADD_note: AR coating - SNGL: - datatype: 5 - ADD_note: Flip-chip mounts, etched facets - PEDE: - datatype: 6 - ADD_note: Silicon slab (=pedestal) - BACK: - datatype: 9 - ADD_note: Wafer backside patterning - ME: - gds_layer: 2 - description: Metallization module - layers: - ALUM: - datatype: 3 - ADD_note: Aluminium for echelles, back-reflectors - HVIA: - datatype: 4 - ADD_note: Oxide via for contacting implanted heaters - WIRE: - datatype: 5 - ADD_note: Aluminium electrical wiring - WIPO: - datatype: 6 - ADD_note: Protective oxide opening on top of Al - NP: - gds_layer: 5 - description: Silicon implantations - layers: - PIMP: - datatype: 2 - ADD_note: p-type implantation of silicon - NIMP: - datatype: 3 - ADD_note: n-type implantation of silicon -aux: - gds_layer: 63 - id: AX - layers: - BBOX: - datatype: 10 - description: Black-box bounding area - BVIZ: - datatype: 11 - description: Black-box visualization - BPIN: - datatype: 12 - description: Black-box pin labels - INFO: - datatype: 63 - description: Information layer - NOME: - datatype: 1 - description: Forbidden area for ME module - NOUS: - datatype: 9 - description: No-draw area for end users - NOWG: - datatype: 2 - description: Forbidden area for WG module - NOXX: - datatype: 0 - description: Strict no draw area - NOGE: - datatype: 8 - description: Germanium keep-out regions for Ge load compensating structures - -offsets: - add_offset: 10 - sub_offset: 20 - cpy_offset: 30 diff --git a/gvtt/xsections.py b/gvtt/xsections.py index 2ef1f70..ea41e36 100644 --- a/gvtt/xsections.py +++ b/gvtt/xsections.py @@ -1,5 +1,7 @@ -""" technology definitions.""" +"""technology definitions.""" + import sys +from functools import partial import gdsfactory as gf from gdsfactory.cross_section import ( @@ -126,6 +128,10 @@ def vttstrip( sm_rib = rib(width=2.5) xs_sc = euler_strip = strip(width=1.875) +straight_sc = partial(gf.components.straight, cross_section=xs_sc) +straight_rib = partial(gf.components.straight, cross_section=sm_rib) +straight = straight_sc + cross_sections = get_cross_sections(sys.modules[__name__]) if __name__ == "__main__": diff --git a/install_tech.py b/install_tech.py index d93f9d3..820ad99 100644 --- a/install_tech.py +++ b/install_tech.py @@ -1,4 +1,5 @@ """Symlink tech to klayout.""" + import os import pathlib import shutil diff --git a/pyproject.toml b/pyproject.toml index e4719b3..b9e5d1f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -12,7 +12,7 @@ classifiers = [ "Operating System :: OS Independent" ] dependencies = [ - "gdsfactory[cad]==7.9.2" + "gdsfactory[cad]==7.25.1" ] description = "gdsfactory VTT PDK" keywords = ["python"] @@ -32,28 +32,11 @@ dev = [ docs = [ "autodoc_pydantic", "jupytext", - "jupyter-book==0.15.1" + "jupyter-book>=0.15.1,<1.1" ] -[tool.black] -exclude = ''' # Specify the files/dirs that should be ignored by the black formatter -/( - \.eggs - | \.git - | \.hg - | \.mypy_cache - | \.tox - | \.venv - | env - | _build - | buck-out - | build - | dist -)/ -''' -include = '\.pyi?$' -line-length = 88 -target-version = ['py310'] +[tool.codespell] +ignore-words-list = "te, te/tm, te, ba, fpr, fpr_spacing, ro, nd, donot, schem" [tool.mypy] python_version = "3.10" diff --git a/tests/ref/mmi1x2_mmi1x2_2b6ccbca.gds b/tests/ref/mmi1x2_mmi1x2_2b6ccbca.gds new file mode 100644 index 0000000..743eabb Binary files /dev/null and b/tests/ref/mmi1x2_mmi1x2_2b6ccbca.gds differ diff --git a/tests/ref/mmi1x2_mmi1x2_c8071938.gds b/tests/ref/mmi1x2_mmi1x2_c8071938.gds new file mode 100644 index 0000000..9b8ec30 Binary files /dev/null and b/tests/ref/mmi1x2_mmi1x2_c8071938.gds differ diff --git a/tests/ref/mmi2x2_mmi2x2_0e945212.gds b/tests/ref/mmi2x2_mmi2x2_0e945212.gds new file mode 100644 index 0000000..1a22312 Binary files /dev/null and b/tests/ref/mmi2x2_mmi2x2_0e945212.gds differ diff --git a/tests/ref/mmi2x2_mmi2x2_55c4183e.gds b/tests/ref/mmi2x2_mmi2x2_55c4183e.gds new file mode 100644 index 0000000..e21f78d Binary files /dev/null and b/tests/ref/mmi2x2_mmi2x2_55c4183e.gds differ diff --git a/tests/ref/straight_straight_23224938.gds b/tests/ref/straight_straight_23224938.gds new file mode 100644 index 0000000..9907505 Binary files /dev/null and b/tests/ref/straight_straight_23224938.gds differ diff --git a/tests/ref/straight_straight_6e70ce88.gds b/tests/ref/straight_straight_6e70ce88.gds new file mode 100644 index 0000000..28e95d2 Binary files /dev/null and b/tests/ref/straight_straight_6e70ce88.gds differ diff --git a/tests/ref/straight_straight_bdf7fc24.gds b/tests/ref/straight_straight_bdf7fc24.gds new file mode 100644 index 0000000..e1a4094 Binary files /dev/null and b/tests/ref/straight_straight_bdf7fc24.gds differ diff --git a/tests/ref/straight_straight_d6648243.gds b/tests/ref/straight_straight_d6648243.gds new file mode 100644 index 0000000..b414115 Binary files /dev/null and b/tests/ref/straight_straight_d6648243.gds differ diff --git a/tests/test_components/test_pdk_settings_bend_euler_.yml b/tests/test_components/test_pdk_settings_bend_euler_.yml index 5f3adb2..2ca5ff3 100644 --- a/tests/test_components/test_pdk_settings_bend_euler_.yml +++ b/tests/test_components/test_pdk_settings_bend_euler_.yml @@ -1,55 +1,17 @@ +function: bend_euler +info: + dy: 100.379 + length: 168.628 + radius: 100.37938314613233 + radius_min: 53.676 + width: 1.875 +module: gvtt.components.bend_euler name: bend_euler -ports: - o1: - center: - - 0.0 - - 0.0 - layer: - - 89 - - 1 - name: o1 - orientation: 180.0 - port_type: optical - shear_angle: null - width: 1.875 - o2: - center: - - 100.379 - - 100.379 - layer: - - 89 - - 1 - name: o2 - orientation: 90.0 - port_type: optical - shear_angle: null - width: 1.875 settings: - changed: {} - child: null - default: - angle: 90.0 - cross_section: xs_sc - direction: ccw - npoints: null - p: 1.0 - with_arc_floorplan: false - with_bbox: true - full: - angle: 90.0 - cross_section: xs_sc - direction: ccw - npoints: null - p: 1.0 - with_arc_floorplan: false - with_bbox: true - function_name: bend_euler - info: - dy: 100.379 - length: 168.628 - radius: 100.379 - radius_min: 53.676 - width: 1.875 - info_version: 2 - module: gvtt.components.bend_euler - name: bend_euler + angle: 90.0 + cross_section: xs_sc + direction: ccw + npoints: null + p: 1.0 + with_arc_floorplan: false + with_bbox: true diff --git a/tests/test_components/test_pdk_settings_die_.yml b/tests/test_components/test_pdk_settings_die_.yml index a56081d..ed5221f 100644 --- a/tests/test_components/test_pdk_settings_die_.yml +++ b/tests/test_components/test_pdk_settings_die_.yml @@ -1,44 +1,23 @@ +function: die +info: + port_x_position_east: 2423.5 + port_x_position_west: -2423.5 + port_y_position_north: 4673.5 + port_y_position_south: -4673.5 +module: gvtt.components.die name: die -ports: {} settings: - changed: {} - child: null - default: - bbox_layer: null - die_name: chip99 - draw_corners: true - draw_dicing_lane: true - layer: null - size: - - 5000.0 - - 9500.0 - street_length: 1000.0 - street_width: 75.0 - text_component: - function: text - text_location: SW - text_size: 100.0 - full: - bbox_layer: null - die_name: chip99 - draw_corners: true - draw_dicing_lane: true - layer: null - size: - - 5000.0 - - 9500.0 - street_length: 1000.0 - street_width: 75.0 - text_component: - function: text - text_location: SW - text_size: 100.0 - function_name: die - info: - port_x_position_east: 2423.5 - port_x_position_west: -2423.5 - port_y_position_north: 4673.5 - port_y_position_south: -4673.5 - info_version: 2 - module: gvtt.components.die - name: die + bbox_layer: null + die_name: chip99 + draw_corners: true + draw_dicing_lane: true + layer: null + size: + - 5000.0 + - 9500.0 + street_length: 1000.0 + street_width: 75.0 + text_component: + function: text + text_location: SW + text_size: 100.0 diff --git a/tests/test_components/test_pdk_settings_edge_coupler_rib_.yml b/tests/test_components/test_pdk_settings_edge_coupler_rib_.yml index cb40145..674415a 100644 --- a/tests/test_components/test_pdk_settings_edge_coupler_rib_.yml +++ b/tests/test_components/test_pdk_settings_edge_coupler_rib_.yml @@ -1,34 +1,10 @@ +function: edge_coupler_rib +info: {} +module: gvtt.components.edge_coupler_rib name: edge_coupler_rib -ports: - o1: - center: - - 25.0 - - 0.0 - layer: - - 89 - - 0 - name: o1 - orientation: 0.0 - port_type: optical - shear_angle: null - width: 3.0 settings: - changed: {} - child: null - default: - edge_coupling_width: 3.0 - polishing_length: 25.0 - side: W - xpos: 0.0 - ypos: 0.0 - full: - edge_coupling_width: 3.0 - polishing_length: 25.0 - side: W - xpos: 0.0 - ypos: 0.0 - function_name: edge_coupler_rib - info: {} - info_version: 2 - module: gvtt.components.edge_coupler_rib - name: edge_coupler_rib + edge_coupling_width: 3.0 + polishing_length: 25.0 + side: W + xpos: 0.0 + ypos: 0.0 diff --git a/tests/test_components/test_pdk_settings_mmi1x2_.yml b/tests/test_components/test_pdk_settings_mmi1x2_.yml index 83c33f8..8fc7ead 100644 --- a/tests/test_components/test_pdk_settings_mmi1x2_.yml +++ b/tests/test_components/test_pdk_settings_mmi1x2_.yml @@ -1,238 +1,82 @@ -name: mmi1x2_2b6ccbca -ports: - o1: - center: - - -10.0 - - 0.0 - layer: - - 89 - - 1 - name: o1 - orientation: 180.0 - port_type: optical - shear_angle: null - width: 1.875 - o2: - center: - - 53.25 - - 1.562 - layer: - - 89 - - 1 - name: o2 - orientation: 0.0 - port_type: optical - shear_angle: null - width: 1.875 - o3: - center: - - 53.25 - - -1.562 - layer: - - 89 - - 1 - name: o3 - orientation: 0.0 - port_type: optical - shear_angle: null - width: 1.875 +function: mmi1x2 +info: {} +module: gdsfactory.components.mmi1x2 +name: mmi1x2_c8071938 settings: - changed: - cross_section: - add_pins_function_module: gdsfactory.add_pins - add_pins_function_name: null - auto_widen: false - auto_widen_minimum_length: 200.0 - bbox_layers: null - bbox_offsets: null - components_along_path: [] - end_straight_length: 0.01 - gap: 3.0 - info: {} - min_length: 0.01 - radius: 10.0 - radius_min: null - sections: - - hidden: false - insets: null - layer: - - 89 - - 1 - name: _default - offset: 0.0 - offset_function: null - port_names: - - o1 - - o2 - port_types: - - optical - - optical - simplify: null - width: 1.875 - width_function: null - - hidden: false - insets: null - layer: WG_RIBS_SUB - name: WG - offset: 0 - offset_function: null - port_names: - - null - - null - port_types: - - optical - - optical - simplify: null - width: 1.875 - width_function: null - - hidden: false - insets: null - layer: WG_RIBS_ADD - name: trench - offset: 0 - offset_function: null - port_names: - - null - - null - port_types: - - optical - - optical - simplify: null - width: 21.875 - width_function: null - - hidden: false - insets: null - layer: WG_MOST_ADD - name: trench_2 - offset: 0 - offset_function: null - port_names: - - null - - null - port_types: - - optical - - optical - simplify: null - width: 22.875 - width_function: null - start_straight_length: 0.01 - taper_length: 10.0 - width_wide: null - gap_mmi: 1.25 - length_mmi: 43.25 - length_taper: 1.0 - taper: - function: strip_taper - width_mmi: 6.25 - width_taper: 1.875 - child: null - default: - cross_section: xs_sc - gap_mmi: 0.25 - length_mmi: 5.5 - length_taper: 10.0 - straight: - function: straight - taper: - function: taper - width: null - width_mmi: 2.5 - width_taper: 1.0 - with_bbox: true - full: - cross_section: - add_pins_function_module: gdsfactory.add_pins - add_pins_function_name: null - auto_widen: false - auto_widen_minimum_length: 200.0 - bbox_layers: null - bbox_offsets: null - components_along_path: [] - end_straight_length: 0.01 - gap: 3.0 - info: {} - min_length: 0.01 - radius: 10.0 - radius_min: null - sections: - - hidden: false - insets: null - layer: - - 89 - - 1 - name: _default - offset: 0.0 - offset_function: null - port_names: - - o1 - - o2 - port_types: - - optical - - optical - simplify: null - width: 1.875 - width_function: null - - hidden: false - insets: null - layer: WG_RIBS_SUB - name: WG - offset: 0 - offset_function: null - port_names: - - null - - null - port_types: - - optical - - optical - simplify: null - width: 1.875 - width_function: null - - hidden: false - insets: null - layer: WG_RIBS_ADD - name: trench - offset: 0 - offset_function: null - port_names: - - null - - null - port_types: - - optical - - optical - simplify: null - width: 21.875 - width_function: null - - hidden: false - insets: null - layer: WG_MOST_ADD - name: trench_2 - offset: 0 - offset_function: null - port_names: - - null - - null - port_types: - - optical - - optical - simplify: null - width: 22.875 - width_function: null - start_straight_length: 0.01 - taper_length: 10.0 - width_wide: null - gap_mmi: 1.25 - length_mmi: 43.25 - length_taper: 1.0 - straight: - function: straight - taper: - function: strip_taper - width: null - width_mmi: 6.25 - width_taper: 1.875 - with_bbox: true - function_name: mmi1x2 - info: {} - info_version: 2 - module: gdsfactory.components.mmi1x2 - name: mmi1x2_2b6ccbca + cross_section: + bbox_layers: null + bbox_offsets: null + components_along_path: [] + radius: 10.0 + radius_min: null + sections: + - hidden: false + insets: null + layer: + - 89 + - 1 + name: _default + offset: 0.0 + offset_function: null + port_names: + - o1 + - o2 + port_types: + - optical + - optical + simplify: null + width: 1.875 + width_function: null + - hidden: false + insets: null + layer: WG_RIBS_SUB + name: WG + offset: 0 + offset_function: null + port_names: + - null + - null + port_types: + - optical + - optical + simplify: null + width: 1.875 + width_function: null + - hidden: false + insets: null + layer: WG_RIBS_ADD + name: trench + offset: 0 + offset_function: null + port_names: + - null + - null + port_types: + - optical + - optical + simplify: null + width: 21.875 + width_function: null + - hidden: false + insets: null + layer: WG_MOST_ADD + name: trench_2 + offset: 0 + offset_function: null + port_names: + - null + - null + port_types: + - optical + - optical + simplify: null + width: 22.875 + width_function: null + gap_mmi: 1.25 + length_mmi: 43.25 + length_taper: 1.0 + taper: + function: strip_taper + width: null + width_mmi: 6.25 + width_taper: 1.875 diff --git a/tests/test_components/test_pdk_settings_mmi2x2_.yml b/tests/test_components/test_pdk_settings_mmi2x2_.yml index 28db8bc..2a24ce9 100644 --- a/tests/test_components/test_pdk_settings_mmi2x2_.yml +++ b/tests/test_components/test_pdk_settings_mmi2x2_.yml @@ -1,250 +1,82 @@ -name: mmi2x2_0e945212 -ports: - o1: - center: - - -10.0 - - -1.562 - layer: - - 89 - - 1 - name: o1 - orientation: 180.0 - port_type: optical - shear_angle: null - width: 1.875 - o2: - center: - - -10.0 - - 1.562 - layer: - - 89 - - 1 - name: o2 - orientation: 180.0 - port_type: optical - shear_angle: null - width: 1.875 - o3: - center: - - 122.0 - - 1.562 - layer: - - 89 - - 1 - name: o3 - orientation: 0.0 - port_type: optical - shear_angle: null - width: 1.875 - o4: - center: - - 122.0 - - -1.562 - layer: - - 89 - - 1 - name: o4 - orientation: 0.0 - port_type: optical - shear_angle: null - width: 1.875 +function: mmi2x2 +info: {} +module: gdsfactory.components.mmi2x2 +name: mmi2x2_55c4183e settings: - changed: - cross_section: - add_pins_function_module: gdsfactory.add_pins - add_pins_function_name: null - auto_widen: false - auto_widen_minimum_length: 200.0 - bbox_layers: null - bbox_offsets: null - components_along_path: [] - end_straight_length: 0.01 - gap: 3.0 - info: {} - min_length: 0.01 - radius: 10.0 - radius_min: null - sections: - - hidden: false - insets: null - layer: - - 89 - - 1 - name: _default - offset: 0.0 - offset_function: null - port_names: - - o1 - - o2 - port_types: - - optical - - optical - simplify: null - width: 1.875 - width_function: null - - hidden: false - insets: null - layer: WG_RIBS_SUB - name: WG - offset: 0 - offset_function: null - port_names: - - null - - null - port_types: - - optical - - optical - simplify: null - width: 1.875 - width_function: null - - hidden: false - insets: null - layer: WG_RIBS_ADD - name: trench - offset: 0 - offset_function: null - port_names: - - null - - null - port_types: - - optical - - optical - simplify: null - width: 21.875 - width_function: null - - hidden: false - insets: null - layer: WG_MOST_ADD - name: trench_2 - offset: 0 - offset_function: null - port_names: - - null - - null - port_types: - - optical - - optical - simplify: null - width: 22.875 - width_function: null - start_straight_length: 0.01 - taper_length: 10.0 - width_wide: null - gap_mmi: 1.25 - length_mmi: 112.0 - length_taper: 1.0 - taper: - function: strip_taper - width_mmi: 5.0 - width_taper: 1.875 - child: null - default: - cross_section: xs_sc - gap_mmi: 0.25 - length_mmi: 5.5 - length_taper: 10.0 - straight: - function: straight - taper: - function: taper - width: null - width_mmi: 2.5 - width_taper: 1.0 - with_bbox: true - full: - cross_section: - add_pins_function_module: gdsfactory.add_pins - add_pins_function_name: null - auto_widen: false - auto_widen_minimum_length: 200.0 - bbox_layers: null - bbox_offsets: null - components_along_path: [] - end_straight_length: 0.01 - gap: 3.0 - info: {} - min_length: 0.01 - radius: 10.0 - radius_min: null - sections: - - hidden: false - insets: null - layer: - - 89 - - 1 - name: _default - offset: 0.0 - offset_function: null - port_names: - - o1 - - o2 - port_types: - - optical - - optical - simplify: null - width: 1.875 - width_function: null - - hidden: false - insets: null - layer: WG_RIBS_SUB - name: WG - offset: 0 - offset_function: null - port_names: - - null - - null - port_types: - - optical - - optical - simplify: null - width: 1.875 - width_function: null - - hidden: false - insets: null - layer: WG_RIBS_ADD - name: trench - offset: 0 - offset_function: null - port_names: - - null - - null - port_types: - - optical - - optical - simplify: null - width: 21.875 - width_function: null - - hidden: false - insets: null - layer: WG_MOST_ADD - name: trench_2 - offset: 0 - offset_function: null - port_names: - - null - - null - port_types: - - optical - - optical - simplify: null - width: 22.875 - width_function: null - start_straight_length: 0.01 - taper_length: 10.0 - width_wide: null - gap_mmi: 1.25 - length_mmi: 112.0 - length_taper: 1.0 - straight: - function: straight - taper: - function: strip_taper - width: null - width_mmi: 5.0 - width_taper: 1.875 - with_bbox: true - function_name: mmi2x2 - info: {} - info_version: 2 - module: gdsfactory.components.mmi2x2 - name: mmi2x2_0e945212 + cross_section: + bbox_layers: null + bbox_offsets: null + components_along_path: [] + radius: 10.0 + radius_min: null + sections: + - hidden: false + insets: null + layer: + - 89 + - 1 + name: _default + offset: 0.0 + offset_function: null + port_names: + - o1 + - o2 + port_types: + - optical + - optical + simplify: null + width: 1.875 + width_function: null + - hidden: false + insets: null + layer: WG_RIBS_SUB + name: WG + offset: 0 + offset_function: null + port_names: + - null + - null + port_types: + - optical + - optical + simplify: null + width: 1.875 + width_function: null + - hidden: false + insets: null + layer: WG_RIBS_ADD + name: trench + offset: 0 + offset_function: null + port_names: + - null + - null + port_types: + - optical + - optical + simplify: null + width: 21.875 + width_function: null + - hidden: false + insets: null + layer: WG_MOST_ADD + name: trench_2 + offset: 0 + offset_function: null + port_names: + - null + - null + port_types: + - optical + - optical + simplify: null + width: 22.875 + width_function: null + gap_mmi: 1.25 + length_mmi: 112.0 + length_taper: 1.0 + taper: + function: strip_taper + width: null + width_mmi: 5.0 + width_taper: 1.875 diff --git a/tests/test_components/test_pdk_settings_rib_taper_.yml b/tests/test_components/test_pdk_settings_rib_taper_.yml index 5399b88..e4e5172 100644 --- a/tests/test_components/test_pdk_settings_rib_taper_.yml +++ b/tests/test_components/test_pdk_settings_rib_taper_.yml @@ -1,47 +1,12 @@ +function: rib_taper +info: + length: 0.01 + width1: 1.0 + width2: 1.0 +module: gvtt.components.transitions name: rib_taper -ports: - o1: - center: - - 0.0 - - 0.0 - layer: - - 89 - - 0 - name: o1 - orientation: 180.0 - port_type: optical - shear_angle: null - width: 1.0 - o2: - center: - - 0.01 - - 0.0 - layer: - - 89 - - 0 - name: o2 - orientation: 0.0 - port_type: optical - shear_angle: null - width: 1.0 settings: - changed: {} - child: null - default: - length: null - taper_ratio: 50.0 - width1: 1 - width2: 1 - full: - length: null - taper_ratio: 50.0 - width1: 1 - width2: 1 - function_name: rib_taper - info: - length: 0.01 - width1: 1.0 - width2: 1.0 - info_version: 2 - module: gvtt.components.transitions - name: rib_taper + length: null + taper_ratio: 50.0 + width1: 1 + width2: 1 diff --git a/tests/test_components/test_pdk_settings_rib_to_strip_.yml b/tests/test_components/test_pdk_settings_rib_to_strip_.yml index 04d40c9..66db29d 100644 --- a/tests/test_components/test_pdk_settings_rib_to_strip_.yml +++ b/tests/test_components/test_pdk_settings_rib_to_strip_.yml @@ -1,41 +1,11 @@ +function: rib_to_strip +info: + length: 200.0 + width1: 3.0 + width2: 3.0 +module: gvtt.components.transitions name: rib_to_strip -ports: - o1: - center: - - 0.0 - - 0.0 - layer: null - name: o1 - orientation: 180.0 - port_type: optical - shear_angle: null - width: 3.0 - o2: - center: - - 200.0 - - 0.0 - layer: null - name: o2 - orientation: 0.0 - port_type: optical - shear_angle: null - width: 3.0 settings: - changed: {} - child: null - default: - length: 200.0 - width1: 3.0 - width2: 3.0 - full: - length: 200.0 - width1: 3.0 - width2: 3.0 - function_name: rib_to_strip - info: - length: 200.0 - width1: 3.0 - width2: 3.0 - info_version: 2 - module: gvtt.components.transitions - name: rib_to_strip + length: 200.0 + width1: 3.0 + width2: 3.0 diff --git a/tests/test_components/test_pdk_settings_straight_.yml b/tests/test_components/test_pdk_settings_straight_.yml new file mode 100644 index 0000000..b5c7247 --- /dev/null +++ b/tests/test_components/test_pdk_settings_straight_.yml @@ -0,0 +1,82 @@ +function: straight +info: + length: 10.0 + route_info_euler_strip_length: 10.0 + route_info_length: 10.0 + route_info_type: euler_strip + route_info_weight: 10.0 + width: 1.875 +module: gdsfactory.components.straight +name: straight_bdf7fc24 +settings: + cross_section: + bbox_layers: null + bbox_offsets: null + components_along_path: [] + radius: 10.0 + radius_min: null + sections: + - hidden: false + insets: null + layer: + - 89 + - 1 + name: _default + offset: 0.0 + offset_function: null + port_names: + - o1 + - o2 + port_types: + - optical + - optical + simplify: null + width: 1.875 + width_function: null + - hidden: false + insets: null + layer: WG_RIBS_SUB + name: WG + offset: 0 + offset_function: null + port_names: + - null + - null + port_types: + - optical + - optical + simplify: null + width: 1.875 + width_function: null + - hidden: false + insets: null + layer: WG_RIBS_ADD + name: trench + offset: 0 + offset_function: null + port_names: + - null + - null + port_types: + - optical + - optical + simplify: null + width: 21.875 + width_function: null + - hidden: false + insets: null + layer: WG_MOST_ADD + name: trench_2 + offset: 0 + offset_function: null + port_names: + - null + - null + port_types: + - optical + - optical + simplify: null + width: 22.875 + width_function: null + length: 10.0 + npoints: 2 diff --git a/tests/test_components/test_pdk_settings_straight_rib_.yml b/tests/test_components/test_pdk_settings_straight_rib_.yml new file mode 100644 index 0000000..a7c426f --- /dev/null +++ b/tests/test_components/test_pdk_settings_straight_rib_.yml @@ -0,0 +1,67 @@ +function: straight +info: + length: 10.0 + route_info_length: 10.0 + route_info_sm_rib_length: 10.0 + route_info_type: sm_rib + route_info_weight: 10.0 + width: 2.5 +module: gdsfactory.components.straight +name: straight_6e70ce88 +settings: + cross_section: + bbox_layers: null + bbox_offsets: null + components_along_path: [] + radius: 10.0 + radius_min: null + sections: + - hidden: false + insets: null + layer: + - 89 + - 0 + name: _default + offset: 0.0 + offset_function: null + port_names: + - o1 + - o2 + port_types: + - optical + - optical + simplify: null + width: 2.5 + width_function: null + - hidden: false + insets: null + layer: WG_RIBS_SUB + name: WG + offset: 0 + offset_function: null + port_names: + - null + - null + port_types: + - optical + - optical + simplify: null + width: 2.5 + width_function: null + - hidden: false + insets: null + layer: WG_RIBS_ADD + name: trench + offset: 0 + offset_function: null + port_names: + - null + - null + port_types: + - optical + - optical + simplify: null + width: 22.5 + width_function: null + length: 10.0 + npoints: 2 diff --git a/tests/test_components/test_pdk_settings_straight_sc_.yml b/tests/test_components/test_pdk_settings_straight_sc_.yml new file mode 100644 index 0000000..b5c7247 --- /dev/null +++ b/tests/test_components/test_pdk_settings_straight_sc_.yml @@ -0,0 +1,82 @@ +function: straight +info: + length: 10.0 + route_info_euler_strip_length: 10.0 + route_info_length: 10.0 + route_info_type: euler_strip + route_info_weight: 10.0 + width: 1.875 +module: gdsfactory.components.straight +name: straight_bdf7fc24 +settings: + cross_section: + bbox_layers: null + bbox_offsets: null + components_along_path: [] + radius: 10.0 + radius_min: null + sections: + - hidden: false + insets: null + layer: + - 89 + - 1 + name: _default + offset: 0.0 + offset_function: null + port_names: + - o1 + - o2 + port_types: + - optical + - optical + simplify: null + width: 1.875 + width_function: null + - hidden: false + insets: null + layer: WG_RIBS_SUB + name: WG + offset: 0 + offset_function: null + port_names: + - null + - null + port_types: + - optical + - optical + simplify: null + width: 1.875 + width_function: null + - hidden: false + insets: null + layer: WG_RIBS_ADD + name: trench + offset: 0 + offset_function: null + port_names: + - null + - null + port_types: + - optical + - optical + simplify: null + width: 21.875 + width_function: null + - hidden: false + insets: null + layer: WG_MOST_ADD + name: trench_2 + offset: 0 + offset_function: null + port_names: + - null + - null + port_types: + - optical + - optical + simplify: null + width: 22.875 + width_function: null + length: 10.0 + npoints: 2 diff --git a/tests/test_components/test_pdk_settings_strip_taper_.yml b/tests/test_components/test_pdk_settings_strip_taper_.yml index bb0ca22..035004a 100644 --- a/tests/test_components/test_pdk_settings_strip_taper_.yml +++ b/tests/test_components/test_pdk_settings_strip_taper_.yml @@ -1,47 +1,12 @@ +function: strip_taper +info: + length: 0.01 + width1: 1.0 + width2: 1.0 +module: gvtt.components.transitions name: strip_taper -ports: - o1: - center: - - 0.0 - - 0.0 - layer: - - 89 - - 1 - name: o1 - orientation: 180.0 - port_type: optical - shear_angle: null - width: 1.0 - o2: - center: - - 10.0 - - 0.0 - layer: - - 89 - - 1 - name: o2 - orientation: 0.0 - port_type: optical - shear_angle: null - width: 1.0 settings: - changed: {} - child: null - default: - length: null - taper_ratio: 25.0 - width1: 1 - width2: 1 - full: - length: null - taper_ratio: 25.0 - width1: 1 - width2: 1 - function_name: strip_taper - info: - length: 0.01 - width1: 1.0 - width2: 1.0 - info_version: 2 - module: gvtt.components.transitions - name: strip_taper + length: null + taper_ratio: 25.0 + width1: 1 + width2: 1