phetsims / collision-lab

"Collision Lab" is an educational simulation in HTML5, by PhET Interactive Simulations.
GNU General Public License v3.0
6 stars 4 forks source link

Architectural Review #8

Closed ariel-phet closed 5 years ago

ariel-phet commented 5 years ago

@veillette this is a bit of a placeholder issue. Basically once the sim has the basic framework established but is not too far along, it would be good to have an architectural review to avoid any major refactors down the road. You and I can discuss when we feel things are at an appropriate place, but wanted to get this issue submitted as a general reminder/heads up.

ariel-phet commented 5 years ago

@veillette @kathy-phet would like you to talk to @jonathanolson a bit now that the sim has gotten going (since he was a primary developer of the original sim) to have sort of a "pre-development" architecture discussion. I will also mention on slack.

veillette commented 5 years ago

Tagging issue #18 since relevant for this discussion

veillette commented 5 years ago

@jonathanolson and @veillette had a discussion about the architecture of the simulation. We reviewed the flash simulation of collision-lab, and went over the design documentation and discussed the four screens for the html5 simulation.

In general, the architecture proposed for the simulations was appropriate. In particular, the idea of using a stepper in time for the Model , that would update AXON properties was deemed a good first approach. The view will listen to the model properties and update itself. We can reevaluate down the line if we should rethink that approach if there is any performance issue.

On the subject of inelastic collisions (see #4), Jonathan suggested that the collision be implemented without an added data structure to represent the stuck balls. The mere fact that the balls propagate at the same velocity after the collision should be sufficient for the purpose of the simulation.

We discussed the approach to trajectories but without a more detail design, it wasn't possible to discuss yet the most appropriate implementation.

veillette commented 5 years ago

The meeting was held. Closing