{"action":"created","issue":{"url":"https://api.github.com/repos/bokeh/bokeh/issues/3794","repository_url":"https://api.github.com/repos/bokeh/bokeh","labels_url":"https://api.github.com/repos/bokeh/bokeh/issues/3794/labels{/name}","comments_url":"https://api.github.com/repos/bokeh/bokeh/issues/3794/comments","events_url":"https://api.github.com/repos/bokeh/bokeh/issues/3794/events","html_url":"https://github.com/bokeh/bokeh/pull/3794","id":130264456,"number":3794,"title":"Core refactor","user":{"login":"bryevdv","id":1078448,"avatar_url":"https://avatars.githubusercontent.com/u/1078448?v=3","gravatar_id":"","url":"https://api.github.com/users/bryevdv","html_url":"https://github.com/bryevdv","followers_url":"https://api.github.com/users/bryevdv/followers","following_url":"https://api.github.com/users/bryevdv/following{/other_user}","gists_url":"https://api.github.com/users/bryevdv/gists{/gist_id}","starred_url":"https://api.github.com/users/bryevdv/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bryevdv/subscriptions","organizations_url":"https://api.github.com/users/bryevdv/orgs","repos_url":"https://api.github.com/users/bryevdv/repos","events_url":"https://api.github.com/users/bryevdv/events{/privacy}","received_events_url":"https://api.github.com/users/bryevdv/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/bokeh/bokeh/labels/status:%20ready","name":"status: ready","color":"bfd4f2"},{"url":"https://api.github.com/repos/bokeh/bokeh/labels/tag:%20bokehjs","name":"tag: bokehjs","color":"D0CBB8"},{"url":"https://api.github.com/repos/bokeh/bokeh/labels/type:%20task","name":"type: task","color":"872A50"}],"state":"open","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/bokeh/bokeh/milestones/23","html_url":"https://github.com/bokeh/bokeh/milestones/0.12","labels_url":"https://api.github.com/repos/bokeh/bokeh/milestones/23/labels","id":1477666,"number":23,"title":"0.12","description":"","creator":{"login":"mattpap","id":27475,"avatar_url":"https://avatars.githubusercontent.com/u/27475?v=3","gravatar_id":"","url":"https://api.github.com/users/mattpap","html_url":"https://github.com/mattpap","followers_url":"https://api.github.com/users/mattpap/followers","following_url":"https://api.github.com/users/mattpap/following{/other_user}","gists_url":"https://api.github.com/users/mattpap/gists{/gist_id}","starred_url":"https://api.github.com/users/mattpap/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mattpap/subscriptions","organizations_url":"https://api.github.com/users/mattpap/orgs","repos_url":"https://api.github.com/users/mattpap/repos","events_url":"https://api.github.com/users/mattpap/events{/privacy}","received_events_url":"https://api.github.com/users/mattpap/received_events","type":"User","site_admin":false},"open_issues":11,"closed_issues":0,"state":"open","created_at":"2015-12-29T23:54:47Z","updated_at":"2016-02-01T06:01:50Z","due_on":null,"closed_at":null},"comments":28,"created_at":"2016-02-01T05:53:52Z","updated_at":"2016-02-02T17:49:05Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/bokeh/bokeh/pulls/3794","html_url":"https://github.com/bokeh/bokeh/pull/3794","diff_url":"https://github.com/bokeh/bokeh/pull/3794.diff","patch_url":"https://github.com/bokeh/bokeh/pull/3794.patch"},"body":"OK, there's lots more I want to do, but this PR is at a nice stopping place and was getting large (though most of the changes are just `require` fixups). The primary work was to make some of the more important files match the project structure of the python library. However, a some small bits of work were done along the way:\r\n\r\n* factor some simple things out of `HasProps` and delete unused cruft from `HasProps`\r\n* split `properties.coffee` into `properties.coffee` and `property_mixins.coffee`\r\n* light cleanup of `properties.coffee`\r\n* added some new property types on the JS side\r\n* added ~100 new tests\r\n\r\nNext steps in other PRs:\r\n\r\n* split \"context setting\" parts off off mixin props\r\n* make mixin props just contribute normal properties\r\n* specify/initialize all (bokeh) properties in a uniform way \r\n* remove all nonserializable attribute names \r\n - make some visible to python (e.g., `Frame`)\r\n - make others plain object attrs\r\n* remove Backbone `Collection` dependence \r\n* fix up remaining bogus defaults mismatches\r\n\r\nOnce (most of) those are done, we will be in a good position to 1) add lots of new annotations 2) cleanup/refactor/extend canvas layout in preparation for whole document layout, 3) add the namespace concept"},"comment":{"url":"https://api.github.com/repos/bokeh/bokeh/issues/comments/178712995","html_url":"https://github.com/bokeh/bokeh/pull/3794#issuecomment-178712995","issue_url":"https://api.github.com/repos/bokeh/bokeh/issues/3794","id":178712995,"user":{"login":"bryevdv","id":1078448,"avatar_url":"https://avatars.githubusercontent.com/u/1078448?v=3","gravatar_id":"","url":"https://api.github.com/users/bryevdv","html_url":"https://github.com/bryevdv","followers_url":"https://api.github.com/users/bryevdv/followers","following_url":"https://api.github.com/users/bryevdv/following{/other_user}","gists_url":"https://api.github.com/users/bryevdv/gists{/gist_id}","starred_url":"https://api.github.com/users/bryevdv/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bryevdv/subscriptions","organizations_url":"https://api.github.com/users/bryevdv/orgs","repos_url":"https://api.github.com/users/bryevdv/repos","events_url":"https://api.github.com/users/bryevdv/events{/privacy}","received_events_url":"https://api.github.com/users/bryevdv/received_events","type":"User","site_admin":false},"created_at":"2016-02-02T17:49:05Z","updated_at":"2016-02-02T17:49:05Z","body":"Ok, one last change: (almost) all the tests names/locations are aligned with the actual project filenames under `src/coffee`. "}}