project-structure

star 284

Overview of the main directories and important files in the repository. Use this to understand the project layout and find where code lives.

spiriMirror By spiriMirror schedule Updated 3/6/2026

name: project-structure description: Overview of the main directories and important files in the repository. Use this to understand the project layout and find where code lives.

Project Structure Guide

Overview of the main directories and important files in the repository.

Top-Level Directories

  • apps/ - C++ apps, benchmarks, examples, and tests (see apps/CMakeLists.txt).
  • assets/ - Scene assets and simulation data.
  • cmake/ - Shared CMake utilities and macros.
  • docs/ - Documentation, specs, and site assets.
  • external/ - Third-party dependencies (e.g., external/muda/).
  • include/ - Public C++ headers.
  • output/ - Generated outputs from simulations. (the contents is ignored by git)
  • python/ - Python package, tests, and metadata.
  • scripts/ - Utility scripts and notebooks.
  • src/ - Core C++ implementation.
  • xmake/ - XMake rules and build helpers.

Subfolder Purposes

apps/

  • app/ - Shared app utilities and test helpers.
  • benchmarks/ - Benchmark executables.
  • examples/ - Example applications (each in its own subfolder).
  • tests/ - C++ test suites grouped by feature area.

assets/

  • scenes/ - Scene README and references.
  • sim_data/ - Mesh assets (linemesh/, tetmesh/, trimesh/).

docs/

  • build_install/ - Build and install guides.
  • development/ - Developer docs and diagrams.
  • specification/ - API/spec references and constitutions.
  • tutorial/ - Tutorial content and media.
  • overrides/ - MkDocs HTML overrides.
  • stylesheets/ - Docs CSS.
  • javascripts/ - Docs JS.
  • media/ - Images for docs pages.
  • misc/ - Miscellaneous documentation.

external/

  • muda/ - Third-party CUDA/math dependency (source + docs + tests).

include/

  • uipc/ - Public headers grouped by module (backend, core, geometry, io, etc.).
  • uipc_gui/ - Public GUI-related headers. (now not supported)

python/

  • src/uipc/ - Pure python code to enhance the C++ pybind11 bindings.
  • tests/ - Python test suite.

scripts/

  • optional_import/ - Optional dependency loaders.
  • symbol_calculation/ - Symbolic derivation notebooks and helpers.
  • SymEigen/ - SymEigen utilities, notebooks, and tests.

src/

  • backends/ - Backend implementations (common/, cuda/, none/).
    • common/ - Common utilities for all backends.
    • cuda/ - CUDA backend with CUDA kernels.
    • none/ - An empty backend that does nothing, as a template for creating a new backend or checking the basic functionality.
  • constitution/ - Physical constitution implementations.
  • core/ - Core engine systems and modules.
  • geometry/ - Geometry algorithms and data types.
  • gui/ - GUI runtime components. (now not supported)
  • io/ - Serialization and I/O.
  • pybind/ - C++/Python bindings.
  • sanity_check/ - Internal scene sanity checks to ensure the correctness of scene before the simulation.
  • usd/ - USD integration.
  • vdb/ - VDB integration.
Install via CLI
npx skills add https://github.com/spiriMirror/libuipc --skill project-structure
Repository Details
star Stars 284
call_split Forks 48
navigation Branch main
article Path SKILL.md
More from Creator