Skip to content

Commit 6ba87ce

Browse files
[stlib] adds README
1 parent b74ebb7 commit 6ba87ce

1 file changed

Lines changed: 42 additions & 0 deletions

File tree

stlib/README.md

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
# STLIB
2+
3+
## Terminology
4+
5+
| Term | Description |
6+
| -------------- | -------------------------------------------------------------- |
7+
| Component* | Element of the scene hierarchy implementing a given behavior |
8+
| ~~Object~~ | A deprecated synonym of a Component |
9+
| Node* | Element of the scene hierarchy holding other Node (often refered as childs) or Objects |
10+
| Data* | Attribute of a Component or a Node |
11+
| Prefab | A Sofa.Node assembling of Objects and Nodes (a "fragment" of a scene) |
12+
| Geometry | A prefab that describe shapes with their topologies (i.e a shape with its space descritization and its associated connectivity) |
13+
| Entity | A physical prefab that represents real-world properties and behaviors used in a simulation. An entity should always have a geometry.|
14+
| Parameters | Every prefab has a set of parameters. These parameters can contain data, links, callable or being composed of other parameters. Some of them can be optional. ~~Must inherit from `stlib.core.baseParameter.BaseParameter` and have a `@dataclasses.dataclass` decorator~~. Must have a `@stlib.parameters` decorator. |
15+
16+
*Defined in SOFA documentation [here](https://www.sofa-framework.org/doc/using-sofa/terminology).
17+
18+
## Concepts & Structure
19+
20+
This library is structured to provide a set of _Prefabs_ that can be used to build complex simulations in SOFA.
21+
Prefabs are reusable fragments of a scene that can be specified through Parameters.
22+
We introduce two different concepts, Prefab and Parameters:
23+
- Prefabs defining the logic of instantiation
24+
- Parameters providing the information (e.g data, links, callable) needed by a Prefab for its own instantiation
25+
26+
We introduce two types of Prefabs:
27+
- __Geometry__: A prefab that describes shapes with their topologies (i.e a shape with its space discretization and its associated connectivity).
28+
- __Entity__: A physical prefab that represents real-world properties and behaviors used in a simulation. An entity should always have a geometry.
29+
30+
## Usage
31+
32+
STLIB has been designed to suit the following levels of use:
33+
34+
- __Beginners__:
35+
- Create simple simulations using predefined Prefabs.
36+
- Use the provided Prefabs and Parameters without needing to understand the underlying implementation.
37+
- __Intermediate users__:
38+
- Create more complex simulations by combining existing Prefabs.
39+
- Redefine Parameters for their own usage.
40+
- __Advanced users__:
41+
- Create their own Prefabs from scratch or by extending the provided ones.
42+
- Enrich the library with new Prefabs and Parameters.

0 commit comments

Comments
 (0)