{"action":"created","comment":{"url":"https://api.github.com/repos/tgstation/tgstation/pulls/comments/183619630","pull_request_review_id":114649821,"id":183619630,"diff_hunk":"@@ -3,7 +3,7 @@\n \t\t<ui-section>\n \t\t\t{{#each previews}}\n \t\t\t\t<ui-button state='{{selected ? \"selected\" : null}}' action='setdir'\n-\t\t\t\t\tparams='{\"dir\": {{dir}}, \"flipped\": {{flipped}}}'><img src='pipe.{{dir}}.{{icon_state}}.png' title='{{dir_name}}'/></ui-button>\n+\t\t\t\t\tparams='{\"dir\": {{dir}}, \"flipped\": {{flipped}}}'><span class='pipes32x32 {{dir}}-{{icon_state}}' title='{{dir_name}}'></span></ui-button>","path":"tgui/src/interfaces/rpd/dirsel.ract","position":5,"original_position":5,"commit_id":"c3fe696ac61c594e44b2403de147ecf6e955d787","original_commit_id":"c3fe696ac61c594e44b2403de147ecf6e955d787","user":{"login":"AnturK","id":4047233,"avatar_url":"https://avatars3.githubusercontent.com/u/4047233?v=4","gravatar_id":"","url":"https://api.github.com/users/AnturK","html_url":"https://github.com/AnturK","followers_url":"https://api.github.com/users/AnturK/followers","following_url":"https://api.github.com/users/AnturK/following{/other_user}","gists_url":"https://api.github.com/users/AnturK/gists{/gist_id}","starred_url":"https://api.github.com/users/AnturK/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AnturK/subscriptions","organizations_url":"https://api.github.com/users/AnturK/orgs","repos_url":"https://api.github.com/users/AnturK/repos","events_url":"https://api.github.com/users/AnturK/events{/privacy}","received_events_url":"https://api.github.com/users/AnturK/received_events","type":"User","site_admin":false},"body":"Could probably do with a helper somewhere in base tgui files.","created_at":"2018-04-24T06:46:04Z","updated_at":"2018-04-24T07:01:31Z","html_url":"https://github.com/tgstation/tgstation/pull/37399#discussion_r183619630","pull_request_url":"https://api.github.com/repos/tgstation/tgstation/pulls/37399","author_association":"MEMBER","_links":{"self":{"href":"https://api.github.com/repos/tgstation/tgstation/pulls/comments/183619630"},"html":{"href":"https://github.com/tgstation/tgstation/pull/37399#discussion_r183619630"},"pull_request":{"href":"https://api.github.com/repos/tgstation/tgstation/pulls/37399"}}},"pull_request":{"url":"https://api.github.com/repos/tgstation/tgstation/pulls/37399","id":183608097,"html_url":"https://github.com/tgstation/tgstation/pull/37399","diff_url":"https://github.com/tgstation/tgstation/pull/37399.diff","patch_url":"https://github.com/tgstation/tgstation/pull/37399.patch","issue_url":"https://api.github.com/repos/tgstation/tgstation/issues/37399","number":37399,"state":"open","locked":false,"title":"Use spritesheets to reduce time spent sending PNG assets by 90+%","user":{"login":"SpaceManiac","id":222630,"avatar_url":"https://avatars1.githubusercontent.com/u/222630?v=4","gravatar_id":"","url":"https://api.github.com/users/SpaceManiac","html_url":"https://github.com/SpaceManiac","followers_url":"https://api.github.com/users/SpaceManiac/followers","following_url":"https://api.github.com/users/SpaceManiac/following{/other_user}","gists_url":"https://api.github.com/users/SpaceManiac/gists{/gist_id}","starred_url":"https://api.github.com/users/SpaceManiac/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SpaceManiac/subscriptions","organizations_url":"https://api.github.com/users/SpaceManiac/orgs","repos_url":"https://api.github.com/users/SpaceManiac/repos","events_url":"https://api.github.com/users/SpaceManiac/events{/privacy}","received_events_url":"https://api.github.com/users/SpaceManiac/received_events","type":"User","site_admin":false},"body":":cl:\r\nrefactor: Large groups of PNG assets are now transmitted in spritesheets, greatly improving load times.\r\n/:cl:\r\n\r\nThe total number of assets to be sent has been reduced from 1532 to 76, with time between first asset and last going from about 112s to about 7s (a 93% reduction) by my measure. The following assets have been coalesced:\r\n* 705 pipe images (used by RPD) -> 1 spritesheet + css\r\n* 595 research design icons (used by R&D console) -> 3 spritesheets + css\r\n* 116 OOC emoji + 15 language icons -> 1 spritesheet + css\r\n* 27 PDA icons -> 1 spritesheet + css\r\n* 11 paperwork stamps -> 1 spritesheet + css\r\n\r\nBefore merge:\r\n* [x] Merge https://github.com/tgstation/rust-g/pull/2\r\n* [ ] Add updated `rust_g.dll` (will fix Travis)\r\n* [ ] Commit tgui compile to PR\r\n* [ ] Testmerge\r\n\r\nExamples of the generated spritesheets:\r\n* `design_32x32.png`\r\n  ![design_32x32](https://user-images.githubusercontent.com/222630/39163591-181769ec-4730-11e8-8886-d2c8dfa7cd6a.png)\r\n* `chat_16x16.png`\r\n  ![chat_16x16](https://user-images.githubusercontent.com/222630/39163593-194a63f0-4730-11e8-8f6b-ab195a8b6cdf.png)\r\n* `pda_16x16.png`\r\n  ![pda_16x16](https://user-images.githubusercontent.com/222630/39163596-1a59ca88-4730-11e8-93eb-55b49f9521ed.png)\r\n\r\nFixes #33997.","created_at":"2018-04-24T02:56:18Z","updated_at":"2018-04-24T07:01:31Z","closed_at":null,"merged_at":null,"merge_commit_sha":"819dcea0733379bce226a1aad9aa179c96d31401","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":380349558,"url":"https://api.github.com/repos/tgstation/tgstation/labels/Refactor","name":"Refactor","color":"FF9933","default":false},{"id":568392414,"url":"https://api.github.com/repos/tgstation/tgstation/labels/UI","name":"UI","color":"00e5e5","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/tgstation/tgstation/pulls/37399/commits","review_comments_url":"https://api.github.com/repos/tgstation/tgstation/pulls/37399/comments","review_comment_url":"https://api.github.com/repos/tgstation/tgstation/pulls/comments{/number}","comments_url":"https://api.github.com/repos/tgstation/tgstation/issues/37399/comments","statuses_url":"https://api.github.com/repos/tgstation/tgstation/statuses/c3fe696ac61c594e44b2403de147ecf6e955d787","head":{"label":"AutomaticFrenzy:patch/spritesheets","ref":"patch/spritesheets","sha":"c3fe696ac61c594e44b2403de147ecf6e955d787","user":{"login":"AutomaticFrenzy","id":31360629,"avatar_url":"https://avatars1.githubusercontent.com/u/31360629?v=4","gravatar_id":"","url":"https://api.github.com/users/AutomaticFrenzy","html_url":"https://github.com/AutomaticFrenzy","followers_url":"https://api.github.com/users/AutomaticFrenzy/followers","following_url":"https://api.github.com/users/AutomaticFrenzy/following{/other_user}","gists_url":"https://api.github.com/users/AutomaticFrenzy/gists{/gist_id}","starred_url":"https://api.github.com/users/AutomaticFrenzy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AutomaticFrenzy/subscriptions","organizations_url":"https://api.github.com/users/AutomaticFrenzy/orgs","repos_url":"https://api.github.com/users/AutomaticFrenzy/repos","events_url":"https://api.github.com/users/AutomaticFrenzy/events{/privacy}","received_events_url":"https://api.github.com/users/AutomaticFrenzy/received_events","type":"User","site_admin":false},"repo":{"id":103172024,"name":"tgstation","full_name":"AutomaticFrenzy/tgstation","owner":{"login":"AutomaticFrenzy","id":31360629,"avatar_url":"https://avatars1.githubusercontent.com/u/31360629?v=4","gravatar_id":"","url":"https://api.github.com/users/AutomaticFrenzy","html_url":"https://github.com/AutomaticFrenzy","followers_url":"https://api.github.com/users/AutomaticFrenzy/followers","following_url":"https://api.github.com/users/AutomaticFrenzy/following{/other_user}","gists_url":"https://api.github.com/users/AutomaticFrenzy/gists{/gist_id}","starred_url":"https://api.github.com/users/AutomaticFrenzy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AutomaticFrenzy/subscriptions","organizations_url":"https://api.github.com/users/AutomaticFrenzy/orgs","repos_url":"https://api.github.com/users/AutomaticFrenzy/repos","events_url":"https://api.github.com/users/AutomaticFrenzy/events{/privacy}","received_events_url":"https://api.github.com/users/AutomaticFrenzy/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/AutomaticFrenzy/tgstation","description":"the /tg/station branch of SS13","fork":true,"url":"https://api.github.com/repos/AutomaticFrenzy/tgstation","forks_url":"https://api.github.com/repos/AutomaticFrenzy/tgstation/forks","keys_url":"https://api.github.com/repos/AutomaticFrenzy/tgstation/keys{/key_id}","collaborators_url":"https://api.github.com/repos/AutomaticFrenzy/tgstation/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/AutomaticFrenzy/tgstation/teams","hooks_url":"https://api.github.com/repos/AutomaticFrenzy/tgstation/hooks","issue_events_url":"https://api.github.com/repos/AutomaticFrenzy/tgstation/issues/events{/number}","events_url":"https://api.github.com/repos/AutomaticFrenzy/tgstation/events","assignees_url":"https://api.github.com/repos/AutomaticFrenzy/tgstation/assignees{/user}","branches_url":"https://api.github.com/repos/AutomaticFrenzy/tgstation/branches{/branch}","tags_url":"https://api.github.com/repos/AutomaticFrenzy/tgstation/tags","blobs_url":"https://api.github.com/repos/AutomaticFrenzy/tgstation/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/AutomaticFrenzy/tgstation/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/AutomaticFrenzy/tgstation/git/refs{/sha}","trees_url":"https://api.github.com/repos/AutomaticFrenzy/tgstation/git/trees{/sha}","statuses_url":"https://api.github.com/repos/AutomaticFrenzy/tgstation/statuses/{sha}","languages_url":"https://api.github.com/repos/AutomaticFrenzy/tgstation/languages","stargazers_url":"https://api.github.com/repos/AutomaticFrenzy/tgstation/stargazers","contributors_url":"https://api.github.com/repos/AutomaticFrenzy/tgstation/contributors","subscribers_url":"https://api.github.com/repos/AutomaticFrenzy/tgstation/subscribers","subscription_url":"https://api.github.com/repos/AutomaticFrenzy/tgstation/subscription","commits_url":"https://api.github.com/repos/AutomaticFrenzy/tgstation/commits{/sha}","git_commits_url":"https://api.github.com/repos/AutomaticFrenzy/tgstation/git/commits{/sha}","comments_url":"https://api.github.com/repos/AutomaticFrenzy/tgstation/comments{/number}","issue_comment_url":"https://api.github.com/repos/AutomaticFrenzy/tgstation/issues/comments{/number}","contents_url":"https://api.github.com/repos/AutomaticFrenzy/tgstation/contents/{+path}","compare_url":"https://api.github.com/repos/AutomaticFrenzy/tgstation/compare/{base}...{head}","merges_url":"https://api.github.com/repos/AutomaticFrenzy/tgstation/merges","archive_url":"https://api.github.com/repos/AutomaticFrenzy/tgstation/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/AutomaticFrenzy/tgstation/downloads","issues_url":"https://api.github.com/repos/AutomaticFrenzy/tgstation/issues{/number}","pulls_url":"https://api.github.com/repos/AutomaticFrenzy/tgstation/pulls{/number}","milestones_url":"https://api.github.com/repos/AutomaticFrenzy/tgstation/milestones{/number}","notifications_url":"https://api.github.com/repos/AutomaticFrenzy/tgstation/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/AutomaticFrenzy/tgstation/labels{/name}","releases_url":"https://api.github.com/repos/AutomaticFrenzy/tgstation/releases{/id}","deployments_url":"https://api.github.com/repos/AutomaticFrenzy/tgstation/deployments","created_at":"2017-09-11T18:20:24Z","updated_at":"2018-04-21T22:42:22Z","pushed_at":"2018-04-24T02:42:57Z","git_url":"git://github.com/AutomaticFrenzy/tgstation.git","ssh_url":"git@github.com:AutomaticFrenzy/tgstation.git","clone_url":"https://github.com/AutomaticFrenzy/tgstation.git","svn_url":"https://github.com/AutomaticFrenzy/tgstation","homepage":"http://www.tgstation13.org/","size":1127438,"stargazers_count":1,"watchers_count":1,"language":"DM","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"agpl-3.0","name":"GNU Affero General Public License v3.0","spdx_id":"AGPL-3.0","url":"https://api.github.com/licenses/agpl-3.0"},"forks":0,"open_issues":0,"watchers":1,"default_branch":"master"}},"base":{"label":"tgstation:master","ref":"master","sha":"65987bfd60bdde308e39761442e83ffac57c6df0","user":{"login":"tgstation","id":1363778,"avatar_url":"https://avatars2.githubusercontent.com/u/1363778?v=4","gravatar_id":"","url":"https://api.github.com/users/tgstation","html_url":"https://github.com/tgstation","followers_url":"https://api.github.com/users/tgstation/followers","following_url":"https://api.github.com/users/tgstation/following{/other_user}","gists_url":"https://api.github.com/users/tgstation/gists{/gist_id}","starred_url":"https://api.github.com/users/tgstation/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tgstation/subscriptions","organizations_url":"https://api.github.com/users/tgstation/orgs","repos_url":"https://api.github.com/users/tgstation/repos","events_url":"https://api.github.com/users/tgstation/events{/privacy}","received_events_url":"https://api.github.com/users/tgstation/received_events","type":"Organization","site_admin":false},"repo":{"id":3234987,"name":"tgstation","full_name":"tgstation/tgstation","owner":{"login":"tgstation","id":1363778,"avatar_url":"https://avatars2.githubusercontent.com/u/1363778?v=4","gravatar_id":"","url":"https://api.github.com/users/tgstation","html_url":"https://github.com/tgstation","followers_url":"https://api.github.com/users/tgstation/followers","following_url":"https://api.github.com/users/tgstation/following{/other_user}","gists_url":"https://api.github.com/users/tgstation/gists{/gist_id}","starred_url":"https://api.github.com/users/tgstation/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tgstation/subscriptions","organizations_url":"https://api.github.com/users/tgstation/orgs","repos_url":"https://api.github.com/users/tgstation/repos","events_url":"https://api.github.com/users/tgstation/events{/privacy}","received_events_url":"https://api.github.com/users/tgstation/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/tgstation/tgstation","description":"the /tg/station branch of SS13","fork":false,"url":"https://api.github.com/repos/tgstation/tgstation","forks_url":"https://api.github.com/repos/tgstation/tgstation/forks","keys_url":"https://api.github.com/repos/tgstation/tgstation/keys{/key_id}","collaborators_url":"https://api.github.com/repos/tgstation/tgstation/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/tgstation/tgstation/teams","hooks_url":"https://api.github.com/repos/tgstation/tgstation/hooks","issue_events_url":"https://api.github.com/repos/tgstation/tgstation/issues/events{/number}","events_url":"https://api.github.com/repos/tgstation/tgstation/events","assignees_url":"https://api.github.com/repos/tgstation/tgstation/assignees{/user}","branches_url":"https://api.github.com/repos/tgstation/tgstation/branches{/branch}","tags_url":"https://api.github.com/repos/tgstation/tgstation/tags","blobs_url":"https://api.github.com/repos/tgstation/tgstation/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/tgstation/tgstation/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/tgstation/tgstation/git/refs{/sha}","trees_url":"https://api.github.com/repos/tgstation/tgstation/git/trees{/sha}","statuses_url":"https://api.github.com/repos/tgstation/tgstation/statuses/{sha}","languages_url":"https://api.github.com/repos/tgstation/tgstation/languages","stargazers_url":"https://api.github.com/repos/tgstation/tgstation/stargazers","contributors_url":"https://api.github.com/repos/tgstation/tgstation/contributors","subscribers_url":"https://api.github.com/repos/tgstation/tgstation/subscribers","subscription_url":"https://api.github.com/repos/tgstation/tgstation/subscription","commits_url":"https://api.github.com/repos/tgstation/tgstation/commits{/sha}","git_commits_url":"https://api.github.com/repos/tgstation/tgstation/git/commits{/sha}","comments_url":"https://api.github.com/repos/tgstation/tgstation/comments{/number}","issue_comment_url":"https://api.github.com/repos/tgstation/tgstation/issues/comments{/number}","contents_url":"https://api.github.com/repos/tgstation/tgstation/contents/{+path}","compare_url":"https://api.github.com/repos/tgstation/tgstation/compare/{base}...{head}","merges_url":"https://api.github.com/repos/tgstation/tgstation/merges","archive_url":"https://api.github.com/repos/tgstation/tgstation/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/tgstation/tgstation/downloads","issues_url":"https://api.github.com/repos/tgstation/tgstation/issues{/number}","pulls_url":"https://api.github.com/repos/tgstation/tgstation/pulls{/number}","milestones_url":"https://api.github.com/repos/tgstation/tgstation/milestones{/number}","notifications_url":"https://api.github.com/repos/tgstation/tgstation/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/tgstation/tgstation/labels{/name}","releases_url":"https://api.github.com/repos/tgstation/tgstation/releases{/id}","deployments_url":"https://api.github.com/repos/tgstation/tgstation/deployments","created_at":"2012-01-21T17:32:47Z","updated_at":"2018-04-23T23:28:55Z","pushed_at":"2018-04-24T06:27:51Z","git_url":"git://github.com/tgstation/tgstation.git","ssh_url":"git@github.com:tgstation/tgstation.git","clone_url":"https://github.com/tgstation/tgstation.git","svn_url":"https://github.com/tgstation/tgstation","homepage":"https://www.tgstation13.org/","size":1116371,"stargazers_count":506,"watchers_count":506,"language":"DM","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1763,"mirror_url":null,"archived":false,"open_issues_count":1189,"license":{"key":"agpl-3.0","name":"GNU Affero General Public License v3.0","spdx_id":"AGPL-3.0","url":"https://api.github.com/licenses/agpl-3.0"},"forks":1763,"open_issues":1189,"watchers":506,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/tgstation/tgstation/pulls/37399"},"html":{"href":"https://github.com/tgstation/tgstation/pull/37399"},"issue":{"href":"https://api.github.com/repos/tgstation/tgstation/issues/37399"},"comments":{"href":"https://api.github.com/repos/tgstation/tgstation/issues/37399/comments"},"review_comments":{"href":"https://api.github.com/repos/tgstation/tgstation/pulls/37399/comments"},"review_comment":{"href":"https://api.github.com/repos/tgstation/tgstation/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/tgstation/tgstation/pulls/37399/commits"},"statuses":{"href":"https://api.github.com/repos/tgstation/tgstation/statuses/c3fe696ac61c594e44b2403de147ecf6e955d787"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"AnturK"}}