> For the complete documentation index, see [llms.txt](https://shiva.gitbook.io/project/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://shiva.gitbook.io/project/shiva/modules.md).

# Modules

|                                               Name                                               |                                                       Description                                                       |                                                                                                                                                                                                    Dependancies                                                                                                                                                                                                   | Header-Only | Plugins | Script |                  Authors                 |                               Contributors                              |
| :----------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: | :-----: | :----: | :--------------------------------------: | :---------------------------------------------------------------------: |
|                       [shiva::box2d](/project/shiva/modules/shiva-box2d.md)                      |                                                       box2d plugin                                                      |                                                                                                                                                                                    [Box2D](https://github.com/erincatto/Box2D)                                                                                                                                                                                    |      ❌      |    ✅    |    ❌   |  [Milerius](https://github.com/Milerius) |                 [Milerius](https://github.com/Milerius)                 |
|                         [shiva::dll](/project/shiva/modules/shiva-dll.md)                        |                                   Contains      utilities for handling dll's (plugins)                                  |                                                                                                                      [Boost.DLL](https://github.com/boostorg/dll) [Boost.Filesystem](https://github.com/boostorg/filesystem) [shiva::filesystem](/project/shiva/modules/shiva-filesystem.md)                                                                                                                      |      ✅      |    ❌    |    ❌   |  [Milerius](https://github.com/Milerius) |                   [    Doom](https://github.com/Doom)                   |
|                         [shiva::ecs](/project/shiva/modules/shiva-ecs.md)                        |            Implementation of the design pattern: [ECS](https://en.wikipedia.org/wiki/Entity–component–system)           | <p><a href="/project/shiva/modules/shiva-dll.md">shiva::dll</a> <a href="/project/shiva/modules/shiva-entt.md">shiva::entt</a> <a href="/project/shiva/modules/shiva-reflection.md">shiva::reflection</a> <a href="/project/shiva/modules/shiva-range.md">shiva::range</a> <a href="/project/shiva/modules/shiva-event.md">shiva::event</a><br><a href="https://github.com/joboccara/NamedType">NamedType</a></p> |      ✅      |    ❌    |    ❌   |  [Milerius](https://github.com/Milerius) |                 [Milerius](https://github.com/Milerius)                 |
|                        [shiva::entt](/project/shiva/modules/shiva-entt.md)                       |          Module that just use aliases on the [EnTT](https://github.com/skypjack/entt) library for coding style          |                                                                                                                                                                                      [EnTT](https://github.com/skypjack/entt)                                                                                                                                                                                     |      ✅      |    ❌    |    ❌   |  [Milerius](https://github.com/Milerius) |               [    Milerius](https://github.com/Milerius)               |
|                       [shiva::enums](/project/shiva/modules/shiva-enums.md)                      |                                                  enum magic extensions                                                  |                                                                                                                                                                                  [shiva::pp](/project/shiva/modules/shiva-pp.md)                                                                                                                                                                                  |      ✅      |    ❌    |    ❌   |      [Doom](https://github.com/doom)     | [Doom](https://github.com/doom) [Milerius](https://github.com/Milerius) |
|                       [shiva::error](/project/shiva/modules/shiva-error.md)                      |                                                  General error handler                                                  |                                                        [shiva::stacktrace](http://confluence.slyris.eu/display/SHIV/shiva%3A%3Astacktrace) [shiva::filesystem](http://confluence.slyris.eu/display/SHIV/shiva%3A%3Afilesystem) [shiva::entt](http://confluence.slyris.eu/display/SHIV/shiva%3A%3Aentt) [expected](https://github.com/TartanLlama/expected)                                                        |      ✅      |    ❌    |    ❌   |  [Milerius](https://github.com/Milerius) |                 [Milerius](https://github.com/Milerius)                 |
|                       [shiva::event](/project/shiva/modules/shiva-event.md)                      |                                     Module that contains the common events of shiva                                     |                                                                                                                                                                          [shiva::reflection](/project/shiva/modules/shiva-reflection.md)                                                                                                                                                                          |      ✅      |    ❌    |    ❌   |  [Milerius](https://github.com/Milerius) |                 [Milerius](https://github.com/Milerius)                 |
|                  [shiva::filesystem](/project/shiva/modules/shiva-filesystem.md)                 |                    Module that use the preprocessor to choose the right version of filesystem for c++                   |                                                                                                                                                                                                         ⛔                                                                                                                                                                                                         |      ✅      |    ❌    |    ❌   |  [Milerius](https://github.com/Milerius) |                 [Milerius](https://github.com/Milerius)                 |
|                       [shiva::input](/project/shiva/modules/shiva-input.md)                      |                                Module representing all that is interaction with hardware                                |                                                                                                                                                                               [shiva::enums](/project/shiva/modules/shiva-enums.md)                                                                                                                                                                               |      ✅      |    ❌    |    ❌   |  [Milerius](https://github.com/Milerius) |                 [Milerius](https://github.com/Milerius)                 |
|                         [shiva::lua](/project/shiva/modules/shiva-lua.md)                        |                                     Systems allowing the manipulation of lua script                                     |                                                                                                                                              <p><a href="/project/shiva/modules/shiva-ecs.md">shiva::ecs</a><br><a href="https://github.com/ThePhD/sol2">sol2</a></p>                                                                                                                                             |      ✅      |    ❌    |    ❌   |  [Milerius](https://github.com/Milerius) |                 [Milerius](https://github.com/Milerius)                 |
|                        [shiva::json](/project/shiva/modules/shiva-json.md)                       |              Module that just use aliases on the [nlohmann-json](https://github.com/nlohmann/json) library              |                                                                                                                                                                                 [nlohmann-json](https://github.com/nlohmann/json)                                                                                                                                                                                 |      ✅      |    ❌    |    ❌   | [Milerius](https://github.com/Milerius/) |                 [Milerius](https://github.com/Milerius/)                |
|                        [shiva::meta](/project/shiva/modules/shiva-meta.md)                       |                                                Metaprogramming utilities                                                |                                                                                                                                                                        [shiva::pp](http://confluence.slyris.eu/display/SHIV/shiva%3A%3App)                                                                                                                                                                        |      ✅      |    ❌    |    ❌   |      [Doom](https://github.com/doom)     | [Doom](https://github.com/doom) [Milerius](https://github.com/Milerius) |
|                          [shiva::pp](/project/shiva/modules/shiva-pp.md)                         |                                                   Preprocessor helpers                                                  |                                                                                                                                                                                                         ⛔                                                                                                                                                                                                         |      ✅      |    ❌    |    ❌   |      [Doom](https://github.com/doom)     | [Doom](https://github.com/doom) [Milerius](https://github.com/Milerius) |
|                 [shiva::pyscripting](/project/shiva/modules/shiva-pyscripting.md)                |                                    Systems allowing the manipulation of python script                                   |                                                                                                                                          <p><a href="/project/shiva/modules/shiva-ecs.md">shiva::ecs</a><br><a href="https://github.com/pybind/pybind11">pybind11</a></p>                                                                                                                                         |      ✅      |    ❌    |    ❌   |  [Milerius](https://github.com/Milerius) |                 [Milerius](https://github.com/Milerius)                 |
|                       [shiva::range](/project/shiva/modules/shiva-range.md)                      |     Module that just use aliases on the [NanoRange](https://github.com/tcbrindle/NanoRange) library for coding style    |                                                                                                                                                                                [NanoRange](https://github.com/tcbrindle/NanoRange)                                                                                                                                                                                |      ✅      |    ❌    |    ❌   |  [Milerius](https://github.com/Milerius) |                 [Milerius](https://github.com/Milerius)                 |
|                  [shiva::reflection](/project/shiva/modules/shiva-reflection.md)                 |                                 Module that allows to make the compile-time reflection.                                 |                                                                                                                                    [shiva::pp](http://confluence.slyris.eu/display/SHIV/shiva%3A%3App) [shiva::meta](http://confluence.slyris.eu/display/SHIV/shiva%3A%3Ameta)                                                                                                                                    |      ✅      |    ❌    |    ❌   |      [Doom](https://github.com/doom)     | [Doom](https://github.com/doom) [Milerius](https://github.com/Milerius) |
|                      [shiva::scenes](/project/shiva/modules/shiva-scenes.md)                     |                                              Scenes manager written in Lua                                              |                                                                                                                                       <p><a href="/project/shiva/modules/shiva-ecs.md">shiva::ecs</a></p><p><a href="/project/shiva/modules/shiva-lua.md">shiva::lua</a></p>                                                                                                                                      |      ❌      |    ❌    |    ✅   |  [Milerius](https://github.com/Milerius) |                 [Milerius](https://github.com/Milerius)                 |
|                  [shiva::stacktrace](/project/shiva/modules/shiva-stacktrace.md)                 | Module that just use aliases on the [Boost.Stacktrace](https://github.com/boostorg/stacktrace) library for coding style |                                                                                                                                                                             [Boost.Stacktrace](https://github.com/boostorg/stacktrace)                                                                                                                                                                            |      ✅      |    ❌    |    ❌   |  [Milerius](https://github.com/Milerius) |                 [Milerius](https://github.com/Milerius)                 |
| [shiva::system-sfml-animation](/project/shiva/modules/shiva-sfml/shiva-system-sfml-animation.md) |                                        An animation system plugin that uses SFML                                        |                                                                                                                    <p><a href="/project/shiva/modules/shiva-ecs.md">shiva::ecs</a><br>shiva::sfml-common<br><a href="/project/shiva/modules/shiva-lua.md">shiva::lua</a></p><p>SFML</p><p></p>                                                                                                                    |      ❌      |    ✅    |    ❌   |  [Milerius](https://github.com/Milerius) |                 [Milerius](https://github.com/Milerius)                 |
|  [shiva::system-sfml-graphics](/project/shiva/modules/shiva-sfml/shiva-system-sfml-graphics.md)  |                    A rendering system plugin that uses [SFML](https://www.sfml-dev.org/index-fr.php)                    |                                                                                                                                <p><a href="http://confluence.slyris.eu/display/SHIV/shiva%3A%3Aecs">shiva::ecs</a><br><a href="https://www.sfml-dev.org/index-fr.php">SFML</a></p>                                                                                                                                |      ❌      |    ✅    |    ❌   |  [Milerius](https://github.com/Milerius) |                 [Milerius](https://github.com/Milerius)                 |
|                       [shiva::timer](/project/shiva/modules/shiva-timer.md)                      |                                 Module that facilitates the manipulation of time in C++                                 |                                                                                                                                                                                                         ⛔                                                                                                                                                                                                         |      ✅      |    ❌    |    ❌   |  [Milerius](https://github.com/Milerius) |                 [Milerius](https://github.com/Milerius)                 |
|                       [shiva::world](/project/shiva/modules/shiva-world.md)                      |                             Module that contains all that is needed to create a game world.                             |                                                                                                                                                                       [shiva::ecs](http://confluence.slyris.eu/display/SHIV/shiva%3A%3Aecs)                                                                                                                                                                       |      ✅      |    ❌    |    ❌   |  [Milerius](https://github.com/Milerius) |                 [Milerius](https://github.com/Milerius)                 |
