spatialgeometry 1.2.0__tar.gz → 1.3.0__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.
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/.github/workflows/build.yml +1 -1
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/.github/workflows/cibuildwheel.yml +11 -4
- spatialgeometry-1.3.0/CHANGELOG.md +101 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/PKG-INFO +14 -2
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/README.md +8 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/docs/Makefile +7 -1
- spatialgeometry-1.3.0/docs/figs/panda_hand.dae +403 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/docs/source/conf.py +16 -5
- spatialgeometry-1.3.0/docs/source/intro.rst +291 -0
- spatialgeometry-1.3.0/examples/animating_shapes.py +17 -0
- spatialgeometry-1.3.0/examples/displaying_shapes.py +15 -0
- spatialgeometry-1.3.0/examples/scene_graph.py +27 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/pyproject.toml +3 -3
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/__init__.py +10 -1
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/geom/CollisionShape.py +50 -37
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/geom/SceneGroup.py +7 -8
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/geom/SceneNode.py +28 -28
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/geom/Shape.py +221 -56
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/geom/__init__.py +2 -1
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/scene.py +9 -9
- spatialgeometry-1.3.0/tests/test_Shape.py +391 -0
- spatialgeometry-1.2.0/docs/source/intro.rst +0 -107
- spatialgeometry-1.2.0/tests/test_Shape.py +0 -199
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/.gitattributes +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/.github/Makefile +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/.gitignore +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/CMakeLists.txt +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/LICENSE +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/Makefile +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/docs/source/_static/css/custom.css +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/docs/source/api.rst +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/docs/source/index.rst +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/environment.yml +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/Core +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/ArithmeticSequence.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/Array.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/ArrayBase.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/ArrayWrapper.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/Assign.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/AssignEvaluator.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/Assign_MKL.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/BandMatrix.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/Block.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/BooleanRedux.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/CommaInitializer.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/ConditionEstimator.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/CoreEvaluators.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/CoreIterators.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/CwiseBinaryOp.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/CwiseNullaryOp.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/CwiseTernaryOp.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/CwiseUnaryOp.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/CwiseUnaryView.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/DenseBase.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/DenseCoeffsBase.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/DenseStorage.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/Diagonal.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/DiagonalMatrix.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/DiagonalProduct.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/Dot.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/EigenBase.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/ForceAlignedAccess.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/Fuzzy.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/GeneralProduct.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/GenericPacketMath.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/GlobalFunctions.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/IO.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/IndexedView.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/Inverse.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/Map.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/MapBase.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/MathFunctions.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/MathFunctionsImpl.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/Matrix.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/MatrixBase.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/NestByValue.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/NoAlias.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/NumTraits.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/PartialReduxEvaluator.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/PermutationMatrix.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/PlainObjectBase.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/Product.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/ProductEvaluators.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/Random.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/Redux.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/Ref.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/Replicate.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/Reshaped.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/ReturnByValue.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/Reverse.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/Select.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/SelfAdjointView.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/SelfCwiseBinaryOp.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/Solve.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/SolveTriangular.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/SolverBase.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/StableNorm.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/StlIterators.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/Stride.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/Swap.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/Transpose.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/Transpositions.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/TriangularMatrix.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/VectorBlock.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/VectorwiseOp.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/Visitor.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/arch/AVX/Complex.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/arch/AVX/MathFunctions.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/arch/AVX/PacketMath.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/arch/AVX/TypeCasting.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/arch/AVX512/Complex.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/arch/AVX512/MathFunctions.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/arch/AVX512/PacketMath.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/arch/AVX512/TypeCasting.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/arch/AltiVec/Complex.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/arch/AltiVec/MathFunctions.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/arch/AltiVec/MatrixProduct.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/arch/AltiVec/MatrixProductCommon.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/arch/AltiVec/MatrixProductMMA.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/arch/AltiVec/PacketMath.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/arch/CUDA/Complex.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/arch/Default/BFloat16.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/arch/Default/ConjHelper.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/arch/Default/GenericPacketMathFunctions.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/arch/Default/GenericPacketMathFunctionsFwd.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/arch/Default/Half.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/arch/Default/Settings.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/arch/Default/TypeCasting.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/arch/GPU/MathFunctions.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/arch/GPU/PacketMath.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/arch/GPU/TypeCasting.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/arch/HIP/hcc/math_constants.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/arch/MSA/Complex.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/arch/MSA/MathFunctions.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/arch/MSA/PacketMath.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/arch/NEON/Complex.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/arch/NEON/GeneralBlockPanelKernel.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/arch/NEON/MathFunctions.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/arch/NEON/PacketMath.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/arch/NEON/TypeCasting.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/arch/SSE/Complex.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/arch/SSE/MathFunctions.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/arch/SSE/PacketMath.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/arch/SSE/TypeCasting.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/arch/SVE/MathFunctions.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/arch/SVE/PacketMath.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/arch/SVE/TypeCasting.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/arch/SYCL/InteropHeaders.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/arch/SYCL/MathFunctions.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/arch/SYCL/PacketMath.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/arch/SYCL/SyclMemoryModel.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/arch/SYCL/TypeCasting.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/arch/ZVector/Complex.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/arch/ZVector/MathFunctions.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/arch/ZVector/PacketMath.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/functors/AssignmentFunctors.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/functors/BinaryFunctors.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/functors/NullaryFunctors.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/functors/StlFunctors.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/functors/TernaryFunctors.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/functors/UnaryFunctors.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/products/GeneralBlockPanelKernel.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/products/GeneralMatrixMatrix.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/products/GeneralMatrixMatrixTriangular.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/products/GeneralMatrixMatrixTriangular_BLAS.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/products/GeneralMatrixMatrix_BLAS.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/products/GeneralMatrixVector.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/products/GeneralMatrixVector_BLAS.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/products/Parallelizer.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/products/SelfadjointMatrixMatrix.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/products/SelfadjointMatrixMatrix_BLAS.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/products/SelfadjointMatrixVector.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/products/SelfadjointMatrixVector_BLAS.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/products/SelfadjointProduct.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/products/SelfadjointRank2Update.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/products/TriangularMatrixMatrix.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/products/TriangularMatrixMatrix_BLAS.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/products/TriangularMatrixVector.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/products/TriangularMatrixVector_BLAS.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/products/TriangularSolverMatrix.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/products/TriangularSolverMatrix_BLAS.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/products/TriangularSolverVector.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/util/BlasUtil.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/util/ConfigureVectorization.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/util/Constants.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/util/DisableStupidWarnings.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/util/ForwardDeclarations.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/util/IndexedViewHelper.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/util/IntegralConstant.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/util/MKL_support.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/util/Macros.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/util/Memory.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/util/Meta.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/util/NonMPL2.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/util/ReenableStupidWarnings.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/util/ReshapedHelper.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/util/StaticAssert.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/util/SymbolicIndex.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/Core/util/XprHelper.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/plugins/ArrayCwiseBinaryOps.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/plugins/ArrayCwiseUnaryOps.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/plugins/BlockMethods.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/plugins/CommonCwiseBinaryOps.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/plugins/CommonCwiseUnaryOps.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/plugins/IndexedViewMethods.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/plugins/MatrixCwiseBinaryOps.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/plugins/MatrixCwiseUnaryOps.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/Eigen/src/plugins/ReshapedMethods.h +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/core/scene_nb.cpp +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/src/spatialgeometry/tools/__init__.py +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/tests/__init__.py +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/tests/test_collision.py +0 -0
- {spatialgeometry-1.2.0 → spatialgeometry-1.3.0}/tests/test_scene_backend.py +0 -0
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# Build wheels for all platforms and publish to PyPI.
|
|
2
|
-
#
|
|
2
|
+
#
|
|
3
|
+
# To ship a release: bump the version in pyproject.toml, merge that to
|
|
4
|
+
# main, then on GitHub go to Releases -> "Draft a new release", pick a
|
|
5
|
+
# tag matching the new version, and click "Publish release". That single
|
|
6
|
+
# click is the only trigger for this workflow -- it builds every wheel
|
|
7
|
+
# (including Pyodide/wasm32), uploads everything to PyPI, and attaches
|
|
8
|
+
# the Pyodide wheel to the release as a downloadable asset. There is no
|
|
9
|
+
# separate manual/workflow_dispatch path, so there's only one way to
|
|
10
|
+
# publish and it always does the full job.
|
|
3
11
|
#
|
|
4
12
|
# Uses OIDC trusted publishing -- no stored PyPI token required.
|
|
5
13
|
|
|
@@ -7,8 +15,7 @@ name: Publish to PyPI
|
|
|
7
15
|
|
|
8
16
|
on:
|
|
9
17
|
release:
|
|
10
|
-
types: [
|
|
11
|
-
workflow_dispatch:
|
|
18
|
+
types: [published]
|
|
12
19
|
|
|
13
20
|
jobs:
|
|
14
21
|
build_wheels:
|
|
@@ -84,7 +91,7 @@ jobs:
|
|
|
84
91
|
upload_pyodide_asset:
|
|
85
92
|
name: Attach Pyodide wheel to GitHub release
|
|
86
93
|
needs: build_pyodide
|
|
87
|
-
if:
|
|
94
|
+
if: needs.build_pyodide.result == 'success'
|
|
88
95
|
runs-on: ubuntu-latest
|
|
89
96
|
permissions:
|
|
90
97
|
contents: write
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
Notable changes to this project are documented in this file. Starts from
|
|
4
|
+
v1.2.0 — earlier releases aren't documented retroactively.
|
|
5
|
+
|
|
6
|
+
## [1.3.0] - 2026-08-03
|
|
7
|
+
|
|
8
|
+
### New
|
|
9
|
+
|
|
10
|
+
- **`Path` shape**: a polyline through a sequence of waypoints — straight
|
|
11
|
+
segments joining consecutive points, for drawing paths and trajectories
|
|
12
|
+
in the scene. `radius`/`linewidth` mirror `Arrow`'s existing mutual
|
|
13
|
+
exclusivity (a real tube when `radius > 0`, a line honoring `linewidth`
|
|
14
|
+
otherwise). Deliberately a plain `Shape`, not `CollisionShape` — Coal has
|
|
15
|
+
no native "tube along a polyline" primitive.
|
|
16
|
+
- **`Axes` gains `arrows=False`** (render each axis as a colored `Arrow`
|
|
17
|
+
instead of a plain line) plus `radius`/`linewidth`, passed straight
|
|
18
|
+
through to each constituent `Arrow` when `arrows=True`.
|
|
19
|
+
- **`Arrow` gains `linewidth`**: when `radius == 0` (the existing
|
|
20
|
+
"shaft is a line" fallback), `linewidth` now actually controls that
|
|
21
|
+
line's width in pixels — previously uncontrolled, whatever the browser's
|
|
22
|
+
default happened to render.
|
|
23
|
+
- **`__version__`** is now exposed, matching the other packages in the
|
|
24
|
+
toolbox family (`spatialmath-python`, `robotics-toolbox-python`, `bdsim`,
|
|
25
|
+
`machinevision-toolbox-python`).
|
|
26
|
+
|
|
27
|
+
### Changed
|
|
28
|
+
|
|
29
|
+
- **`Shape` and `CollisionShape` are now abstract base classes.** Neither
|
|
30
|
+
was meant to be instantiated directly — `Shape.to_dict` and
|
|
31
|
+
`CollisionShape._init_coal` are `@abstractmethod`; every concrete shape
|
|
32
|
+
already overrode both.
|
|
33
|
+
- **`T` (pose) moved from `Shape` up to `SceneNode`.** It was a thin
|
|
34
|
+
wrapper with nothing `Shape`-specific about it; moving it up means
|
|
35
|
+
`SceneGroup` (and any future `SceneNode` subclass) gets the same
|
|
36
|
+
convenient, `SE3`-accepting pose property that only `Shape` had before —
|
|
37
|
+
so a whole group of shapes can now be moved as one unit via `group.T`.
|
|
38
|
+
- **`repr()`/`str()` rewritten.** `repr()` previously showed only the
|
|
39
|
+
shape's `stype` string plus translation — not unambiguous (`Box`, a
|
|
40
|
+
deprecated alias of `Cuboid`, was indistinguishable from `Cuboid`) and
|
|
41
|
+
broke visually the moment more than one shape appeared together (e.g. in
|
|
42
|
+
a list, or a `SceneGroup`). Now single-line and constructor-style, e.g.
|
|
43
|
+
`Cylinder(radius=1.0, length=2.0, pose='t = 0, 0, 0; rpy/zyx = 0°, 0°, 0°')`.
|
|
44
|
+
- **Type hints modernized** across the scene-graph/shape classes —
|
|
45
|
+
`typing.Union`/`List`/`Dict`/`Tuple`/`Optional` replaced with
|
|
46
|
+
`X | Y`/`list`/`dict`/`tuple`, and filled in on several public
|
|
47
|
+
constructors/properties that had none at all.
|
|
48
|
+
- Docs: the Sphinx build's `docs` extra now also installs `collision`, so
|
|
49
|
+
the intro chapter's `closest_point()`/`iscollided()` example actually
|
|
50
|
+
runs instead of silently baking a traceback into the rendered page.
|
|
51
|
+
- Docs: intro chapter rewritten with mesh/collision worked examples, mouse
|
|
52
|
+
navigation controls, and scene-graph parenting; `sphinx-copybutton`,
|
|
53
|
+
`sphinx-codeautolink`, `sphinxcontrib-mermaid`, and a `make livehtml`
|
|
54
|
+
target wired up for faster doc iteration.
|
|
55
|
+
|
|
56
|
+
### Fixed
|
|
57
|
+
|
|
58
|
+
- **`Shape.color`'s setter left an all-integer color input as
|
|
59
|
+
`numpy.int64`** (e.g. `color=[1, 0, 0, 1]`, a very natural way to write
|
|
60
|
+
"opaque red") rather than a plain `float` — `self.color[3]` (opacity)
|
|
61
|
+
being `int64` broke real (non-mocked) `json.dumps()` sends. Never caught
|
|
62
|
+
by the existing test suite since those tests are `FakeBrowser`-mocked.
|
|
63
|
+
- **`SceneNode._T`'s setter referenced a nonexistent `self.parent.wT`**
|
|
64
|
+
(should have been `self._scene_parent._wT`) — setting a node's pose
|
|
65
|
+
while it already had a `scene_parent` raised `AttributeError` instead of
|
|
66
|
+
composing the world transform. No test coverage existed for this path
|
|
67
|
+
before.
|
|
68
|
+
- `SceneNode.scene_parent`'s return type was annotated `Type["SceneNode"]`
|
|
69
|
+
(the class itself) rather than an instance; corrected to
|
|
70
|
+
`SceneNode | None`.
|
|
71
|
+
|
|
72
|
+
## [1.2.0] - 2026-07-28
|
|
73
|
+
|
|
74
|
+
First release since v1.1.0 (2023) — mostly packaging and build-system work, plus a collision-backend swap.
|
|
75
|
+
|
|
76
|
+
### New
|
|
77
|
+
|
|
78
|
+
- **Coal replaces PyBullet as the collision backend.** PyBullet wouldn't build with clang on macOS, so all collision checking now runs on [Coal](https://github.com/coal-library/coal) instead.
|
|
79
|
+
- **NumPy 2 support.**
|
|
80
|
+
- **Pyodide (WebAssembly) wheels**, so spatialgeometry can run in-browser (e.g. JupyterLite), alongside the usual platform wheels. Since there's no C++ compiler to target under Pyodide, that wheel ships a pure-Python fallback for the scene-graph transform math instead of the compiled extension — same API, just not compiled.
|
|
81
|
+
- **Prebuilt wheels for more platforms**: native Linux arm64 and macOS arm64 in addition to Linux/Windows x86_64 — no compiler needed on install for any of them.
|
|
82
|
+
|
|
83
|
+
### Changed
|
|
84
|
+
|
|
85
|
+
- **Build system rewritten**: the C++ extension now builds with **nanobind + scikit-build-core** (previously a hand-rolled hatchling build hook). Faster builds, and the vendored Eigen copy was trimmed from Eigen's full 337-file tree down to the ~175 files this project actually uses.
|
|
86
|
+
- **Project layout moved to `src/`**, and the build backend moved from setuptools to hatchling and then to scikit-build-core over the course of this work.
|
|
87
|
+
- **Docs rewritten**: the README, intro chapter, and API reference no longer borrow content from the Robotics Toolbox docs — they now describe spatialgeometry on its own terms, with a Swift-based display example.
|
|
88
|
+
- **Dependency cleanup**: `roboticstoolbox` is no longer pulled into the `dev` extra, removing a version-pin collision some installs were hitting.
|
|
89
|
+
|
|
90
|
+
### Fixed
|
|
91
|
+
|
|
92
|
+
- macOS build failures caused by PyBullet + clang (resolved by the Coal switch above).
|
|
93
|
+
- NumPy 2 compatibility issues.
|
|
94
|
+
- Windows wheel builds failing over an overly long temp-file path.
|
|
95
|
+
- Several wheel-tagging/build-hook bugs that could produce a stale or wrong-architecture compiled extension, or silently fall back to a non-compiled wheel.
|
|
96
|
+
- The PyPI publish pipeline itself: a workflow bug was letting the Pyodide/wasm32 wheel — which PyPI doesn't accept — get bundled into the same upload batch as the real wheels, aborting the upload partway through. Publishing now uses a single, unambiguous trigger (creating a GitHub Release) that always completes the full publish.
|
|
97
|
+
|
|
98
|
+
### Known limitations
|
|
99
|
+
|
|
100
|
+
- Collision checking (Coal) isn't available via `pip` on Windows — one of Coal's own dependencies doesn't publish a Windows wheel. Everything else works there; `pip install spatialgeometry[collision]` will just have no effect on that platform for now.
|
|
101
|
+
**Workaround:** conda-forge publishes `coal-python` for `win-64` against its own assimp build, so `conda install -c conda-forge coal-python` followed by `pip install spatialgeometry trimesh` gets collision checking working on Windows today.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: spatialgeometry
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.3.0
|
|
4
4
|
Summary: A Shape and Geometry Description Package
|
|
5
5
|
Keywords: python,robotics,robotics-toolbox,kinematics,dynamics,motion-planning,trajectory-generation,jacobian,hessian,control,simulation,robot-manipulator,mobile-robot
|
|
6
6
|
Author-Email: Jesse Haviland <j.haviland@qut.edu.au>, Peter Corke <rvc@petercorke.com>
|
|
@@ -41,6 +41,7 @@ Requires-Dist: spatialmath-python>=1.0.0
|
|
|
41
41
|
Provides-Extra: collision
|
|
42
42
|
Requires-Dist: coal; sys_platform != "win32" and extra == "collision"
|
|
43
43
|
Requires-Dist: trimesh; extra == "collision"
|
|
44
|
+
Requires-Dist: pycollada; extra == "collision"
|
|
44
45
|
Provides-Extra: dev
|
|
45
46
|
Requires-Dist: black; extra == "dev"
|
|
46
47
|
Requires-Dist: editables; extra == "dev"
|
|
@@ -53,7 +54,10 @@ Requires-Dist: trimesh; extra == "dev"
|
|
|
53
54
|
Provides-Extra: docs
|
|
54
55
|
Requires-Dist: sphinx; extra == "docs"
|
|
55
56
|
Requires-Dist: sphinx_rtd_theme; extra == "docs"
|
|
56
|
-
Requires-Dist: sphinx-
|
|
57
|
+
Requires-Dist: sphinx-pyrunblock; extra == "docs"
|
|
58
|
+
Requires-Dist: sphinx-copybutton; extra == "docs"
|
|
59
|
+
Requires-Dist: sphinx-codeautolink; extra == "docs"
|
|
60
|
+
Requires-Dist: sphinxcontrib-mermaid; extra == "docs"
|
|
57
61
|
Description-Content-Type: text/markdown
|
|
58
62
|
|
|
59
63
|
# Spatial Geometry
|
|
@@ -136,6 +140,14 @@ required there.
|
|
|
136
140
|
> version range Coal needs), so the `collision` extra skips it there and
|
|
137
141
|
> collision checking is unavailable via `pip` on Windows. Everything else
|
|
138
142
|
> in the package works normally.
|
|
143
|
+
>
|
|
144
|
+
> Workaround: conda-forge publishes `coal-python` built for `win-64`
|
|
145
|
+
> against its own assimp, sidestepping the missing wheel entirely:
|
|
146
|
+
>
|
|
147
|
+
> ```shell
|
|
148
|
+
> conda install -c conda-forge coal-python
|
|
149
|
+
> pip install spatialgeometry trimesh
|
|
150
|
+
> ```
|
|
139
151
|
|
|
140
152
|
### conda / conda-forge
|
|
141
153
|
|
|
@@ -78,6 +78,14 @@ required there.
|
|
|
78
78
|
> version range Coal needs), so the `collision` extra skips it there and
|
|
79
79
|
> collision checking is unavailable via `pip` on Windows. Everything else
|
|
80
80
|
> in the package works normally.
|
|
81
|
+
>
|
|
82
|
+
> Workaround: conda-forge publishes `coal-python` built for `win-64`
|
|
83
|
+
> against its own assimp, sidestepping the missing wheel entirely:
|
|
84
|
+
>
|
|
85
|
+
> ```shell
|
|
86
|
+
> conda install -c conda-forge coal-python
|
|
87
|
+
> pip install spatialgeometry trimesh
|
|
88
|
+
> ```
|
|
81
89
|
|
|
82
90
|
### conda / conda-forge
|
|
83
91
|
|
|
@@ -12,7 +12,13 @@ BUILDDIR = build
|
|
|
12
12
|
help:
|
|
13
13
|
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
# Live-rebuild and reload in the browser on every source change.
|
|
16
|
+
livehtml:
|
|
17
|
+
sphinx-autobuild "$(SOURCEDIR)" "$(BUILDDIR)/html" $(SPHINXOPTS) $(O) \
|
|
18
|
+
--open-browser \
|
|
19
|
+
--ignore "$(SOURCEDIR)/generated/*"
|
|
20
|
+
|
|
21
|
+
.PHONY: help livehtml Makefile
|
|
16
22
|
|
|
17
23
|
# Catch-all target: route all unknown targets to Sphinx using the new
|
|
18
24
|
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
|