# STARK Documentation

SymX Logo

Welcome to the STARK documentation. STARK is a C++ and Python simulation platform for simulating rigid and deformable objects in strongly coupled scenarios. Check out the [STARK GitHub repo](https://github.com/InteractiveComputerGraphics/stark) and the [STARK ICRA'24 paper](https://www.animation.rwth-aachen.de/publication/0588/). These pages give a high-level overview of the main concepts and show how to use the library. They are not a doxygen-style exhaustive documentation, but rather a guide on how the library works and how to use it effectively. STARK is built on top of [SymX](https://github.com/InteractiveComputerGraphics/SymX), a symbolic math engine that handles differentiation, evaluation, and optimization via a Newton solver. This makes STARK **very easy** to expand with new models, which makes it a great platform to do research with. Plus, STARK already ships with many ready-to-use models through a convenient interface, scripting utilities, and a Python API. Note that if you need something simpler or more customizable than STARK, consider using SymX directly. ## Table of Contents ```{toctree} :caption: Getting Started :maxdepth: 1 hello_world setup architecture ``` ```{toctree} :caption: Core Concepts :maxdepth: 1 settings io simulation_loop ``` ```{toctree} :caption: Physics Models :maxdepth: 1 problem_representation presets deformables rigidbodies rb_constraints contact attachments ``` ```{toctree} :caption: Advanced :maxdepth: 1 extending ```