{"action":"created","issue":{"url":"https://api.github.com/repos/biocore/emperor/issues/405","repository_url":"https://api.github.com/repos/biocore/emperor","labels_url":"https://api.github.com/repos/biocore/emperor/issues/405/labels{/name}","comments_url":"https://api.github.com/repos/biocore/emperor/issues/405/comments","events_url":"https://api.github.com/repos/biocore/emperor/issues/405/events","html_url":"https://github.com/biocore/emperor/pull/405","id":90226209,"number":405,"title":"New JavaScript API","user":{"login":"ElDeveloper","id":375307,"avatar_url":"https://avatars.githubusercontent.com/u/375307?v=3","gravatar_id":"","url":"https://api.github.com/users/ElDeveloper","html_url":"https://github.com/ElDeveloper","followers_url":"https://api.github.com/users/ElDeveloper/followers","following_url":"https://api.github.com/users/ElDeveloper/following{/other_user}","gists_url":"https://api.github.com/users/ElDeveloper/gists{/gist_id}","starred_url":"https://api.github.com/users/ElDeveloper/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ElDeveloper/subscriptions","organizations_url":"https://api.github.com/users/ElDeveloper/orgs","repos_url":"https://api.github.com/users/ElDeveloper/repos","events_url":"https://api.github.com/users/ElDeveloper/events{/privacy}","received_events_url":"https://api.github.com/users/ElDeveloper/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":52,"created_at":"2015-06-22T22:09:37Z","updated_at":"2016-07-27T21:01:34Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/biocore/emperor/pulls/405","html_url":"https://github.com/biocore/emperor/pull/405","diff_url":"https://github.com/biocore/emperor/pull/405.diff","patch_url":"https://github.com/biocore/emperor/pull/405.patch"},"body":"The goal of this branch (`new-api`), is to add the core JavaScript objects and basic functionality needed to simultaneously create 2D, 3D and parallel plots using Emperor. These efforts are focused on enhancing the modularity and usability of the objects, allowing developers to quickly build on top of this existing framework whenever a new use-case becomes available.\r\n\r\nFor now we will be working against a branch called new-api, it will not yet be merged into master and it will have small and atomic pull requests (except for the initial one). This branch will not break backwards compatibility in the Python/CLI interface, and is planned to be released as part of the 0.9.6 series so we can test and debug before releasing 1.0.\r\n\r\nFor reviewers, note that these changes will not be immediately integrated into the main GUI code, since the idea is to get rid of most of the code in `emperor.js`.\r\n\r\nIn general the plan is as follows:\r\n- [x] Clean up the code that we worked through at the BD2K hackathon, with the objective of removing any modifications made to the Python codebase.\r\nAdd a new examples folder where simple JavaScript-built examples are showcased.\r\n- [x] Create a minimal example where we can visualize and re-color a 3D scatter plot. Here the focus will be to test that a large number of values can be displayed on screen without choking the browser (see #178, #192).\r\n- [x] Sketch out and implement the interface between the view controllers and the application controller.\r\n- [x] Update JavaScript libraries where needed (THREE.js, jQuery, underscore, etc) (#362).\r\n- Add the required controllers to interact with other aspects of the plot like opacity, scaling, shape, visible dimensions, etc.\r\n  - [x] Improve on `ColorViewController` (see #440, #311) @squirrelo .\r\n  - [x] Create `ScaleViewController` (remember to add #203) @squirrelo .\r\n  - [x] Create `ShapeViewController` (would fix #128). @squirrelo\r\n  - [ ] Create `BiplotsController` (remember to consider #75, #61 and #87).\r\n  - [x] Create `AxesViewController`, think about whether this should be its own tab or if it should be a menu somewhere else (remember to consider #276, #248, #88, #326). @ElDeveloper \r\n  - [ ] Create `AnimationsViewController` (remember to consider #421).\r\n  - [x] Add splash screen to `EmperorController` (showing an emperor logo while the application loads). @squirrelo\r\n- [x] Python API.\r\n- [x] Python 3 ( #313 ).\r\n- [x] Move make_emperor.py to click and document the click commands in RST like we used to have `make_empror.py` (#313). This is addressed by QIIME2, see [this plugin](https://github.com/eldeveloper/q2-emperor).\r\n- [x] Extend usability of 3D plots (#327). @squirrelo\r\n- [ ] Create a 2D plot (#303) .\r\n- [ ] Using the new API, create jackknifed plots, procrustes plots, biplots and vector plots (#326, #59, #193 & #87 ) ( @mortonjt will take care of biplots ).\r\n- [ ] Design and implement the controllers to dynamically create independent views into the same dataset. In other words, allow the user to visualize multiple Emperor plots in the same GUI.  For example using multiple 2D/3D plots that presents the same data colored in a different way and viewing different dimensions (not just the first three principal coordinates).\r\n\r\nWhile there are other features that will soon be added, we need to at least have the changes described above in place before moving forward in other directions.\r\n\r\n-----\r\n\r\nIf you are curious our slides for the BD2K presentation can be found [here](https://docs.google.com/presentation/d/1ylRD5B4mpCYIFwNjT7ZC2oIsGlniVlxSpSIW3ydcheQ/edit?usp=sharing)."},"comment":{"url":"https://api.github.com/repos/biocore/emperor/issues/comments/235719665","html_url":"https://github.com/biocore/emperor/pull/405#issuecomment-235719665","issue_url":"https://api.github.com/repos/biocore/emperor/issues/405","id":235719665,"user":{"login":"coveralls","id":2354108,"avatar_url":"https://avatars.githubusercontent.com/u/2354108?v=3","gravatar_id":"","url":"https://api.github.com/users/coveralls","html_url":"https://github.com/coveralls","followers_url":"https://api.github.com/users/coveralls/followers","following_url":"https://api.github.com/users/coveralls/following{/other_user}","gists_url":"https://api.github.com/users/coveralls/gists{/gist_id}","starred_url":"https://api.github.com/users/coveralls/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/coveralls/subscriptions","organizations_url":"https://api.github.com/users/coveralls/orgs","repos_url":"https://api.github.com/users/coveralls/repos","events_url":"https://api.github.com/users/coveralls/events{/privacy}","received_events_url":"https://api.github.com/users/coveralls/received_events","type":"User","site_admin":false},"created_at":"2016-07-27T21:01:33Z","updated_at":"2016-07-27T21:01:33Z","body":"\n[![Coverage Status](https://coveralls.io/builds/7192416/badge)](https://coveralls.io/builds/7192416)\n\nCoverage decreased (-1.1%) to 92.857% when pulling **2d1bb6068d574ae55a500036a61fc04340b5b6d3 on new-api** into **55bc1bfe4e997e241322e77cd7da354160e92168 on master**.\n"}}
{"actor":{"display_login":"coveralls"}}