diff --git a/README.md b/README.md index c67cd30..b8bf80e 100644 --- a/README.md +++ b/README.md @@ -11,19 +11,24 @@ This library should allow users to define their own particle behaviours ## 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) - it can output to STDOUT or send to redis - Obviously be as fast as possible - 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 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 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 @@ -47,6 +52,7 @@ This library should allow users to define their own particle behaviours ## Library struct/objects +``` Particle - PhysicsBody - Shape : Square, Triangle, Circle, 3DSphere @@ -70,7 +76,9 @@ Config OSCConfig - OSCCache - OSCServer +```` +## API example ```rust