fix: edit the specs

This commit is contained in:
alban 2024-01-27 22:29:18 +01:00
parent 441ce80711
commit 732b59445c

View File

@ -11,19 +11,24 @@ This library should allow users to define their own particle behaviours
## Constraints ## Constraints
- Manages lists of points in the form {x,y,color} with color encoded as 12 bits (r,g,b) - Render as lists of points in the form [x,y,color] with color encoded as 12 bits (r,g,b)
- i.e. it doesn't speak to the laser directly, we use a middleware for that part (see. xxx) - i.e. it doesn't speak to the laser directly, we use a middleware for that part (see. xxx)
- it can output to STDOUT or send to redis - it can output to STDOUT or send to redis
- Obviously be as fast as possible - Obviously be as fast as possible
- Use a physics engine as a tool for collision detection, velocity and more - Use a physics engine as a tool for collision detection, velocity and more
- Be easy to use: good defaults for everything
- Handle bounding and drawing boxes
- Handle user custom particle properties (ex: decay, frequency, personality, etc.)
- Handle additional drawings for the current frame due to custom events (ex: random edge between two particles)
## Questions
### Working with the Physics engine
- Q: how do we enable custom behaviours (ex: reacting to audio) - Q: how do we enable custom behaviours (ex: reacting to audio)
- Q: how do we map physics engine object (ex: ball, square) for users as concept - Q: how do we map physics engine object (ex: ball, square) for users as concept
- Q: how do we convert the physics engine objets to 2D points - Q: how do we convert the physics engine objets to 2D points
- Q: how do we handle 3D? On by default? - Q: how do we handle 3D? On by default?
- Be easy to use: good defaults for everything
- Handle bounding and drawing boxes
- Handle user custom particle properties (ex: decay, frequency, personality, etc.)
- Handle additional drawings for the current frame due to custom events (ex: segment between two particles)
## How to use in a project ## How to use in a project
@ -47,6 +52,7 @@ This library should allow users to define their own particle behaviours
## Library struct/objects ## Library struct/objects
```
Particle Particle
- PhysicsBody - PhysicsBody
- Shape : Square, Triangle, Circle, 3DSphere - Shape : Square, Triangle, Circle, 3DSphere
@ -70,7 +76,9 @@ Config
OSCConfig OSCConfig
- OSCCache - OSCCache
- OSCServer <IP,Port> - OSCServer <IP,Port>
````
## API example
```rust ```rust