Skip to content

lace/lacecore

Repository files navigation

lacecore

version python versions license coverage build code style

Polygonal meshes optimized for cloud computation.

Relies on the scientific-computing package NumPy, the cloud-ready computational geometry library polliwog and the linear-algebra toolbelt vg.

Similar libraries in the problem space are Trimesh which is large, full-featured, batteries included, and a better choice for rapid prototyping, and Lace, also batteries included, which is the spiritual predecessor of this library.

The goals of this project are:

  • Keep dependencies light and deployment flexible.
  • Ensure high performance.
  • Maintain 100% coverage and production code quality.
  • Provide a complete core which can be augmented through additional modules.
  • Respond to community contributions.

Installation

pip install lacecore

In order to keep the package lightweight, support for loading OBJs is optional:

pip install lacecore[obj]

Development

First, install Poetry.

After cloning the repo, run ./bootstrap.zsh to initialize a virtual environment with the project's dependencies.

Subsequently, run ./dev.py install to update the dependencies.

Acknowledgements

This library was developed by Paul Melnikow and Jake Beard.

Its spiritual predecessor is Lace, which was refactored from legacy code at Body Labs by Alex Weiss, with portions by Eric Rachlin, Paul Melnikow, Victor Alvarez, and others. Later it was extracted from the Body Labs codebase and open-sourced by Guillaume Marceau. In 2018 it was forked by Paul Melnikow and published as metabolace. Thanks to a repository and package transfer from Body Labs, the fork has been merged back into the original.

License

The project is licensed under the two-clause BSD license.