{"action":"created","issue":{"url":"https://api.github.com/repos/basiljs/basil.js/issues/50","repository_url":"https://api.github.com/repos/basiljs/basil.js","labels_url":"https://api.github.com/repos/basiljs/basil.js/issues/50/labels{/name}","comments_url":"https://api.github.com/repos/basiljs/basil.js/issues/50/comments","events_url":"https://api.github.com/repos/basiljs/basil.js/issues/50/events","html_url":"https://github.com/basiljs/basil.js/issues/50","id":164085314,"number":50,"title":"Possible roadmap additions / feature suggestions","user":{"login":"trych","id":9803905,"avatar_url":"https://avatars.githubusercontent.com/u/9803905?v=3","gravatar_id":"","url":"https://api.github.com/users/trych","html_url":"https://github.com/trych","followers_url":"https://api.github.com/users/trych/followers","following_url":"https://api.github.com/users/trych/following{/other_user}","gists_url":"https://api.github.com/users/trych/gists{/gist_id}","starred_url":"https://api.github.com/users/trych/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/trych/subscriptions","organizations_url":"https://api.github.com/users/trych/orgs","repos_url":"https://api.github.com/users/trych/repos","events_url":"https://api.github.com/users/trych/events{/privacy}","received_events_url":"https://api.github.com/users/trych/received_events","type":"User","site_admin":false},"labels":[{"id":5073280,"url":"https://api.github.com/repos/basiljs/basil.js/labels/question","name":"question","color":"cc317c","default":true}],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":9,"created_at":"2016-07-06T14:12:45Z","updated_at":"2016-11-11T13:04:51Z","closed_at":"2016-11-11T13:04:51Z","body":"Hi there,\nas this is getting lively here, I would like to add some ideas for the road map that I collected. I probably forgot a few now, but no harm in adding them later, once I remember them. ;)\n\n(And yes, I know we want to get rid of the b. , but as long as it's still there, I'll use it here ;) )\n\n1) b.collides(object, object) -> Collision detection between two objects. I know there is several levels of collision detection from detection of bounding box collision to collision of more complex shapes to collision of several glyphs. I could imagine that this could be implemented in a simple way in the beginning and then become more complex and advanced over time, if somebody wants to give it a try. Could also work to hold arrays of objects instead of just an object.\n\n2) b.spreadWidth -> to return the spread width, no matter how many pages the spread contains\n\n3) b.interpolateShape(object1, object2, interpolationValue) -> interpolates the path points of a shape or path to a certain value and creates a new interpolated object. I am not sure, how easily objects with a different amount of path points could be interpolated, but maybe this can be done in several steps as well. First allow interpolation of objects with the same amount of path points only, and then later, if somebody wants to tackle it, do a more advanced interpolation. This should allow for extrapolation as well of course.\n\n4) b.beginLog() -> could write all b.print() and b.println() statements that follow to a log_YYYYMMDD_HHMMSS.txt file next to the document. This makes debugging easier for beginners, as they can compare logs to each other and they can also more conveniently send their logs to others for debugging help\n\n5) b.startTimer(timerName), b.takeTime(timerName) -> starts a timer with a certain name and takes the time of this timer. This could be a great learning tool for beginners, as they can learn how changes in their code influence the time that stuff takes. My first steps with basil.js (and with scripting in general) lead to a few scripts that would run for hours or even days. With such a tool this risk could be minimized. ;)\n\n6) generally I think there should be more example scripts and the scripts should be more consistent. I think there should be a sample script for EVERY single method from the reference. As a beginner, I remember, I had to poke around a lot and often thought it would be great to have more sample scripts. I would be willing to have a closer look at this to define what \"more consistent\" could mean and then to come up with some missing sample scripts. As I am totally new to Github, I think this might be a good place for me to start to learn about the Github workflow.\n\n7) fix that every time a basil.js script is run, the past board becomes overly large. I am not sure, why this is handled in such a way? Is this a feature? Is it there to prevent objects leaving the pasteboard area? All I know it gets really annoying for documents with more than one spread, you can't really navigate them that easily anymore. Could somebody tell me what the purpose of this enlargement of the past board is? :)\n\n8) Generally I have the feeling there could be more \"book related\" functions (as in: stuff that does not only happen on one page, but continues over several spreads). I believe that since the project was inspired by Processing that this was not the main focus, but as InDesign offers this possibility, we should include some \"book related features\". Problem is, I remember that I had some ideas about that in the past, but I forgot them all now. So for now, I will keep looking for them and update you, once I remember what I was thinking. ;)\n\nAny thoughts on these ideas?\n\nThanks!\ntrych\n"},"comment":{"url":"https://api.github.com/repos/basiljs/basil.js/issues/comments/259953089","html_url":"https://github.com/basiljs/basil.js/issues/50#issuecomment-259953089","issue_url":"https://api.github.com/repos/basiljs/basil.js/issues/50","id":259953089,"user":{"login":"fabianmoronzirfas","id":315106,"avatar_url":"https://avatars.githubusercontent.com/u/315106?v=3","gravatar_id":"","url":"https://api.github.com/users/fabianmoronzirfas","html_url":"https://github.com/fabianmoronzirfas","followers_url":"https://api.github.com/users/fabianmoronzirfas/followers","following_url":"https://api.github.com/users/fabianmoronzirfas/following{/other_user}","gists_url":"https://api.github.com/users/fabianmoronzirfas/gists{/gist_id}","starred_url":"https://api.github.com/users/fabianmoronzirfas/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fabianmoronzirfas/subscriptions","organizations_url":"https://api.github.com/users/fabianmoronzirfas/orgs","repos_url":"https://api.github.com/users/fabianmoronzirfas/repos","events_url":"https://api.github.com/users/fabianmoronzirfas/events{/privacy}","received_events_url":"https://api.github.com/users/fabianmoronzirfas/received_events","type":"User","site_admin":false},"created_at":"2016-11-11T13:04:51Z","updated_at":"2016-11-11T13:04:51Z","body":"I think this discussion can be closed. It spawned some new feature requests and all that"}}
{"actor":{"display_login":"fabianmoronzirfas"}}