{"action":"created","issue":{"url":"https://api.github.com/repos/trufont/trufont/issues/614","repository_url":"https://api.github.com/repos/trufont/trufont","labels_url":"https://api.github.com/repos/trufont/trufont/issues/614/labels{/name}","comments_url":"https://api.github.com/repos/trufont/trufont/issues/614/comments","events_url":"https://api.github.com/repos/trufont/trufont/issues/614/events","html_url":"https://github.com/trufont/trufont/pull/614","id":384839440,"node_id":"MDExOlB1bGxSZXF1ZXN0MjMzOTQ1OTM3","number":614,"title":"[WIP] Various thoughts about implementing undo/redo for TruFont","user":{"login":"justvanrossum","id":4246121,"node_id":"MDQ6VXNlcjQyNDYxMjE=","avatar_url":"https://avatars0.githubusercontent.com/u/4246121?v=4","gravatar_id":"","url":"https://api.github.com/users/justvanrossum","html_url":"https://github.com/justvanrossum","followers_url":"https://api.github.com/users/justvanrossum/followers","following_url":"https://api.github.com/users/justvanrossum/following{/other_user}","gists_url":"https://api.github.com/users/justvanrossum/gists{/gist_id}","starred_url":"https://api.github.com/users/justvanrossum/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/justvanrossum/subscriptions","organizations_url":"https://api.github.com/users/justvanrossum/orgs","repos_url":"https://api.github.com/users/justvanrossum/repos","events_url":"https://api.github.com/users/justvanrossum/events{/privacy}","received_events_url":"https://api.github.com/users/justvanrossum/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":3,"created_at":"2018-11-27T15:06:55Z","updated_at":"2018-12-12T17:18:10Z","closed_at":null,"author_association":"NONE","pull_request":{"url":"https://api.github.com/repos/trufont/trufont/pulls/614","html_url":"https://github.com/trufont/trufont/pull/614","diff_url":"https://github.com/trufont/trufont/pull/614.diff","patch_url":"https://github.com/trufont/trufont/pull/614.patch"},"body":"Probably best to use this PR as a public discussion before merging.\r\n\r\nThe document is mostly a brainstorm session about things that could and should, and does not yet contain a very concrete guideline about what to do.\r\n\r\nAt the same time, BlackFoundry has been experimenting with an undo system in their fork (referenced in my doc). It would be great to learn from their experience as well."},"comment":{"url":"https://api.github.com/repos/trufont/trufont/issues/comments/446669057","html_url":"https://github.com/trufont/trufont/pull/614#issuecomment-446669057","issue_url":"https://api.github.com/repos/trufont/trufont/issues/614","id":446669057,"node_id":"MDEyOklzc3VlQ29tbWVudDQ0NjY2OTA1Nw==","user":{"login":"YvesDup","id":6217656,"node_id":"MDQ6VXNlcjYyMTc2NTY=","avatar_url":"https://avatars2.githubusercontent.com/u/6217656?v=4","gravatar_id":"","url":"https://api.github.com/users/YvesDup","html_url":"https://github.com/YvesDup","followers_url":"https://api.github.com/users/YvesDup/followers","following_url":"https://api.github.com/users/YvesDup/following{/other_user}","gists_url":"https://api.github.com/users/YvesDup/gists{/gist_id}","starred_url":"https://api.github.com/users/YvesDup/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/YvesDup/subscriptions","organizations_url":"https://api.github.com/users/YvesDup/orgs","repos_url":"https://api.github.com/users/YvesDup/repos","events_url":"https://api.github.com/users/YvesDup/events{/privacy}","received_events_url":"https://api.github.com/users/YvesDup/received_events","type":"User","site_admin":false},"created_at":"2018-12-12T17:18:10Z","updated_at":"2018-12-12T17:18:10Z","author_association":"NONE","body":"Possible optimizations:\r\n\r\nFirst is about an option regarding the URM decorators of TruFont . All of them are distinct functions but could be rewrite in a single decorator as a class (with magic __call__ method). This option has to harden the solution. It could develop later when all functionalities of TruFont are done.\r\n\r\nSecond is about to reduce the structure of extra datas in the UMR. For each action we stored  two snaphots of datas (layer before and layer after). But It is possible to stored only one snashot and using that of previous action - or next action -  when undoes or redoes. \r\nSo all the snapshots could be in the dedicated sequence (list or set, I do not know yet) of UMR"}}
{"actor":{"display_login":"YvesDup"}}