ScadPy 0.4.5__tar.gz → 0.4.6__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- scadpy-0.4.6/.github/workflows/ci.yml +60 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/PKG-INFO +2 -1
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/Makefile +5 -1
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/_static/badges/coverage.svg +1 -1
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/scripts/build_skills.py +15 -13
- {scadpy-0.4.5 → scadpy-0.4.6}/pyproject.toml +8 -7
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/__init__.py +1 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/color/__init__.py +1 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/core/assembly/__init__.py +1 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d2/__init__.py +1 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d2/shape/__init__.py +1 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d2/shape/exporters/map_shape_to_html.py +5 -2
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d2/shape/transformations/radial_extrude_shape.py +3 -3
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d3/__init__.py +1 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d3/solid/__init__.py +1 -0
- scadpy-0.4.5/.github/workflows/ci.yml +0 -26
- {scadpy-0.4.5 → scadpy-0.4.6}/.claude/jedi_query.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/.github/workflows/release.yml +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/.gitignore +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/LICENSE.md +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/README.md +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/_static/badges/interrogate.svg +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/_static/css/custom.css +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/_static/examples/bearing_dark.png +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/_static/examples/bearing_light.png +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/_static/examples/dice_dark.png +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/_static/examples/dice_light.png +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/_static/examples/extruded_plate_dark.png +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/_static/examples/extruded_plate_light.png +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/_static/examples/plate_dark.png +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/_static/examples/plate_light.png +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/_static/examples/storage_box_dark.png +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/_static/examples/storage_box_light.png +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/_static/logo.ico +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/_static/logo.png +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/conf.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/examples.rst +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/index.rst +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/scadpy/core/assembly/combinations.rst +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/scadpy/core/assembly/topologies.rst +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/scadpy/core/assembly/transformations.rst +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/scadpy/core/assembly/types.rst +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/scadpy/core/assembly/utils.rst +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/scadpy/core/assembly.rst +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/scadpy/core/component/exporters.rst +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/scadpy/core/component/features.rst +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/scadpy/core/component/utils.rst +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/scadpy/core/component.rst +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/scadpy/core/part/combinations.rst +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/scadpy/core/part.rst +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/scadpy/core.rst +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/scadpy/d2/shape/combinations.rst +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/scadpy/d2/shape/exporters.rst +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/scadpy/d2/shape/features.rst +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/scadpy/d2/shape/importers.rst +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/scadpy/d2/shape/primitives.rst +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/scadpy/d2/shape/topologies.rst +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/scadpy/d2/shape/transformations.rst +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/scadpy/d2/shape/types.rst +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/scadpy/d2/shape.rst +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/scadpy/d2.rst +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/scadpy/d3/solid/combinations.rst +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/scadpy/d3/solid/exporters.rst +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/scadpy/d3/solid/features.rst +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/scadpy/d3/solid/importers.rst +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/scadpy/d3/solid/primitives.rst +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/scadpy/d3/solid/topologies.rst +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/scadpy/d3/solid/transformations.rst +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/scadpy/d3/solid/types.rst +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/scadpy/d3/solid.rst +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/scadpy/d3.rst +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__chamfer_shape_all__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__chamfer_shape_all__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__chamfer_shape_clamp_proportional__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__chamfer_shape_clamp_proportional__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__chamfer_shape_concave_asymmetric__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__chamfer_shape_concave_asymmetric__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__chamfer_shape_convex_only__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__chamfer_shape_convex_only__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__chamfer_shape_sharp_convex__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__chamfer_shape_sharp_convex__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__color_shape__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__color_shape__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__color_solid__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__color_solid__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__concat_shape__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__concat_shape__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__concat_solid__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__concat_solid__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__cone__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__cone__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__convexify_shape__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__convexify_shape__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__convexify_shape_partial__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__convexify_shape_partial__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__convexify_solid__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__convexify_solid__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__cube__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__cube__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__cuboid__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__cuboid__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__cylinder__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__cylinder__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__examples_bearing__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__examples_bearing__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__examples_dice__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__examples_dice__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__examples_extruded_plate__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__examples_extruded_plate__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__examples_honeycomb_extruded_plate__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__examples_honeycomb_extruded_plate__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__examples_labelized_extruded_plate__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__examples_labelized_extruded_plate__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__examples_plate__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__examples_plate__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__examples_storage_box__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__examples_storage_box__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__examples_vertex_holes__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__examples_vertex_holes__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__examples_waved_sphere__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__examples_waved_sphere__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__exclude_shape__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__exclude_shape__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__exclude_solid__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__exclude_solid__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__fill_shape__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__fill_shape__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__fill_shape_partial__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__fill_shape_partial__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__fillet_shape_all__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__fillet_shape_all__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__fillet_shape_clamp_proportional__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__fillet_shape_clamp_proportional__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__fillet_shape_concave_asymmetric__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__fillet_shape_concave_asymmetric__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__fillet_shape_convex_only__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__fillet_shape_convex_only__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__fillet_shape_sharp_convex__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__fillet_shape_sharp_convex__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__grow_shape__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__grow_shape__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__grow_shape_partial__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__grow_shape_partial__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__grow_shape_shrink__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__grow_shape_shrink__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__hexagonal_cone__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__hexagonal_cone__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__hexagonal_cylinder__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__hexagonal_cylinder__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__index_2d__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__index_2d__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__index_3d__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__index_3d__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__index_bearing__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__index_bearing__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__index_dice__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__index_dice__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__index_extruded_plate__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__index_extruded_plate__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__index_plate__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__index_plate__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__index_storage_box__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__index_storage_box__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__intersect_shape__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__intersect_shape__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__intersect_shape_parts_example__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__intersect_shape_parts_example__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__intersect_solid__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__intersect_solid__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__intersect_solid_parts_example__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__intersect_solid_parts_example__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__linear_cut_shape__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__linear_cut_shape__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__linear_cut_shape_diagonal__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__linear_cut_shape_diagonal__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__linear_extrude_shape_square__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__linear_extrude_shape_square__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__linear_extrude_shape_tube__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__linear_extrude_shape_tube__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__linear_pattern_shape_method_2d__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__linear_pattern_shape_method_2d__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__linear_pattern_shape_method__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__linear_pattern_shape_method__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__linear_pattern_solid_method_2d__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__linear_pattern_solid_method_2d__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__linear_pattern_solid_method_3d__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__linear_pattern_solid_method_3d__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__linear_pattern_solid_method__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__linear_pattern_solid_method__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__linear_slice_shape_diagonal__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__linear_slice_shape_diagonal__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__linear_slice_shape_horizontal__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__linear_slice_shape_horizontal__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__linear_slice_shape_partial__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__linear_slice_shape_partial__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__linear_slice_shape_pivot__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__linear_slice_shape_pivot__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__low_resolution_sphere__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__low_resolution_sphere__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__map_dxf_to_shape__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__map_dxf_to_shape__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__map_geometries_to_shape__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__map_geometries_to_shape__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__map_geometries_to_solid__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__map_geometries_to_solid__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__map_geometry_to_shape__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__map_geometry_to_shape__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__map_geometry_to_solid__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__map_geometry_to_solid__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__map_parts_to_shape__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__map_parts_to_shape__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__map_parts_to_solid__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__map_parts_to_solid__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__map_svg_to_shape__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__map_svg_to_shape__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__mirror_shape__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__mirror_shape__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__mirror_solid__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__mirror_solid__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__path_extrude_shape_tube__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__path_extrude_shape_tube__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__path_extrude_shape_tube_strategy__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__path_extrude_shape_tube_strategy__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__polyhedron__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__polyhedron__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__pull_shape__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__pull_shape__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__pull_solid__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__pull_solid__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__push_shape__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__push_shape__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__push_solid__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__push_solid__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__radial_extrude_shape__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__radial_extrude_shape__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__radial_extrude_shape_partial__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__radial_extrude_shape_partial__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__radial_pattern_shape_method__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__radial_pattern_shape_method__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__radial_pattern_solid_method__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__radial_pattern_solid_method__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__radial_slice_shape_partial__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__radial_slice_shape_partial__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__radial_slice_shape_pivot__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__radial_slice_shape_pivot__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__radial_slice_shape_quarter__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__radial_slice_shape_quarter__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__radial_slice_shape_three_quarter__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__radial_slice_shape_three_quarter__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__recoordinate_shape__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__recoordinate_shape__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__recoordinate_solid__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__recoordinate_solid__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__resize_shape_auto__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__resize_shape_auto__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__resize_shape_exact__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__resize_shape_exact__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__resize_shape_freeze__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__resize_shape_freeze__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__resize_solid_auto__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__resize_solid_auto__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__resize_solid_exact__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__resize_solid_exact__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__resize_solid_freeze__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__resize_solid_freeze__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__rotate_shape__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__rotate_shape__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__rotate_solid__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__rotate_solid__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__scale_shape__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__scale_shape__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__scale_solid__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__scale_solid__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__shrink_shape__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__shrink_shape__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__shrink_shape_negative__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__shrink_shape_negative__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__shrink_shape_partial__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__shrink_shape_partial__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__sphere__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__sphere__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__subtract_shape__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__subtract_shape__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__subtract_shape_parts_example__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__subtract_shape_parts_example__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__subtract_solid__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__subtract_solid__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__subtract_solid_parts_example__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__subtract_solid_parts_example__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__text_example__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__text_example__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__translate_shape__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__translate_shape__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__translate_solid__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__translate_solid__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__unify_shape__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__unify_shape__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__unify_shape_parts_example__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__unify_shape_parts_example__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__unify_solid__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__unify_solid__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__unify_solid_parts_example__dark.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__unify_solid_parts_example__light.md5 +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/project_bundle.json +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/color/constants/BEIGE.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/color/constants/BLACK.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/color/constants/BLUE.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/color/constants/BROWN.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/color/constants/DARK_GRAY.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/color/constants/DEFAULT_COLOR.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/color/constants/DEFAULT_OPACITY.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/color/constants/GRAY.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/color/constants/GREEN.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/color/constants/ORANGE.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/color/constants/RED.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/color/constants/WHITE.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/color/constants/YELLOW.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/color/constants/__init__.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/color/type/__init__.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/color/type/color.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/color/utils/__init__.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/color/utils/get_random_color.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/core/__init__.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/core/assembly/combinations/__init__.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/core/assembly/combinations/concat_assemblies.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/core/assembly/combinations/exclude_assemblies.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/core/assembly/combinations/intersect_assemblies.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/core/assembly/combinations/subtract_assemblies.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/core/assembly/combinations/unify_assemblies.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/core/assembly/topologies/__init__.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/core/assembly/topologies/directed_edge/__init__.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/core/assembly/topologies/directed_edge/get_assembly_directed_edge_directions.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/core/assembly/topologies/directed_edge/get_assembly_directed_edge_to_edge.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/core/assembly/topologies/directed_edge/get_assembly_directed_edge_to_vertex.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/core/assembly/topologies/edge/__init__.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/core/assembly/topologies/edge/get_assembly_edge_lengths.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/core/assembly/topologies/edge/get_assembly_edge_midpoints.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/core/assembly/topologies/edge/get_assembly_edge_normals.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/core/assembly/topologies/face_vertex/__init__.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/core/assembly/topologies/face_vertex/get_assembly_face_vertex_angles.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/core/assembly/topologies/face_vertex/get_assembly_face_vertex_normals.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/core/assembly/topologies/face_vertex/get_assembly_face_vertex_to_incoming_directed_edge.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/core/assembly/topologies/face_vertex/get_assembly_face_vertex_to_outgoing_directed_edge.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/core/assembly/topologies/part/__init__.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/core/assembly/topologies/part/get_assembly_part_colors.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/core/assembly/topologies/vertex/__init__.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/core/assembly/topologies/vertex/get_assembly_vertex_coordinates.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/core/assembly/topologies/vertex/get_assembly_vertex_to_part.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/core/assembly/transformations/__init__.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/core/assembly/transformations/color_assembly.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/core/assembly/transformations/linear_pattern_assembly.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/core/assembly/transformations/mirror_vertex_coordinates.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/core/assembly/transformations/pull_vertex_coordinates.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/core/assembly/transformations/push_vertex_coordinates.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/core/assembly/transformations/radial_pattern_assembly.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/core/assembly/transformations/resize_vertex_coordinates.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/core/assembly/transformations/rotate_vertex_coordinates.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/core/assembly/transformations/scale_vertex_coordinates.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/core/assembly/transformations/translate_vertex_coordinates.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/core/assembly/types/__init__.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/core/assembly/types/assembly.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/core/assembly/types/topology_filter.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/core/assembly/utils/__init__.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/core/assembly/utils/lookup_pairs.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/core/assembly/utils/resolve_topology_filter.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/core/assembly/utils/transform_filtered_parts.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/core/component/__init__.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/core/component/exporters/__init__.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/core/component/exporters/map_component_to_html_file.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/core/component/exporters/map_component_to_screen.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/core/component/features/__init__.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/core/component/features/get_component_bounds.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/core/component/utils/__init__.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/core/component/utils/blend_component_colors.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/core/component/utils/get_intersecting_component_index_groups.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/core/part/__init__.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/core/part/combinations/__init__.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/core/part/combinations/concat_parts.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/core/part/combinations/intersect_parts.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/core/part/combinations/subtract_parts.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/core/part/combinations/unify_parts.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/core/part/types/__init__.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/core/part/types/part.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/core/part/utils/__init__.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/core/part/utils/blend_part_colors.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d2/shape/combinations/__init__.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d2/shape/combinations/are_shape_parts_intersecting.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d2/shape/combinations/concat_shape.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d2/shape/combinations/exclude_shape.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d2/shape/combinations/intersect_shape.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d2/shape/combinations/intersect_shape_parts.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d2/shape/combinations/subtract_shape.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d2/shape/combinations/subtract_shape_parts.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d2/shape/combinations/unify_shape.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d2/shape/combinations/unify_shape_parts.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d2/shape/exporters/__init__.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d2/shape/exporters/map_shape_to_dxf.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d2/shape/exporters/map_shape_to_dxf_file.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d2/shape/exporters/map_shape_to_html_file.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d2/shape/exporters/map_shape_to_screen.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d2/shape/exporters/map_shape_to_svg.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d2/shape/exporters/map_shape_to_svg_file.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d2/shape/features/__init__.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d2/shape/features/get_shape_bounding_box.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d2/shape/features/get_shape_bounds.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d2/shape/features/get_shape_centroid.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d2/shape/features/get_shape_part_bounds.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d2/shape/features/is_shape_empty.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d2/shape/importers/__init__.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d2/shape/importers/map_dxf_to_shape.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d2/shape/importers/map_geometries_to_shape.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d2/shape/importers/map_geometry_to_shape.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d2/shape/importers/map_parts_to_shape.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d2/shape/importers/map_svg_to_shape.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d2/shape/primitives/__init__.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d2/shape/primitives/circle.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d2/shape/primitives/polygon.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d2/shape/primitives/rectangle.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d2/shape/primitives/square.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d2/shape/primitives/text.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d2/shape/topologies/__init__.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d2/shape/topologies/directed_edge/__init__.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d2/shape/topologies/directed_edge/get_shape_directed_edge_directions.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d2/shape/topologies/directed_edge/get_shape_directed_edge_to_edge.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d2/shape/topologies/directed_edge/get_shape_directed_edge_to_vertex.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d2/shape/topologies/edge/__init__.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d2/shape/topologies/edge/get_shape_edge_lengths.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d2/shape/topologies/edge/get_shape_edge_midpoints.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d2/shape/topologies/edge/get_shape_edge_normals.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d2/shape/topologies/edge/get_shape_edge_to_vertex.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d2/shape/topologies/ring/__init__.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d2/shape/topologies/ring/get_shape_ring_to_part.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d2/shape/topologies/ring/get_shape_ring_types.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d2/shape/topologies/vertex/__init__.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d2/shape/topologies/vertex/are_shape_vertices_convex.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d2/shape/topologies/vertex/get_shape_part_vertex_coordinates.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d2/shape/topologies/vertex/get_shape_vertex_angles.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d2/shape/topologies/vertex/get_shape_vertex_coordinates.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d2/shape/topologies/vertex/get_shape_vertex_normals.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d2/shape/topologies/vertex/get_shape_vertex_to_incoming_directed_edge.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d2/shape/topologies/vertex/get_shape_vertex_to_neighbor_vertex.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d2/shape/topologies/vertex/get_shape_vertex_to_outgoing_directed_edge.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d2/shape/topologies/vertex/get_shape_vertex_to_part.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d2/shape/topologies/vertex/get_shape_vertex_to_ring.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d2/shape/transformations/__init__.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d2/shape/transformations/chamfer_shape.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d2/shape/transformations/color_shape.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d2/shape/transformations/convexify_shape.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d2/shape/transformations/extrusion_strategies/__init__.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d2/shape/transformations/extrusion_strategies/resize_sweep.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d2/shape/transformations/extrusion_strategies/reverse_sweep.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d2/shape/transformations/extrusion_strategies/rotate_sweep.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d2/shape/transformations/extrusion_strategies/scale_sweep.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d2/shape/transformations/fill_shape.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d2/shape/transformations/fillet_shape.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d2/shape/transformations/grow_shape.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d2/shape/transformations/linear_cut_shape.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d2/shape/transformations/linear_extrude_shape.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d2/shape/transformations/linear_pattern_shape.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d2/shape/transformations/linear_slice_shape.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d2/shape/transformations/mirror_shape.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d2/shape/transformations/path_extrude_shape.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d2/shape/transformations/pull_shape.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d2/shape/transformations/push_shape.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d2/shape/transformations/radial_pattern_shape.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d2/shape/transformations/radial_slice_shape.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d2/shape/transformations/recoordinate_shape.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d2/shape/transformations/resize_shape.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d2/shape/transformations/rotate_shape.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d2/shape/transformations/scale_shape.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d2/shape/transformations/shrink_shape.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d2/shape/transformations/translate_shape.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d2/shape/types/__init__.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d2/shape/types/shape.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d2/shape/types/utils/__init__.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d2/shape/types/utils/shapely_base_geometry_to_shapely_polygons.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d2/shape/utils/__init__.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d2/shape/utils/shapely_base_geometry_to_shapely_polygons.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d2/utils/__init__.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d2/utils/resolve_vector_2d.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d3/solid/combinations/__init__.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d3/solid/combinations/are_solid_parts_intersecting.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d3/solid/combinations/concat_solid.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d3/solid/combinations/exclude_solid.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d3/solid/combinations/intersect_solid.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d3/solid/combinations/intersect_solid_parts.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d3/solid/combinations/subtract_solid.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d3/solid/combinations/subtract_solid_parts.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d3/solid/combinations/unify_solid.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d3/solid/combinations/unify_solid_parts.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d3/solid/exporters/__init__.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d3/solid/exporters/map_solid_to_html.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d3/solid/exporters/map_solid_to_html_file.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d3/solid/exporters/map_solid_to_screen.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d3/solid/exporters/map_solid_to_stl_file.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d3/solid/features/__init__.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d3/solid/features/get_solid_bounding_box.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d3/solid/features/get_solid_bounds.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d3/solid/features/get_solid_centroid.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d3/solid/features/get_solid_part_bounds.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d3/solid/features/get_solid_part_colors.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d3/solid/features/is_solid_empty.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d3/solid/importers/__init__.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d3/solid/importers/map_geometries_to_solid.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d3/solid/importers/map_geometry_to_solid.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d3/solid/importers/map_parts_to_solid.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d3/solid/importers/map_stl_to_solid.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d3/solid/primitives/__init__.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d3/solid/primitives/cone.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d3/solid/primitives/cuboid.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d3/solid/primitives/cylinder.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d3/solid/primitives/polyhedron.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d3/solid/primitives/sphere.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d3/solid/topologies/__init__.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d3/solid/topologies/triangle/__init__.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d3/solid/topologies/triangle/get_solid_triangle_to_vertex.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d3/solid/topologies/vertex/__init__.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d3/solid/topologies/vertex/get_solid_vertex_coordinates.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d3/solid/topologies/vertex/get_solid_vertex_to_part.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d3/solid/transformations/__init__.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d3/solid/transformations/color_solid.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d3/solid/transformations/convexify_solid.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d3/solid/transformations/linear_pattern_solid.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d3/solid/transformations/mirror_solid.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d3/solid/transformations/pull_solid.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d3/solid/transformations/push_solid.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d3/solid/transformations/radial_pattern_solid.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d3/solid/transformations/recoordinate_solid.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d3/solid/transformations/resize_solid.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d3/solid/transformations/rotate_solid.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d3/solid/transformations/scale_solid.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d3/solid/transformations/translate_solid.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d3/solid/types/__init__.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d3/solid/types/solid.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d3/utils/__init__.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/d3/utils/resolve_vector_3d.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/utils/__init__.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/utils/available_fonts.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/utils/resolve_vector.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/utils/x.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/utils/y.py +0 -0
- {scadpy-0.4.5 → scadpy-0.4.6}/scadpy/utils/z.py +0 -0
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
name: CI
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches:
|
|
6
|
+
- "**"
|
|
7
|
+
pull_request:
|
|
8
|
+
|
|
9
|
+
jobs:
|
|
10
|
+
typecheck:
|
|
11
|
+
runs-on: ubuntu-latest
|
|
12
|
+
steps:
|
|
13
|
+
- uses: actions/checkout@v4
|
|
14
|
+
|
|
15
|
+
- uses: actions/setup-python@v5
|
|
16
|
+
with:
|
|
17
|
+
python-version: "3.12"
|
|
18
|
+
|
|
19
|
+
- name: Install dependencies
|
|
20
|
+
run: pip install -e .[dev]
|
|
21
|
+
|
|
22
|
+
- name: Run basedpyright
|
|
23
|
+
run: basedpyright
|
|
24
|
+
|
|
25
|
+
doctest:
|
|
26
|
+
runs-on: ${{ matrix.os }}
|
|
27
|
+
strategy:
|
|
28
|
+
fail-fast: false
|
|
29
|
+
matrix:
|
|
30
|
+
os: [ubuntu-latest, macos-latest, windows-latest]
|
|
31
|
+
python-version: ["3.12", "3.13"]
|
|
32
|
+
include:
|
|
33
|
+
# Snapshot comparison is only meaningful on the reference platform.
|
|
34
|
+
# On macOS and Windows, matplotlib produces slightly different SVG
|
|
35
|
+
# floating-point values, so we use doctest-without-snapshots there.
|
|
36
|
+
- os: ubuntu-latest
|
|
37
|
+
doctest_target: doctest
|
|
38
|
+
- os: macos-latest
|
|
39
|
+
doctest_target: doctest-without-snapshots
|
|
40
|
+
- os: windows-latest
|
|
41
|
+
doctest_target: doctest-without-snapshots
|
|
42
|
+
|
|
43
|
+
steps:
|
|
44
|
+
- uses: actions/checkout@v4
|
|
45
|
+
|
|
46
|
+
- uses: actions/setup-python@v5
|
|
47
|
+
with:
|
|
48
|
+
python-version: ${{ matrix.python-version }}
|
|
49
|
+
|
|
50
|
+
- name: Install make (Windows)
|
|
51
|
+
if: runner.os == 'Windows'
|
|
52
|
+
run: choco install make
|
|
53
|
+
|
|
54
|
+
- name: Install dependencies
|
|
55
|
+
run: pip install -e .[dev]
|
|
56
|
+
|
|
57
|
+
- name: Run doctests
|
|
58
|
+
run: cd docs && make ${{ matrix.doctest_target }}
|
|
59
|
+
env:
|
|
60
|
+
MPLBACKEND: Agg
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: ScadPy
|
|
3
|
-
Version: 0.4.
|
|
3
|
+
Version: 0.4.6
|
|
4
4
|
Summary: Simplified 2D/3D modeling for Python with fluent API and boolean operations
|
|
5
5
|
Author: m-fabregue
|
|
6
6
|
License: # MIT License
|
|
@@ -59,6 +59,7 @@ Requires-Dist: python-fcl~=0.7
|
|
|
59
59
|
Requires-Dist: triangle==20250106
|
|
60
60
|
Requires-Dist: trimesh[easy]~=4.10
|
|
61
61
|
Provides-Extra: dev
|
|
62
|
+
Requires-Dist: basedpyright; extra == 'dev'
|
|
62
63
|
Requires-Dist: coverage; extra == 'dev'
|
|
63
64
|
Requires-Dist: furo==2025.7.19; extra == 'dev'
|
|
64
65
|
Requires-Dist: genbadge[coverage]; extra == 'dev'
|
|
@@ -15,7 +15,7 @@ skills:
|
|
|
15
15
|
help:
|
|
16
16
|
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
|
|
17
17
|
|
|
18
|
-
.PHONY: help Makefile snapshots
|
|
18
|
+
.PHONY: help Makefile snapshots doctest-without-snapshots
|
|
19
19
|
|
|
20
20
|
# Build the documentation
|
|
21
21
|
html:
|
|
@@ -27,6 +27,10 @@ doctest:
|
|
|
27
27
|
@$(SPHINXBUILD) -b doctest "$(SOURCEDIR)" "$(BUILDDIR)/doctest" $(SPHINXOPTS)
|
|
28
28
|
@rm -rf $(BUILDDIR)/doctrees
|
|
29
29
|
|
|
30
|
+
doctest-without-snapshots:
|
|
31
|
+
@SCADPY_UPDATE_SNAPSHOTS=1 $(SPHINXBUILD) -b doctest "$(SOURCEDIR)" "$(BUILDDIR)/doctest" $(SPHINXOPTS)
|
|
32
|
+
@rm -rf $(BUILDDIR)/doctrees
|
|
33
|
+
|
|
30
34
|
snapshots:
|
|
31
35
|
@SCADPY_UPDATE_SNAPSHOTS=1 $(SPHINXBUILD) -b doctest "$(SOURCEDIR)" "$(BUILDDIR)/doctest" $(SPHINXOPTS)
|
|
32
36
|
@rm -rf $(BUILDDIR)/doctrees
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" width="114" height="20" role="img" aria-label="coverage: 90.
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="114" height="20" role="img" aria-label="coverage: 90.21%"><title>coverage: 90.21%</title><linearGradient id="s" x2="0" y2="100%"><stop offset="0" stop-color="#bbb" stop-opacity=".1"/><stop offset="1" stop-opacity=".1"/></linearGradient><clipPath id="r"><rect width="114" height="20" rx="3" fill="#fff"/></clipPath><g clip-path="url(#r)"><rect width="61" height="20" fill="#555"/><rect x="61" width="53" height="20" fill="#4c1"/><rect width="114" height="20" fill="url(#s)"/></g><g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="110"><text aria-hidden="true" x="315" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="510">coverage</text><text x="315" y="140" transform="scale(.1)" fill="#fff" textLength="510">coverage</text><text aria-hidden="true" x="865" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="430">90.21%</text><text x="865" y="140" transform="scale(.1)" fill="#fff" textLength="430">90.21%</text></g></svg>
|
|
@@ -8,6 +8,7 @@ import json
|
|
|
8
8
|
import re
|
|
9
9
|
import tomllib
|
|
10
10
|
from pathlib import Path
|
|
11
|
+
from typing import Any
|
|
11
12
|
|
|
12
13
|
# Dunder → operator symbol
|
|
13
14
|
DUNDER_OPERATORS: dict[str, str] = {
|
|
@@ -239,15 +240,15 @@ def _referenced_func(description: str | None) -> str | None:
|
|
|
239
240
|
# ---------------------------------------------------------------------------
|
|
240
241
|
|
|
241
242
|
|
|
242
|
-
def _extract_params(func: ast.FunctionDef | ast.AsyncFunctionDef) -> list[dict]:
|
|
243
|
-
params: list[dict] = []
|
|
243
|
+
def _extract_params(func: ast.FunctionDef | ast.AsyncFunctionDef) -> list[dict[str, Any]]:
|
|
244
|
+
params: list[dict[str, Any]] = []
|
|
244
245
|
args = func.args
|
|
245
246
|
defaults_start = len(args.args) - len(args.defaults)
|
|
246
247
|
|
|
247
248
|
for i, arg in enumerate(args.args):
|
|
248
249
|
if arg.arg in ("self", "cls"):
|
|
249
250
|
continue
|
|
250
|
-
p: dict = {"name": arg.arg}
|
|
251
|
+
p: dict[str, Any] = {"name": arg.arg}
|
|
251
252
|
if arg.annotation:
|
|
252
253
|
p["type"] = _unparse_annotation(arg.annotation)
|
|
253
254
|
di = i - defaults_start
|
|
@@ -259,15 +260,16 @@ def _extract_params(func: ast.FunctionDef | ast.AsyncFunctionDef) -> list[dict]:
|
|
|
259
260
|
p = {"name": arg.arg}
|
|
260
261
|
if arg.annotation:
|
|
261
262
|
p["type"] = _unparse_annotation(arg.annotation)
|
|
262
|
-
|
|
263
|
-
|
|
263
|
+
kw_default = args.kw_defaults[i]
|
|
264
|
+
if kw_default is not None:
|
|
265
|
+
p["default"] = ast.unparse(kw_default)
|
|
264
266
|
params.append(p)
|
|
265
267
|
|
|
266
268
|
return params
|
|
267
269
|
|
|
268
270
|
|
|
269
271
|
def _build_signature(
|
|
270
|
-
name: str, params: list[dict], returns: str | None, is_property: bool
|
|
272
|
+
name: str, params: list[dict[str, Any]], returns: str | None, is_property: bool
|
|
271
273
|
) -> str:
|
|
272
274
|
if is_property:
|
|
273
275
|
sig = name
|
|
@@ -290,7 +292,7 @@ def _parse_function(
|
|
|
290
292
|
node: ast.FunctionDef | ast.AsyncFunctionDef,
|
|
291
293
|
func_index: dict[str, str],
|
|
292
294
|
is_method: bool = False,
|
|
293
|
-
) -> dict:
|
|
295
|
+
) -> dict[str, Any]:
|
|
294
296
|
decorator_names = [
|
|
295
297
|
(
|
|
296
298
|
d.id
|
|
@@ -323,7 +325,7 @@ def _parse_function(
|
|
|
323
325
|
if p["name"] in param_descs and param_descs[p["name"]]:
|
|
324
326
|
p["description"] = param_descs[p["name"]]
|
|
325
327
|
|
|
326
|
-
entry: dict = {
|
|
328
|
+
entry: dict[str, Any] = {
|
|
327
329
|
"kind": kind,
|
|
328
330
|
"signature": _build_signature(node.name, params, returns, is_property),
|
|
329
331
|
"description": _extract_description(raw_docstring),
|
|
@@ -339,8 +341,8 @@ def _parse_function(
|
|
|
339
341
|
return entry
|
|
340
342
|
|
|
341
343
|
|
|
342
|
-
def _parse_class(node: ast.ClassDef, func_index: dict[str, str]) -> dict:
|
|
343
|
-
methods: dict[str, dict] = {}
|
|
344
|
+
def _parse_class(node: ast.ClassDef, func_index: dict[str, str]) -> dict[str, Any]:
|
|
345
|
+
methods: dict[str, dict[str, Any]] = {}
|
|
344
346
|
for item in ast.iter_child_nodes(node):
|
|
345
347
|
if isinstance(item, (ast.FunctionDef, ast.AsyncFunctionDef)):
|
|
346
348
|
methods[item.name] = _parse_function(item, func_index, is_method=True)
|
|
@@ -352,9 +354,9 @@ def _parse_class(node: ast.ClassDef, func_index: dict[str, str]) -> dict:
|
|
|
352
354
|
}
|
|
353
355
|
|
|
354
356
|
|
|
355
|
-
def parse_file(path: Path, func_index: dict[str, str]) -> dict:
|
|
357
|
+
def parse_file(path: Path, func_index: dict[str, str]) -> dict[str, Any]:
|
|
356
358
|
tree = ast.parse(path.read_text())
|
|
357
|
-
result: dict = {}
|
|
359
|
+
result: dict[str, Any] = {}
|
|
358
360
|
for node in ast.iter_child_nodes(tree):
|
|
359
361
|
if isinstance(node, ast.ClassDef):
|
|
360
362
|
result[node.name] = _parse_class(node, func_index)
|
|
@@ -382,7 +384,7 @@ def main() -> None:
|
|
|
382
384
|
func_index = _build_function_index(root)
|
|
383
385
|
print(f" {len(func_index)} functions indexed")
|
|
384
386
|
|
|
385
|
-
skills: dict = {}
|
|
387
|
+
skills: dict[str, Any] = {}
|
|
386
388
|
for src in sources:
|
|
387
389
|
p = root / src
|
|
388
390
|
if p.is_dir():
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "ScadPy"
|
|
7
|
-
version = "0.4.
|
|
7
|
+
version = "0.4.6"
|
|
8
8
|
description = "Simplified 2D/3D modeling for Python with fluent API and boolean operations"
|
|
9
9
|
requires-python = ">= 3.12"
|
|
10
10
|
authors = [{ name = "m-fabregue" }]
|
|
@@ -20,14 +20,15 @@ dependencies = ["triangle == 20250106", "trimesh[easy] ~= 4.10", "manifold3d ==
|
|
|
20
20
|
|
|
21
21
|
[project.optional-dependencies]
|
|
22
22
|
dev = [
|
|
23
|
-
"
|
|
24
|
-
"
|
|
25
|
-
"numpydoc",
|
|
26
|
-
"sphinx-autodoc-typehints",
|
|
23
|
+
"basedpyright",
|
|
24
|
+
"coverage",
|
|
27
25
|
"furo == 2025.7.19",
|
|
26
|
+
"genbadge[coverage]",
|
|
28
27
|
"interrogate",
|
|
29
|
-
"
|
|
30
|
-
"
|
|
28
|
+
"numpydoc",
|
|
29
|
+
"sphinx",
|
|
30
|
+
"sphinx-autodoc-typehints",
|
|
31
|
+
"sphinx-pyproject",
|
|
31
32
|
]
|
|
32
33
|
|
|
33
34
|
[tool.pyright]
|
|
@@ -84,13 +84,16 @@ def map_shape_to_html(
|
|
|
84
84
|
|
|
85
85
|
for part in shape._parts:
|
|
86
86
|
color = part.color
|
|
87
|
-
edge_color =
|
|
87
|
+
edge_color = [(c + b) / 2 for c, b in zip(color[:3], background_color[:3])]
|
|
88
|
+
edge_color_rgba: tuple[float, float, float, float] = (
|
|
89
|
+
edge_color[0], edge_color[1], edge_color[2], 1.0
|
|
90
|
+
)
|
|
88
91
|
plot_polygon(
|
|
89
92
|
part.geometry,
|
|
90
93
|
ax=ax,
|
|
91
94
|
add_points=False,
|
|
92
95
|
facecolor=(color[0], color[1], color[2], color[3]),
|
|
93
|
-
edgecolor=
|
|
96
|
+
edgecolor=edge_color_rgba,
|
|
94
97
|
linewidth=2,
|
|
95
98
|
)
|
|
96
99
|
|
|
@@ -88,11 +88,11 @@ def _radial_extrude_shapely_polygon_into_trimesh(
|
|
|
88
88
|
|
|
89
89
|
triangulated_border_vertex_count = len(triangulated_vertex_coordinates)
|
|
90
90
|
triangulated_edge_to_vertex_sorted = np.sort(triangulated_edge_to_vertex, axis=1)
|
|
91
|
-
triangulated_edge_unique =
|
|
92
|
-
triangulated_edge_to_vertex_sorted, require_count=1
|
|
91
|
+
triangulated_edge_unique = np.asarray(
|
|
92
|
+
group_rows(triangulated_edge_to_vertex_sorted, require_count=1), dtype=np.intp
|
|
93
93
|
)
|
|
94
94
|
slice_border_faces = _create_slice_border_faces(
|
|
95
|
-
triangulated_edge_to_vertex[triangulated_edge_unique],
|
|
95
|
+
triangulated_edge_to_vertex[triangulated_edge_unique].astype(np.int64),
|
|
96
96
|
triangulated_border_vertex_count,
|
|
97
97
|
slice_count - 1,
|
|
98
98
|
is_ring,
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
name: CI
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
push:
|
|
5
|
-
branches:
|
|
6
|
-
- "**"
|
|
7
|
-
pull_request:
|
|
8
|
-
|
|
9
|
-
jobs:
|
|
10
|
-
test:
|
|
11
|
-
runs-on: ubuntu-latest
|
|
12
|
-
steps:
|
|
13
|
-
- uses: actions/checkout@v4
|
|
14
|
-
|
|
15
|
-
- uses: actions/setup-python@v5
|
|
16
|
-
with:
|
|
17
|
-
python-version: "3.12"
|
|
18
|
-
|
|
19
|
-
- name: Install system dependencies
|
|
20
|
-
run: sudo apt-get install -y libegl1
|
|
21
|
-
|
|
22
|
-
- name: Install dependencies
|
|
23
|
-
run: pip install -e .[dev]
|
|
24
|
-
|
|
25
|
-
- name: Run doctests
|
|
26
|
-
run: cd docs && make doctest
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__chamfer_shape_clamp_proportional__light.md5
RENAMED
|
File without changes
|
|
File without changes
|
{scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__chamfer_shape_concave_asymmetric__light.md5
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__examples_honeycomb_extruded_plate__dark.md5
RENAMED
|
File without changes
|
{scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__examples_honeycomb_extruded_plate__light.md5
RENAMED
|
File without changes
|
{scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__examples_labelized_extruded_plate__dark.md5
RENAMED
|
File without changes
|
{scadpy-0.4.5 → scadpy-0.4.6}/docs/snapshots/d2__examples_labelized_extruded_plate__light.md5
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|