{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":225703419,"defaultBranch":"master","name":"spr","ownerLogin":"Fraktality","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2019-12-03T19:53:45.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/3611985?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1713599579.0","currentOid":""},"activityList":{"items":[{"before":"8d24451ef8f19f90809dfb21b6d9ee894f40b7de","after":"27a98e42e8d1b4f1031dcc683910375ce65ebdc6","ref":"refs/heads/master","pushedAt":"2024-05-28T04:42:06.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Fraktality","name":"Fractality","path":"/Fraktality","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3611985?s=80&v=4"},"commit":{"message":"Fix underdamped r1/r2 ordering","shortMessageHtmlLink":"Fix underdamped r1/r2 ordering"}},{"before":null,"after":"8d24451ef8f19f90809dfb21b6d9ee894f40b7de","ref":"refs/heads/stable-axis-angle","pushedAt":"2024-04-20T07:52:59.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"Fraktality","name":"Fractality","path":"/Fraktality","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3611985?s=80&v=4"},"commit":{"message":"new year","shortMessageHtmlLink":"new year"}},{"before":"c3087ff42db6769a3cda95ad2242f57780fcd42b","after":"8d24451ef8f19f90809dfb21b6d9ee894f40b7de","ref":"refs/heads/master","pushedAt":"2024-02-06T06:14:41.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Fraktality","name":"Fractality","path":"/Fraktality","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3611985?s=80&v=4"},"commit":{"message":"new year","shortMessageHtmlLink":"new year"}},{"before":"f1283c853813581ba5f1dc5f49d4e1c0102eab48","after":"c3087ff42db6769a3cda95ad2242f57780fcd42b","ref":"refs/heads/master","pushedAt":"2023-10-24T23:02:23.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Fraktality","name":"Fractality","path":"/Fraktality","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3611985?s=80&v=4"},"commit":{"message":"Fix camera jitter\n\n## Problem\r\nUsing spr.target to follow a simulated part with a camera produces noticeable jitter. This is because there is an ordering conflict between the user calling spr.target in a heartbeat loop, while we update and set the properties on another heartbeat loop.\r\n\r\n## Solution\r\nTake advantage of the task scheduler and force the ordering to be correct. The task order must be\r\n\r\n1. spr.target instances that are not cameras in spr\r\n1. Update instances that are not cameras in spr\r\n2. spr.target cameras\r\n3. Update cameras in spr\r\n\r\nCameras should now be updated on Heartbeat:\r\n\r\n```lua\r\nRunService.Heartbeat:Connect(function()\r\n spr.target(workspace.CurrentCamera, 1, 2, {\r\n CFrame = target.CFrame * targetToCamera\r\n })\r\nend)\r\n```\r\n\r\nIf you want your camera to follow a part that is in turn being controlled by spr:\r\n- spr.target the part on PreAnimation, &&\r\n- spr.target the camera on Heartbeat\r\n\r\n```lua\r\nRunService.PreAnimation:Connect(function()\r\n spr.target(target, 1, 2, {\r\n CFrame = getTargetCFrame()\r\n })\r\nend)\r\n\r\nRunService.Heartbeat:Connect(function()\r\n spr.target(workspace.CurrentCamera, 1, 2, {\r\n CFrame = target.CFrame * targetToCamera\r\n })\r\nend)\r\n```","shortMessageHtmlLink":"Fix camera jitter"}},{"before":"88e9a04b8c3d1d067f8c4dfccbcf364d34986ef0","after":"f1283c853813581ba5f1dc5f49d4e1c0102eab48","ref":"refs/heads/master","pushedAt":"2023-10-01T17:06:59.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Fraktality","name":"Fractality","path":"/Fraktality","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3611985?s=80&v=4"},"commit":{"message":"Enable native codegen","shortMessageHtmlLink":"Enable native codegen"}},{"before":"ef1f00c8bc664238aa528c3eddda093719700640","after":"88e9a04b8c3d1d067f8c4dfccbcf364d34986ef0","ref":"refs/heads/master","pushedAt":"2023-09-30T22:14:04.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Fraktality","name":"Fractality","path":"/Fraktality","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3611985?s=80&v=4"},"commit":{"message":"w? I've never heard of it","shortMessageHtmlLink":"w? I've never heard of it"}},{"before":"399e041b2382d636af17cd5846d681f5556acf03","after":"ef1f00c8bc664238aa528c3eddda093719700640","ref":"refs/heads/master","pushedAt":"2023-08-02T15:10:57.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Fraktality","name":"Fractality","path":"/Fraktality","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3611985?s=80&v=4"},"commit":{"message":"Improve README examples","shortMessageHtmlLink":"Improve README examples"}},{"before":"be043df52aa0f89abdd919b4bd05da9f61207dd4","after":"399e041b2382d636af17cd5846d681f5556acf03","ref":"refs/heads/master","pushedAt":"2023-07-30T00:00:48.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Fraktality","name":"Fractality","path":"/Fraktality","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3611985?s=80&v=4"},"commit":{"message":"Inf frequency works with psuedo properties\n\nClean up and unify property access to fix a bug where psuedo-properties such as pivot didn't work with infinite spring frequency.","shortMessageHtmlLink":"Inf frequency works with psuedo properties"}},{"before":"eba3eb280c5c20126c41f54abb00f5e9951a640f","after":"be043df52aa0f89abdd919b4bd05da9f61207dd4","ref":"refs/heads/master","pushedAt":"2023-07-18T06:10:39.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Fraktality","name":"Fractality","path":"/Fraktality","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3611985?s=80&v=4"},"commit":{"message":"Update README.md","shortMessageHtmlLink":"Update README.md"}},{"before":"01a82b2eab85061c9709ffa20b1955611071da60","after":"eba3eb280c5c20126c41f54abb00f5e9951a640f","ref":"refs/heads/master","pushedAt":"2023-07-18T06:10:14.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Fraktality","name":"Fractality","path":"/Fraktality","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3611985?s=80&v=4"},"commit":{"message":"Update README.md","shortMessageHtmlLink":"Update README.md"}},{"before":"9cb4cca1a7113d624e0587a40163d57f379a518b","after":"01a82b2eab85061c9709ffa20b1955611071da60","ref":"refs/heads/master","pushedAt":"2023-07-18T05:54:31.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Fraktality","name":"Fractality","path":"/Fraktality","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3611985?s=80&v=4"},"commit":{"message":"Update README.md","shortMessageHtmlLink":"Update README.md"}},{"before":"e8703dd5a74816237a4c8bc1f546662c010e9eca","after":"9cb4cca1a7113d624e0587a40163d57f379a518b","ref":"refs/heads/master","pushedAt":"2023-07-16T01:19:40.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Fraktality","name":"Fractality","path":"/Fraktality","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3611985?s=80&v=4"},"commit":{"message":"Remove unnecessary block","shortMessageHtmlLink":"Remove unnecessary block"}},{"before":"df379011111bd91fa90fe4ea4831dc5038bf4be1","after":"e8703dd5a74816237a4c8bc1f546662c010e9eca","ref":"refs/heads/master","pushedAt":"2023-07-13T19:53:33.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Fraktality","name":"Fractality","path":"/Fraktality","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3611985?s=80&v=4"},"commit":{"message":"Add support for Pivot & Scale\n\nFake properties using new custom override mechanism.","shortMessageHtmlLink":"Add support for Pivot & Scale"}},{"before":"b56c588d2ff367ab08d8ed1cee29bf606f000567","after":"df379011111bd91fa90fe4ea4831dc5038bf4be1","ref":"refs/heads/master","pushedAt":"2023-07-13T19:12:46.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Fraktality","name":"Fractality","path":"/Fraktality","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3611985?s=80&v=4"},"commit":{"message":"Cleanup type messages","shortMessageHtmlLink":"Cleanup type messages"}},{"before":"6d853d97f74d15a2df117f90d0ce86fc9ff5308c","after":"b56c588d2ff367ab08d8ed1cee29bf606f000567","ref":"refs/heads/master","pushedAt":"2023-07-09T19:39:33.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Fraktality","name":"Fractality","path":"/Fraktality","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3611985?s=80&v=4"},"commit":{"message":"simplify readme","shortMessageHtmlLink":"simplify readme"}},{"before":"a91033bfb9fddb20ab73a3c21c4c13a5a59f1da9","after":"6d853d97f74d15a2df117f90d0ce86fc9ff5308c","ref":"refs/heads/master","pushedAt":"2023-07-08T21:13:59.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Fraktality","name":"Fractality","path":"/Fraktality","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3611985?s=80&v=4"},"commit":{"message":"Simplify readme","shortMessageHtmlLink":"Simplify readme"}},{"before":"b75c6669bbd3d938ca9dec9ce2f7748827acb4ac","after":"a91033bfb9fddb20ab73a3c21c4c13a5a59f1da9","ref":"refs/heads/master","pushedAt":"2023-07-08T21:12:59.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Fraktality","name":"Fractality","path":"/Fraktality","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3611985?s=80&v=4"},"commit":{"message":"Fixup formatting","shortMessageHtmlLink":"Fixup formatting"}},{"before":"958644f16f7c56bc255a7e6b74023f2389da9ee9","after":"b75c6669bbd3d938ca9dec9ce2f7748827acb4ac","ref":"refs/heads/master","pushedAt":"2023-07-08T21:12:13.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Fraktality","name":"Fractality","path":"/Fraktality","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3611985?s=80&v=4"},"commit":{"message":"Improve readme layout","shortMessageHtmlLink":"Improve readme layout"}},{"before":"cc96249b6800c414c4602636968399858b9f88a9","after":"958644f16f7c56bc255a7e6b74023f2389da9ee9","ref":"refs/heads/master","pushedAt":"2023-07-08T21:08:44.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Fraktality","name":"Fractality","path":"/Fraktality","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3611985?s=80&v=4"},"commit":{"message":"Add spr.completed to readme\n\n...and port parameter descriptions to Luau type syntax","shortMessageHtmlLink":"Add spr.completed to readme"}},{"before":"37dae21263a1ffe970f8efb8374038197ef92889","after":"cc96249b6800c414c4602636968399858b9f88a9","ref":"refs/heads/master","pushedAt":"2023-07-08T19:23:54.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Fraktality","name":"Fractality","path":"/Fraktality","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3611985?s=80&v=4"},"commit":{"message":"Add completion callbacks\n\nThis change adds spr.completed, which registers a function to be called the next time an instance stops animating.\r\n\r\nIt is a bad idea in general to link business logic to animation states, but knowing when an instance has been let go by spr is useful for tracking object lifetime (e.g. making an object invisible and then destroying it).","shortMessageHtmlLink":"Add completion callbacks"}},{"before":"bc51a32e879d272b2cc56a4664f7ad3bb31b597c","after":"37dae21263a1ffe970f8efb8374038197ef92889","ref":"refs/heads/master","pushedAt":"2023-04-23T05:37:41.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Fraktality","name":"Fractality","path":"/Fraktality","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3611985?s=80&v=4"},"commit":{"message":"Implement rotation sleeping\n\nThis fixes an issue where CFrame springs with rotation but no translation terminated too early and snapped to the end value.\n\nThis isn't perfect - There are preexisting numerical precision issues with the exponential and logarithmic maps that can prevent CFrame springs from ever terminating. This can lead to performance problems.\n\nFor now, we will take the stance that correctness trumps performance, and ignore it. :D","shortMessageHtmlLink":"Implement rotation sleeping"}},{"before":"f9ff6cdb8dfe48e08b1b00ef69a532a031422db0","after":"bc51a32e879d272b2cc56a4664f7ad3bb31b597c","ref":"refs/heads/master","pushedAt":"2023-04-23T05:15:04.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Fraktality","name":"Fractality","path":"/Fraktality","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3611985?s=80&v=4"},"commit":{"message":"Smaller axis-angle epsilon","shortMessageHtmlLink":"Smaller axis-angle epsilon"}},{"before":"efe5283fcde0346e6075058a7653773d58a0ad01","after":"f9ff6cdb8dfe48e08b1b00ef69a532a031422db0","ref":"refs/heads/master","pushedAt":"2023-04-15T07:29:03.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Fraktality","name":"Fractality","path":"/Fraktality","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3611985?s=80&v=4"},"commit":{"message":"Update type support in docs","shortMessageHtmlLink":"Update type support in docs"}},{"before":"20d208b6eda39c048e52f868bfdd922ea9fa8f57","after":"efe5283fcde0346e6075058a7653773d58a0ad01","ref":"refs/heads/master","pushedAt":"2023-04-10T15:22:25.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Fraktality","name":"Fractality","path":"/Fraktality","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3611985?s=80&v=4"},"commit":{"message":"Update README.md","shortMessageHtmlLink":"Update README.md"}},{"before":"5b840a24ab3c094ab357240874433892db6e9c54","after":"20d208b6eda39c048e52f868bfdd922ea9fa8f57","ref":"refs/heads/master","pushedAt":"2023-04-10T15:19:53.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Fraktality","name":"Fractality","path":"/Fraktality","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3611985?s=80&v=4"},"commit":{"message":"Update README.md","shortMessageHtmlLink":"Update README.md"}},{"before":"9efe3ae18316dfe0d1ca4e8fcaf2350312f34e28","after":"5b840a24ab3c094ab357240874433892db6e9c54","ref":"refs/heads/master","pushedAt":"2023-04-10T15:17:57.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Fraktality","name":"Fractality","path":"/Fraktality","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3611985?s=80&v=4"},"commit":{"message":"Add type support to readme","shortMessageHtmlLink":"Add type support to readme"}},{"before":"3ccf9e25233e37191238e6d12de6108b15ecf8cc","after":"9efe3ae18316dfe0d1ca4e8fcaf2350312f34e28","ref":"refs/heads/master","pushedAt":"2023-04-09T20:55:22.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Fraktality","name":"Fractality","path":"/Fraktality","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3611985?s=80&v=4"},"commit":{"message":"New year","shortMessageHtmlLink":"New year"}},{"before":"0deac9f3ae16b56d526f11bcd5c33599ed19011d","after":"3ccf9e25233e37191238e6d12de6108b15ecf8cc","ref":"refs/heads/master","pushedAt":"2023-04-09T19:45:26.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Fraktality","name":"Fractality","path":"/Fraktality","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3611985?s=80&v=4"},"commit":{"message":"CFrame support & strict types\n\n- Support for `CFrame` type with an analytic solution for sprung 3D rotations\r\n- Luau typing courtesy of @AmaranthineCodices","shortMessageHtmlLink":"CFrame support & strict types"}}],"hasNextPage":false,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEVW45KwA","startCursor":null,"endCursor":null}},"title":"Activity ยท Fraktality/spr"}