Skip to content

Enhancement Ideas 2 #1557

@mikedh

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

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions