{"action":"created","comment":{"url":"https://api.github.com/repos/amethyst/website/pulls/comments/228159671","pull_request_review_id":168364064,"id":228159671,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIyODE1OTY3MQ==","diff_hunk":"@@ -0,0 +1,156 @@\n++++\n+title = \"This week in Amethyst 12\"\n+description = \"What happened this week: new CI strategy, tutorial improvements and upcoming features\"\n+date = 2018-10-24\n++++\n+\n+Hello and welcome to the 12th issue of _This Week in Amethyst_, a blog bringing to\n+you the latest changes regarding Amethyst, a data-driven game engine written in\n+Rust.\n+\n+We're happy about the fast growing activity on our project! Given the wide\n+interest from the community, we figured it's time to continue\n+_This Week in Amethyst_. We'd like to go with the following structure from now\n+on:\n+\n+* important recent changes\n+* chosen ongoing issues / PRs with high importance and / or activity\n+* call for participation\n+\n+A list of new contributors, issues and PRs will no longer be included. New\n+contributors will be listed in release posts; issues and PRs have gotten far\n+too many to list them all here.\n+\n+## New CI strategy\n+\n+CI is crucially important for projects, even more so for big ones. That\n+said, Travis and AppVeyor have been causing us issues since a long time,\n+blocking effective work on the engine due to long build times.\n+\n+After an insane amount of research and experimentation, [Ellie][ell] has come\n+up with a big first step to improve the situation, implemented by\n+[this PR][prc]. These are the changes in short:\n+\n+* use [Concourse][con] for building PRs and showing its status\n+* thanks to Travis' new Windows support, Travis can now be used to build for all\n+  three platforms; it will now be used by bors, as a final check before merging\n+  the PR into master\n+* AppVeyor has been dropped entirely\n+\n+[ell]: https://github.com/magnanellie\n+[prc]: https://github.com/amethyst/amethyst/pull/1047\n+[con]: https://concourse-ci.org/\n+\n+This way, Travis has less workload and is only needed when a PR is merged.\n+By using Concourse we not only avoid blocking our merging pipeline, but we\n+now also have dedicated status reports for tests, book tests and correct\n+formatting.\n+\n+## What's being worked on currently?\n+\n+We've decided that we want to move to Nalgebra. We previously used `cgmath` due\n+to both historic and simplicity reasons. Since it's in maintainance mode now\n+and `nalgebra` got a nice & easy API ([nalgebra-glm][nlg]), we're doing the\n+migration. We think this is an important step for unifying the Rust ecosystem.\n+Thanks to [Ellie][ell] for doing [the migration PR][prn]!\n+\n+[nlg]: https://www.nalgebra.org/nalgebra_glm/\n+[prn]: https://github.com/amethyst/amethyst/pull/1066\n+\n+The transition to Nalgebra in Amethyst & its [rhusics bridge][brh] is going to\n+be the focus for this release. Meanwhile, [Rhuagh][rhu] and [sebcrozet][seb]\n+are working on [better ECS support][npe] for [`nphysics`][nph] (work hasn't\n+started on the nphysics-ecs repo just yet, but it's planned for this weekend).\n+\n+[brh]: https://github.com/amethyst/amethyst-rhusics\n+[rhu]: https://github.com/Rhuagh\n+[seb]: https://github.com/sebcrozet\n+[npe]: https://github.com/rustsim/nphysics-ecs\n+[nph]: https://github.com/rustsim/nphysics\n+\n+In other news, [Yuurai][yuu] is working a formatting tool for [RON files][ron]!\n+You can find the repo [here][rof], but note that it's still very experimental.\n+This will make our lives a lot easier since RON files are used for configuration\n+and prefabs in Amethyst; soon we'll no longer have to format them by hand :)\n+\n+[yuu]: https://github.com/Ristarg\n+[ron]: https://github.com/ron-rs/ron\n+[rof]: https://github.com/Ristarg/ronfmt\n+\n+Speaking of prefabs.. [Rhuagh][rhu] is working on [a PR] that lets us define\n+new prefabs very easily, with much less boilerplate. With the new macro it will\n+be as easy as adding a few derives:\n+\n+```rust\n+#[derive(Default, Deserialize, Serialize, PrefabData)]\n+#[serde(default)]\n+struct ScenePrefabData {\n+    transform: Option<Transform>,\n+    gltf: Option<AssetPrefab<GltfSceneAsset, GltfSceneFormat>>,\n+    camera: Option<CameraPrefab>,\n+    light: Option<LightPrefab>,\n+    tag: Option<Tag<AnimationMarker>>,\n+    fly_tag: Option<ControlTagPrefab>,\n+}\n+```\n+\n+[prd]: https://github.com/amethyst/amethyst/pull/1035\n+\n+## Interesting discussions\n+\n+There's one RFC I've chosen to present here, \n+\"Std I/O driven application (aka `amethyst_commands`)\" ([link][rfc]).","path":"src/content/blog/twia-12.md","position":102,"original_position":102,"commit_id":"af6146ff862327d16699ddbb740db7e6239241b3","original_commit_id":"c277136644b054b033be206c9986dd38009b3c10","user":{"login":"torkleyy","id":23152057,"node_id":"MDQ6VXNlcjIzMTUyMDU3","avatar_url":"https://avatars1.githubusercontent.com/u/23152057?v=4","gravatar_id":"","url":"https://api.github.com/users/torkleyy","html_url":"https://github.com/torkleyy","followers_url":"https://api.github.com/users/torkleyy/followers","following_url":"https://api.github.com/users/torkleyy/following{/other_user}","gists_url":"https://api.github.com/users/torkleyy/gists{/gist_id}","starred_url":"https://api.github.com/users/torkleyy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/torkleyy/subscriptions","organizations_url":"https://api.github.com/users/torkleyy/orgs","repos_url":"https://api.github.com/users/torkleyy/repos","events_url":"https://api.github.com/users/torkleyy/events{/privacy}","received_events_url":"https://api.github.com/users/torkleyy/received_events","type":"User","site_admin":false},"body":":+1: :smiley: ","created_at":"2018-10-25T12:52:46Z","updated_at":"2018-10-25T12:52:46Z","html_url":"https://github.com/amethyst/website/pull/114#discussion_r228159671","pull_request_url":"https://api.github.com/repos/amethyst/website/pulls/114","author_association":"MEMBER","_links":{"self":{"href":"https://api.github.com/repos/amethyst/website/pulls/comments/228159671"},"html":{"href":"https://github.com/amethyst/website/pull/114#discussion_r228159671"},"pull_request":{"href":"https://api.github.com/repos/amethyst/website/pulls/114"}},"in_reply_to_id":228157701},"pull_request":{"url":"https://api.github.com/repos/amethyst/website/pulls/114","id":225528572,"node_id":"MDExOlB1bGxSZXF1ZXN0MjI1NTI4NTcy","html_url":"https://github.com/amethyst/website/pull/114","diff_url":"https://github.com/amethyst/website/pull/114.diff","patch_url":"https://github.com/amethyst/website/pull/114.patch","issue_url":"https://api.github.com/repos/amethyst/website/issues/114","number":114,"state":"open","locked":false,"title":"Add twia12 and change structure","user":{"login":"torkleyy","id":23152057,"node_id":"MDQ6VXNlcjIzMTUyMDU3","avatar_url":"https://avatars1.githubusercontent.com/u/23152057?v=4","gravatar_id":"","url":"https://api.github.com/users/torkleyy","html_url":"https://github.com/torkleyy","followers_url":"https://api.github.com/users/torkleyy/followers","following_url":"https://api.github.com/users/torkleyy/following{/other_user}","gists_url":"https://api.github.com/users/torkleyy/gists{/gist_id}","starred_url":"https://api.github.com/users/torkleyy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/torkleyy/subscriptions","organizations_url":"https://api.github.com/users/torkleyy/orgs","repos_url":"https://api.github.com/users/torkleyy/repos","events_url":"https://api.github.com/users/torkleyy/events{/privacy}","received_events_url":"https://api.github.com/users/torkleyy/received_events","type":"User","site_admin":false},"body":"","created_at":"2018-10-24T19:49:19Z","updated_at":"2018-10-25T12:52:46Z","closed_at":null,"merged_at":null,"merge_commit_sha":"117cfc4a34382e92826337c33e84ea276a096b65","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/amethyst/website/pulls/114/commits","review_comments_url":"https://api.github.com/repos/amethyst/website/pulls/114/comments","review_comment_url":"https://api.github.com/repos/amethyst/website/pulls/comments{/number}","comments_url":"https://api.github.com/repos/amethyst/website/issues/114/comments","statuses_url":"https://api.github.com/repos/amethyst/website/statuses/af6146ff862327d16699ddbb740db7e6239241b3","head":{"label":"torkleyy:twia12","ref":"twia12","sha":"af6146ff862327d16699ddbb740db7e6239241b3","user":{"login":"torkleyy","id":23152057,"node_id":"MDQ6VXNlcjIzMTUyMDU3","avatar_url":"https://avatars1.githubusercontent.com/u/23152057?v=4","gravatar_id":"","url":"https://api.github.com/users/torkleyy","html_url":"https://github.com/torkleyy","followers_url":"https://api.github.com/users/torkleyy/followers","following_url":"https://api.github.com/users/torkleyy/following{/other_user}","gists_url":"https://api.github.com/users/torkleyy/gists{/gist_id}","starred_url":"https://api.github.com/users/torkleyy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/torkleyy/subscriptions","organizations_url":"https://api.github.com/users/torkleyy/orgs","repos_url":"https://api.github.com/users/torkleyy/repos","events_url":"https://api.github.com/users/torkleyy/events{/privacy}","received_events_url":"https://api.github.com/users/torkleyy/received_events","type":"User","site_admin":false},"repo":{"id":154560143,"node_id":"MDEwOlJlcG9zaXRvcnkxNTQ1NjAxNDM=","name":"website","full_name":"torkleyy/website","private":false,"owner":{"login":"torkleyy","id":23152057,"node_id":"MDQ6VXNlcjIzMTUyMDU3","avatar_url":"https://avatars1.githubusercontent.com/u/23152057?v=4","gravatar_id":"","url":"https://api.github.com/users/torkleyy","html_url":"https://github.com/torkleyy","followers_url":"https://api.github.com/users/torkleyy/followers","following_url":"https://api.github.com/users/torkleyy/following{/other_user}","gists_url":"https://api.github.com/users/torkleyy/gists{/gist_id}","starred_url":"https://api.github.com/users/torkleyy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/torkleyy/subscriptions","organizations_url":"https://api.github.com/users/torkleyy/orgs","repos_url":"https://api.github.com/users/torkleyy/repos","events_url":"https://api.github.com/users/torkleyy/events{/privacy}","received_events_url":"https://api.github.com/users/torkleyy/received_events","type":"User","site_admin":false},"html_url":"https://github.com/torkleyy/website","description":"Project website and blog","fork":true,"url":"https://api.github.com/repos/torkleyy/website","forks_url":"https://api.github.com/repos/torkleyy/website/forks","keys_url":"https://api.github.com/repos/torkleyy/website/keys{/key_id}","collaborators_url":"https://api.github.com/repos/torkleyy/website/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/torkleyy/website/teams","hooks_url":"https://api.github.com/repos/torkleyy/website/hooks","issue_events_url":"https://api.github.com/repos/torkleyy/website/issues/events{/number}","events_url":"https://api.github.com/repos/torkleyy/website/events","assignees_url":"https://api.github.com/repos/torkleyy/website/assignees{/user}","branches_url":"https://api.github.com/repos/torkleyy/website/branches{/branch}","tags_url":"https://api.github.com/repos/torkleyy/website/tags","blobs_url":"https://api.github.com/repos/torkleyy/website/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/torkleyy/website/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/torkleyy/website/git/refs{/sha}","trees_url":"https://api.github.com/repos/torkleyy/website/git/trees{/sha}","statuses_url":"https://api.github.com/repos/torkleyy/website/statuses/{sha}","languages_url":"https://api.github.com/repos/torkleyy/website/languages","stargazers_url":"https://api.github.com/repos/torkleyy/website/stargazers","contributors_url":"https://api.github.com/repos/torkleyy/website/contributors","subscribers_url":"https://api.github.com/repos/torkleyy/website/subscribers","subscription_url":"https://api.github.com/repos/torkleyy/website/subscription","commits_url":"https://api.github.com/repos/torkleyy/website/commits{/sha}","git_commits_url":"https://api.github.com/repos/torkleyy/website/git/commits{/sha}","comments_url":"https://api.github.com/repos/torkleyy/website/comments{/number}","issue_comment_url":"https://api.github.com/repos/torkleyy/website/issues/comments{/number}","contents_url":"https://api.github.com/repos/torkleyy/website/contents/{+path}","compare_url":"https://api.github.com/repos/torkleyy/website/compare/{base}...{head}","merges_url":"https://api.github.com/repos/torkleyy/website/merges","archive_url":"https://api.github.com/repos/torkleyy/website/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/torkleyy/website/downloads","issues_url":"https://api.github.com/repos/torkleyy/website/issues{/number}","pulls_url":"https://api.github.com/repos/torkleyy/website/pulls{/number}","milestones_url":"https://api.github.com/repos/torkleyy/website/milestones{/number}","notifications_url":"https://api.github.com/repos/torkleyy/website/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/torkleyy/website/labels{/name}","releases_url":"https://api.github.com/repos/torkleyy/website/releases{/id}","deployments_url":"https://api.github.com/repos/torkleyy/website/deployments","created_at":"2018-10-24T19:48:10Z","updated_at":"2018-10-24T19:48:12Z","pushed_at":"2018-10-25T12:50:55Z","git_url":"git://github.com/torkleyy/website.git","ssh_url":"git@github.com:torkleyy/website.git","clone_url":"https://github.com/torkleyy/website.git","svn_url":"https://github.com/torkleyy/website","homepage":"","size":35075,"stargazers_count":0,"watchers_count":0,"language":"HTML","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"cc-by-sa-4.0","name":"Creative Commons Attribution Share Alike 4.0 International","spdx_id":"CC-BY-SA-4.0","url":"https://api.github.com/licenses/cc-by-sa-4.0","node_id":"MDc6TGljZW5zZTI2"},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"amethyst:master","ref":"master","sha":"e5f89947c604eb094a9aa98d0bc7619f6ba9030f","user":{"login":"amethyst","id":17814736,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE3ODE0NzM2","avatar_url":"https://avatars1.githubusercontent.com/u/17814736?v=4","gravatar_id":"","url":"https://api.github.com/users/amethyst","html_url":"https://github.com/amethyst","followers_url":"https://api.github.com/users/amethyst/followers","following_url":"https://api.github.com/users/amethyst/following{/other_user}","gists_url":"https://api.github.com/users/amethyst/gists{/gist_id}","starred_url":"https://api.github.com/users/amethyst/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/amethyst/subscriptions","organizations_url":"https://api.github.com/users/amethyst/orgs","repos_url":"https://api.github.com/users/amethyst/repos","events_url":"https://api.github.com/users/amethyst/events{/privacy}","received_events_url":"https://api.github.com/users/amethyst/received_events","type":"Organization","site_admin":false},"repo":{"id":53912467,"node_id":"MDEwOlJlcG9zaXRvcnk1MzkxMjQ2Nw==","name":"website","full_name":"amethyst/website","private":false,"owner":{"login":"amethyst","id":17814736,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE3ODE0NzM2","avatar_url":"https://avatars1.githubusercontent.com/u/17814736?v=4","gravatar_id":"","url":"https://api.github.com/users/amethyst","html_url":"https://github.com/amethyst","followers_url":"https://api.github.com/users/amethyst/followers","following_url":"https://api.github.com/users/amethyst/following{/other_user}","gists_url":"https://api.github.com/users/amethyst/gists{/gist_id}","starred_url":"https://api.github.com/users/amethyst/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/amethyst/subscriptions","organizations_url":"https://api.github.com/users/amethyst/orgs","repos_url":"https://api.github.com/users/amethyst/repos","events_url":"https://api.github.com/users/amethyst/events{/privacy}","received_events_url":"https://api.github.com/users/amethyst/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/amethyst/website","description":"Project website and blog","fork":false,"url":"https://api.github.com/repos/amethyst/website","forks_url":"https://api.github.com/repos/amethyst/website/forks","keys_url":"https://api.github.com/repos/amethyst/website/keys{/key_id}","collaborators_url":"https://api.github.com/repos/amethyst/website/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/amethyst/website/teams","hooks_url":"https://api.github.com/repos/amethyst/website/hooks","issue_events_url":"https://api.github.com/repos/amethyst/website/issues/events{/number}","events_url":"https://api.github.com/repos/amethyst/website/events","assignees_url":"https://api.github.com/repos/amethyst/website/assignees{/user}","branches_url":"https://api.github.com/repos/amethyst/website/branches{/branch}","tags_url":"https://api.github.com/repos/amethyst/website/tags","blobs_url":"https://api.github.com/repos/amethyst/website/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/amethyst/website/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/amethyst/website/git/refs{/sha}","trees_url":"https://api.github.com/repos/amethyst/website/git/trees{/sha}","statuses_url":"https://api.github.com/repos/amethyst/website/statuses/{sha}","languages_url":"https://api.github.com/repos/amethyst/website/languages","stargazers_url":"https://api.github.com/repos/amethyst/website/stargazers","contributors_url":"https://api.github.com/repos/amethyst/website/contributors","subscribers_url":"https://api.github.com/repos/amethyst/website/subscribers","subscription_url":"https://api.github.com/repos/amethyst/website/subscription","commits_url":"https://api.github.com/repos/amethyst/website/commits{/sha}","git_commits_url":"https://api.github.com/repos/amethyst/website/git/commits{/sha}","comments_url":"https://api.github.com/repos/amethyst/website/comments{/number}","issue_comment_url":"https://api.github.com/repos/amethyst/website/issues/comments{/number}","contents_url":"https://api.github.com/repos/amethyst/website/contents/{+path}","compare_url":"https://api.github.com/repos/amethyst/website/compare/{base}...{head}","merges_url":"https://api.github.com/repos/amethyst/website/merges","archive_url":"https://api.github.com/repos/amethyst/website/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/amethyst/website/downloads","issues_url":"https://api.github.com/repos/amethyst/website/issues{/number}","pulls_url":"https://api.github.com/repos/amethyst/website/pulls{/number}","milestones_url":"https://api.github.com/repos/amethyst/website/milestones{/number}","notifications_url":"https://api.github.com/repos/amethyst/website/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/amethyst/website/labels{/name}","releases_url":"https://api.github.com/repos/amethyst/website/releases{/id}","deployments_url":"https://api.github.com/repos/amethyst/website/deployments","created_at":"2016-03-15T03:43:37Z","updated_at":"2018-10-23T17:20:24Z","pushed_at":"2018-10-25T12:50:56Z","git_url":"git://github.com/amethyst/website.git","ssh_url":"git@github.com:amethyst/website.git","clone_url":"https://github.com/amethyst/website.git","svn_url":"https://github.com/amethyst/website","homepage":"","size":35171,"stargazers_count":9,"watchers_count":9,"language":"HTML","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":true,"forks_count":19,"mirror_url":null,"archived":false,"open_issues_count":4,"license":{"key":"cc-by-sa-4.0","name":"Creative Commons Attribution Share Alike 4.0 International","spdx_id":"CC-BY-SA-4.0","url":"https://api.github.com/licenses/cc-by-sa-4.0","node_id":"MDc6TGljZW5zZTI2"},"forks":19,"open_issues":4,"watchers":9,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/amethyst/website/pulls/114"},"html":{"href":"https://github.com/amethyst/website/pull/114"},"issue":{"href":"https://api.github.com/repos/amethyst/website/issues/114"},"comments":{"href":"https://api.github.com/repos/amethyst/website/issues/114/comments"},"review_comments":{"href":"https://api.github.com/repos/amethyst/website/pulls/114/comments"},"review_comment":{"href":"https://api.github.com/repos/amethyst/website/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/amethyst/website/pulls/114/commits"},"statuses":{"href":"https://api.github.com/repos/amethyst/website/statuses/af6146ff862327d16699ddbb740db7e6239241b3"}},"author_association":"MEMBER"}}
{"actor":{"display_login":"torkleyy"}}