{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":796138688,"defaultBranch":"main","name":"bevy_light_2d","ownerLogin":"jgayfer","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2024-05-05T03:43:37.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/10660608?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1726636728.0","currentOid":""},"activityList":{"items":[{"before":"37b8cc3d64d9167f92b5b0f8cea1cf61f8d65520","after":"5622d6b4078625ae23606d52be5d2555be40229c","ref":"refs/heads/main","pushedAt":"2024-09-18T04:48:09.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jgayfer","name":"James Gayfer","path":"/jgayfer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10660608?s=80&v=4"},"commit":{"message":"Bump version","shortMessageHtmlLink":"Bump version"}},{"before":"e0a2b2dfa216318993089e789ee43d4bacd0c389","after":"37b8cc3d64d9167f92b5b0f8cea1cf61f8d65520","ref":"refs/heads/main","pushedAt":"2024-09-09T16:05:23.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jgayfer","name":"James Gayfer","path":"/jgayfer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10660608?s=80&v=4"},"commit":{"message":"camera move and zoom for occlusion example (#28)\n\n* camera move and zoom for occlusion example\r\n\r\n* format occlusion","shortMessageHtmlLink":"camera move and zoom for occlusion example (#28)"}},{"before":"b17d245e21bb9b3970ae6da0bbe452299d944d67","after":"e0a2b2dfa216318993089e789ee43d4bacd0c389","ref":"refs/heads/main","pushedAt":"2024-08-26T15:16:38.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jgayfer","name":"James Gayfer","path":"/jgayfer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10660608?s=80&v=4"},"commit":{"message":"Use empty buffer instead of populating junk data (#27)\n\n* Add an \"empty\" buffer\r\n\r\nWhen our GpuArrayBuffer has no data in it, we don't have a binding to use\r\nto send to the GPU, in which case the node generally won't run.\r\n\r\nWe can use this \"empty\" buffer to supply our shaders with a \"junk\" binding,\r\nallowing the shaders to still run (assuming we don't read from this).\r\n\r\n* Use empty buffer as stand in for empty array buffers\r\n\r\nWith a fallback \"empty\" binding, we no longer have to send junk point\r\nlight and occluder data to the GPU (which I believe has been causing\r\nsome issues).\r\n\r\n* Update CHANGELOG.md","shortMessageHtmlLink":"Use empty buffer instead of populating junk data (#27)"}},{"before":"5bb8b63bc6c4d8170a7aed59e8cfd862e453ecc9","after":"5ec4be0602649842074988a075d36f3a03c176a7","ref":"refs/heads/empty-buffers","pushedAt":"2024-08-22T04:23:08.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jgayfer","name":"James Gayfer","path":"/jgayfer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10660608?s=80&v=4"},"commit":{"message":"Update CHANGELOG.md","shortMessageHtmlLink":"Update CHANGELOG.md"}},{"before":null,"after":"5bb8b63bc6c4d8170a7aed59e8cfd862e453ecc9","ref":"refs/heads/empty-buffers","pushedAt":"2024-08-22T04:20:03.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"jgayfer","name":"James Gayfer","path":"/jgayfer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10660608?s=80&v=4"},"commit":{"message":"Use empty buffer as stand in for empty array buffers\n\nWith a fallback \"empty\" binding, we no longer have to send junk point\nlight and occluder data to the GPU (which I believe has been causing\nsome issues).","shortMessageHtmlLink":"Use empty buffer as stand in for empty array buffers"}},{"before":"293cf256f13dc8c9c85a0ac9ee5173863cc17aa6","after":"b17d245e21bb9b3970ae6da0bbe452299d944d67","ref":"refs/heads/main","pushedAt":"2024-08-20T03:45:02.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jgayfer","name":"James Gayfer","path":"/jgayfer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10660608?s=80&v=4"},"commit":{"message":"Bind point light counts (#25)\n\n* Bind point light counts\r\n\r\nOnce space is allocated in a buffer, it's allocated. Despawning a light\r\ndoesn't clear the memory in the binding, unless we make a new binding.\r\n\r\nPrior to this change, despawning a light could have it hang around, still\r\nin memory.\r\n\r\nThis change adds a separate binding to track the number of active point\r\nlights, and uses the number to iterate through the point light buffer,\r\nensuring we won't over step.\r\n\r\n* Update CHANGELOG.md\r\n\r\n* Use len() instead of count()","shortMessageHtmlLink":"Bind point light counts (#25)"}},{"before":"e66ad933c30b33a221c044d8b9c7f129cd5fbd4f","after":"0bac30de9b11a407ae840354499541c380bf0e88","ref":"refs/heads/point-light-count","pushedAt":"2024-08-20T03:41:53.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jgayfer","name":"James Gayfer","path":"/jgayfer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10660608?s=80&v=4"},"commit":{"message":"Use len() instead of count()","shortMessageHtmlLink":"Use len() instead of count()"}},{"before":"7622208a9fdc761d71739799dc1c335d697dc27a","after":"e66ad933c30b33a221c044d8b9c7f129cd5fbd4f","ref":"refs/heads/point-light-count","pushedAt":"2024-08-20T03:40:10.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jgayfer","name":"James Gayfer","path":"/jgayfer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10660608?s=80&v=4"},"commit":{"message":"Update CHANGELOG.md","shortMessageHtmlLink":"Update CHANGELOG.md"}},{"before":"d431ee15767f40c5cac606c9172bbc28183a28dc","after":"7622208a9fdc761d71739799dc1c335d697dc27a","ref":"refs/heads/point-light-count","pushedAt":"2024-08-20T03:36:55.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jgayfer","name":"James Gayfer","path":"/jgayfer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10660608?s=80&v=4"},"commit":{"message":"Bind point light counts\n\nOnce space is allocated in a buffer, it's allocated. Despawning a light\ndoesn't clear the memory in the binding, unless we make a new binding.\n\nPrior to this change, despawning a light could have it hang around, still\nin memory.\n\nThis change adds a separate binding to track the number of active point\nlights, and uses the number to iterate through the point light buffer,\nensuring we won't over step.","shortMessageHtmlLink":"Bind point light counts"}},{"before":"a77b708ae8e2fae4c232ea4f7f6c16223809143f","after":"293cf256f13dc8c9c85a0ac9ee5173863cc17aa6","ref":"refs/heads/main","pushedAt":"2024-08-19T15:14:13.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jgayfer","name":"James Gayfer","path":"/jgayfer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10660608?s=80&v=4"},"commit":{"message":"Fix ambient colour being black not rendering point lights. (#24)","shortMessageHtmlLink":"Fix ambient colour being black not rendering point lights. (#24)"}},{"before":"8548a55462e993f0b266be04c2aecbfe8dcf953f","after":"a77b708ae8e2fae4c232ea4f7f6c16223809143f","ref":"refs/heads/main","pushedAt":"2024-08-19T04:28:55.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jgayfer","name":"James Gayfer","path":"/jgayfer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10660608?s=80&v=4"},"commit":{"message":"Remove file not in module tree\n\nA relic we forgot to remove.","shortMessageHtmlLink":"Remove file not in module tree"}},{"before":"6c4f0a84b9358528ab7ef79cf1ae22c8eb924855","after":"d431ee15767f40c5cac606c9172bbc28183a28dc","ref":"refs/heads/point-light-count","pushedAt":"2024-08-19T00:40:38.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jgayfer","name":"James Gayfer","path":"/jgayfer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10660608?s=80&v=4"},"commit":{"message":"Bind point light counts\n\nOnce space is allocated in a buffer, it's allocated. Despawning a light\ndoesn't clear the memory in the binding, unless we make a new binding.\n\nPrior to this change, despawning a light could have it hang around, still\nin memory.\n\nThis change adds a separate binding to track the number of active point\nlights, and uses the number to iterate through the point light buffer,\nensuring we won't over step.","shortMessageHtmlLink":"Bind point light counts"}},{"before":"f93ca9b3960517909d294c6b4eda7ecad8a0a7ee","after":"6c4f0a84b9358528ab7ef79cf1ae22c8eb924855","ref":"refs/heads/point-light-count","pushedAt":"2024-08-19T00:28:27.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jgayfer","name":"James Gayfer","path":"/jgayfer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10660608?s=80&v=4"},"commit":{"message":"Bind point light counts\n\nOnce space is allocated in a buffer, it's allocated. Despawning a light\ndoesn't clear the memory in the binding, unless we make a new binding.\n\nPrior to this change, despawning a light could have it hang around, still\nin memory.\n\nThis change adds a separate binding to track the number of active point\nlights, and uses the number to iterate through the point light buffer,\nensuring we won't over step.","shortMessageHtmlLink":"Bind point light counts"}},{"before":null,"after":"f93ca9b3960517909d294c6b4eda7ecad8a0a7ee","ref":"refs/heads/point-light-count","pushedAt":"2024-08-18T05:10:41.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"jgayfer","name":"James Gayfer","path":"/jgayfer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10660608?s=80&v=4"},"commit":{"message":"Bind point light counts\n\nOnce space is allocated in a buffer, it's allocated. Despawning a light\ndoesn't clear the memory in the binding, unless we make a new binding.\n\nPrior to this change, despawning a light could have it hang around, still\nin memory.\n\nThis change adds a separate binding to track the number of active point\nlights, and uses the number to iterate through the point light buffer,\nensuring we won't over step.","shortMessageHtmlLink":"Bind point light counts"}},{"before":"1f100c6f98578de5c87159ca651f6fe6b76738bf","after":"8548a55462e993f0b266be04c2aecbfe8dcf953f","ref":"refs/heads/main","pushedAt":"2024-08-06T04:21:35.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jgayfer","name":"James Gayfer","path":"/jgayfer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10660608?s=80&v=4"},"commit":{"message":"Pretty up light occlusion example","shortMessageHtmlLink":"Pretty up light occlusion example"}},{"before":"65cf9b294603fb7312b8f1302a0c43c8bde48289","after":"1f100c6f98578de5c87159ca651f6fe6b76738bf","ref":"refs/heads/main","pushedAt":"2024-08-06T03:53:25.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jgayfer","name":"James Gayfer","path":"/jgayfer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10660608?s=80&v=4"},"commit":{"message":"Add missing issue reference","shortMessageHtmlLink":"Add missing issue reference"}},{"before":"bfa36431cb3820bd9428c36df20f2ceddf6fcf2f","after":"65cf9b294603fb7312b8f1302a0c43c8bde48289","ref":"refs/heads/main","pushedAt":"2024-08-06T03:49:48.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"jgayfer","name":"James Gayfer","path":"/jgayfer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10660608?s=80&v=4"},"commit":{"message":"Bump version","shortMessageHtmlLink":"Bump version"}},{"before":"30db46af6a0ef7b146b826206e81fb18991dd767","after":"bfa36431cb3820bd9428c36df20f2ceddf6fcf2f","ref":"refs/heads/main","pushedAt":"2024-08-06T03:36:33.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jgayfer","name":"James Gayfer","path":"/jgayfer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10660608?s=80&v=4"},"commit":{"message":"Clarify light occlusion changelog","shortMessageHtmlLink":"Clarify light occlusion changelog"}},{"before":"c705b8b0683f5469289e101f1177304e3cedada1","after":null,"ref":"refs/heads/webgl2","pushedAt":"2024-08-06T03:30:53.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"jgayfer","name":"James Gayfer","path":"/jgayfer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10660608?s=80&v=4"}},{"before":"725143cabc9c3cd0aca07d69780b9c92afb5775d","after":null,"ref":"refs/heads/feature/light-occluders","pushedAt":"2024-08-06T03:30:52.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"jgayfer","name":"James Gayfer","path":"/jgayfer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10660608?s=80&v=4"}},{"before":"b1f982f0088d3e5ddc63017c9d076846e8748f21","after":null,"ref":"refs/heads/sdf-prepass","pushedAt":"2024-08-06T03:30:50.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"jgayfer","name":"James Gayfer","path":"/jgayfer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10660608?s=80&v=4"}},{"before":"4dd69b971731e5e06562521c7159c877269f49ce","after":null,"ref":"refs/heads/fix-no-despawn","pushedAt":"2024-08-06T03:30:48.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"jgayfer","name":"James Gayfer","path":"/jgayfer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10660608?s=80&v=4"}},{"before":"ea834d73f15ef3958caf19705b29134ea7727c69","after":"30db46af6a0ef7b146b826206e81fb18991dd767","ref":"refs/heads/main","pushedAt":"2024-08-06T03:30:17.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jgayfer","name":"James Gayfer","path":"/jgayfer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10660608?s=80&v=4"},"commit":{"message":"Add light occlusion (#20)\n\n* Adds LightOccluder2d component\r\n\r\n* Adds SDF Pass\r\n\r\n* Use fixed size uniform buffer in WebGL2\r\n\r\nDynamic arrays aren't supported in WebGL2, so we have to fall back to\r\na fixed size array in a uniform binding.\r\n\r\nCo-Authored-By: Miguel Albernaz \r\n\r\n* Almost setup ray marching? :)\r\n\r\nCo-Authored-By: Miguel Albernaz \r\n\r\n* Kill bevy_pbr\r\n\r\nPBR is for 3D stuff. It's nice to not need it.\r\n\r\nWe'll want to clean up our view conversion definitions in the future.\r\n\r\nCo-Authored-By: Miguel Albernaz \r\n\r\n* Add isolated light map pass\r\n\r\nThe resulting texture isn't used yet, but it's being written to.\r\n\r\nCo-Authored-By: Miguel Albernaz \r\n\r\n* Use light map\r\n\r\nNow we're using our light map, blended with our main texture.\r\n\r\nCo-Authored-By: Miguel Albernaz \r\n\r\n* Fix ambient light\r\n\r\nCo-Authored-By: Miguel Albernaz \r\n\r\n* Check occluder visibility\r\n\r\nCo-Authored-By: Miguel Albernaz \r\n\r\n* Use separate node for SDF passo\r\n\r\nNot strictly necessary, but I do like having an explicit render graph,\r\nespecially if it's something someone else ever wanted to tweak.\r\n\r\nCo-Authored-By: Miguel Albernaz \r\n\r\n* Use enum for light occluder shapes\r\n\r\nThis will allow us to sanely expand our API as we introduce more\r\noccluder shapes.\r\n\r\nCo-Authored-By: Miguel Albernaz \r\n\r\n* Pull out light map node\r\n\r\nA refactor, again getting us to a world of a proper render graph.\r\n\r\nCo-Authored-By: Miguel Albernaz \r\n\r\n* Move sdf shader to sdf module\r\n\r\nCo-Authored-By: Miguel Albernaz \r\n\r\n* Use SDF specific component for texture\r\n\r\nNice to split this one up, rather than all the textures living on one\r\ncomponent.\r\n\r\nCo-Authored-By: Miguel Albernaz \r\n\r\n* Add separate light map texture component\r\n\r\nNow we can completely isolate our light map and sdf textures.\r\n\r\nCo-Authored-By: Miguel Albernaz \r\n\r\n* Hoist types shader\r\n\r\nThis shader isn't specific to any one pipeline, so let's pull it up.\r\n\r\nCo-Authored-By: Miguel Albernaz \r\n\r\n* Use shared shader types\r\n\r\nCo-Authored-By: Miguel Albernaz \r\n\r\n* Remove lighting settings\r\n\r\nNo blur yet. Will add this back later.\r\n\r\nCo-Authored-By: Miguel Albernaz \r\n\r\n* Fix comment\r\n\r\nCo-Authored-By: Miguel Albernaz \r\n\r\n* Pull view transformations to separate shader\r\n\r\nCo-Authored-By: Miguel Albernaz \r\n\r\n* Add occluders to changelog\r\n\r\nCo-Authored-By: Miguel Albernaz \r\n\r\n* Add light occlusion example\r\n\r\nCo-Authored-By: Miguel Albernaz \r\n\r\n* Fix occluder field order\r\n\r\nThese were wrong!\r\n\r\n* Add more occluders to occlusion example\r\n\r\n* Use texture sample level\r\n\r\nMissed this when porting things over.\r\n\r\n* Fix ambient light\r\n\r\n* Split up shape from light occluder\r\n\r\nThis will allow us to encode more information into an occluder, such as\r\ninformation on how shadows should be cast.\r\n\r\n* Allow shadows to be toggled on a per light basis\r\n\r\n* Update docs\r\n\r\n* Remove future goals\r\n\r\n---------\r\n\r\nCo-authored-by: Miguel Albernaz ","shortMessageHtmlLink":"Add light occlusion (#20)"}},{"before":"bea1b1543c7d15f1280c1a47e66d3cd7f1267f2d","after":"725143cabc9c3cd0aca07d69780b9c92afb5775d","ref":"refs/heads/feature/light-occluders","pushedAt":"2024-08-05T05:18:06.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jgayfer","name":"James Gayfer","path":"/jgayfer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10660608?s=80&v=4"},"commit":{"message":"Remove future goals","shortMessageHtmlLink":"Remove future goals"}},{"before":"4b64edda3d574ef81b31cc38f917466e0f92651b","after":"bea1b1543c7d15f1280c1a47e66d3cd7f1267f2d","ref":"refs/heads/feature/light-occluders","pushedAt":"2024-08-05T05:16:15.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jgayfer","name":"James Gayfer","path":"/jgayfer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10660608?s=80&v=4"},"commit":{"message":"Update docs","shortMessageHtmlLink":"Update docs"}},{"before":"7d9339e47d37b5277835535b5ee69baf2037f10a","after":"4b64edda3d574ef81b31cc38f917466e0f92651b","ref":"refs/heads/feature/light-occluders","pushedAt":"2024-08-05T05:09:16.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jgayfer","name":"James Gayfer","path":"/jgayfer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10660608?s=80&v=4"},"commit":{"message":"Allow shadows to be toggled on a per light basis","shortMessageHtmlLink":"Allow shadows to be toggled on a per light basis"}},{"before":"2d9507c02f5630623548c340f78f572c09e7e0c6","after":"7d9339e47d37b5277835535b5ee69baf2037f10a","ref":"refs/heads/feature/light-occluders","pushedAt":"2024-08-05T04:19:21.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jgayfer","name":"James Gayfer","path":"/jgayfer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10660608?s=80&v=4"},"commit":{"message":"Split up shape from light occluder\n\nThis will allow us to encode more information into an occluder, such as\ninformation on how shadows should be cast.","shortMessageHtmlLink":"Split up shape from light occluder"}},{"before":"d42c4fbf804514d84ccedc76213a950472c6b87d","after":"2d9507c02f5630623548c340f78f572c09e7e0c6","ref":"refs/heads/feature/light-occluders","pushedAt":"2024-08-04T21:44:23.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jgayfer","name":"James Gayfer","path":"/jgayfer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10660608?s=80&v=4"},"commit":{"message":"Fix ambient light","shortMessageHtmlLink":"Fix ambient light"}},{"before":"89fa27736f61a57173a65afac069ca943f8d1dc6","after":"d42c4fbf804514d84ccedc76213a950472c6b87d","ref":"refs/heads/feature/light-occluders","pushedAt":"2024-08-04T21:16:17.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jgayfer","name":"James Gayfer","path":"/jgayfer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10660608?s=80&v=4"},"commit":{"message":"Use texture sample level\n\nMissed this when porting things over.","shortMessageHtmlLink":"Use texture sample level"}},{"before":"39350dc679889c55ff914d1a151e962021fddc5c","after":"89fa27736f61a57173a65afac069ca943f8d1dc6","ref":"refs/heads/feature/light-occluders","pushedAt":"2024-08-02T22:13:59.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"jgayfer","name":"James Gayfer","path":"/jgayfer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10660608?s=80&v=4"},"commit":{"message":"Add more occluders to occlusion example","shortMessageHtmlLink":"Add more occluders to occlusion example"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0xOFQwNDo0ODowOS4wMDAwMDBazwAAAAS5O32F","endCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOC0wMlQyMjoxMzo1OS4wMDAwMDBazwAAAASQkj0q"}},"title":"Activity ยท jgayfer/bevy_light_2d"}