.coveragerc
.flake8
.gitignore
.gitpod.Dockerfile
.gitpod.yml
.hadolint.yaml
.isort.cfg
.markdownlint.yaml
.pre-commit-config.yaml
.readthedocs.yml
.shellcheckrc
AGENTS.md
AUTHORS.rst
CHANGELOG.rst
CONTRIBUTING.rst
GEMINI.md
LICENSE
README.md
_config.yml
alpha10.svg
alpha12.svg
alpha14.svg
alpha8.svg
alpha9998.svg
coverage.json
demo_overlap.py
demo_overlap.svg
diagram.bob
dme_algorithm-slides.html
dme_algorithm-slides.md
environment.yml
example_route3d_with_constraint_and_keepouts.svg
example_route3d_with_steiner_and_keepouts.svg
example_route_with_delay_constraint.svg
example_route_with_keepouts.svg
example_route_with_steiner.svg
example_route_with_steiner_and_keepouts.svg
example_route_with_steiner_special.svg
global_router-slides.html
global_router-slides.md
my_congestion.svg
mypy.ini
mypy_test_errors.txt
neg_specical10.svg
oryx-build-commands.txt
plot_alpha.py
presentation_overlap_detection.html
presentation_overlap_detection.md
pyproject.toml
requirements.txt
rpolygon-slides.html
rpolygon-slides.md
setup.cfg
setup.py
svgo.config.js
test.svg
tox.ini
wirelength_vs_alpha.png
wirelength_vs_alpha_small.png
.benchmarks/test_area.py
.github/PULL_REQUEST_TEMPLATE.md
.github/ISSUE_TEMPLATE/bug_report.md
.github/ISSUE_TEMPLATE/documentation.md
.github/ISSUE_TEMPLATE/feature_request.md
.github/workflows/jekyll-gh-pages.yml
.github/workflows/multi-platforms.yml
.github/workflows/python-app.yml
.github/workflows/python-publish.yml
changelog/1.misc.rst
changelog/README.md
docs/Makefile
docs/authors.rst
docs/build_from_md.py
docs/build_remark.py
docs/build_slides.py
docs/changelog.rst
docs/conf.py
docs/contributing.md
docs/contributing.rst
docs/figures_demo.rst
docs/index.rst
docs/license.rst
docs/my_congestion.svg
docs/readme.rst
docs/requirements.txt
docs/slides_content.md
docs/steiner_forest_diagonal.svg
docs/_static/.gitignore
docs/essays/essay.md
docs/essays/polygon_vs_rpolygon_comparison.html
docs/essays/polygon_vs_rpolygon_comparison.md
docs/examples/plot_cts.py
docs/examples/plot_global_router.py
docs/examples/plot_rectangles.py
docs/examples/plot_rpolygon.py
docs/misc/note.md
docs/misc/report.md
docs/proposals/fyproj2026.md
docs/proposals/fyproj2026.md.bad
docs/proposals/fyproj2026_cts.md
docs/proposals/fyproj2026_cts_2d.md
docs/proposals/mulit-fpga-routing.md
examples/steiner_forest_grid_example.py
examples/steiner_forest_grid_large_example.py
examples/steiner_forest_simple_example.py
experimental/distance_comparison.png
experimental/rectilinear_distance_field.png
experimental/rectilinear_voronoi.ipynb
experimental/rectilinear_voronoi.py
experimental/rectilinear_voronoi_diamond.png
experimental/rectilinear_voronoi_grid.png
experimental/rectilinear_voronoi_random.png
experimental/steiner_trees_demo.py
outputs/comparison.svg
outputs/convex_hull.svg
outputs/delay_model_comparison.svg
outputs/delay_model_comparison3d.svg
outputs/elmore_model_clock_tree.svg
outputs/elmore_model_clock_tree3d.svg
outputs/example_route3d_with_constraint.svg
outputs/example_route3d_with_constraint_and_keepouts.svg
outputs/example_route3d_with_steiner.svg
outputs/example_route3d_with_steiner_and_keepouts.svg
outputs/example_route_with_constraint.svg
outputs/example_route_with_constraint_specical.svg
outputs/example_route_with_delay_constraint.svg
outputs/example_route_with_keepouts.svg
outputs/example_route_with_steiner.svg
outputs/example_route_with_steiner_and_keepouts.svg
outputs/example_route_with_steiner_special.svg
outputs/linear_model_clock_tree.svg
outputs/linear_model_clock_tree3d.svg
outputs/my_congestion.svg
outputs/neg_specical10.svg
outputs/polygon_convex_hull.svg
outputs/polygon_convex_hull13.svg
outputs/rectilinear-shapes-for-vlsi-physical-desgin.svg
outputs/rpolygon_convex_cut.svg
outputs/rpolygon_cut_explicit.svg
outputs/rpolyon_convex_hull.svg
outputs/rpolyon_convex_hull13.svg
outputs/rpolyon_cut_convex.svg
outputs/rpolyon_cut_convex2.svg
outputs/rpolyon_xmono.svg
outputs/rpolyon_xmono_hull.svg
outputs/rpolyon_ymono_hull.svg
outputs/steiner_forest.svg
outputs/steiner_forest_diagonal.svg
outputs/test.svg
outputs/xmono_hull.svg
requirements/README.md
requirements/default.txt
requirements/dev.txt
requirements/doc.txt
requirements/extras.txt
requirements/test.txt
src/physdes/__init__.py
src/physdes/generic.py
src/physdes/generic.tpy
src/physdes/interval.py
src/physdes/manhattan_arc.py
src/physdes/manhattan_arc_3d.py
src/physdes/manhattan_arc_3d.tpy
src/physdes/point.py
src/physdes/point.tpy
src/physdes/polygon.py
src/physdes/py.typed
src/physdes/rdllist.py
src/physdes/recti.py
src/physdes/rpolygon.py
src/physdes/rpolygon_cut.py
src/physdes/skeleton.py
src/physdes/to_polygon.py
src/physdes/vector2.py
src/physdes/vector2.tpy
src/physdes/cts/clk_tree3d_vis.py
src/physdes/cts/clk_tree_vis.py
src/physdes/cts/dme_algorithm.py
src/physdes/router/global_router.py
src/physdes/router/global_router3d.tpy
src/physdes/router/routing_tree.py
src/physdes/router/routing_tree3d.tpy
src/physdes/router/routing_visualizer.py
src/physdes/router/steiner_forest.md
src/physdes/steiner_forest/congestion_map.py
src/physdes/steiner_forest/my_congestion.svg
src/physdes/steiner_forest/steiner_forest.md
src/physdes/steiner_forest/steiner_forest.svg
src/physdes/steiner_forest/steiner_forest_diagonal.svg
src/physdes/steiner_forest/steiner_forest_grid.py
src/physdes_py.egg-info/PKG-INFO
src/physdes_py.egg-info/SOURCES.txt
src/physdes_py.egg-info/dependency_links.txt
src/physdes_py.egg-info/not-zip-safe
src/physdes_py.egg-info/requires.txt
src/physdes_py.egg-info/top_level.txt
tests/__init__.py
tests/conftest.py
tests/golden.txt
tests/mysvg.css
tests/pnrpoly.svg
tests/run_failing_tests.py
tests/test_alpha.py
tests/test_clk_tree_vis.py
tests/test_dme_algorithm.py
tests/test_generic_functions.py
tests/test_global_router.py
tests/test_global_router3d.py
tests/test_global_router3d.tpy
tests/test_global_router3d_with_keepouts.py
tests/test_global_router3d_with_keepouts2.py
tests/test_global_router_logic.py
tests/test_global_router_logic3d.tpy
tests/test_global_router_with_keepouts.py
tests/test_global_router_with_keepouts2.py
tests/test_interval.py
tests/test_manhattan_arc_3d.py
tests/test_manhattan_arc_3d.tpy
tests/test_merge.py
tests/test_merge3d.tpy
tests/test_nearest_point_to.tpy
tests/test_overlap.py
tests/test_point.py
tests/test_point_extended.py
tests/test_point_hypothesis.py
tests/test_polygon.py
tests/test_polygon.svg
tests/test_polygon_convex_decomposition.py
tests/test_polygon_hypothesis.py
tests/test_rdllist.py
tests/test_rect3d.py
tests/test_recti.py
tests/test_recti_hypothesis.py
tests/test_routing_tree.py
tests/test_routing_tree3d.tpy
tests/test_routing_visualizer.py
tests/test_rpolygon.py
tests/test_rpolygon_convex_cut.py
tests/test_rpolygon_convex_hull.py
tests/test_rpolygon_cut.py
tests/test_skeleton.py
tests/test_steiner_forest_grid.py
tests/test_to_polygon.py
tests/test_vector2.py
tests/test_vector2_hypothesis.py
tests/xmono_polygon.svg
tests/xmono_polygon2.svg
tests/ymono_polygon.svg
tests/ymono_rpolygon.svg