{"push_id":697365801,"size":2,"distinct_size":2,"ref":"refs/heads/master","head":"937fd302a4312fa499539c818d47dbba3e41d0dd","before":"a64c717b1a6aa18701468129ed21e16e9ad66367","commits":[{"sha":"4c6cd53f6c98669eda2b1ad8bb06a6bce1107d7a","author":{"email":"8e864f6891daea30887af7166abc194b98ea8641@tannerhelland.com","name":"Tanner"},"message":"Implement on-canvas layer rotation\n\nThis is a fun feature.  :)","distinct":true,"url":"https://api.github.com/repos/tannerhelland/PhotoDemon/commits/4c6cd53f6c98669eda2b1ad8bb06a6bce1107d7a"},{"sha":"937fd302a4312fa499539c818d47dbba3e41d0dd","author":{"email":"8e864f6891daea30887af7166abc194b98ea8641@tannerhelland.com","name":"Tanner"},"message":"Viewport pipeline: non-destructive rotation now works with all rendering paths\n\nOpacity and blend modes are broken, and no optimizations have been\napplied, but the core rotation math is all functional!  This means you\ncan now rotate and resize layers non-destructively using 100% on-canvas\ncontrols.\n\nNext up is myriad optimizations and restoring blend mode and opacity\nsupport.","distinct":true,"url":"https://api.github.com/repos/tannerhelland/PhotoDemon/commits/937fd302a4312fa499539c818d47dbba3e41d0dd"}]}