{"action":"closed","issue":{"url":"https://api.github.com/repos/wellcaffeinated/PhysicsJS/issues/160","labels_url":"https://api.github.com/repos/wellcaffeinated/PhysicsJS/issues/160/labels{/name}","comments_url":"https://api.github.com/repos/wellcaffeinated/PhysicsJS/issues/160/comments","events_url":"https://api.github.com/repos/wellcaffeinated/PhysicsJS/issues/160/events","html_url":"https://github.com/wellcaffeinated/PhysicsJS/issues/160","id":118215439,"number":160,"title":"Physics Project Advice","user":{"login":"samolds","id":1863557,"avatar_url":"https://avatars.githubusercontent.com/u/1863557?v=3","gravatar_id":"","url":"https://api.github.com/users/samolds","html_url":"https://github.com/samolds","followers_url":"https://api.github.com/users/samolds/followers","following_url":"https://api.github.com/users/samolds/following{/other_user}","gists_url":"https://api.github.com/users/samolds/gists{/gist_id}","starred_url":"https://api.github.com/users/samolds/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/samolds/subscriptions","organizations_url":"https://api.github.com/users/samolds/orgs","repos_url":"https://api.github.com/users/samolds/repos","events_url":"https://api.github.com/users/samolds/events{/privacy}","received_events_url":"https://api.github.com/users/samolds/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":5,"created_at":"2015-11-21T19:16:33Z","updated_at":"2015-11-26T18:08:28Z","closed_at":"2015-11-26T18:08:28Z","body":"I'm working on a CS project for my senior capstone class and am using this library. I'm building an interactive physics simulator, where a user can drag elements into a frame and then click a run button and watch everything unfold. I'm planning to make things as educational as possible by including position, velocity, and acceleration graphs, as well as anything else that might be relevant for each element.\r\n\r\nI'd also like to support a timeline that allows users to skip ahead in a simulation or scrub back to a specific point in time. I've noticed that your underlying model uses actual unix timestamps to calculate everything, which makes it difficult to jump back in time. I'd like to decouple the `step()` function from realtime. Right now to do this, I'm running the simulation for a fixed amount of time and then save the positions for each frame. But this could use a lot of memory depending on the number of elements and frames. Would it be more expensive to recalculate out to a certain number of frames if I only saved the initial states?\r\n\r\nDo you have any suggestions on a friendly way to achieve stepping back in time or jumping forward? I'd like to modify your source code as little as possible, but it doesn't seem like there is an easy way to build this on top of PhysicsJS."}}