Skip to content

Enhancement Ideas 2 #1557

Description

@mikedh

PR's are always super welcome! This is a relatively small open source project and really benefits from the bugfixes, features, and other stuff the 100+ contributors have PR'd, so thanks!

The previous issue (#199) got pretty out of date and a lot of the stuff on it was done so here's a new thread. Feel free to suggest things!

  • Implement an actually correct and maybe even faster OBB algorithm (trimesh.bounds.oriented_bounds(mesh) documentation #1544)
  • Finally get the embree4 stuff over the line to be merged
    • The mikedh/embreex fork now has wheels for Mac/Linux/Win Python 3.6-3.11
    • A number of people have worked on this ray branch [WIP] Ray Refactor #1108
  • Add texture preservation to mesh.slice_plane Slicing a mesh and preserving the textured visuals #1920
  • Wishlist: find some way to make scene.save_image always work. We get a ton of issues about this and the answer is always pretty much "sorry your graphics driver hates you," or "try the docker image." I guess it's just a hard problem that depends a lot on platform and I'm not sure there's any way to solve it from trimesh
    • Apparently vulkan treats "screen vs offscreen" basically the same. Maybe we just need an additional viewer window that uses a vulkan backend, wgpu-native seems super interesting: https://github.com/pygfx/wgpu-py . BGFX also probably does this.
  • Polish the wart where OBJ sometimes return a Scene. Maybe now that multi-material single meshes were PR'd in Merge primitive materials #1246 we could have OBJ always return a Trimesh.
  • Fix trimesh.remesh.subdivide subdivide_to_size so that if you specify a subset of faces it splits their neighbors in a way to maintain watertightness.
  • Building on the relative success (measured by the lack of an immediate cavalcade of issues) of the deprecation procedure used in Release: Refactor Hashes #1693 refactor the trimesh.path.Path API. Specifically:
    • path.polygons_closed->path.linestrings
    • path.polygons_full -> path.polygons
    • Maybe additional logic so it isn't quite so "closed curves" specific and matches the Shapely data model a little better. Not sure about path.path and path.discrete.
  • make pyright trimesh pass
    • trimesh predates both pyright/mypy and type hints. Fixing a few of these at a time would be a great place to start contributing, i.e. pyright trimesh/graph.py.
    • tracked in Type Hint Issues: Pyright + Mypy #2192

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions