Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release: 4.0.0 #2038

Merged
merged 170 commits into from
Oct 13, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
170 commits
Select commit Hold shift + click to select a range
8064f2f
ruff
mikedh Aug 23, 2023
63affb2
passing ruff with upgrades
mikedh Aug 23, 2023
004a192
remove all extra and switch docs to furo
mikedh Aug 23, 2023
afa0a3a
pyproject update
mikedh Aug 25, 2023
37039c0
use manual setuptools discovery
mikedh Aug 25, 2023
831d769
better error message for test_minimal
mikedh Aug 25, 2023
42815ec
edit test_minimal
mikedh Aug 25, 2023
2e077ff
prevent division by zero
YuanWenqing Aug 28, 2023
e4d51e5
add prerelease warning to readme and test on 3.6
mikedh Aug 28, 2023
bb9213b
Merge branch 'drop/py2' of github.com:mikedh/trimesh into drop/py2
mikedh Aug 28, 2023
b3acf7c
try old python on 20.04
mikedh Aug 28, 2023
2cd4d8f
try last 3.6 version of setuptools
mikedh Aug 28, 2023
d3fc18e
see if 3.6 can work
mikedh Aug 28, 2023
88a688c
setuptools version
mikedh Aug 28, 2023
a3c4edf
use pkg_resources on older python
mikedh Aug 28, 2023
6675fee
use target-version for ruff
mikedh Aug 28, 2023
917c8b5
deprecate hash entry points
mikedh Aug 28, 2023
098ebd4
fix test_repair
mikedh Aug 28, 2023
fe7ceec
convert trimesh.transformations to be numpy-only
mikedh Aug 28, 2023
76be3a9
fix docs
mikedh Aug 28, 2023
473a2f7
ruff
mikedh Aug 28, 2023
ac9d093
force np.inf in t to zero
YuanWenqing Aug 30, 2023
3dce9ce
fusion of multiple pbr meshes
dabeschte Aug 30, 2023
2b8548c
nonzero mask
YuanWenqing Aug 30, 2023
4100f95
added padding to fused textures to prevent interpolation between text…
dabeschte Aug 30, 2023
ab837ce
fusion of multiple pbr meshes
dabeschte Aug 30, 2023
6aa73ba
added padding to fused textures to prevent interpolation between text…
dabeschte Aug 30, 2023
5ee5a02
Merge branch 'mesh-fusion' of github.com:dabeschte/trimesh into mesh-…
dabeschte Aug 30, 2023
d52b6da
fixed perceived brightness calculation
dabeschte Aug 30, 2023
f27e8ed
keep vertex normals when fusing meshes
dabeschte Aug 30, 2023
b15b216
ci release changes
mikedh Aug 30, 2023
d57c974
Add torus
clemense Aug 31, 2023
f21d3ad
Add test for torus
clemense Aug 31, 2023
41870b2
Merge pull request #2012 from YuanWenqing/bugfix/divide_zero
mikedh Aug 31, 2023
2b549f0
Fix test
clemense Sep 1, 2023
f8652b5
Vectorize code
clemense Sep 1, 2023
e4f4db3
Fix formatting issues
clemense Sep 1, 2023
3ce5b08
many small bug fixes for pbr material fusion
dabeschte Sep 1, 2023
dc86c68
fix formating
dabeschte Sep 1, 2023
b85f2db
fixed unused rotate parameter resulting in weird errors
dabeschte Sep 1, 2023
3952443
Merge pull request #2015 from dabeschte/spec-gloss-met-rough-fix
mikedh Sep 1, 2023
aa99d92
Comment: Updated a module name to allow import without type errors.
munahaf Sep 1, 2023
0c1afc9
Create torus using revolve()
clemense Sep 1, 2023
7420d50
Merge pull request #2020 from munahaf/Security_Misconfiguration_Issue…
mikedh Sep 2, 2023
5c8432b
Merge pull request #2019 from clemense/clemense/add_torus
mikedh Sep 2, 2023
69c2d95
ruff
mikedh Sep 2, 2023
9a6e5f9
Set gmsh options before opening the file
OliverLengwinat Sep 4, 2023
e3b0bf4
Merge pull request #2023 from OliverLengwinat/fix_args_before_loading
mikedh Sep 4, 2023
729dfbf
type hints
mikedh Sep 5, 2023
1a19958
base importing with type hints
mikedh Sep 5, 2023
5c3d0b1
sigh take kwargs again
mikedh Sep 5, 2023
bd33e2e
use string annotations
mikedh Sep 6, 2023
0796b7a
import in base
mikedh Sep 6, 2023
d99d1af
play with generics
mikedh Sep 7, 2023
8e7eacf
add base typed
mikedh Sep 7, 2023
2e0c841
ruff
mikedh Sep 8, 2023
891dbcd
support for glTF WebP extension
xiaoxiae Sep 9, 2023
548a9e0
change polygon_hash to identifier
mikedh Sep 10, 2023
3fe80c5
apply deprecation
mikedh Sep 11, 2023
3dd27b0
ruff
mikedh Sep 11, 2023
fb1aa09
add back int64
mikedh Sep 11, 2023
3f93c09
not everyone has float128
mikedh Sep 11, 2023
6287418
remove missed embed
mikedh Sep 11, 2023
f260439
update renamed field
mikedh Sep 12, 2023
6f394e6
Merge branch 'drop/py2' of github.com:mikedh/trimesh into drop/py2
mikedh Sep 12, 2023
c36c586
release candidates
mikedh Sep 12, 2023
8846c65
glTF WebP test
xiaoxiae Sep 13, 2023
0b9b77e
add WebP to used/required glTF extensions
xiaoxiae Sep 13, 2023
5979287
many bug fixes
dabeschte Sep 14, 2023
7de1b1a
fixed accessing missing variable
dabeschte Sep 14, 2023
b7338a0
fixed gltf export when using paths instead of only file name
dabeschte Sep 14, 2023
87ffb5d
many small fixes
dabeschte Sep 14, 2023
6a3ca48
updated pbr conversion test case for new sRGB implementation
dabeschte Sep 14, 2023
6eb6649
removed debug code
dabeschte Sep 14, 2023
97b7b20
fix and test #2033
mikedh Sep 14, 2023
5cffea1
fix import
mikedh Sep 14, 2023
f5185d9
Merge branch 'drop/py2' into main
mikedh Sep 14, 2023
06149e3
Merge pull request #2031 from xiaoxiae/main
mikedh Sep 14, 2023
7cac99e
skip broken extensions
mikedh Sep 14, 2023
f5cc44b
make extension optional
mikedh Sep 14, 2023
18fbbf4
add second moments to polygon identifier
mikedh Sep 14, 2023
15b9b77
convert constants to dataclasses
mikedh Sep 14, 2023
a1697ca
change arc_center to dataclass
mikedh Sep 14, 2023
9d76697
wrap getitem
mikedh Sep 14, 2023
d2d236b
use typed List
mikedh Sep 15, 2023
d2aec5b
added test case for pbr material fusion with handcrafted example model
dabeschte Sep 15, 2023
21328d9
added documentation for sRGB conversion
dabeschte Sep 15, 2023
b9d84a0
increased accuracy of lin 2 srgb threshold
dabeschte Sep 15, 2023
d523c3b
Merge pull request #2035 from dabeschte/fix-gltf-export-path
mikedh Sep 15, 2023
5824483
add meta-extra
mikedh Sep 15, 2023
aca6617
add test for #2035
mikedh Sep 15, 2023
f5c9dc8
fix #1970
mikedh Sep 15, 2023
ad28bd0
voxel caching still weird
mikedh Sep 15, 2023
49518e1
fix test_obj
mikedh Sep 17, 2023
49ec9aa
fix formatting
mikedh Sep 17, 2023
af19e8b
update domain trimsh.org->trimesh.org
mikedh Sep 18, 2023
ba4857a
attempt
mikedh Sep 19, 2023
b8ca1bb
revert broken voxel changes
mikedh Sep 19, 2023
8034888
Merge pull request #2016 from dabeschte/fuse-mesh-vertex-normals
mikedh Sep 19, 2023
0dc7411
add a test for #2016
mikedh Sep 19, 2023
a393abb
add in-process check
mikedh Sep 19, 2023
f7121ca
fix subtle caching bug
mikedh Sep 19, 2023
a222223
run black on trimesh-setup
mikedh Sep 19, 2023
40b4689
simplify arraylike
mikedh Sep 19, 2023
e95ccad
fix test_bounds
mikedh Sep 19, 2023
19a7301
update points
mikedh Sep 19, 2023
7c251e0
remove floatlike
mikedh Sep 19, 2023
3efcbf1
try embed
mikedh Sep 19, 2023
befc4c1
partially revert #1895
mikedh Sep 19, 2023
2ef582a
remove stub temporarydirectory
mikedh Sep 19, 2023
6210b25
remove unused import
mikedh Sep 19, 2023
ab6d61e
use built-in temporarydirectory
mikedh Sep 19, 2023
7c1c45d
exit temporary directory for windows
mikedh Sep 20, 2023
9380872
Merge pull request #2010 from mikedh/drop/py2
mikedh Sep 20, 2023
640ca9e
fix version logic in CI
mikedh Sep 20, 2023
642241e
make version.py more complicated
mikedh Sep 20, 2023
a09d6fe
update docs
mikedh Sep 20, 2023
130897d
Merge pull request #2036 from dabeschte/spec-gloss-tests
mikedh Sep 20, 2023
9cdefe9
Merge branch 'rc1' into mesh-fusion
mikedh Sep 20, 2023
6b414b3
Merge pull request #2017 from dabeschte/mesh-fusion
mikedh Sep 20, 2023
b1d4b5f
ruff on merges
mikedh Sep 20, 2023
51b9a24
convert convex decomposition to pyVHACD
mikedh Sep 22, 2023
68af44b
remove show
mikedh Sep 22, 2023
1fa13c7
update decomposition
mikedh Sep 22, 2023
9c5f1e6
update docs
mikedh Sep 22, 2023
c184c17
add more options to image packing
mikedh Sep 23, 2023
8b79d8f
handle interleaved buffers
mikedh Sep 23, 2023
9eb7ebb
handle no buffer info
mikedh Sep 23, 2023
b7558ac
somewhat close
mikedh Sep 25, 2023
ec8338b
run black on everything
mikedh Sep 28, 2023
1f99f02
check formatting in docker
mikedh Sep 28, 2023
4e7ff7b
fix return type
mikedh Sep 28, 2023
fb77250
ruff on tests
mikedh Sep 28, 2023
b33e440
tests
mikedh Sep 28, 2023
cdc9902
fix apply_obb
mikedh Sep 28, 2023
e3d299d
fix test_inertia
mikedh Sep 29, 2023
a168287
actually apply obb transform
mikedh Sep 29, 2023
fd06c91
add some tests and better error messages
mikedh Sep 29, 2023
6781c47
fix check and add matplotlib to test extra
mikedh Sep 29, 2023
4d14f4f
try uv packing check inline
mikedh Sep 29, 2023
6b3b83b
add collision to init
mikedh Sep 29, 2023
3191ea7
Merge pull request #2039 from mikedh/rc1
mikedh Sep 30, 2023
67a3727
try to include examples as md/rst
mikedh Sep 30, 2023
878ee23
switch to rst
mikedh Sep 30, 2023
7e946d0
broken but less confused
mikedh Sep 30, 2023
0d06968
slightly closer
mikedh Sep 30, 2023
e5f751f
postprocess
mikedh Oct 1, 2023
08a59e7
restore deps
mikedh Oct 1, 2023
b2e59ee
Merge pull request #2042 from mikedh/docs/examples
mikedh Oct 1, 2023
bd1ac44
Modified to skip processing when the vertex attribute of primitive is…
iory Oct 1, 2023
afb2aa3
fix link and bump to rc2
mikedh Oct 1, 2023
5700fbd
Merge pull request #2043 from iory/dae
mikedh Oct 1, 2023
780b61c
Allow custom VHACD parameters
nepfaff Oct 2, 2023
ca994d0
combine version logic into one function
mikedh Oct 5, 2023
21520f7
Merge pull request #2046 from nepfaff/allow_vhacd_parameters
mikedh Oct 9, 2023
6fe2af1
use vhacdx
mikedh Oct 9, 2023
c5b11ac
address suggestions in #2017
mikedh Oct 10, 2023
000551b
soft dep
mikedh Oct 10, 2023
400242d
match upstream vhacdx
mikedh Oct 10, 2023
8344ad4
remove redundant path method
mikedh Oct 10, 2023
623c5d8
use stream loading in enclosure tree
mikedh Oct 10, 2023
cf273fa
only create tree if any valid bounds exist
mikedh Oct 11, 2023
e3c156b
check path discrete
mikedh Oct 11, 2023
df181f1
Fix some assorted typos found with codespell
musicinmybrain Oct 12, 2023
0bf4939
add clamping strategy
mikedh Oct 13, 2023
05686da
Merge pull request #2051 from musicinmybrain/typos
mikedh Oct 13, 2023
0df357c
run black
mikedh Oct 13, 2023
7373e4d
Merge branch 'rc1' of github.com:mikedh/trimesh into rc2
mikedh Oct 13, 2023
6e3e697
Merge pull request #2044 from mikedh/rc2
mikedh Oct 13, 2023
03bdeea
major version bump
mikedh Oct 13, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 5 additions & 7 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ on:
push:
branches:
- main
- release-candidate

jobs:
formatting:
Expand All @@ -26,13 +27,10 @@ jobs:
runs-on: ${{ matrix.os }}
strategy:
matrix:
python-version: [3.6, 3.7, 3.8, 3.9, "3.10", "3.11"]
os: [ubuntu-20.04, macos-latest, windows-latest]
python-version: ["3.7", "3.8", "3.9", "3.10", "3.11"]
os: [ubuntu-latest, macos-latest, windows-latest]
exclude:
# windows runners have gotten very flaky
# exclude all windows test runs except for one
- os: windows-latest
python-version: 3.6
# windows runners have gotten flaky
- os: windows-latest
python-version: 3.8
- os: windows-latest
Expand Down Expand Up @@ -63,7 +61,7 @@ jobs:
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: '3.x'
python-version: '3.11'
- name: Install publishing dependencies
run: |
python -m pip install --upgrade pip
Expand Down
15 changes: 9 additions & 6 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,16 +15,19 @@ jobs:
uses: actions/setup-python@v4
with:
python-version: "3.11"
- name: Install Formatting
run: pip install ruff
- name: Check Formatting
- name: Install
run: pip install ruff black
- name: Run Ruff
run: ruff .
# - name: Run Black
# run: black --check .

tests:
name: Run Unit Tests
runs-on: ${{ matrix.os }}
strategy:
matrix:
python-version: ["3.11"]
python-version: ["3.7", "3.11"]
os: [ubuntu-latest, windows-latest, macos-latest]
steps:
- uses: actions/checkout@v3
Expand Down Expand Up @@ -60,10 +63,10 @@ jobs:
with:
path: ~/.trimesh-cache
key: trimesh-cache
- name: Set up Python 3.10
- name: Set up Python 3.11
uses: actions/setup-python@v4
with:
python-version: "3.10"
python-version: "3.11"
- name: Install Trimesh
run: pip install .[easy,test]
- name: Run Corpus Check
Expand Down
16 changes: 9 additions & 7 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -21,17 +21,16 @@ RUN trimesh-setup --install build

# copy in essential files
COPY --chown=499 trimesh/ /home/user/trimesh
COPY --chown=499 setup.py /home/user/
COPY --chown=499 pyproject.toml /home/user/

# switch to non-root user
USER user

# install trimesh into .local
# then delete any included test directories
# and remove Cython after all the building is complete
RUN pip install /home/user[all] && \
find /home/user/.local -type d -name tests -prune -exec rm -rf {} \; && \
pip uninstall -y cython
RUN pip install --user /home/user[easy] && \
find /home/user/.local -type d -name tests -prune -exec rm -rf {} \;

####################################
### Build output image most things should run on
Expand All @@ -58,7 +57,6 @@ FROM output AS tests
COPY --chown=499 tests ./tests/
COPY --chown=499 trimesh ./trimesh/
COPY --chown=499 models ./models/
COPY --chown=499 setup.py .
COPY --chown=499 pyproject.toml .

# codecov looks at the git history
Expand All @@ -69,7 +67,11 @@ RUN trimesh-setup --install=test,gltf_validator,llvmpipe,binvox
USER user

# install things like pytest
RUN pip install -e .[all,easy,recommends,test]
RUN pip install -e .[all]

# check formatting
RUN ruff trimesh
RUN black --check trimesh

# run pytest wrapped with xvfb for simple viewer tests
RUN xvfb-run pytest --cov=trimesh \
Expand Down Expand Up @@ -103,7 +105,7 @@ RUN make

### Copy just the docs so we can output them
FROM scratch as docs
COPY --from=build_docs /home/user/docs/_build/html/ ./
COPY --from=build_docs /home/user/docs/built/html/ ./

### Make sure the output stage is the last stage so a simple
# "docker build ." still outputs an expected image
Expand Down
2 changes: 1 addition & 1 deletion LICENSE.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
The MIT License (MIT)

Copyright (c) 2019 Michael Dawson-Haggerty
Copyright (c) 2023 Michael Dawson-Haggerty

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
3 changes: 0 additions & 3 deletions MANIFEST.in

This file was deleted.

7 changes: 3 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
[![trimesh](https://trimsh.org/images/logotype-a.svg)](http://trimsh.org)
[![trimesh](https://trimesh.org/images/logotype-a.svg)](http://trimesh.org)

-----------
[![Github Actions](https://github.com/mikedh/trimesh/workflows/Release%20Trimesh/badge.svg)](https://github.com/mikedh/trimesh/actions) [![PyPI version](https://badge.fury.io/py/trimesh.svg)](https://badge.fury.io/py/trimesh) [![codecov](https://codecov.io/gh/mikedh/trimesh/branch/main/graph/badge.svg?token=4PVRQXyl2h)](https://codecov.io/gh/mikedh/trimesh) [![Docker Image Version (latest by date)](https://img.shields.io/docker/v/trimesh/trimesh?label=docker&sort=semver)](https://hub.docker.com/r/trimesh/trimesh/tags)
[![Github Actions](https://github.com/mikedh/trimesh/workflows/Release%20Trimesh/badge.svg)](https://github.com/mikedh/trimesh/actions) [![codecov](https://codecov.io/gh/mikedh/trimesh/branch/main/graph/badge.svg?token=4PVRQXyl2h)](https://codecov.io/gh/mikedh/trimesh) [![Docker Image Version (latest by date)](https://img.shields.io/docker/v/trimesh/trimesh?label=docker&sort=semver)](https://hub.docker.com/r/trimesh/trimesh/tags) [![PyPI version](https://badge.fury.io/py/trimesh.svg)](https://badge.fury.io/py/trimesh)



Trimesh is a pure Python (2.7-3.5+) library for loading and using [triangular meshes](https://en.wikipedia.org/wiki/Triangle_mesh) with an emphasis on watertight surfaces. The goal of the library is to provide a full featured and well tested Trimesh object which allows for easy manipulation and analysis, in the style of the Polygon object in the [Shapely library](https://github.com/Toblerity/Shapely).
Trimesh is a pure Python 3.7+ library for loading and using [triangular meshes](https://en.wikipedia.org/wiki/Triangle_mesh) with an emphasis on watertight surfaces. The goal of the library is to provide a full featured and well tested Trimesh object which allows for easy manipulation and analysis, in the style of the Polygon object in the [Shapely library](https://github.com/Toblerity/Shapely).

The API is mostly stable, but this should not be relied on and is not guaranteed: install a specific version if you plan on deploying something using trimesh.

Expand Down
8 changes: 0 additions & 8 deletions codecov.yml

This file was deleted.

Loading
Loading