Skip to content

Releases: mikedh/trimesh

Release 5.0.0rc1

24 Jun 04:58
a513c0e

Choose a tag to compare

What's Changed

Full Changelog: 5.0.0rc0...5.0.0rc1

Release 5.0.0rc0

15 Jun 20:55
791a694

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: 4.12.2...5.0.0rc0

Release 4.12.2

01 May 00:57
c2f5a3b

Choose a tag to compare

What's Changed

Full Changelog: 4.12.1...4.12.2

Release 4.12.1

24 Apr 20:59
89a7d38

Choose a tag to compare

What's Changed

Full Changelog: 4.12.0...4.12.1

Release 4.12.0

23 Apr 23:44
d3f2f96

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: 4.11.5...4.12.0

Release 4.11.5

25 Mar 01:08
858b5c0

Choose a tag to compare

Release: Fix fill_holes with face attributes (#2518)

Trimesh.fill_holes was adding new faces but haphazardly managing the
bookkeeping: it broke len(mesh.faces) == len(mesh.face_attributes[n])
if there were any holes filled.

  • add Trimesh.extend_faces which moves the bookkeeping of "preserve
    cached face normals to avoid recalculating, pad face colors, pad face
    attributes" to a generic mesh attribute in the same vein as
    mesh.update_faces.
  • refactor the tesselation of the holes in repair.fill_holes to use
    triangulate_quads which implemented the hole filling logic but better.
    Switch the winding search to a numpy indexing trick for new faces.
  • Have geometry.triangulate_quads use the preexisting
    util.triangle_fan_to_faces which uses numpy instead of a list
    comprehension and is heavily used and tested in the codebase.

Also:

  • try to test and fix #2516

Release 4.11.4

18 Mar 22:59
c8b2216

Choose a tag to compare

Release: Simple endian tests (#2512)

Even if we can't fully support other endian platforms, imports and
exports should explicitly set endian-ness of outputs.

  • Adds a make test-arch which runs a subset of test on qemu/docker to
    catch simple problems on little-endian and 32bit platforms
  • Adds fix from #2506 which implemented Line.closed setter to
    auto-close polylines when passed.
  • Audit use of np.einsum/np.dot from good discussion in #2514. My
    conclusion was that numpy.dot is probably not the culprit and too core
    to avoid. As part of looking into this I benchmarked our other uses of
    np.einsum against simple numpy operations, it was on average ~2x
    slower. I also tried the `np.einsum(... optimize=True) as discussed in
    this interesting
    post

    but for the trimesh use cases of very simple expressions this was
    substantially slower in every case I measured.

Release 4.11.3

06 Mar 01:16
5688bae

Choose a tag to compare

Release: Fix For Open Paths (#2507)

  • release #2505
  • switch while loop to bounded for loop in the traversals logic

Release 4.11.2

10 Feb 16:00
74cef39

Choose a tag to compare

Hotfix for new ruff release (#2503)

Fix for new ruff rule in 0.15.0 blocking release.

Release 4.11.1

17 Jan 16:38
934ea6c

Choose a tag to compare

Release: Fix WebP Export (#2499)