Skip to main content

project-structure

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

소스 정보

저장소
spiriMirror/libuipc
최근 소스 활동
2026년 9월 3일 16:42
감지된 SKILL.md 언어
영어
스타
335
포크
68

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
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. - `include/` - Public C++ headers. - `output/` - Generated outputs from simulations. (the contents is ignored by git) - `python/` - Python package, tests, and metadata. - `libuipc-samples/` - Tracked git submodule containing Python examples, benchmarks, and sample assets. - `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. ### `include/` - `uipc/` - Public headers grouped by module (backend, core, geometry, io, etc.). The removed C++ GUI has no public header tree. ### `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. - `geometry/metis/` - Private C++ METIS implementation and required GKlib-derived support code, built as `uipc_metis` for mesh partitioning. - `constitution/` - Physical constitution implementations. - `core/` - Core engine systems and modules. - `geometry/` - Geometry algorithms and data types. - `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. The supported visualization frontend is the pure-Python polyscope layer at `python/src/uipc/gui.py`. CMake is the primary build; XMake currently has known option/module drift documented in `agent_docs/07-build-test-workflow.md` and `agent_docs/12-secondary-modules-samples-and-docs.md`.
GitHub에서 보기