{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":234798675,"defaultBranch":"main","name":"bevy","ownerLogin":"bevyengine","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2020-01-18T21:13:55.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/60047606?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1717700685.0","currentOid":""},"activityList":{"items":[{"before":null,"after":"f7ae277025cc9029cd3134766dd25f33fd510ac2","ref":"refs/heads/gh-readonly-queue/main/pr-13716-175e1462289c217ec57a3d3b9894a7c513890fa4","pushedAt":"2024-06-06T19:04:45.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"},"commit":{"message":"Use TBN in apply_normal_mapping in pbr_prepass (#13716)\n\n# Objective\n\n- apply_normal_mapping was changed to use TBN but the pbr_prepass was\nnot updated for that change\n\n## Solution\n\n- Update the pbr_prepass to correctly apply normal mapping","shortMessageHtmlLink":"Use TBN in apply_normal_mapping in pbr_prepass (#13716)"}},{"before":"175e1462289c217ec57a3d3b9894a7c513890fa4","after":null,"ref":"refs/heads/gh-readonly-queue/main/pr-13705-31be32ff10a021ef36e2e633e1557a24a4a4ea9f","pushedAt":"2024-06-06T17:25:38.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"}},{"before":"31be32ff10a021ef36e2e633e1557a24a4a4ea9f","after":"175e1462289c217ec57a3d3b9894a7c513890fa4","ref":"refs/heads/main","pushedAt":"2024-06-06T17:25:38.000Z","pushType":"merge_queue_merge","commitsCount":1,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"},"commit":{"message":"Misc meshlet changes (#13705)\n\n* Rename cull_meshlets -> cull_clusters\n* Rename meshlet_visible -> cluster_visible\n* Add an if statement around meshlet_second_pass_candidates writes,\nmaybe a small bit of performance.","shortMessageHtmlLink":"Misc meshlet changes (#13705)"}},{"before":null,"after":"175e1462289c217ec57a3d3b9894a7c513890fa4","ref":"refs/heads/gh-readonly-queue/main/pr-13705-31be32ff10a021ef36e2e633e1557a24a4a4ea9f","pushedAt":"2024-06-06T17:10:23.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"},"commit":{"message":"Misc meshlet changes (#13705)\n\n* Rename cull_meshlets -> cull_clusters\n* Rename meshlet_visible -> cluster_visible\n* Add an if statement around meshlet_second_pass_candidates writes,\nmaybe a small bit of performance.","shortMessageHtmlLink":"Misc meshlet changes (#13705)"}},{"before":"31be32ff10a021ef36e2e633e1557a24a4a4ea9f","after":null,"ref":"refs/heads/gh-readonly-queue/main/pr-13710-9389de5c71177f45e96752b212d8bbb50d573adf","pushedAt":"2024-06-06T12:12:11.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"}},{"before":"9389de5c71177f45e96752b212d8bbb50d573adf","after":"31be32ff10a021ef36e2e633e1557a24a4a4ea9f","ref":"refs/heads/main","pushedAt":"2024-06-06T12:12:10.000Z","pushType":"merge_queue_merge","commitsCount":1,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"},"commit":{"message":"Made `Mesh::merge` take a reference of `Mesh`. (#13710)\n\n# Objective\n\n`Mesh::merge` does not need ownership of the right hand side mesh.\n\n## Solution\n\nMade `Mesh::merge` take a reference.\n\n## Testing\n\nModified existing tests.\n\n---\n\n## Changelog\n\nMade `Mesh::merge` take a reference.\n\n\n## Migration Guide\n\n* `Mesh::merge` now take a reference of a mesh instead of an owned mesh.","shortMessageHtmlLink":"Made Mesh::merge take a reference of Mesh. (#13710)"}},{"before":null,"after":"31be32ff10a021ef36e2e633e1557a24a4a4ea9f","ref":"refs/heads/gh-readonly-queue/main/pr-13710-9389de5c71177f45e96752b212d8bbb50d573adf","pushedAt":"2024-06-06T11:57:27.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"},"commit":{"message":"Made `Mesh::merge` take a reference of `Mesh`. (#13710)\n\n# Objective\n\n`Mesh::merge` does not need ownership of the right hand side mesh.\n\n## Solution\n\nMade `Mesh::merge` take a reference.\n\n## Testing\n\nModified existing tests.\n\n---\n\n## Changelog\n\nMade `Mesh::merge` take a reference.\n\n\n## Migration Guide\n\n* `Mesh::merge` now take a reference of a mesh instead of an owned mesh.","shortMessageHtmlLink":"Made Mesh::merge take a reference of Mesh. (#13710)"}},{"before":"9389de5c71177f45e96752b212d8bbb50d573adf","after":null,"ref":"refs/heads/gh-readonly-queue/main/pr-13700-95edd2ea7145181c13a4f40ee176d70fc88cab73","pushedAt":"2024-06-06T00:37:40.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"}},{"before":"95edd2ea7145181c13a4f40ee176d70fc88cab73","after":"9389de5c71177f45e96752b212d8bbb50d573adf","ref":"refs/heads/main","pushedAt":"2024-06-06T00:37:39.000Z","pushType":"merge_queue_merge","commitsCount":1,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"},"commit":{"message":"Allow loading assets with custom async behavior (#13700)\n\n# Objective\n\nCurrently, bevy supports custom asset loading via `AssetServer:;add`,\nwhich allows you to add arbitrary assets to the asset system and returns\na handle to it. However this only works for assets that have already\nbeen fully loaded. If your loading logic involves any async, you need to\nwait until the asset is done loading before adding it to the server.\nThis is problematic, as the `Handle` does not get allocated until the\nvery end, which makes it very difficult to use and defeats the value of\nhaving handles for asynchronously-loaded assets.\n\n## Solution\n\nAdd the method `AssetServer::add_async`. This has the same behavior as\n`AssetServer::add`, only it accepts a future instead of a fully loaded\nasset.\n\n## Testing\n\nI added an identical method to my company's fork of bevy, which works in\nour app. I'm not quite sure how to go about adding an actual unit test\nfor asset loading behvior, but I will note that `AssetServer::add` also\ndoes not appear to have any tests.\n\n---\n\n## Changelog\n\n+ Added `AssetServer::add_async`, which allows adding assets with custom\nasynchronous loading behavior to the `AssetServer`","shortMessageHtmlLink":"Allow loading assets with custom async behavior (#13700)"}},{"before":"95edd2ea7145181c13a4f40ee176d70fc88cab73","after":null,"ref":"refs/heads/gh-readonly-queue/main/pr-13699-3d9b1e402508e7beaaaabe0f93f64a332177757f","pushedAt":"2024-06-06T00:37:23.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"}},{"before":"3d9b1e402508e7beaaaabe0f93f64a332177757f","after":"95edd2ea7145181c13a4f40ee176d70fc88cab73","ref":"refs/heads/main","pushedAt":"2024-06-06T00:37:23.000Z","pushType":"merge_queue_merge","commitsCount":1,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"},"commit":{"message":"async_compute example: don't block in the task (#13699)\n\n# Objective\n\n- Fixes #13672 \n\n## Solution\n\n- Don't use blocking sleep in the tasks, so that it won't block the task\npool","shortMessageHtmlLink":"async_compute example: don't block in the task (#13699)"}},{"before":"3d9b1e402508e7beaaaabe0f93f64a332177757f","after":null,"ref":"refs/heads/gh-readonly-queue/main/pr-13697-52215ce0723d57ab1c9a22e07b46fd72ab875e87","pushedAt":"2024-06-06T00:35:52.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"}},{"before":"52215ce0723d57ab1c9a22e07b46fd72ab875e87","after":"3d9b1e402508e7beaaaabe0f93f64a332177757f","ref":"refs/heads/main","pushedAt":"2024-06-06T00:35:51.000Z","pushType":"merge_queue_merge","commitsCount":1,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"},"commit":{"message":"make UI text rendering camera driven (#13697)\n\n# Objective\n\n- Fixes #13687 \n\n## Solution\n\n- Text rendering in UI is still dependent on the `PrimaryWIndow`\n- implements #10559 for text rendering\n\nThere are other parts of UI that are still `PrimaryWindow` dependent, if\nthe changes here are OK I'll apply them everywhere.\nI'm not a fan of the `EntityHashMap` here to hold the scale factors, but\nit seems the quick and easy fix\n\n## Testing\n\n- Run example `multiple_windows` on a screen with a scale factor\ndifferent than 1, close the primary window","shortMessageHtmlLink":"make UI text rendering camera driven (#13697)"}},{"before":null,"after":"9389de5c71177f45e96752b212d8bbb50d573adf","ref":"refs/heads/gh-readonly-queue/main/pr-13700-95edd2ea7145181c13a4f40ee176d70fc88cab73","pushedAt":"2024-06-06T00:22:15.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"},"commit":{"message":"Allow loading assets with custom async behavior (#13700)\n\n# Objective\n\nCurrently, bevy supports custom asset loading via `AssetServer:;add`,\nwhich allows you to add arbitrary assets to the asset system and returns\na handle to it. However this only works for assets that have already\nbeen fully loaded. If your loading logic involves any async, you need to\nwait until the asset is done loading before adding it to the server.\nThis is problematic, as the `Handle` does not get allocated until the\nvery end, which makes it very difficult to use and defeats the value of\nhaving handles for asynchronously-loaded assets.\n\n## Solution\n\nAdd the method `AssetServer::add_async`. This has the same behavior as\n`AssetServer::add`, only it accepts a future instead of a fully loaded\nasset.\n\n## Testing\n\nI added an identical method to my company's fork of bevy, which works in\nour app. I'm not quite sure how to go about adding an actual unit test\nfor asset loading behvior, but I will note that `AssetServer::add` also\ndoes not appear to have any tests.\n\n---\n\n## Changelog\n\n+ Added `AssetServer::add_async`, which allows adding assets with custom\nasynchronous loading behavior to the `AssetServer`","shortMessageHtmlLink":"Allow loading assets with custom async behavior (#13700)"}},{"before":null,"after":"95edd2ea7145181c13a4f40ee176d70fc88cab73","ref":"refs/heads/gh-readonly-queue/main/pr-13699-3d9b1e402508e7beaaaabe0f93f64a332177757f","pushedAt":"2024-06-06T00:21:38.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"},"commit":{"message":"async_compute example: don't block in the task (#13699)\n\n# Objective\n\n- Fixes #13672 \n\n## Solution\n\n- Don't use blocking sleep in the tasks, so that it won't block the task\npool","shortMessageHtmlLink":"async_compute example: don't block in the task (#13699)"}},{"before":null,"after":"3d9b1e402508e7beaaaabe0f93f64a332177757f","ref":"refs/heads/gh-readonly-queue/main/pr-13697-52215ce0723d57ab1c9a22e07b46fd72ab875e87","pushedAt":"2024-06-06T00:21:05.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"},"commit":{"message":"make UI text rendering camera driven (#13697)\n\n# Objective\n\n- Fixes #13687 \n\n## Solution\n\n- Text rendering in UI is still dependent on the `PrimaryWIndow`\n- implements #10559 for text rendering\n\nThere are other parts of UI that are still `PrimaryWindow` dependent, if\nthe changes here are OK I'll apply them everywhere.\nI'm not a fan of the `EntityHashMap` here to hold the scale factors, but\nit seems the quick and easy fix\n\n## Testing\n\n- Run example `multiple_windows` on a screen with a scale factor\ndifferent than 1, close the primary window","shortMessageHtmlLink":"make UI text rendering camera driven (#13697)"}},{"before":"52215ce0723d57ab1c9a22e07b46fd72ab875e87","after":null,"ref":"refs/heads/gh-readonly-queue/main/pr-13558-9a123cd3a7faf0c9af4c3e0ea2b47991decddb8a","pushedAt":"2024-06-05T23:26:04.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"}},{"before":"9a123cd3a7faf0c9af4c3e0ea2b47991decddb8a","after":"52215ce0723d57ab1c9a22e07b46fd72ab875e87","ref":"refs/heads/main","pushedAt":"2024-06-05T23:26:04.000Z","pushType":"merge_queue_merge","commitsCount":1,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"},"commit":{"message":"Add labels to Gltf Node and Mesh assets (#13558)\n\n# Objective\n\nAdd labels to GltfNode and GltfMesh - they are missing from the assets\neven though they are need if one wants to write a custom Gltf spawning\nlogic.\n\nEg AnimationPlayer relies on Name component of the node entities to\ncontrol the animation. There is no way to actually get names of the gltf\nnodes, thus you can't manually spawn subtree from the scene and animate\nit.\n\n## Solution\n\n- Add label field and make use of existing label creation logic to store\nit there.\n\n## Testing\n\n- Ran all tests\n- Fixed tests for node_hierarchy to use lable now\n\n---------\n\nCo-authored-by: Alice Cecile \nCo-authored-by: François Mockers ","shortMessageHtmlLink":"Add labels to Gltf Node and Mesh assets (#13558)"}},{"before":"9a123cd3a7faf0c9af4c3e0ea2b47991decddb8a","after":null,"ref":"refs/heads/gh-readonly-queue/main/pr-13506-2165f2218fdff8a72a2f5746c0d699a76aa9a7c1","pushedAt":"2024-06-05T23:20:48.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"}},{"before":"2165f2218fdff8a72a2f5746c0d699a76aa9a7c1","after":"9a123cd3a7faf0c9af4c3e0ea2b47991decddb8a","ref":"refs/heads/main","pushedAt":"2024-06-05T23:20:48.000Z","pushType":"merge_queue_merge","commitsCount":1,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"},"commit":{"message":"Avoid a panic when loading labelled assets (#13506)\n\n# Objective\n\n- Fixes #10820.\n\n## Solution\n\n- Check that the asset ID to be inserted is still being managed.\n- Since this route is only used by `AssetServer`-tracked handles, if the\n`infos` map no longer contains the asset ID, all handles must have been\ndropped. In this case, since nobody can be watching for the result,\nwe're safe to bail out. This avoids the panic when inserting the asset,\nbecause when the handles are dropped, its slot in `Assets` is\npoisoned.\n- Someone may be waiting for a labelled asset rather than the main\nasset, these are handled with separate calls to `process_asset_load`, so\nshouldn't cause any issues.\n- Removed the workaround keeping asset info alive after the handle has\ndied, since we should no longer be trying to operate on any assets once\ntheir handles have been dropped.\n\n## Testing\n\n- I added a `break` in `handle_internal_asset_events`\n(`crates/bevy_asset/src/server/mod.rs` on line 1152). I don't believe\nthis should affect correctness, only efficiency, since it is effectively\nonly allowing one asset event to be handled per frame. This causes\nexamples like `animated_fox` to produce the issue fairly frequently.\n- I wrote a small program which called `AssetServer::reload` and could\ntrigger it too.\n\n---\n\n## Changelog\n- Fixed an issue which could cause a panic when loading an asset which\nwas no longer referenced.\n\n---\n\n## Remaining Work\n\n~This needs more testing. I don't yet have a complete project that\nreliably crashes without changes to bevy.~ We have at least one vote of\nconfidence so far from @Testare who had a project broken by this bug.\n\n@cart, (sorry for the ping), I believe you added the code which delays\n`remove_dropped`. Was there any other reason `track_assets` needed to\nkeep the dropped assets alive?","shortMessageHtmlLink":"Avoid a panic when loading labelled assets (#13506)"}},{"before":null,"after":"52215ce0723d57ab1c9a22e07b46fd72ab875e87","ref":"refs/heads/gh-readonly-queue/main/pr-13558-9a123cd3a7faf0c9af4c3e0ea2b47991decddb8a","pushedAt":"2024-06-05T23:10:49.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"},"commit":{"message":"Add labels to Gltf Node and Mesh assets (#13558)\n\n# Objective\n\nAdd labels to GltfNode and GltfMesh - they are missing from the assets\neven though they are need if one wants to write a custom Gltf spawning\nlogic.\n\nEg AnimationPlayer relies on Name component of the node entities to\ncontrol the animation. There is no way to actually get names of the gltf\nnodes, thus you can't manually spawn subtree from the scene and animate\nit.\n\n## Solution\n\n- Add label field and make use of existing label creation logic to store\nit there.\n\n## Testing\n\n- Ran all tests\n- Fixed tests for node_hierarchy to use lable now\n\n---------\n\nCo-authored-by: Alice Cecile \nCo-authored-by: François Mockers ","shortMessageHtmlLink":"Add labels to Gltf Node and Mesh assets (#13558)"}},{"before":null,"after":"9a123cd3a7faf0c9af4c3e0ea2b47991decddb8a","ref":"refs/heads/gh-readonly-queue/main/pr-13506-2165f2218fdff8a72a2f5746c0d699a76aa9a7c1","pushedAt":"2024-06-05T23:05:08.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"},"commit":{"message":"Avoid a panic when loading labelled assets (#13506)\n\n# Objective\n\n- Fixes #10820.\n\n## Solution\n\n- Check that the asset ID to be inserted is still being managed.\n- Since this route is only used by `AssetServer`-tracked handles, if the\n`infos` map no longer contains the asset ID, all handles must have been\ndropped. In this case, since nobody can be watching for the result,\nwe're safe to bail out. This avoids the panic when inserting the asset,\nbecause when the handles are dropped, its slot in `Assets` is\npoisoned.\n- Someone may be waiting for a labelled asset rather than the main\nasset, these are handled with separate calls to `process_asset_load`, so\nshouldn't cause any issues.\n- Removed the workaround keeping asset info alive after the handle has\ndied, since we should no longer be trying to operate on any assets once\ntheir handles have been dropped.\n\n## Testing\n\n- I added a `break` in `handle_internal_asset_events`\n(`crates/bevy_asset/src/server/mod.rs` on line 1152). I don't believe\nthis should affect correctness, only efficiency, since it is effectively\nonly allowing one asset event to be handled per frame. This causes\nexamples like `animated_fox` to produce the issue fairly frequently.\n- I wrote a small program which called `AssetServer::reload` and could\ntrigger it too.\n\n---\n\n## Changelog\n- Fixed an issue which could cause a panic when loading an asset which\nwas no longer referenced.\n\n---\n\n## Remaining Work\n\n~This needs more testing. I don't yet have a complete project that\nreliably crashes without changes to bevy.~ We have at least one vote of\nconfidence so far from @Testare who had a project broken by this bug.\n\n@cart, (sorry for the ping), I believe you added the code which delays\n`remove_dropped`. Was there any other reason `track_assets` needed to\nkeep the dropped assets alive?","shortMessageHtmlLink":"Avoid a panic when loading labelled assets (#13506)"}},{"before":"2165f2218fdff8a72a2f5746c0d699a76aa9a7c1","after":null,"ref":"refs/heads/gh-readonly-queue/main/pr-13694-2eb9d5cc382d407971c2efc7c6a3699ae00fb325","pushedAt":"2024-06-05T22:06:36.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"}},{"before":"2eb9d5cc382d407971c2efc7c6a3699ae00fb325","after":"2165f2218fdff8a72a2f5746c0d699a76aa9a7c1","ref":"refs/heads/main","pushedAt":"2024-06-05T22:06:36.000Z","pushType":"merge_queue_merge","commitsCount":1,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"},"commit":{"message":"Rename `Rotation2d` to `Rot2` (#13694)\n\n# Objective\n\n- `Rotation2d` is a very long name for a commonly used type.\n\n## Solution\n\n- Rename it to `Rot2` to match `glam`'s naming convention (e.g. `Vec2`)\n\nI ran a poll, and `Rot2` was the favorite of the candidate names.\n\nThis is not actually a breaking change, since `Rotation2d` has not been\nshipped yet.\n\n---------\n\nCo-authored-by: Alice Cecile ","shortMessageHtmlLink":"Rename Rotation2d to Rot2 (#13694)"}},{"before":null,"after":"2165f2218fdff8a72a2f5746c0d699a76aa9a7c1","ref":"refs/heads/gh-readonly-queue/main/pr-13694-2eb9d5cc382d407971c2efc7c6a3699ae00fb325","pushedAt":"2024-06-05T21:51:29.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"},"commit":{"message":"Rename `Rotation2d` to `Rot2` (#13694)\n\n# Objective\n\n- `Rotation2d` is a very long name for a commonly used type.\n\n## Solution\n\n- Rename it to `Rot2` to match `glam`'s naming convention (e.g. `Vec2`)\n\nI ran a poll, and `Rot2` was the favorite of the candidate names.\n\nThis is not actually a breaking change, since `Rotation2d` has not been\nshipped yet.\n\n---------\n\nCo-authored-by: Alice Cecile ","shortMessageHtmlLink":"Rename Rotation2d to Rot2 (#13694)"}},{"before":"2eb9d5cc382d407971c2efc7c6a3699ae00fb325","after":null,"ref":"refs/heads/gh-readonly-queue/main/pr-13691-fb3a560a1c09d557d6753a76a7d67e751023431b","pushedAt":"2024-06-05T19:56:05.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"}},{"before":"fb3a560a1c09d557d6753a76a7d67e751023431b","after":"2eb9d5cc382d407971c2efc7c6a3699ae00fb325","ref":"refs/heads/main","pushedAt":"2024-06-05T19:56:04.000Z","pushType":"merge_queue_merge","commitsCount":1,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"},"commit":{"message":"hashing error in bevy_reflect now includes the type (bevyengine#13646) (#13691)\n\n# Objective\nIf you try to add an object to the hashmap that is not capable of\nhashing, the program panics. For easier debugging, the type for that\nobject should be included in the error message.\n\nFixes #13646.\n\n## Solution\ninitially i tried calling std::any::type_name_of_val. this had the\nproblem that it would print something like dyn Box, not\nhelpful. But since these objects all implement Reflect, i used\nReflect::type_path() instead. Previously, the error message was part of\na constant called HASH_ERROR. i changed that to a macro called\nhash_error to print the type of that object more easily\n\n## Testing\ni adapted the unit test reflect_map_no_hash to expect the type in that\npanic aswell\n\nsince this is my first contribution, please let me know if i have done\neverything properly","shortMessageHtmlLink":"hashing error in bevy_reflect now includes the type (#13646) (#13691)"}},{"before":"fb3a560a1c09d557d6753a76a7d67e751023431b","after":null,"ref":"refs/heads/gh-readonly-queue/main/pr-13688-519abbca1141bf904695b1c0cf4184addc6883c5","pushedAt":"2024-06-05T19:55:32.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"}},{"before":"519abbca1141bf904695b1c0cf4184addc6883c5","after":"fb3a560a1c09d557d6753a76a7d67e751023431b","ref":"refs/heads/main","pushedAt":"2024-06-05T19:55:31.000Z","pushType":"merge_queue_merge","commitsCount":1,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"},"commit":{"message":"Allow `Bounded3d` implementations for custom primitives (#13688)\n\n# Objective\n\n- Due to coherency, it was previously not possible to implement\n`Bounded3d` for `Extrusion`. This PR fixes that.\n\n## Solution\n\n- Added a new trait `BoundedExtrusion: Primitive2d + Bounded2d` which\nprovides functions for bounding boxes and spheres of extrusions of 2D\nprimitives.\n- Changed all implementations of `Bounded3d for Extrusion` to\n`BoundedExtrusion for T`\n- Implemented `Bounded3d for Extrusion`\n- Removed the `extrusion_bounding_box` and `extrusion_bounding_sphere`\nfunctions and used them as default implementations in `BoundedExtrusion`\n\n## Testing\n\n- This PR does not change any implementations\n\n---------\n\nCo-authored-by: Lynn Büttgenbach <62256001+solis-lumine-vorago@users.noreply.github.com>\nCo-authored-by: Matty ","shortMessageHtmlLink":"Allow Bounded3d implementations for custom primitives (#13688)"}},{"before":null,"after":"2eb9d5cc382d407971c2efc7c6a3699ae00fb325","ref":"refs/heads/gh-readonly-queue/main/pr-13691-fb3a560a1c09d557d6753a76a7d67e751023431b","pushedAt":"2024-06-05T19:41:27.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"},"commit":{"message":"hashing error in bevy_reflect now includes the type (bevyengine#13646) (#13691)\n\n# Objective\nIf you try to add an object to the hashmap that is not capable of\nhashing, the program panics. For easier debugging, the type for that\nobject should be included in the error message.\n\nFixes #13646.\n\n## Solution\ninitially i tried calling std::any::type_name_of_val. this had the\nproblem that it would print something like dyn Box, not\nhelpful. But since these objects all implement Reflect, i used\nReflect::type_path() instead. Previously, the error message was part of\na constant called HASH_ERROR. i changed that to a macro called\nhash_error to print the type of that object more easily\n\n## Testing\ni adapted the unit test reflect_map_no_hash to expect the type in that\npanic aswell\n\nsince this is my first contribution, please let me know if i have done\neverything properly","shortMessageHtmlLink":"hashing error in bevy_reflect now includes the type (#13646) (#13691)"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEXoiF7AA","startCursor":null,"endCursor":null}},"title":"Activity · bevyengine/bevy"}