{"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:1725566660.0","currentOid":""},"activityList":{"items":[{"before":"a5ac4ff93a9d775724b74095b4ca9aa6d45fe6ef","after":"fc159fc7f7fb0c4aac8db57e0b6a2bee14fd56dd","ref":"refs/heads/release-0.14.2","pushedAt":"2024-09-05T21:42:20.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mockersf","name":"François Mockers","path":"/mockersf","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8672791?s=80&v=4"},"commit":{"message":"fix lints?","shortMessageHtmlLink":"fix lints?"}},{"before":"cd9fec3547c2a9c3798b8bd35d02314be1506be2","after":"a5ac4ff93a9d775724b74095b4ca9aa6d45fe6ef","ref":"refs/heads/release-0.14.2","pushedAt":"2024-09-05T20:07:41.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mockersf","name":"François Mockers","path":"/mockersf","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8672791?s=80&v=4"},"commit":{"message":"Release 0.14.2","shortMessageHtmlLink":"Release 0.14.2"}},{"before":null,"after":"cd9fec3547c2a9c3798b8bd35d02314be1506be2","ref":"refs/heads/release-0.14.2","pushedAt":"2024-09-05T20:04:20.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"mockersf","name":"François Mockers","path":"/mockersf","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8672791?s=80&v=4"},"commit":{"message":"UI outlines radius (#15018)\n\nFixes #13479\n\nThis also fixes the gaps you can sometimes observe in outlines\n(screenshot from main, not this PR):\n\n\"outline-gaps\"\nsrc=\"https://github.com/user-attachments/assets/c11dae24-20f5-4aea-8ffc-1894ad2a2b79\"\n\nThe outline around the last item in each section has vertical gaps.\n\nDraw the outlines with corner radius using the existing border rendering\nfor uinodes. The outline radius is very simple to calculate. We just\ntake the computed border radius of the node, and if it's greater than\nzero, add it to the distance from the edge of the node to the outer edge\nof the node's outline.\n\n---\n\n\"outlines-radius\"\nsrc=\"https://github.com/user-attachments/assets/1ecda26c-65c5-41ef-87e4-5d9171ddc3ae\"\n\n---------\n\nCo-authored-by: Jan Hohenheim ","shortMessageHtmlLink":"UI outlines radius (#15018)"}},{"before":"54aa45e62ff10cf03ad21986805ca4faa1e5a512","after":null,"ref":"refs/heads/gh-readonly-queue/main/pr-15053-cb221d885293ca05fb90225010ed6fdad6c91f3a","pushedAt":"2024-09-05T19:31:45.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":"cb221d885293ca05fb90225010ed6fdad6c91f3a","after":"54aa45e62ff10cf03ad21986805ca4faa1e5a512","ref":"refs/heads/main","pushedAt":"2024-09-05T19:31:44.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":"Fix `bevy_ui` compile error when `bevy_picking` feature is disabled (#15053)\n\n# Objective\n\n#14957 added the `pick_rounded_rect` function to `bevy_ui` in the\n`picking_backend` module, which is gated behind the `bevy_picking`\nfeature. This function is used in that module, as well as in the `focus`\nmodule. The latter usage is not gated behind the `bevy_picking` feature,\ncausing a compile error when the feature is disabled.\n\n## Solution\n\nMove the `pick_rounded_rect` function out of the `picking_backend`\nmodule, as it does not depend on anything defined in that module. I put\nit in `lib.rs` but it could reasonably be moved somewhere else instead.\n\n## Testing\n\nEncountered this compile error in a project and confirmed that this\npatch fixes it.","shortMessageHtmlLink":"Fix bevy_ui compile error when bevy_picking feature is disabled (#…"}},{"before":null,"after":"54aa45e62ff10cf03ad21986805ca4faa1e5a512","ref":"refs/heads/gh-readonly-queue/main/pr-15053-cb221d885293ca05fb90225010ed6fdad6c91f3a","pushedAt":"2024-09-05T19:17:12.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":"Fix `bevy_ui` compile error when `bevy_picking` feature is disabled (#15053)\n\n# Objective\n\n#14957 added the `pick_rounded_rect` function to `bevy_ui` in the\n`picking_backend` module, which is gated behind the `bevy_picking`\nfeature. This function is used in that module, as well as in the `focus`\nmodule. The latter usage is not gated behind the `bevy_picking` feature,\ncausing a compile error when the feature is disabled.\n\n## Solution\n\nMove the `pick_rounded_rect` function out of the `picking_backend`\nmodule, as it does not depend on anything defined in that module. I put\nit in `lib.rs` but it could reasonably be moved somewhere else instead.\n\n## Testing\n\nEncountered this compile error in a project and confirmed that this\npatch fixes it.","shortMessageHtmlLink":"Fix bevy_ui compile error when bevy_picking feature is disabled (#…"}},{"before":"cb221d885293ca05fb90225010ed6fdad6c91f3a","after":null,"ref":"refs/heads/gh-readonly-queue/main/pr-15050-5589f0da40376fb37b8b9a55214de0d02c1e09b0","pushedAt":"2024-09-05T16:42:13.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":"5589f0da40376fb37b8b9a55214de0d02c1e09b0","after":"cb221d885293ca05fb90225010ed6fdad6c91f3a","ref":"refs/heads/main","pushedAt":"2024-09-05T16:42:12.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":"`Node::is_empty` (#15050)\n\n# Objective\n\nAdd a `Node::is_empty` method to replace the `uinode.size().x() <= 0. ||\nuinode.size.y() <= 0.` checks.","shortMessageHtmlLink":"Node::is_empty (#15050)"}},{"before":null,"after":"cb221d885293ca05fb90225010ed6fdad6c91f3a","ref":"refs/heads/gh-readonly-queue/main/pr-15050-5589f0da40376fb37b8b9a55214de0d02c1e09b0","pushedAt":"2024-09-05T16:27:01.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":"`Node::is_empty` (#15050)\n\n# Objective\n\nAdd a `Node::is_empty` method to replace the `uinode.size().x() <= 0. ||\nuinode.size.y() <= 0.` checks.","shortMessageHtmlLink":"Node::is_empty (#15050)"}},{"before":"5589f0da40376fb37b8b9a55214de0d02c1e09b0","after":null,"ref":"refs/heads/gh-readonly-queue/main/pr-15054-ba1f13fdc7f4773ba903ca95ab3f6e57eb53978f","pushedAt":"2024-09-05T14:41:30.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":"ba1f13fdc7f4773ba903ca95ab3f6e57eb53978f","after":"5589f0da40376fb37b8b9a55214de0d02c1e09b0","ref":"refs/heads/main","pushedAt":"2024-09-05T14:41:29.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":"Revert accidentally added asset docs (#15054)\n\nOur branch protection rules were misconfigured, allowing me to push\ndirectly to `origin/main` 😱 This is now resolved:\n\n\n![image](https://github.com/user-attachments/assets/bb0ac59a-6998-42f7-80d6-8b3a865c6f53)\n\nThis PR reverts those accidental changes, which will get their own PR\nmomentarily...","shortMessageHtmlLink":"Revert accidentally added asset docs (#15054)"}},{"before":null,"after":"5589f0da40376fb37b8b9a55214de0d02c1e09b0","ref":"refs/heads/gh-readonly-queue/main/pr-15054-ba1f13fdc7f4773ba903ca95ab3f6e57eb53978f","pushedAt":"2024-09-05T14:24:41.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":"Revert accidentally added asset docs (#15054)\n\nOur branch protection rules were misconfigured, allowing me to push\ndirectly to `origin/main` 😱 This is now resolved:\n\n\n![image](https://github.com/user-attachments/assets/bb0ac59a-6998-42f7-80d6-8b3a865c6f53)\n\nThis PR reverts those accidental changes, which will get their own PR\nmomentarily...","shortMessageHtmlLink":"Revert accidentally added asset docs (#15054)"}},{"before":"22aa9abb139f21bf35b8b0bdb6beee929f75c139","after":"ba1f13fdc7f4773ba903ca95ab3f6e57eb53978f","ref":"refs/heads/main","pushedAt":"2024-09-05T13:58:40.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"alice-i-cecile","name":"Alice Cecile","path":"/alice-i-cecile","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3579909?s=80&v=4"},"commit":{"message":"Add a small note on loading screens","shortMessageHtmlLink":"Add a small note on loading screens"}},{"before":"a0f5ea0d3621a14bdc06d1e3bf1a8d9de90d409b","after":"22aa9abb139f21bf35b8b0bdb6beee929f75c139","ref":"refs/heads/main","pushedAt":"2024-09-05T13:42:26.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"alice-i-cecile","name":"Alice Cecile","path":"/alice-i-cecile","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3579909?s=80&v=4"},"commit":{"message":"Clarify relationships between saving, loading, reading and writing","shortMessageHtmlLink":"Clarify relationships between saving, loading, reading and writing"}},{"before":"a0f5ea0d3621a14bdc06d1e3bf1a8d9de90d409b","after":null,"ref":"refs/heads/gh-readonly-queue/main/pr-15018-82128d778ad9c5572300b0e9eff03195648cf423","pushedAt":"2024-09-04T22:47:46.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":"82128d778ad9c5572300b0e9eff03195648cf423","after":"a0f5ea0d3621a14bdc06d1e3bf1a8d9de90d409b","ref":"refs/heads/main","pushedAt":"2024-09-04T22:47:45.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":"UI outlines radius (#15018)\n\n# Objective\n\nFixes #13479\n\nThis also fixes the gaps you can sometimes observe in outlines\n(screenshot from main, not this PR):\n\n\"outline-gaps\"\nsrc=\"https://github.com/user-attachments/assets/c11dae24-20f5-4aea-8ffc-1894ad2a2b79\"\n\nThe outline around the last item in each section has vertical gaps. \n\n## Solution\n\nDraw the outlines with corner radius using the existing border rendering\nfor uinodes. The outline radius is very simple to calculate. We just\ntake the computed border radius of the node, and if it's greater than\nzero, add it to the distance from the edge of the node to the outer edge\nof the node's outline.\n\n---\n\n## Showcase\n\n\"outlines-radius\"\nsrc=\"https://github.com/user-attachments/assets/1ecda26c-65c5-41ef-87e4-5d9171ddc3ae\"\n\n---------\n\nCo-authored-by: Jan Hohenheim ","shortMessageHtmlLink":"UI outlines radius (#15018)"}},{"before":null,"after":"a0f5ea0d3621a14bdc06d1e3bf1a8d9de90d409b","ref":"refs/heads/gh-readonly-queue/main/pr-15018-82128d778ad9c5572300b0e9eff03195648cf423","pushedAt":"2024-09-04T22:30:32.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":"UI outlines radius (#15018)\n\n# Objective\n\nFixes #13479\n\nThis also fixes the gaps you can sometimes observe in outlines\n(screenshot from main, not this PR):\n\n\"outline-gaps\"\nsrc=\"https://github.com/user-attachments/assets/c11dae24-20f5-4aea-8ffc-1894ad2a2b79\"\n\nThe outline around the last item in each section has vertical gaps. \n\n## Solution\n\nDraw the outlines with corner radius using the existing border rendering\nfor uinodes. The outline radius is very simple to calculate. We just\ntake the computed border radius of the node, and if it's greater than\nzero, add it to the distance from the edge of the node to the outer edge\nof the node's outline.\n\n---\n\n## Showcase\n\n\"outlines-radius\"\nsrc=\"https://github.com/user-attachments/assets/1ecda26c-65c5-41ef-87e4-5d9171ddc3ae\"\n\n---------\n\nCo-authored-by: Jan Hohenheim ","shortMessageHtmlLink":"UI outlines radius (#15018)"}},{"before":"38adb4afe029b974b0cbc80eb19d4ffe62282a07","after":"0ad1d3b188f8fab9c228b136b6d134b7bf38de65","ref":"refs/heads/dependabot/cargo/glam-0.29","pushedAt":"2024-09-04T19:59:45.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"},"commit":{"message":"Update glam requirement from 0.28 to 0.29\n\nUpdates the requirements on [glam](https://github.com/bitshifter/glam-rs) to permit the latest version.\n- [Changelog](https://github.com/bitshifter/glam-rs/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/bitshifter/glam-rs/compare/0.28.0...0.29.0)\n\n---\nupdated-dependencies:\n- dependency-name: glam\n dependency-type: direct:production\n...\n\nSigned-off-by: dependabot[bot] ","shortMessageHtmlLink":"Update glam requirement from 0.28 to 0.29"}},{"before":"82128d778ad9c5572300b0e9eff03195648cf423","after":null,"ref":"refs/heads/gh-readonly-queue/main/pr-14862-8ac745ab106b1bdb1158dbc2dfa1480587da0484","pushedAt":"2024-09-04T19:58:13.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":"8ac745ab106b1bdb1158dbc2dfa1480587da0484","after":"82128d778ad9c5572300b0e9eff03195648cf423","ref":"refs/heads/main","pushedAt":"2024-09-04T19:58:12.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":"Picking event ordering (#14862)\n\n# Objective\n\nCorrectly order picking events. Resolves\nhttps://github.com/bevyengine/bevy/issues/5984.\n\n## Solution\n\nEvent ordering [very long standing\nproblem](https://github.com/aevyrie/bevy_mod_picking/issues/294) with\nmod picking, stemming from two related issues. The first problem was\nthat `Pointer` events of different types couldn't be ordered, but we\nhave already gotten around that in the upstream by switching to\nobservers. Since observers run in the order they are triggered, this\nisn't an issue.\n\nThe second problem was that the underlying event streams that picking\nuses to create it's pointer interaction events *also* lacked ordering,\nand the systems that generated the points couldn't interleave events.\nThis PR fixes that by unifying the event streams and integrating the\nvarious interaction systems.\n\nThe concrete changes are as follows:\n+ `bevy_winit::WinitEvent` has been moved to `bevy_window::WindowEvent`.\nThis provides a unified (and more importantly, *ordered*) input stream\nfor both `bevy_window` and `bevy_input` events.\n+ Replaces `InputMove` and `InputPress` with `PointerInput`, a new\nunified input event which drives picking and interaction. This event is\nbuilt to have drop-in forward compatibility with [winit's upcoming\npointer abstraction](https://github.com/rust-windowing/winit/pull/3876).\nI have added code to emulate it using the current winit input\nabstractions, but this entire thing will be much more robust when it\nlands.\n+ Rolls `pointer_events` `send_click_and_drag_events` and\n`send_drag_over_events` into a single system, which operates directly on\n`PointerEvent` and triggers observers as output.\n\nThe PR also improves docs and takes the opportunity to\nrefactor/streamline the pointer event dispatch logic.\n\n## Status & Testing\n\nThis PR is now feature complete and documented. While it is\ntheoretically possible to add unit tests for the ordering, building the\npicking mocking for that will take a little while.\n\nFeedback on the chosen ordering of events is within-scope.\n\n## Migration Guide\n\nFor users switching from `bevy_mod_picking` to `bevy_picking`:\n+ Instead of adding an `On` component, use `.observe(|trigger:\nTrigger|)`. You may now apply multiple handlers to the same entity\nusing this command.\n+ Pointer interaction events now have semi-deterministic ordering which\n(more or less) aligns with the order of the raw input stream. Consult\nthe docs on `bevy_picking::event::pointer_events` for current\ninformation. You may need to adjust your event handling logic\naccordingly.\n+ `PointerCancel` has been replaced with `Pointer`, which now\nhas the semantics of an OS touch pointer cancel event.\n+ `InputMove` and `InputPress` have been merged into `PointerInput`. The\nuse remains exactly the same.\n+ Picking interaction events are now only accessible through observers,\nand no `EventReader`. This functionality may be re-implemented later.\n\nFor users of `bevy_winit`:\n+ The event `bevy_winit::WinitEvent` has moved to\n`bevy_window::WindowEvent`. If this was the only thing you depended on\n`bevy_winit` for, you should switch your dependency to `bevy_window`.\n+ `bevy_window` now depends on `bevy_input`. The dependencies of\n`bevy_input` are a subset of the existing dependencies for `bevy_window`\nso this should be non-breaking.","shortMessageHtmlLink":"Picking event ordering (#14862)"}},{"before":"8ac745ab106b1bdb1158dbc2dfa1480587da0484","after":null,"ref":"refs/heads/gh-readonly-queue/main/pr-15034-739007f1483c4cdeffe5121732422b078188ef56","pushedAt":"2024-09-04T19:48:37.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":"739007f1483c4cdeffe5121732422b078188ef56","after":"8ac745ab106b1bdb1158dbc2dfa1480587da0484","ref":"refs/heads/main","pushedAt":"2024-09-04T19:48: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":"UI texture slice texture flipping reimplementation (#15034)\n\n# Objective\n\nFixes #15032\n\n## Solution\n\nReimplement support for the `flip_x` and `flip_y` fields.\nThis doesn't flip the border geometry, I'm not really sure whether that\nis desirable or not.\nAlso fixes a bug that was causing the side and center slices to tile\nincorrectly.\n\n### Testing\n\n```\ncargo run --example ui_texture_slice_flip_and_tile\n```\n\n## Showcase\n\"nearest\"\nsrc=\"https://github.com/user-attachments/assets/bc044bae-1748-42ba-92b5-0500c87264f6\"\nWith tiling need to use nearest filtering to avoid bleeding between the\nslices.\n\n---------\n\nCo-authored-by: Jan Hohenheim \nCo-authored-by: Alice Cecile ","shortMessageHtmlLink":"UI texture slice texture flipping reimplementation (#15034)"}},{"before":null,"after":"82128d778ad9c5572300b0e9eff03195648cf423","ref":"refs/heads/gh-readonly-queue/main/pr-14862-8ac745ab106b1bdb1158dbc2dfa1480587da0484","pushedAt":"2024-09-04T19:41:22.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":"Picking event ordering (#14862)\n\n# Objective\n\nCorrectly order picking events. Resolves\nhttps://github.com/bevyengine/bevy/issues/5984.\n\n## Solution\n\nEvent ordering [very long standing\nproblem](https://github.com/aevyrie/bevy_mod_picking/issues/294) with\nmod picking, stemming from two related issues. The first problem was\nthat `Pointer` events of different types couldn't be ordered, but we\nhave already gotten around that in the upstream by switching to\nobservers. Since observers run in the order they are triggered, this\nisn't an issue.\n\nThe second problem was that the underlying event streams that picking\nuses to create it's pointer interaction events *also* lacked ordering,\nand the systems that generated the points couldn't interleave events.\nThis PR fixes that by unifying the event streams and integrating the\nvarious interaction systems.\n\nThe concrete changes are as follows:\n+ `bevy_winit::WinitEvent` has been moved to `bevy_window::WindowEvent`.\nThis provides a unified (and more importantly, *ordered*) input stream\nfor both `bevy_window` and `bevy_input` events.\n+ Replaces `InputMove` and `InputPress` with `PointerInput`, a new\nunified input event which drives picking and interaction. This event is\nbuilt to have drop-in forward compatibility with [winit's upcoming\npointer abstraction](https://github.com/rust-windowing/winit/pull/3876).\nI have added code to emulate it using the current winit input\nabstractions, but this entire thing will be much more robust when it\nlands.\n+ Rolls `pointer_events` `send_click_and_drag_events` and\n`send_drag_over_events` into a single system, which operates directly on\n`PointerEvent` and triggers observers as output.\n\nThe PR also improves docs and takes the opportunity to\nrefactor/streamline the pointer event dispatch logic.\n\n## Status & Testing\n\nThis PR is now feature complete and documented. While it is\ntheoretically possible to add unit tests for the ordering, building the\npicking mocking for that will take a little while.\n\nFeedback on the chosen ordering of events is within-scope.\n\n## Migration Guide\n\nFor users switching from `bevy_mod_picking` to `bevy_picking`:\n+ Instead of adding an `On` component, use `.observe(|trigger:\nTrigger|)`. You may now apply multiple handlers to the same entity\nusing this command.\n+ Pointer interaction events now have semi-deterministic ordering which\n(more or less) aligns with the order of the raw input stream. Consult\nthe docs on `bevy_picking::event::pointer_events` for current\ninformation. You may need to adjust your event handling logic\naccordingly.\n+ `PointerCancel` has been replaced with `Pointer`, which now\nhas the semantics of an OS touch pointer cancel event.\n+ `InputMove` and `InputPress` have been merged into `PointerInput`. The\nuse remains exactly the same.\n+ Picking interaction events are now only accessible through observers,\nand no `EventReader`. This functionality may be re-implemented later.\n\nFor users of `bevy_winit`:\n+ The event `bevy_winit::WinitEvent` has moved to\n`bevy_window::WindowEvent`. If this was the only thing you depended on\n`bevy_winit` for, you should switch your dependency to `bevy_window`.\n+ `bevy_window` now depends on `bevy_input`. The dependencies of\n`bevy_input` are a subset of the existing dependencies for `bevy_window`\nso this should be non-breaking.","shortMessageHtmlLink":"Picking event ordering (#14862)"}},{"before":null,"after":"8ac745ab106b1bdb1158dbc2dfa1480587da0484","ref":"refs/heads/gh-readonly-queue/main/pr-15034-739007f1483c4cdeffe5121732422b078188ef56","pushedAt":"2024-09-04T19:31:57.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":"UI texture slice texture flipping reimplementation (#15034)\n\n# Objective\n\nFixes #15032\n\n## Solution\n\nReimplement support for the `flip_x` and `flip_y` fields.\nThis doesn't flip the border geometry, I'm not really sure whether that\nis desirable or not.\nAlso fixes a bug that was causing the side and center slices to tile\nincorrectly.\n\n### Testing\n\n```\ncargo run --example ui_texture_slice_flip_and_tile\n```\n\n## Showcase\n\"nearest\"\nsrc=\"https://github.com/user-attachments/assets/bc044bae-1748-42ba-92b5-0500c87264f6\"\nWith tiling need to use nearest filtering to avoid bleeding between the\nslices.\n\n---------\n\nCo-authored-by: Jan Hohenheim \nCo-authored-by: Alice Cecile ","shortMessageHtmlLink":"UI texture slice texture flipping reimplementation (#15034)"}},{"before":"739007f1483c4cdeffe5121732422b078188ef56","after":null,"ref":"refs/heads/gh-readonly-queue/main/pr-14673-ec728c31c116693ba7ea7bdf5354bbed6380d412","pushedAt":"2024-09-03T23:58:30.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":"ec728c31c116693ba7ea7bdf5354bbed6380d412","after":"739007f1483c4cdeffe5121732422b078188ef56","ref":"refs/heads/main","pushedAt":"2024-09-03T23:58:29.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":"Opportunistically use dense iter for archetypal iteration in Par_iter (#14673)\n\n# Objective\n\n- follow of #14049 ,we could use it on our Parallel Iterator,this pr\nalso unified the used function in both regular iter and parallel\niterations.\n\n\n## Performance \n\n\n![image](https://github.com/user-attachments/assets/cba700bc-169c-4b58-b504-823bdca8ec05)\n\nno performance regression for regular itertaion\n\n3.5X faster in hybrid parallel iteraion,this number is far greater than\nthe benefits obtained in regular iteration(~1.81) because mutable\niterations on continuous memory can effectively reduce the cost of\nmataining core cache coherence","shortMessageHtmlLink":"Opportunistically use dense iter for archetypal iteration in Par_iter ("}},{"before":"ec728c31c116693ba7ea7bdf5354bbed6380d412","after":null,"ref":"refs/heads/gh-readonly-queue/main/pr-15033-4ac2a635569756d44dc237d812219700ff74f40c","pushedAt":"2024-09-03T23:52:57.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":"4ac2a635569756d44dc237d812219700ff74f40c","after":"ec728c31c116693ba7ea7bdf5354bbed6380d412","ref":"refs/heads/main","pushedAt":"2024-09-03T23:52:57.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":"style: simplify string formatting for readability (#15033)\n\n# Objective\n\nThe goal of this change is to improve code readability and\nmaintainability.","shortMessageHtmlLink":"style: simplify string formatting for readability (#15033)"}},{"before":null,"after":"739007f1483c4cdeffe5121732422b078188ef56","ref":"refs/heads/gh-readonly-queue/main/pr-14673-ec728c31c116693ba7ea7bdf5354bbed6380d412","pushedAt":"2024-09-03T23:41:19.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":"Opportunistically use dense iter for archetypal iteration in Par_iter (#14673)\n\n# Objective\n\n- follow of #14049 ,we could use it on our Parallel Iterator,this pr\nalso unified the used function in both regular iter and parallel\niterations.\n\n\n## Performance \n\n\n![image](https://github.com/user-attachments/assets/cba700bc-169c-4b58-b504-823bdca8ec05)\n\nno performance regression for regular itertaion\n\n3.5X faster in hybrid parallel iteraion,this number is far greater than\nthe benefits obtained in regular iteration(~1.81) because mutable\niterations on continuous memory can effectively reduce the cost of\nmataining core cache coherence","shortMessageHtmlLink":"Opportunistically use dense iter for archetypal iteration in Par_iter ("}},{"before":null,"after":"ec728c31c116693ba7ea7bdf5354bbed6380d412","ref":"refs/heads/gh-readonly-queue/main/pr-15033-4ac2a635569756d44dc237d812219700ff74f40c","pushedAt":"2024-09-03T23:36:04.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":"style: simplify string formatting for readability (#15033)\n\n# Objective\n\nThe goal of this change is to improve code readability and\nmaintainability.","shortMessageHtmlLink":"style: simplify string formatting for readability (#15033)"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAErlKRmgA","startCursor":null,"endCursor":null}},"title":"Activity · bevyengine/bevy"}