JSim is an open-source FRC physics library for simulation.
This repository is organized as a monorepo containing the core simulation engine, language bindings, runtime apps, examples, and documentation tooling.
https://jsim.dev/JSim.json
./scripts/build-all.shRun the vendordep Gradle test task used in CI:
cd vendordep
./gradlew testThis runs Java tests and the native verification suites in vendordep/tests/.
Vendordep tooling requires Java 17.
pip install mkdocs mkdocs-material
mkdocs serve --config-file mkdocs/mkdocs.ymlcore/driver/: C++ physics engine implementation and headerscore/python/: Python-side native bindings and testscad-import/: CAD import utilities and Python package wrapperapps/viewer-plugin/: visualization and rendering plugin (Python wrapper available)apps/sim-runtime/: Python runtime integration app (importable wrapper available)
apps/sim-runtime/: Python runtime integration appapps/viewer-plugin/: visualization and rendering plugin
cad-import/: CAD and geometry import utilities, including JSim-owned snapshot tracking for simulation integrationsexamples/: language-specific examples (C++, Java, Python)mkdocs/: docs source and MkDocs configurationvendordep/: WPILib vendordep packaging and Gradle-based build/testing
- Docs source:
mkdocs/docs/ - MkDocs config:
mkdocs/mkdocs.yml - Deployed docs: https://jsim.dev
- Java API (Javadocs): https://jsim.dev/api/javadoc/
- Native API (Doxygen): https://jsim.dev/api/doxygen/html/
- Example project
Contributions are welcome. For code and process expectations, please review:
CODE_OF_CONDUCT.md- open issues and discussions in this repository
This project is licensed under the terms in LICENSE.txt.