Skip to content

Update dependency trimesh to v4.12.2 - #72

Merged
jimboid merged 1 commit into
mainfrom
renovate/trimesh-4.x
Sep 21, 2026
Merged

jimboid merged 1 commit into
mainfrom
renovate/trimesh-4.x

Conversation

@renovate

@renovate renovate Bot commented Sep 21, 2026

Copy link
Copy Markdown

This PR contains the following updates:

Package Change Age Confidence
trimesh 4.8.3 → 4.12.2 age confidence

Release Notes

mikedh/trimesh (trimesh)

v4.12.2

Compare Source

What's Changed

Full Changelog: mikedh/trimesh@4.12.1...4.12.2

v4.12.1

Compare Source

What's Changed

Full Changelog: mikedh/trimesh@4.12.0...4.12.1

v4.12.0

Compare Source

What's Changed

New Contributors

Full Changelog: mikedh/trimesh@4.11.5...4.12.0

v4.11.5

Compare Source

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:

v4.11.4

Compare Source

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.

v4.11.3

Compare Source

Release: Fix For Open Paths (#​2507)

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

v4.11.2

Compare Source

Hotfix for new ruff release (#​2503)

Fix for new ruff rule in 0.15.0 blocking release.

v4.11.1

Compare Source

Release: Fix WebP Export (#​2499)

v4.11.0

Compare Source

Release: Extensions (#​2497)

  • capture STDERR to fix #​2495
  • release #​2492
  • release #​2493
  • moves trimesh/exchange/gltf.py to
    trimesh/exchange/gltf/__init__.py which is identical for import users,
    but lets us add the additional extensions.py next to it.

v4.10.1

Compare Source

Release: Projected Precise Mode (#​2491)

  • release #​2490 as discussed in #​2488 doing minor cleanup below the
    precision threshold before unioning every triangle in projected(... precise=True)
  • release #​2487 cleaning up the logic in
    trimesh.grouping.group_distance to be more coherent.

v4.10.0

Compare Source

Release: Collision Name (#​2479)

  • release #​2475
  • release #​2474
  • release #​2483
  • release #​2481
  • release #​2486
  • release #​2480
  • this applies the March 2024 deprecation removing
    Trimesh.remove_degenerate_faces and Trimesh.remove_duplicate_faces.
  • moves the SceneViewer control instructions from the README to print
    on the h keypress, and make the default window caption include h for help
  • remove psutil from dependencies. It was only used to check if a
    scipy.spatial.cdist call was going to use more than 50% of free system
    memory before falling back to a more memory-efficient but slower loop.
    This now falls back to a looping method if the cdist call is going to
    use more than a fixed 4 GB of memory,
  • add check that primitives (i.e. Cylinder) mostly override area and
    volume by checking that their primitive area/volume is not exactly
    floating point equal to their meshed volume. This caught that Capsule
    didn't return analytical volume/area which was also fixed. We could
    probably make Primitive a multiple inheritance ABC that requires certain
    properties but since Primitive already inherits from Trimesh that seems
    unnecessary and confusing.
  • clean up references to OpenCTM, which was
    deprecated
    for low use,
    being unmaintained, and inflicting a burden on upstream package
    management.
  • docker images now build with 3.14

v4.9.0

Compare Source

Release: Unit Hints (#​2468)

  • Be more flexible in getting unit hints from file names since it was a
    little silly that 20mm-xyz-cube did not resolve as mm.
  • Apply actions
    guidance

    updating to use the macos-15-intel image.
  • test and fix trimesh.scene.lighting.autolight crashing on empty
    scenes by checking scene.bounds is None
  • release #​2470
  • add a note about whether or not we should apply the fix from #​2457 to
    PBRMaterial.to_simple using the same conversion function for the
    linear baseColorFactor to RGB, but don't actually apply the change as
    it seems likely to be a source of user confusion.
  • add a Path2D.convex_hull to match every other geometry method.
  • update test_scene.py to pytest style
  • release #​2472
  • release #​2473
  • Add in another Literal type for VoxelizationMethodsType rather
    than a "loose string".

Configuration

📅 Schedule: (in timezone Europe/London)

  • Branch creation
    • "after 5am and before 5pm every weekday"
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@jimboid
jimboid merged commit 6733cb1 into main Sep 21, 2026
4 checks passed
@renovate
renovate Bot deleted the renovate/trimesh-4.x branch September 21, 2026 08:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant