{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":410223623,"defaultBranch":"main","name":"bevy","ownerLogin":"kurtkuehnert","currentUserCanPush":false,"isFork":true,"isEmpty":false,"createdAt":"2021-09-25T08:57:12.000Z","ownerAvatar":"https://github.com/avatars/u/51823519?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1704973836.0","currentOid":""},"activityList":{"items":[{"before":"c4e479a2d4f2ca1d7ce2637e4da1a4bb5cbed133","after":"3cf70ba4f9d62396240b186ff379d27a312d2aa2","ref":"refs/heads/main","pushedAt":"2024-08-24T13:25:54.000Z","pushType":"push","commitsCount":1582,"pusher":{"login":"kurtkuehnert","name":"Kurt Kühnert","path":"/kurtkuehnert","primaryAvatarUrl":"https://github.com/avatars/u/51823519?s=80&v=4"},"commit":{"message":"Fix fog density texture offset seam (#14900)\n\n# Objective\n\n- There is a flaw in the implementation of `FogVolume`'s\n`density_texture_offset` from #14868. Because of the way I am wrapping\nthe UVW coordinates in the volumetric fog shader, a seam is visible when\nthe 3d texture is wrapping around from one side to the other:\n\n\n![density_texture_offset_seam](https://github.com/user-attachments/assets/89527ef2-5e1b-4b90-8e73-7a3e607697d4)\n\n## Solution\n\n- This PR fixes the issue by removing the wrapping from the shader and\ninstead leaving it to the user to configure the 3d noise texture to use\n`ImageAddressMode::Repeat` if they want it to repeat. Using\n`ImageAddressMode::Repeat` is the proper solution to avoid the obvious\nseam:\n\n\n![density_texture_seam_fixed](https://github.com/user-attachments/assets/06e871a6-2db1-4501-b425-4141605f9b26)\n\n- The sampler cannot be implicitly configured to use\n`ImageAddressMode::Repeat` because that's not always desirable. For\nexample, the `fog_volumes` example wouldn't work properly because the\ntexture from the edges of the volume would overflow to the other sides,\nwhich would be bad in this instance (but it's good in the case of the\n`scrolling_fog` example). So leaving it to the user to decide on their\nown whether they want the density texture to repeat seems to be the best\nsolution.\n\n## Testing\n\n- The `scrolling_fog` example still looks the same, it was just changed\nto explicitly declare that the density texture should be repeating when\nloading the asset. The `fog_volumes` example is unaffected.\n
\nMinimal reproduction example on current main\n
\nuse bevy::core_pipeline::experimental::taa::{TemporalAntiAliasBundle,\nTemporalAntiAliasPlugin};\nuse bevy::pbr::{FogVolume, VolumetricFogSettings, VolumetricLight};\nuse bevy::prelude::*;
\nfn main() {\n App::new()\n .add_plugins((DefaultPlugins, TemporalAntiAliasPlugin))\n .add_systems(Startup, setup)\n .run();\n}
\nfn setup(mut commands: Commands, assets: Res<AssetServer>) {\n commands.spawn((\n Camera3dBundle {\n transform: Transform::from_xyz(3.5, -1.0, 0.4)\n .looking_at(Vec3::new(0.0, 0.0, 0.4), Vec3::Y),\n msaa: Msaa::Off,\n ..default()\n },\n TemporalAntiAliasBundle::default(),\n VolumetricFogSettings {\n ambient_intensity: 0.0,\n jitter: 0.5,\n ..default()\n },\n ));
\n commands.spawn((\n DirectionalLightBundle {\n transform: Transform::from_xyz(-6.0, 5.0, -9.0)\n .looking_at(Vec3::new(0.0, 0.0, 0.0), Vec3::Y),\n directional_light: DirectionalLight {\n illuminance: 32_000.0,\n shadows_enabled: true,\n ..default()\n },\n ..default()\n },\n VolumetricLight,\n ));
\n commands.spawn((\n SpatialBundle {\n visibility: Visibility::Visible,\ntransform: Transform::from_xyz(0.0, 0.0,\n0.0).with_scale(Vec3::splat(3.0)),\n ..default()\n },\n FogVolume {\ndensity_texture: Some(assets.load(\"volumes/fog_noise.ktx2\")),\n density_texture_offset: Vec3::new(0.0, 0.0, 0.4),\n scattering: 1.0,\n ..default()\n },\n ));\n}\n
\n
","shortMessageHtmlLink":"Fix fog density texture offset seam (bevyengine#14900)"}},{"before":"a16444d0b0a480545dfadcadebcdec579ac78ba6","after":"d3c065c7d4eeb382691e7264eb356e2aa9f53fd3","ref":"refs/heads/image_loader_settings","pushedAt":"2024-01-31T12:21:27.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kurtkuehnert","name":"Kurt Kühnert","path":"/kurtkuehnert","primaryAvatarUrl":"https://github.com/avatars/u/51823519?s=80&v=4"},"commit":{"message":"adjusted for main branch","shortMessageHtmlLink":"adjusted for main branch"}},{"before":"47b37bc080d5dbdef8b9899550dcfc5af7f58ba3","after":"a16444d0b0a480545dfadcadebcdec579ac78ba6","ref":"refs/heads/image_loader_settings","pushedAt":"2024-01-31T11:50:15.000Z","pushType":"push","commitsCount":163,"pusher":{"login":"kurtkuehnert","name":"Kurt Kühnert","path":"/kurtkuehnert","primaryAvatarUrl":"https://github.com/avatars/u/51823519?s=80&v=4"},"commit":{"message":"Merge branch 'main' into image_loader_settings","shortMessageHtmlLink":"Merge branch 'main' into image_loader_settings"}},{"before":"c4e479a2d4f2ca1d7ce2637e4da1a4bb5cbed133","after":"47b37bc080d5dbdef8b9899550dcfc5af7f58ba3","ref":"refs/heads/image_loader_settings","pushedAt":"2024-01-11T11:54:43.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kurtkuehnert","name":"Kurt Kühnert","path":"/kurtkuehnert","primaryAvatarUrl":"https://github.com/avatars/u/51823519?s=80&v=4"},"commit":{"message":"added additional settings to the ImageLoaderSettings","shortMessageHtmlLink":"added additional settings to the ImageLoaderSettings"}},{"before":null,"after":"c4e479a2d4f2ca1d7ce2637e4da1a4bb5cbed133","ref":"refs/heads/image_loader_settings","pushedAt":"2024-01-11T11:50:36.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"kurtkuehnert","name":"Kurt Kühnert","path":"/kurtkuehnert","primaryAvatarUrl":"https://github.com/avatars/u/51823519?s=80&v=4"},"commit":{"message":"Implement bounding volume types (#10946)\n\n# Objective\n\nImplement bounding volume trait and the 4 types from\nhttps://github.com/bevyengine/bevy/issues/10570. I will add intersection\ntests in a future PR.\n\n## Solution\n\nImplement mostly everything as written in the issue, except:\n- Intersection is no longer a method on the bounding volumes, but a\nseparate trait.\n- I implemented a `visible_area` since it's the most common usecase to\ncare about the surface that could collide with cast rays.\n - Maybe we want both?\n\n---\n\n## Changelog\n\n- Added bounding volume types to bevy_math\n\n---------\n\nCo-authored-by: Alice Cecile ","shortMessageHtmlLink":"Implement bounding volume types (bevyengine#10946)"}},{"before":"32a5c7db3535250c43738e3da5877497b1274960","after":"c4e479a2d4f2ca1d7ce2637e4da1a4bb5cbed133","ref":"refs/heads/main","pushedAt":"2024-01-11T10:46:22.000Z","pushType":"push","commitsCount":319,"pusher":{"login":"kurtkuehnert","name":"Kurt Kühnert","path":"/kurtkuehnert","primaryAvatarUrl":"https://github.com/avatars/u/51823519?s=80&v=4"},"commit":{"message":"Implement bounding volume types (#10946)\n\n# Objective\n\nImplement bounding volume trait and the 4 types from\nhttps://github.com/bevyengine/bevy/issues/10570. I will add intersection\ntests in a future PR.\n\n## Solution\n\nImplement mostly everything as written in the issue, except:\n- Intersection is no longer a method on the bounding volumes, but a\nseparate trait.\n- I implemented a `visible_area` since it's the most common usecase to\ncare about the surface that could collide with cast rays.\n - Maybe we want both?\n\n---\n\n## Changelog\n\n- Added bounding volume types to bevy_math\n\n---------\n\nCo-authored-by: Alice Cecile ","shortMessageHtmlLink":"Implement bounding volume types (bevyengine#10946)"}},{"before":null,"after":"8f3f5141591a65e413a217d73196afb32c4a70ca","ref":"refs/heads/gpu_rename","pushedAt":"2023-11-05T14:37:37.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"kurtkuehnert","name":"Kurt Kühnert","path":"/kurtkuehnert","primaryAvatarUrl":"https://github.com/avatars/u/51823519?s=80&v=4"},"commit":{"message":"rename Render to Gpu","shortMessageHtmlLink":"rename Render to Gpu"}},{"before":"d67fbd5e90a1eb307dc5493abd475ac172698e2e","after":"32a5c7db3535250c43738e3da5877497b1274960","ref":"refs/heads/main","pushedAt":"2023-11-05T12:48:26.000Z","pushType":"push","commitsCount":25,"pusher":{"login":"kurtkuehnert","name":"Kurt Kühnert","path":"/kurtkuehnert","primaryAvatarUrl":"https://github.com/avatars/u/51823519?s=80&v=4"},"commit":{"message":"docs: use `read` instead of deprecated `iter` (#10376)\n\nhttps://docs.rs/bevy/latest/bevy/ecs/event/struct.EventReader.html#method.iter\n\n# Objective\n\n- Remove doc example using deprecated `EventReader.iter` method\n\n## Solution\n\n- Update docs to use `read` instead of `iter`","shortMessageHtmlLink":"docs: use read instead of deprecated iter (bevyengine#10376)"}},{"before":"bb13d065d36c9b495b755aef2040b43f29a91b79","after":"d67fbd5e90a1eb307dc5493abd475ac172698e2e","ref":"refs/heads/main","pushedAt":"2023-10-31T20:02:39.000Z","pushType":"push","commitsCount":110,"pusher":{"login":"kurtkuehnert","name":"Kurt Kühnert","path":"/kurtkuehnert","primaryAvatarUrl":"https://github.com/avatars/u/51823519?s=80&v=4"},"commit":{"message":"Add helper function to determine if color is transparent (#10310)\n\n# Objective\n\n- We need to check multiple times if a color is fully transparent, e.g.\nfor performance optimizations.\n- Make code more readable.\n- Reduce code duplication, to simplify making changes if needed (e.g. if\nwe need to take floating point weirdness into account later on).\n\n## Solution\n\n- Introduce a new `Color::is_fully_transparent` helper function to\ndetermine if the alpha of a color is 0.\n- Use the helper function in our UI rendering code.\n\n---\n\n## Changelog\n\n- Added `Color::is_fully_transparent` helper function.\n\n---------\n\nCo-authored-by: François ","shortMessageHtmlLink":"Add helper function to determine if color is transparent (bevyengine#…"}},{"before":"1aeaafa7c455163d1f2ef59d9404a24a00c5b138","after":"bb13d065d36c9b495b755aef2040b43f29a91b79","ref":"refs/heads/main","pushedAt":"2023-10-12T15:27:59.000Z","pushType":"push","commitsCount":1290,"pusher":{"login":"kurtkuehnert","name":"Kurt Kühnert","path":"/kurtkuehnert","primaryAvatarUrl":"https://github.com/avatars/u/51823519?s=80&v=4"},"commit":{"message":"Removed `once_cell` (#10079)\n\n# Objective\n\n- Fixes #8303\n\n## Solution\n\n- Replaced 1 instance of `OnceBox` with `OnceLock` in\n`NonGenericTypeCell`\n\n## Notes\n\nAll changes are in the private side of Bevy, and appear to have no\nobservable change in performance or compilation time. This is purely to\nreduce the quantity of direct dependencies in Bevy.","shortMessageHtmlLink":"Removed once_cell (bevyengine#10079)"}},{"before":"b44fb647e723585d788413af3120d6ebeb890c59","after":"eb344b167360c2785fec3d7bd57660cc641f706e","ref":"refs/heads/merge_pipeline_ids_and_cached_pipeline_id","pushedAt":"2023-03-09T14:06:06.136Z","pushType":"push","commitsCount":1,"pusher":{"login":"kurtkuehnert","name":"Kurt Kühnert","path":"/kurtkuehnert","primaryAvatarUrl":"https://github.com/avatars/u/51823519?s=80&v=4"},"commit":{"message":"fixed typo","shortMessageHtmlLink":"fixed typo"}},{"before":"4ff62338917578ea883817fdcb26455b394dba57","after":"23b9e185880fa4f61bbf57a8a65bc47f3f3de2ab","ref":"refs/heads/tracked_render_pass_ergonomics","pushedAt":"2023-03-09T14:01:38.349Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"kurtkuehnert","name":"Kurt Kühnert","path":"/kurtkuehnert","primaryAvatarUrl":"https://github.com/avatars/u/51823519?s=80&v=4"},"commit":{"message":"rebased","shortMessageHtmlLink":"rebased"}},{"before":"8101e7c34ba0a76a3abfbe104707c000e4378391","after":"5150e68583734e45d85f5f1a5ea2b53d1fdb0453","ref":"refs/heads/merge_draw_function_and_render_command","pushedAt":"2023-03-09T13:21:12.452Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"kurtkuehnert","name":"Kurt Kühnert","path":"/kurtkuehnert","primaryAvatarUrl":"https://github.com/avatars/u/51823519?s=80&v=4"},"commit":{"message":"rebased","shortMessageHtmlLink":"rebased"}},{"before":"0e3c7c4e755898265e3032c433f7e4ce17e62528","after":"b44fb647e723585d788413af3120d6ebeb890c59","ref":"refs/heads/merge_pipeline_ids_and_cached_pipeline_id","pushedAt":"2023-03-09T13:09:35.495Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"kurtkuehnert","name":"Kurt Kühnert","path":"/kurtkuehnert","primaryAvatarUrl":"https://github.com/avatars/u/51823519?s=80&v=4"},"commit":{"message":"rebased","shortMessageHtmlLink":"rebased"}}],"hasNextPage":false,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOC0yNFQxMzoyNTo1NC4wMDAwMDBazwAAAASjEMP4","startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOC0yNFQxMzoyNTo1NC4wMDAwMDBazwAAAASjEMP4","endCursor":"Y3Vyc29yOnYyOpK7MjAyMy0wMy0wOVQxMzowOTozNS40OTUwOTFazwAAAAL_4zvQ"}},"title":"Activity · kurtkuehnert/bevy"}