Skip to content

Latest commit

 

History

History
25 lines (23 loc) · 1.56 KB

TODO.md

File metadata and controls

25 lines (23 loc) · 1.56 KB

Lette.Gravity.Fable - To do

(not in any specific order)

  • Make canvas stretch to window size
  • Get rid of scroll bars
  • Use alpha channel to make objects blend nicer (and use a more interesting/nice color)
  • Give objects individual colors
  • Visualize field strength
  • Make it possible to switch how objects behave at canvas' edges (pass-through, bounce, semi-stop, full-stop)
  • Randomize number, position and initial velocity of objects
  • Make G (the gravitational constant) user modifiable
  • Make all initial conditions user modifiable
  • Make objects bounce/stop on border at object's edge instead of object's center
  • Make objects bounce off each other (reflect their direction of movement with regards to the tangent of the point of collision, keeping the speed constant)
  • Merge colliding objects immediately
  • Merge colliding objects by accretion over time (smaller object loses mass to the larger)
  • Merge colliding objects when delta-V is sufficient (2 objects become one, with the sum of the two original masses)
  • Split colliding objects when delta-V is sufficient (turn the larger object into a random number of smaller objects, while keeping the sum of all energies constant)
  • Extract all physics calculations to a Physics module
  • Extract all modifiable settings to a Settings module
  • 3D!
  • Remove RequireQualifiedAccess attribute to get type inference in method signatures working.
  • Add bounce effect
  • Pass the settings object around and make it immutable