Skip to content

Close #44: upgrade to Bevy 0.13 #215

Close #44: upgrade to Bevy 0.13

Close #44: upgrade to Bevy 0.13 #215

Triggered via push February 24, 2024 00:21
Status Success
Total duration 15m 16s
Artifacts

ci.yml

on: push
Matrix: Tests
Update Docs and Demos in GitHub Pages
13m 37s
Update Docs and Demos in GitHub Pages
Fit to window
Zoom out
Zoom in

Annotations

159 warnings
Rustfmt
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: actions/checkout@v2, actions-rs/toolchain@v1, actions-rs/cargo@v1. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
Rustfmt
The following actions uses node12 which is deprecated and will be forced to run on node16: actions/checkout@v2, actions-rs/toolchain@v1, actions-rs/cargo@v1. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
Rustfmt
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
Rustfmt
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
Rustfmt
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
Rustfmt
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
associated function `make_system` is never used: demos/src/moving_platform.rs#L62
warning: associated function `make_system` is never used --> demos/src/moving_platform.rs:62:8 | 53 | impl MovingPlatform { | ------------------- associated function in this implementation ... 62 | fn make_system<V: Component>( | ^^^^^^^^^^^ | = note: `#[warn(dead_code)]` on by default
unused variable: `setting_from_ui`: demos/src/ui/mod.rs#L210
warning: unused variable: `setting_from_ui` --> demos/src/ui/mod.rs:210:5 | 210 | setting_from_ui: Res<DemoUiPhysicsBackendActive>, | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_setting_from_ui`
unused variable: `app`: demos/src/moving_platform.rs#L6
warning: unused variable: `app` --> demos/src/moving_platform.rs:6:21 | 6 | fn build(&self, app: &mut App) { | ^^^ help: if this is intentional, prefix it with an underscore: `_app` | = note: `#[warn(unused_variables)]` on by default
unused import: `make_update_plot_data_system`: demos/src/ui/mod.rs#L20
warning: unused import: `make_update_plot_data_system` --> demos/src/ui/mod.rs:20:22 | 20 | use self::plotting::{make_update_plot_data_system, plot_source_rolling_update}; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: `#[warn(unused_imports)]` on by default
returning the result of a `let` binding from a block: demos/src/bin/shooter_like.rs#L296
warning: returning the result of a `let` binding from a block --> demos/src/bin/shooter_like.rs:296:9 | 179 | / let command_altering_selectors = CommandAlteringSelectors::default() 180 | | // By default Tnua uses a raycast, but this could be a problem if the character stands 181 | | // just past the edge while part of its body is above the platform. To solve this, we 182 | | // need to cast a shape - which is physics-engine specific. We set the shape using a ... | 276 | | }, 277 | | ); | |______________- unnecessary `let` binding ... 296 | command_altering_selectors | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return = note: `#[warn(clippy::let_and_return)]` on by default help: return the expression directly | 179 ~ 180 | #[cfg(feature = "rapier3d")] ... 197 | ); 198 ~ CommandAlteringSelectors::default() 199 + // By default Tnua uses a raycast, but this could be a problem if the character stands 200 + // just past the edge while part of its body is above the platform. To solve this, we 201 + // need to cast a shape - which is physics-engine specific. We set the shape using a 202 + // component. 203 + .with_combo( 204 + "Sensor Shape", 205 + 1, 206 + &[ 207 + ("no", |mut cmd| { 208 + #[cfg(feature = "rapier3d")] 209 + cmd.remove::<TnuaRapier3dSensorShape>(); 210 + #[cfg(feature = "xpbd3d")] 211 + cmd.remove::<TnuaXpbd3dSensorShape>(); 212 + }), 213 + ("flat (underfit)", |mut cmd| { 214 + #[cfg(feature = "rapier3d")] 215 + cmd.insert(TnuaRapier3dSensorShape(rapier::Collider::cylinder( 216 + 0.0, 0.49, 217 + ))); 218 + #[cfg(feature = "xpbd3d")] 219 + cmd.insert(TnuaXpbd3dSensorShape(xpbd::Collider::cylinder(0.0, 0.49))); 220 + }), 221 + ("flat (exact)", |mut cmd| { 222 + #[cfg(feature = "rapier3d")] 223 + cmd.insert(TnuaRapier3dSensorShape(rapier::Collider::cylinder( 224 + 0.0, 0.5, 225 + ))); 226 + #[cfg(feature = "xpbd3d")] 227 + cmd.insert(TnuaXpbd3dSensorShape(xpbd::Collider::cylinder(0.0, 0.5))); 228 + }), 229 + ("flat (overfit)", |mut cmd| { 230 + #[cfg(feature = "rapier3d")] 231 + cmd.insert(TnuaRapier3dSensorShape(rapier::Collider::cylinder( 232 + 0.0, 0.51, 233 + ))); 234 + #[cfg(feature = "xpbd3d")] 235 + cmd.insert(TnuaXpbd3dSensorShape(xpbd::Collider::cylinder(0.0, 0.51))); 236 + }), 237 + ("ball (underfit)", |mut cmd| { 238 + #[cfg(feature = "rapier3d")] 239 + cmd.insert(TnuaRapier3dSensorShape(rapier::Collider::ball(0.49))); 240 + #[cfg(feature = "xpbd3d")] 241 + cmd.insert(TnuaXpbd3dSensorShape(xpbd::Collider::sphere(0.49))); 242 + }), 243 + ("ball (exact)", |mut cmd| { 244 + #[cfg(feature = "rapier3d")] 245 + cmd.insert(TnuaRapier3dSensorShape(rapier::Collider::ball(0.5))); 246 + #[cfg(feature = "xpbd3d")] 247 + cmd.insert(TnuaXpbd3dSensorShape(xpbd::Collider::sphere(0.5))); 248 + }), 249 + ], 250 + ) 251 + .with_checkbox("Lock Tilt", true, |mut cmd, lock_tilt| { 252 + // Tnua will automatically apply angular impulses/forces to fix the tilt and make 253 + // the character stand upward, but it is also possible to just let the physics 254 + // engine prevent rotation (other than around the Y axis, for turning) 255 + if lock_tilt { 256 + #[cfg(feature = "rapier3d")] 257 + cmd.insert( 258 + rapier::LockedAxes::ROTATION_LOCKED_X 259 + | rapier::LockedAxes::ROTATION_LOCKED_Z, 260 + ); 261 + #[cfg(feature = "xpbd3d")] 262 + cmd.insert(xpbd::LockedAxes::new().lock_rotation_x().lock_rotation_z()); 263 + } else { 264 + #[cfg(feature = "rapier3d")] 265 + cmd.insert(rapier::LockedAxes::empty()); 266 + #[cfg(feature = "xpbd3d")] 267 + cmd.insert(xpbd::LockedAxes::new()); 268 + } 269 + }) 270 + .with_checkbox( 271 + "Phase Through Collision Groups", 272 + true, 273 + |mut cmd, use_collision_groups| { 274 + #[cfg(feature = "rapier3d")] 275 + if use_collision_groups { 276 + cmd.insert(CollisionGroups { 277 + memberships: Group::GROUP_2, 278 + filters: Group::GROUP_2, 279 + }); 280 + } else { 281 + cmd.insert(CollisionGroups { 282 + memberships: Group::ALL, 283 + filters: Group::ALL, 284 + }); 285 + } 286 + #[cfg(feature = "xpbd3d")] 287 + { 288 + let player_layers: LayerMask = if use_collision_groups { 289 + [LayerNames::Player].into() 290 + } else { 291 + [LayerNames::Player, LayerNames::PhaseThrough].into() 292 + }; 293 + cmd.insert(CollisionLayers::new(player_layers, player_layers)); 294 + } 295 + }, 296 + ) |
variable does not need to be mutable: demos/src/bin/shooter_like.rs#L254
warning: variable does not need to be mutable --> demos/src/bin/shooter_like.rs:254:18 | 254 | |mut cmd, use_collision_groups| { | ----^^^ | | | help: remove this `mut`
variable does not need to be mutable: demos/src/bin/shooter_like.rs#L232
warning: variable does not need to be mutable --> demos/src/bin/shooter_like.rs:232:48 | 232 | .with_checkbox("Lock Tilt", true, |mut cmd, lock_tilt| { | ----^^^ | | | help: remove this `mut`
variable does not need to be mutable: demos/src/bin/shooter_like.rs#L224
warning: variable does not need to be mutable --> demos/src/bin/shooter_like.rs:224:39 | 224 | ("ball (exact)", |mut cmd| { | ----^^^ | | | help: remove this `mut`
variable does not need to be mutable: demos/src/bin/shooter_like.rs#L218
warning: variable does not need to be mutable --> demos/src/bin/shooter_like.rs:218:42 | 218 | ("ball (underfit)", |mut cmd| { | ----^^^ | | | help: remove this `mut`
variable does not need to be mutable: demos/src/bin/shooter_like.rs#L210
warning: variable does not need to be mutable --> demos/src/bin/shooter_like.rs:210:41 | 210 | ("flat (overfit)", |mut cmd| { | ----^^^ | | | help: remove this `mut`
variable does not need to be mutable: demos/src/bin/shooter_like.rs#L202
warning: variable does not need to be mutable --> demos/src/bin/shooter_like.rs:202:39 | 202 | ("flat (exact)", |mut cmd| { | ----^^^ | | | help: remove this `mut`
variable does not need to be mutable: demos/src/bin/shooter_like.rs#L194
warning: variable does not need to be mutable --> demos/src/bin/shooter_like.rs:194:42 | 194 | ("flat (underfit)", |mut cmd| { | ----^^^ | | | help: remove this `mut`
variable does not need to be mutable: demos/src/bin/shooter_like.rs#L188
warning: variable does not need to be mutable --> demos/src/bin/shooter_like.rs:188:29 | 188 | ("no", |mut cmd| { | ----^^^ | | | help: remove this `mut` | = note: `#[warn(unused_mut)]` on by default
unused variable: `cmd`: demos/src/bin/shooter_like.rs#L300
warning: unused variable: `cmd` --> demos/src/bin/shooter_like.rs:300:56 | 300 | cmd.insert(TnuaCrouchEnforcer::new(0.5 * Vec3::Y, |cmd| { | ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
unused variable: `use_collision_groups`: demos/src/bin/shooter_like.rs#L254
warning: unused variable: `use_collision_groups` --> demos/src/bin/shooter_like.rs:254:27 | 254 | |mut cmd, use_collision_groups| { | ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_use_collision_groups`
unused variable: `cmd`: demos/src/bin/shooter_like.rs#L254
warning: unused variable: `cmd` --> demos/src/bin/shooter_like.rs:254:22 | 254 | |mut cmd, use_collision_groups| { | ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
unused variable: `cmd`: demos/src/bin/shooter_like.rs#L232
warning: unused variable: `cmd` --> demos/src/bin/shooter_like.rs:232:52 | 232 | .with_checkbox("Lock Tilt", true, |mut cmd, lock_tilt| { | ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
unused variable: `cmd`: demos/src/bin/shooter_like.rs#L224
warning: unused variable: `cmd` --> demos/src/bin/shooter_like.rs:224:43 | 224 | ("ball (exact)", |mut cmd| { | ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
unused variable: `cmd`: demos/src/bin/shooter_like.rs#L218
warning: unused variable: `cmd` --> demos/src/bin/shooter_like.rs:218:46 | 218 | ("ball (underfit)", |mut cmd| { | ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
unused variable: `cmd`: demos/src/bin/shooter_like.rs#L210
warning: unused variable: `cmd` --> demos/src/bin/shooter_like.rs:210:45 | 210 | ("flat (overfit)", |mut cmd| { | ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
unused variable: `cmd`: demos/src/bin/shooter_like.rs#L202
warning: unused variable: `cmd` --> demos/src/bin/shooter_like.rs:202:43 | 202 | ("flat (exact)", |mut cmd| { | ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
unused variable: `cmd`: demos/src/bin/shooter_like.rs#L194
warning: unused variable: `cmd` --> demos/src/bin/shooter_like.rs:194:46 | 194 | ("flat (underfit)", |mut cmd| { | ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
unused variable: `cmd`: demos/src/bin/shooter_like.rs#L188
warning: unused variable: `cmd` --> demos/src/bin/shooter_like.rs:188:33 | 188 | ("no", |mut cmd| { | ^^^ help: if this is intentional, prefix it with an underscore: `_cmd` | = note: `#[warn(unused_variables)]` on by default
returning the result of a `let` binding from a block: demos/src/bin/platformer_2d.rs#L263
warning: returning the result of a `let` binding from a block --> demos/src/bin/platformer_2d.rs:263:9 | 153 | / let command_altering_selectors = CommandAlteringSelectors::default() 154 | | // By default Tnua uses a raycast, but this could be a problem if the character stands 155 | | // just past the edge while part of its body is above the platform. To solve this, we 156 | | // need to cast a shape - which is physics-engine specific. We set the shape using a ... | 241 | | }, 242 | | ); | |______________- unnecessary `let` binding ... 263 | command_altering_selectors | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return = note: `#[warn(clippy::let_and_return)]` on by default help: return the expression directly | 153 ~ 154 | #[cfg(feature = "rapier2d")] ... 173 | ); 174 ~ CommandAlteringSelectors::default() 175 + // By default Tnua uses a raycast, but this could be a problem if the character stands 176 + // just past the edge while part of its body is above the platform. To solve this, we 177 + // need to cast a shape - which is physics-engine specific. We set the shape using a 178 + // component. 179 + .with_combo( 180 + "Sensor Shape", 181 + 1, 182 + &[ 183 + ("Point", |mut cmd| { 184 + #[cfg(feature = "rapier2d")] 185 + cmd.remove::<TnuaRapier2dSensorShape>(); 186 + #[cfg(feature = "xpbd2d")] 187 + cmd.remove::<TnuaXpbd2dSensorShape>(); 188 + }), 189 + ("Flat (underfit)", |mut cmd| { 190 + #[cfg(feature = "rapier2d")] 191 + cmd.insert(TnuaRapier2dSensorShape(rapier::Collider::cuboid(0.49, 0.0))); 192 + #[cfg(feature = "xpbd2d")] 193 + cmd.insert(TnuaXpbd2dSensorShape(xpbd::Collider::rectangle(0.99, 0.0))); 194 + }), 195 + ("Flat (exact)", |mut cmd| { 196 + #[cfg(feature = "rapier2d")] 197 + cmd.insert(TnuaRapier2dSensorShape(rapier::Collider::cuboid(0.5, 0.0))); 198 + #[cfg(feature = "xpbd2d")] 199 + cmd.insert(TnuaXpbd2dSensorShape(xpbd::Collider::rectangle(1.0, 0.0))); 200 + }), 201 + ("flat (overfit)", |mut cmd| { 202 + #[cfg(feature = "rapier2d")] 203 + cmd.insert(TnuaRapier2dSensorShape(rapier::Collider::cuboid(0.51, 0.0))); 204 + #[cfg(feature = "xpbd2d")] 205 + cmd.insert(TnuaXpbd2dSensorShape(xpbd::Collider::rectangle(1.01, 0.0))); 206 + }), 207 + ("Ball (underfit)", |mut cmd| { 208 + #[cfg(feature = "rapier2d")] 209 + cmd.insert(TnuaRapier2dSensorShape(rapier::Collider::ball(0.49))); 210 + #[cfg(feature = "xpbd2d")] 211 + cmd.insert(TnuaXpbd2dSensorShape(xpbd::Collider::circle(0.49))); 212 + }), 213 + ("Ball (exact)", |mut cmd| { 214 + #[cfg(feature = "rapier2d")] 215 + cmd.insert(TnuaRapier2dSensorShape(rapier::Collider::ball(0.5))); 216 + #[cfg(feature = "xpbd2d")] 217 + cmd.insert(TnuaXpbd2dSensorShape(xpbd::Collider::circle(0.5))); 218 + }), 219 + ], 220 + ) 221 + .with_checkbox("Lock Tilt", false, |mut cmd, lock_tilt| { 222 + // Tnua will automatically apply angular impulses/forces to fix the tilt and make 223 + // the character stand upward, but it is also possible to just let the physics 224 + // engine prevent rotation (other than around the Y axis, for turning) 225 + if lock_tilt { 226 + #[cfg(feature = "rapier2d")] 227 + cmd.insert(rapier::LockedAxes::ROTATION_LOCKED); 228 + #[cfg(feature = "xpbd2d")] 229 + cmd.insert(xpbd::LockedAxes::new().lock_rotation()); 230 + } else { 231 + #[cfg(feature = "rapier2d")] 232 + cmd.insert(rapier::LockedAxes::empty()); 233 + #[cfg(feature = "xpbd2d")] 234 + cmd.insert(xpbd::LockedAxes::new()); 235 + } 236 + }) 237 + .with_checkbox( 238 + "Phase Through Collision Groups", 239 + true, 240 + |mut cmd, use_collision_groups| { 241 + #[cfg(feature = "rapier2d")] 242 + if use_collision_groups { 243 + cmd.insert(CollisionGroups { 244 + memberships: Group::GROUP_2, 245 + filters: Group::GROUP_2, 246 + }); 247 + } else { 248 + cmd.insert(CollisionGroups { 249 + memberships: Group::ALL, 250 + filters: Group::ALL, 251 + }); 252 + } 253 + #[cfg(feature = "xpbd2d")] 254 + { 255 + let player_layers: LayerMask = if use_collision_groups { 256 + [LayerNames::Player].into() 257 + } else { 258 + [LayerNames::Player, LayerNames::PhaseThrough].into() 259 + }; 260 + cmd.insert(CollisionLayers::new(player_layers, player_layers)); 261 + } 262 + }, 263 + ) |
variable does not need to be mutable: demos/src/bin/platformer_2d.rs#L219
warning: variable does not need to be mutable --> demos/src/bin/platformer_2d.rs:219:18 | 219 | |mut cmd, use_collision_groups| { | ----^^^ | | | help: remove this `mut`
variable does not need to be mutable: demos/src/bin/platformer_2d.rs#L200
warning: variable does not need to be mutable --> demos/src/bin/platformer_2d.rs:200:49 | 200 | .with_checkbox("Lock Tilt", false, |mut cmd, lock_tilt| { | ----^^^ | | | help: remove this `mut`
variable does not need to be mutable: demos/src/bin/platformer_2d.rs#L192
warning: variable does not need to be mutable --> demos/src/bin/platformer_2d.rs:192:39 | 192 | ("Ball (exact)", |mut cmd| { | ----^^^ | | | help: remove this `mut`
variable does not need to be mutable: demos/src/bin/platformer_2d.rs#L186
warning: variable does not need to be mutable --> demos/src/bin/platformer_2d.rs:186:42 | 186 | ("Ball (underfit)", |mut cmd| { | ----^^^ | | | help: remove this `mut`
variable does not need to be mutable: demos/src/bin/platformer_2d.rs#L180
warning: variable does not need to be mutable --> demos/src/bin/platformer_2d.rs:180:41 | 180 | ("flat (overfit)", |mut cmd| { | ----^^^ | | | help: remove this `mut`
variable does not need to be mutable: demos/src/bin/platformer_2d.rs#L174
warning: variable does not need to be mutable --> demos/src/bin/platformer_2d.rs:174:39 | 174 | ("Flat (exact)", |mut cmd| { | ----^^^ | | | help: remove this `mut`
variable does not need to be mutable: demos/src/bin/platformer_2d.rs#L168
warning: variable does not need to be mutable --> demos/src/bin/platformer_2d.rs:168:42 | 168 | ("Flat (underfit)", |mut cmd| { | ----^^^ | | | help: remove this `mut`
variable does not need to be mutable: demos/src/bin/platformer_2d.rs#L162
warning: variable does not need to be mutable --> demos/src/bin/platformer_2d.rs:162:32 | 162 | ("Point", |mut cmd| { | ----^^^ | | | help: remove this `mut` | = note: `#[warn(unused_mut)]` on by default
unused variable: `cmd`: demos/src/bin/platformer_2d.rs#L267
warning: unused variable: `cmd` --> demos/src/bin/platformer_2d.rs:267:56 | 267 | cmd.insert(TnuaCrouchEnforcer::new(0.5 * Vec3::Y, |cmd| { | ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
unused variable: `use_collision_groups`: demos/src/bin/platformer_2d.rs#L219
warning: unused variable: `use_collision_groups` --> demos/src/bin/platformer_2d.rs:219:27 | 219 | |mut cmd, use_collision_groups| { | ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_use_collision_groups`
unused variable: `cmd`: demos/src/bin/platformer_2d.rs#L219
warning: unused variable: `cmd` --> demos/src/bin/platformer_2d.rs:219:22 | 219 | |mut cmd, use_collision_groups| { | ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
unused variable: `cmd`: demos/src/bin/platformer_2d.rs#L200
warning: unused variable: `cmd` --> demos/src/bin/platformer_2d.rs:200:53 | 200 | .with_checkbox("Lock Tilt", false, |mut cmd, lock_tilt| { | ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
unused variable: `cmd`: demos/src/bin/platformer_2d.rs#L192
warning: unused variable: `cmd` --> demos/src/bin/platformer_2d.rs:192:43 | 192 | ("Ball (exact)", |mut cmd| { | ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
unused variable: `cmd`: demos/src/bin/platformer_2d.rs#L186
warning: unused variable: `cmd` --> demos/src/bin/platformer_2d.rs:186:46 | 186 | ("Ball (underfit)", |mut cmd| { | ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
unused variable: `cmd`: demos/src/bin/platformer_2d.rs#L180
warning: unused variable: `cmd` --> demos/src/bin/platformer_2d.rs:180:45 | 180 | ("flat (overfit)", |mut cmd| { | ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
unused variable: `cmd`: demos/src/bin/platformer_2d.rs#L174
warning: unused variable: `cmd` --> demos/src/bin/platformer_2d.rs:174:43 | 174 | ("Flat (exact)", |mut cmd| { | ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
unused variable: `cmd`: demos/src/bin/platformer_2d.rs#L168
warning: unused variable: `cmd` --> demos/src/bin/platformer_2d.rs:168:46 | 168 | ("Flat (underfit)", |mut cmd| { | ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
unused variable: `cmd`: demos/src/bin/platformer_2d.rs#L162
warning: unused variable: `cmd` --> demos/src/bin/platformer_2d.rs:162:36 | 162 | ("Point", |mut cmd| { | ^^^ help: if this is intentional, prefix it with an underscore: `_cmd` | = note: `#[warn(unused_variables)]` on by default
returning the result of a `let` binding from a block: demos/src/bin/shooter_like.rs#L296
warning: returning the result of a `let` binding from a block --> demos/src/bin/shooter_like.rs:296:9 | 179 | / let command_altering_selectors = CommandAlteringSelectors::default() 180 | | // By default Tnua uses a raycast, but this could be a problem if the character stands 181 | | // just past the edge while part of its body is above the platform. To solve this, we 182 | | // need to cast a shape - which is physics-engine specific. We set the shape using a ... | 276 | | }, 277 | | ); | |______________- unnecessary `let` binding ... 296 | command_altering_selectors | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return = note: `#[warn(clippy::let_and_return)]` on by default help: return the expression directly | 179 ~ 180 | #[cfg(feature = "rapier3d")] ... 197 | ); 198 ~ CommandAlteringSelectors::default() 199 + // By default Tnua uses a raycast, but this could be a problem if the character stands 200 + // just past the edge while part of its body is above the platform. To solve this, we 201 + // need to cast a shape - which is physics-engine specific. We set the shape using a 202 + // component. 203 + .with_combo( 204 + "Sensor Shape", 205 + 1, 206 + &[ 207 + ("no", |mut cmd| { 208 + #[cfg(feature = "rapier3d")] 209 + cmd.remove::<TnuaRapier3dSensorShape>(); 210 + #[cfg(feature = "xpbd3d")] 211 + cmd.remove::<TnuaXpbd3dSensorShape>(); 212 + }), 213 + ("flat (underfit)", |mut cmd| { 214 + #[cfg(feature = "rapier3d")] 215 + cmd.insert(TnuaRapier3dSensorShape(rapier::Collider::cylinder( 216 + 0.0, 0.49, 217 + ))); 218 + #[cfg(feature = "xpbd3d")] 219 + cmd.insert(TnuaXpbd3dSensorShape(xpbd::Collider::cylinder(0.0, 0.49))); 220 + }), 221 + ("flat (exact)", |mut cmd| { 222 + #[cfg(feature = "rapier3d")] 223 + cmd.insert(TnuaRapier3dSensorShape(rapier::Collider::cylinder( 224 + 0.0, 0.5, 225 + ))); 226 + #[cfg(feature = "xpbd3d")] 227 + cmd.insert(TnuaXpbd3dSensorShape(xpbd::Collider::cylinder(0.0, 0.5))); 228 + }), 229 + ("flat (overfit)", |mut cmd| { 230 + #[cfg(feature = "rapier3d")] 231 + cmd.insert(TnuaRapier3dSensorShape(rapier::Collider::cylinder( 232 + 0.0, 0.51, 233 + ))); 234 + #[cfg(feature = "xpbd3d")] 235 + cmd.insert(TnuaXpbd3dSensorShape(xpbd::Collider::cylinder(0.0, 0.51))); 236 + }), 237 + ("ball (underfit)", |mut cmd| { 238 + #[cfg(feature = "rapier3d")] 239 + cmd.insert(TnuaRapier3dSensorShape(rapier::Collider::ball(0.49))); 240 + #[cfg(feature = "xpbd3d")] 241 + cmd.insert(TnuaXpbd3dSensorShape(xpbd::Collider::sphere(0.49))); 242 + }), 243 + ("ball (exact)", |mut cmd| { 244 + #[cfg(feature = "rapier3d")] 245 + cmd.insert(TnuaRapier3dSensorShape(rapier::Collider::ball(0.5))); 246 + #[cfg(feature = "xpbd3d")] 247 + cmd.insert(TnuaXpbd3dSensorShape(xpbd::Collider::sphere(0.5))); 248 + }), 249 + ], 250 + ) 251 + .with_checkbox("Lock Tilt", true, |mut cmd, lock_tilt| { 252 + // Tnua will automatically apply angular impulses/forces to fix the tilt and make 253 + // the character stand upward, but it is also possible to just let the physics 254 + // engine prevent rotation (other than around the Y axis, for turning) 255 + if lock_tilt { 256 + #[cfg(feature = "rapier3d")] 257 + cmd.insert( 258 + rapier::LockedAxes::ROTATION_LOCKED_X 259 + | rapier::LockedAxes::ROTATION_LOCKED_Z, 260 + ); 261 + #[cfg(feature = "xpbd3d")] 262 + cmd.insert(xpbd::LockedAxes::new().lock_rotation_x().lock_rotation_z()); 263 + } else { 264 + #[cfg(feature = "rapier3d")] 265 + cmd.insert(rapier::LockedAxes::empty()); 266 + #[cfg(feature = "xpbd3d")] 267 + cmd.insert(xpbd::LockedAxes::new()); 268 + } 269 + }) 270 + .with_checkbox( 271 + "Phase Through Collision Groups", 272 + true, 273 + |mut cmd, use_collision_groups| { 274 + #[cfg(feature = "rapier3d")] 275 + if use_collision_groups { 276 + cmd.insert(CollisionGroups { 277 + memberships: Group::GROUP_2, 278 + filters: Group::GROUP_2, 279 + }); 280 + } else { 281 + cmd.insert(CollisionGroups { 282 + memberships: Group::ALL, 283 + filters: Group::ALL, 284 + }); 285 + } 286 + #[cfg(feature = "xpbd3d")] 287 + { 288 + let player_layers: LayerMask = if use_collision_groups { 289 + [LayerNames::Player].into() 290 + } else { 291 + [LayerNames::Player, LayerNames::PhaseThrough].into() 292 + }; 293 + cmd.insert(CollisionLayers::new(player_layers, player_layers)); 294 + } 295 + }, 296 + ) |
variable does not need to be mutable: demos/src/bin/shooter_like.rs#L254
warning: variable does not need to be mutable --> demos/src/bin/shooter_like.rs:254:18 | 254 | |mut cmd, use_collision_groups| { | ----^^^ | | | help: remove this `mut`
variable does not need to be mutable: demos/src/bin/shooter_like.rs#L232
warning: variable does not need to be mutable --> demos/src/bin/shooter_like.rs:232:48 | 232 | .with_checkbox("Lock Tilt", true, |mut cmd, lock_tilt| { | ----^^^ | | | help: remove this `mut`
variable does not need to be mutable: demos/src/bin/shooter_like.rs#L224
warning: variable does not need to be mutable --> demos/src/bin/shooter_like.rs:224:39 | 224 | ("ball (exact)", |mut cmd| { | ----^^^ | | | help: remove this `mut`
variable does not need to be mutable: demos/src/bin/shooter_like.rs#L218
warning: variable does not need to be mutable --> demos/src/bin/shooter_like.rs:218:42 | 218 | ("ball (underfit)", |mut cmd| { | ----^^^ | | | help: remove this `mut`
variable does not need to be mutable: demos/src/bin/shooter_like.rs#L202
warning: variable does not need to be mutable --> demos/src/bin/shooter_like.rs:202:39 | 202 | ("flat (exact)", |mut cmd| { | ----^^^ | | | help: remove this `mut`
variable does not need to be mutable: demos/src/bin/shooter_like.rs#L194
warning: variable does not need to be mutable --> demos/src/bin/shooter_like.rs:194:42 | 194 | ("flat (underfit)", |mut cmd| { | ----^^^ | | | help: remove this `mut`
variable does not need to be mutable: demos/src/bin/shooter_like.rs#L188
warning: variable does not need to be mutable --> demos/src/bin/shooter_like.rs:188:29 | 188 | ("no", |mut cmd| { | ----^^^ | | | help: remove this `mut` | = note: `#[warn(unused_mut)]` on by default
unused variable: `cmd`: demos/src/bin/shooter_like.rs#L300
warning: unused variable: `cmd` --> demos/src/bin/shooter_like.rs:300:56 | 300 | cmd.insert(TnuaCrouchEnforcer::new(0.5 * Vec3::Y, |cmd| { | ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
unused variable: `use_collision_groups`: demos/src/bin/shooter_like.rs#L254
warning: unused variable: `use_collision_groups` --> demos/src/bin/shooter_like.rs:254:27 | 254 | |mut cmd, use_collision_groups| { | ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_use_collision_groups`
unused variable: `cmd`: demos/src/bin/shooter_like.rs#L254
warning: unused variable: `cmd` --> demos/src/bin/shooter_like.rs:254:22 | 254 | |mut cmd, use_collision_groups| { | ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
unused variable: `cmd`: demos/src/bin/shooter_like.rs#L232
warning: unused variable: `cmd` --> demos/src/bin/shooter_like.rs:232:52 | 232 | .with_checkbox("Lock Tilt", true, |mut cmd, lock_tilt| { | ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
unused variable: `cmd`: demos/src/bin/shooter_like.rs#L224
warning: unused variable: `cmd` --> demos/src/bin/shooter_like.rs:224:43 | 224 | ("ball (exact)", |mut cmd| { | ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
unused variable: `cmd`: demos/src/bin/shooter_like.rs#L218
warning: unused variable: `cmd` --> demos/src/bin/shooter_like.rs:218:46 | 218 | ("ball (underfit)", |mut cmd| { | ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
unused variable: `cmd`: demos/src/bin/shooter_like.rs#L210
warning: unused variable: `cmd` --> demos/src/bin/shooter_like.rs:210:45 | 210 | ("flat (overfit)", |mut cmd| { | ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
unused variable: `cmd`: demos/src/bin/shooter_like.rs#L202
warning: unused variable: `cmd` --> demos/src/bin/shooter_like.rs:202:43 | 202 | ("flat (exact)", |mut cmd| { | ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
unused variable: `cmd`: demos/src/bin/shooter_like.rs#L194
warning: unused variable: `cmd` --> demos/src/bin/shooter_like.rs:194:46 | 194 | ("flat (underfit)", |mut cmd| { | ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
unused variable: `cmd`: demos/src/bin/shooter_like.rs#L188
warning: unused variable: `cmd` --> demos/src/bin/shooter_like.rs:188:33 | 188 | ("no", |mut cmd| { | ^^^ help: if this is intentional, prefix it with an underscore: `_cmd` | = note: `#[warn(unused_variables)]` on by default
returning the result of a `let` binding from a block: demos/src/bin/platformer_3d.rs#L289
warning: returning the result of a `let` binding from a block --> demos/src/bin/platformer_3d.rs:289:9 | 172 | / let command_altering_selectors = CommandAlteringSelectors::default() 173 | | // By default Tnua uses a raycast, but this could be a problem if the character stands 174 | | // just past the edge while part of its body is above the platform. To solve this, we 175 | | // need to cast a shape - which is physics-engine specific. We set the shape using a ... | 269 | | }, 270 | | ); | |______________- unnecessary `let` binding ... 289 | command_altering_selectors | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return = note: `#[warn(clippy::let_and_return)]` on by default help: return the expression directly | 172 ~ 173 | #[cfg(feature = "rapier3d")] ... 190 | ); 191 ~ CommandAlteringSelectors::default() 192 + // By default Tnua uses a raycast, but this could be a problem if the character stands 193 + // just past the edge while part of its body is above the platform. To solve this, we 194 + // need to cast a shape - which is physics-engine specific. We set the shape using a 195 + // component. 196 + .with_combo( 197 + "Sensor Shape", 198 + 1, 199 + &[ 200 + ("no", |mut cmd| { 201 + #[cfg(feature = "rapier3d")] 202 + cmd.remove::<TnuaRapier3dSensorShape>(); 203 + #[cfg(feature = "xpbd3d")] 204 + cmd.remove::<TnuaXpbd3dSensorShape>(); 205 + }), 206 + ("flat (underfit)", |mut cmd| { 207 + #[cfg(feature = "rapier3d")] 208 + cmd.insert(TnuaRapier3dSensorShape(rapier::Collider::cylinder( 209 + 0.0, 0.49, 210 + ))); 211 + #[cfg(feature = "xpbd3d")] 212 + cmd.insert(TnuaXpbd3dSensorShape(xpbd::Collider::cylinder(0.0, 0.49))); 213 + }), 214 + ("flat (exact)", |mut cmd| { 215 + #[cfg(feature = "rapier3d")] 216 + cmd.insert(TnuaRapier3dSensorShape(rapier::Collider::cylinder( 217 + 0.0, 0.5, 218 + ))); 219 + #[cfg(feature = "xpbd3d")] 220 + cmd.insert(TnuaXpbd3dSensorShape(xpbd::Collider::cylinder(0.0, 0.5))); 221 + }), 222 + ("flat (overfit)", |mut cmd| { 223 + #[cfg(feature = "rapier3d")] 224 + cmd.insert(TnuaRapier3dSensorShape(rapier::Collider::cylinder( 225 + 0.0, 0.51, 226 + ))); 227 + #[cfg(feature = "xpbd3d")] 228 + cmd.insert(TnuaXpbd3dSensorShape(xpbd::Collider::cylinder(0.0, 0.51))); 229 + }), 230 + ("ball (underfit)", |mut cmd| { 231 + #[cfg(feature = "rapier3d")] 232 + cmd.insert(TnuaRapier3dSensorShape(rapier::Collider::ball(0.49))); 233 + #[cfg(feature = "xpbd3d")] 234 + cmd.insert(TnuaXpbd3dSensorShape(xpbd::Collider::sphere(0.49))); 235 + }), 236 + ("ball (exact)", |mut cmd| { 237 + #[cfg(feature = "rapier3d")] 238 + cmd.insert(TnuaRapier3dSensorShape(rapier::Collider::ball(0.5))); 239 + #[cfg(feature = "xpbd3d")] 240 + cmd.insert(TnuaXpbd3dSensorShape(xpbd::Collider::sphere(0.5))); 241 + }), 242 + ], 243 + ) 244 + .with_checkbox("Lock Tilt", true, |mut cmd, lock_tilt| { 245 + // Tnua will automatically apply angular impulses/forces to fix the tilt and make 246 + // the character stand upward, but it is also possible to just let the physics 247 + // engine prevent rotation (other than around the Y axis, for turning) 248 + if lock_tilt { 249 + #[cfg(feature = "rapier3d")] 250 + cmd.insert( 251 + rapier::LockedAxes::ROTATION_LOCKED_X 252 + | rapier::LockedAxes::ROTATION_LOCKED_Z, 253 + ); 254 + #[cfg(feature = "xpbd3d")] 255 + cmd.insert(xpbd::LockedAxes::new().lock_rotation_x().lock_rotation_z()); 256 + } else { 257 + #[cfg(feature = "rapier3d")] 258 + cmd.insert(rapier::LockedAxes::empty()); 259 + #[cfg(feature = "xpbd3d")] 260 + cmd.insert(xpbd::LockedAxes::new()); 261 + } 262 + }) 263 + .with_checkbox( 264 + "Phase Through Collision Groups", 265 + true, 266 + |mut cmd, use_collision_groups| { 267 + #[cfg(feature = "rapier3d")] 268 + if use_collision_groups { 269 + cmd.insert(CollisionGroups { 270 + memberships: Group::GROUP_2, 271 + filters: Group::GROUP_2, 272 + }); 273 + } else { 274 + cmd.insert(CollisionGroups { 275 + memberships: Group::ALL, 276 + filters: Group::ALL, 277 + }); 278 + } 279 + #[cfg(feature = "xpbd3d")] 280 + { 281 + let player_layers: LayerMask = if use_collision_groups { 282 + [LayerNames::Player].into() 283 + } else { 284 + [LayerNames::Player, LayerNames::PhaseThrough].into() 285 + }; 286 + cmd.insert(CollisionLayers::new(player_layers, player_layers)); 287 + } 288 + }, 289 + ) |
variable does not need to be mutable: demos/src/bin/platformer_3d.rs#L247
warning: variable does not need to be mutable --> demos/src/bin/platformer_3d.rs:247:18 | 247 | |mut cmd, use_collision_groups| { | ----^^^ | | | help: remove this `mut`
variable does not need to be mutable: demos/src/bin/platformer_3d.rs#L225
warning: variable does not need to be mutable --> demos/src/bin/platformer_3d.rs:225:48 | 225 | .with_checkbox("Lock Tilt", true, |mut cmd, lock_tilt| { | ----^^^ | | | help: remove this `mut`
variable does not need to be mutable: demos/src/bin/platformer_3d.rs#L217
warning: variable does not need to be mutable --> demos/src/bin/platformer_3d.rs:217:39 | 217 | ("ball (exact)", |mut cmd| { | ----^^^ | | | help: remove this `mut`
variable does not need to be mutable: demos/src/bin/platformer_3d.rs#L211
warning: variable does not need to be mutable --> demos/src/bin/platformer_3d.rs:211:42 | 211 | ("ball (underfit)", |mut cmd| { | ----^^^ | | | help: remove this `mut`
variable does not need to be mutable: demos/src/bin/platformer_3d.rs#L203
warning: variable does not need to be mutable --> demos/src/bin/platformer_3d.rs:203:41 | 203 | ("flat (overfit)", |mut cmd| { | ----^^^ | | | help: remove this `mut`
variable does not need to be mutable: demos/src/bin/platformer_3d.rs#L195
warning: variable does not need to be mutable --> demos/src/bin/platformer_3d.rs:195:39 | 195 | ("flat (exact)", |mut cmd| { | ----^^^ | | | help: remove this `mut`
variable does not need to be mutable: demos/src/bin/platformer_3d.rs#L187
warning: variable does not need to be mutable --> demos/src/bin/platformer_3d.rs:187:42 | 187 | ("flat (underfit)", |mut cmd| { | ----^^^ | | | help: remove this `mut`
variable does not need to be mutable: demos/src/bin/platformer_3d.rs#L181
warning: variable does not need to be mutable --> demos/src/bin/platformer_3d.rs:181:29 | 181 | ("no", |mut cmd| { | ----^^^ | | | help: remove this `mut` | = note: `#[warn(unused_mut)]` on by default
unused variable: `cmd`: demos/src/bin/platformer_3d.rs#L293
warning: unused variable: `cmd` --> demos/src/bin/platformer_3d.rs:293:56 | 293 | cmd.insert(TnuaCrouchEnforcer::new(0.5 * Vec3::Y, |cmd| { | ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
unused variable: `use_collision_groups`: demos/src/bin/platformer_3d.rs#L247
warning: unused variable: `use_collision_groups` --> demos/src/bin/platformer_3d.rs:247:27 | 247 | |mut cmd, use_collision_groups| { | ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_use_collision_groups`
unused variable: `cmd`: demos/src/bin/platformer_3d.rs#L247
warning: unused variable: `cmd` --> demos/src/bin/platformer_3d.rs:247:22 | 247 | |mut cmd, use_collision_groups| { | ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
unused variable: `cmd`: demos/src/bin/platformer_3d.rs#L225
warning: unused variable: `cmd` --> demos/src/bin/platformer_3d.rs:225:52 | 225 | .with_checkbox("Lock Tilt", true, |mut cmd, lock_tilt| { | ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
unused variable: `cmd`: demos/src/bin/platformer_3d.rs#L217
warning: unused variable: `cmd` --> demos/src/bin/platformer_3d.rs:217:43 | 217 | ("ball (exact)", |mut cmd| { | ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
unused variable: `cmd`: demos/src/bin/platformer_3d.rs#L211
warning: unused variable: `cmd` --> demos/src/bin/platformer_3d.rs:211:46 | 211 | ("ball (underfit)", |mut cmd| { | ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
unused variable: `cmd`: demos/src/bin/platformer_3d.rs#L203
warning: unused variable: `cmd` --> demos/src/bin/platformer_3d.rs:203:45 | 203 | ("flat (overfit)", |mut cmd| { | ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
unused variable: `cmd`: demos/src/bin/platformer_3d.rs#L195
warning: unused variable: `cmd` --> demos/src/bin/platformer_3d.rs:195:43 | 195 | ("flat (exact)", |mut cmd| { | ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
unused variable: `cmd`: demos/src/bin/platformer_3d.rs#L187
warning: unused variable: `cmd` --> demos/src/bin/platformer_3d.rs:187:46 | 187 | ("flat (underfit)", |mut cmd| { | ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
unused variable: `cmd`: demos/src/bin/platformer_3d.rs#L181
warning: unused variable: `cmd` --> demos/src/bin/platformer_3d.rs:181:33 | 181 | ("no", |mut cmd| { | ^^^ help: if this is intentional, prefix it with an underscore: `_cmd` | = note: `#[warn(unused_variables)]` on by default
returning the result of a `let` binding from a block: demos/src/bin/platformer_3d.rs#L289
warning: returning the result of a `let` binding from a block --> demos/src/bin/platformer_3d.rs:289:9 | 172 | / let command_altering_selectors = CommandAlteringSelectors::default() 173 | | // By default Tnua uses a raycast, but this could be a problem if the character stands 174 | | // just past the edge while part of its body is above the platform. To solve this, we 175 | | // need to cast a shape - which is physics-engine specific. We set the shape using a ... | 269 | | }, 270 | | ); | |______________- unnecessary `let` binding ... 289 | command_altering_selectors | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return = note: `#[warn(clippy::let_and_return)]` on by default help: return the expression directly | 172 ~ 173 | #[cfg(feature = "rapier3d")] ... 190 | ); 191 ~ CommandAlteringSelectors::default() 192 + // By default Tnua uses a raycast, but this could be a problem if the character stands 193 + // just past the edge while part of its body is above the platform. To solve this, we 194 + // need to cast a shape - which is physics-engine specific. We set the shape using a 195 + // component. 196 + .with_combo( 197 + "Sensor Shape", 198 + 1, 199 + &[ 200 + ("no", |mut cmd| { 201 + #[cfg(feature = "rapier3d")] 202 + cmd.remove::<TnuaRapier3dSensorShape>(); 203 + #[cfg(feature = "xpbd3d")] 204 + cmd.remove::<TnuaXpbd3dSensorShape>(); 205 + }), 206 + ("flat (underfit)", |mut cmd| { 207 + #[cfg(feature = "rapier3d")] 208 + cmd.insert(TnuaRapier3dSensorShape(rapier::Collider::cylinder( 209 + 0.0, 0.49, 210 + ))); 211 + #[cfg(feature = "xpbd3d")] 212 + cmd.insert(TnuaXpbd3dSensorShape(xpbd::Collider::cylinder(0.0, 0.49))); 213 + }), 214 + ("flat (exact)", |mut cmd| { 215 + #[cfg(feature = "rapier3d")] 216 + cmd.insert(TnuaRapier3dSensorShape(rapier::Collider::cylinder( 217 + 0.0, 0.5, 218 + ))); 219 + #[cfg(feature = "xpbd3d")] 220 + cmd.insert(TnuaXpbd3dSensorShape(xpbd::Collider::cylinder(0.0, 0.5))); 221 + }), 222 + ("flat (overfit)", |mut cmd| { 223 + #[cfg(feature = "rapier3d")] 224 + cmd.insert(TnuaRapier3dSensorShape(rapier::Collider::cylinder( 225 + 0.0, 0.51, 226 + ))); 227 + #[cfg(feature = "xpbd3d")] 228 + cmd.insert(TnuaXpbd3dSensorShape(xpbd::Collider::cylinder(0.0, 0.51))); 229 + }), 230 + ("ball (underfit)", |mut cmd| { 231 + #[cfg(feature = "rapier3d")] 232 + cmd.insert(TnuaRapier3dSensorShape(rapier::Collider::ball(0.49))); 233 + #[cfg(feature = "xpbd3d")] 234 + cmd.insert(TnuaXpbd3dSensorShape(xpbd::Collider::sphere(0.49))); 235 + }), 236 + ("ball (exact)", |mut cmd| { 237 + #[cfg(feature = "rapier3d")] 238 + cmd.insert(TnuaRapier3dSensorShape(rapier::Collider::ball(0.5))); 239 + #[cfg(feature = "xpbd3d")] 240 + cmd.insert(TnuaXpbd3dSensorShape(xpbd::Collider::sphere(0.5))); 241 + }), 242 + ], 243 + ) 244 + .with_checkbox("Lock Tilt", true, |mut cmd, lock_tilt| { 245 + // Tnua will automatically apply angular impulses/forces to fix the tilt and make 246 + // the character stand upward, but it is also possible to just let the physics 247 + // engine prevent rotation (other than around the Y axis, for turning) 248 + if lock_tilt { 249 + #[cfg(feature = "rapier3d")] 250 + cmd.insert( 251 + rapier::LockedAxes::ROTATION_LOCKED_X 252 + | rapier::LockedAxes::ROTATION_LOCKED_Z, 253 + ); 254 + #[cfg(feature = "xpbd3d")] 255 + cmd.insert(xpbd::LockedAxes::new().lock_rotation_x().lock_rotation_z()); 256 + } else { 257 + #[cfg(feature = "rapier3d")] 258 + cmd.insert(rapier::LockedAxes::empty()); 259 + #[cfg(feature = "xpbd3d")] 260 + cmd.insert(xpbd::LockedAxes::new()); 261 + } 262 + }) 263 + .with_checkbox( 264 + "Phase Through Collision Groups", 265 + true, 266 + |mut cmd, use_collision_groups| { 267 + #[cfg(feature = "rapier3d")] 268 + if use_collision_groups { 269 + cmd.insert(CollisionGroups { 270 + memberships: Group::GROUP_2, 271 + filters: Group::GROUP_2, 272 + }); 273 + } else { 274 + cmd.insert(CollisionGroups { 275 + memberships: Group::ALL, 276 + filters: Group::ALL, 277 + }); 278 + } 279 + #[cfg(feature = "xpbd3d")] 280 + { 281 + let player_layers: LayerMask = if use_collision_groups { 282 + [LayerNames::Player].into() 283 + } else { 284 + [LayerNames::Player, LayerNames::PhaseThrough].into() 285 + }; 286 + cmd.insert(CollisionLayers::new(player_layers, player_layers)); 287 + } 288 + }, 289 + ) |
variable does not need to be mutable: demos/src/bin/platformer_3d.rs#L247
warning: variable does not need to be mutable --> demos/src/bin/platformer_3d.rs:247:18 | 247 | |mut cmd, use_collision_groups| { | ----^^^ | | | help: remove this `mut`
variable does not need to be mutable: demos/src/bin/platformer_3d.rs#L225
warning: variable does not need to be mutable --> demos/src/bin/platformer_3d.rs:225:48 | 225 | .with_checkbox("Lock Tilt", true, |mut cmd, lock_tilt| { | ----^^^ | | | help: remove this `mut`
variable does not need to be mutable: demos/src/bin/platformer_3d.rs#L217
warning: variable does not need to be mutable --> demos/src/bin/platformer_3d.rs:217:39 | 217 | ("ball (exact)", |mut cmd| { | ----^^^ | | | help: remove this `mut`
variable does not need to be mutable: demos/src/bin/platformer_3d.rs#L211
warning: variable does not need to be mutable --> demos/src/bin/platformer_3d.rs:211:42 | 211 | ("ball (underfit)", |mut cmd| { | ----^^^ | | | help: remove this `mut`
variable does not need to be mutable: demos/src/bin/platformer_3d.rs#L203
warning: variable does not need to be mutable --> demos/src/bin/platformer_3d.rs:203:41 | 203 | ("flat (overfit)", |mut cmd| { | ----^^^ | | | help: remove this `mut`
variable does not need to be mutable: demos/src/bin/platformer_3d.rs#L195
warning: variable does not need to be mutable --> demos/src/bin/platformer_3d.rs:195:39 | 195 | ("flat (exact)", |mut cmd| { | ----^^^ | | | help: remove this `mut`
variable does not need to be mutable: demos/src/bin/platformer_3d.rs#L187
warning: variable does not need to be mutable --> demos/src/bin/platformer_3d.rs:187:42 | 187 | ("flat (underfit)", |mut cmd| { | ----^^^ | | | help: remove this `mut`
variable does not need to be mutable: demos/src/bin/platformer_3d.rs#L181
warning: variable does not need to be mutable --> demos/src/bin/platformer_3d.rs:181:29 | 181 | ("no", |mut cmd| { | ----^^^ | | | help: remove this `mut` | = note: `#[warn(unused_mut)]` on by default
unused variable: `cmd`: demos/src/bin/platformer_3d.rs#L293
warning: unused variable: `cmd` --> demos/src/bin/platformer_3d.rs:293:56 | 293 | cmd.insert(TnuaCrouchEnforcer::new(0.5 * Vec3::Y, |cmd| { | ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
unused variable: `use_collision_groups`: demos/src/bin/platformer_3d.rs#L247
warning: unused variable: `use_collision_groups` --> demos/src/bin/platformer_3d.rs:247:27 | 247 | |mut cmd, use_collision_groups| { | ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_use_collision_groups`
unused variable: `cmd`: demos/src/bin/platformer_3d.rs#L247
warning: unused variable: `cmd` --> demos/src/bin/platformer_3d.rs:247:22 | 247 | |mut cmd, use_collision_groups| { | ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
unused variable: `cmd`: demos/src/bin/platformer_3d.rs#L225
warning: unused variable: `cmd` --> demos/src/bin/platformer_3d.rs:225:52 | 225 | .with_checkbox("Lock Tilt", true, |mut cmd, lock_tilt| { | ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
unused variable: `cmd`: demos/src/bin/platformer_3d.rs#L217
warning: unused variable: `cmd` --> demos/src/bin/platformer_3d.rs:217:43 | 217 | ("ball (exact)", |mut cmd| { | ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
unused variable: `cmd`: demos/src/bin/platformer_3d.rs#L211
warning: unused variable: `cmd` --> demos/src/bin/platformer_3d.rs:211:46 | 211 | ("ball (underfit)", |mut cmd| { | ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
unused variable: `cmd`: demos/src/bin/platformer_3d.rs#L203
warning: unused variable: `cmd` --> demos/src/bin/platformer_3d.rs:203:45 | 203 | ("flat (overfit)", |mut cmd| { | ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
unused variable: `cmd`: demos/src/bin/platformer_3d.rs#L195
warning: unused variable: `cmd` --> demos/src/bin/platformer_3d.rs:195:43 | 195 | ("flat (exact)", |mut cmd| { | ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
unused variable: `cmd`: demos/src/bin/platformer_3d.rs#L187
warning: unused variable: `cmd` --> demos/src/bin/platformer_3d.rs:187:46 | 187 | ("flat (underfit)", |mut cmd| { | ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
unused variable: `cmd`: demos/src/bin/platformer_3d.rs#L181
warning: unused variable: `cmd` --> demos/src/bin/platformer_3d.rs:181:33 | 181 | ("no", |mut cmd| { | ^^^ help: if this is intentional, prefix it with an underscore: `_cmd` | = note: `#[warn(unused_variables)]` on by default
returning the result of a `let` binding from a block: demos/src/bin/platformer_2d.rs#L263
warning: returning the result of a `let` binding from a block --> demos/src/bin/platformer_2d.rs:263:9 | 153 | / let command_altering_selectors = CommandAlteringSelectors::default() 154 | | // By default Tnua uses a raycast, but this could be a problem if the character stands 155 | | // just past the edge while part of its body is above the platform. To solve this, we 156 | | // need to cast a shape - which is physics-engine specific. We set the shape using a ... | 241 | | }, 242 | | ); | |______________- unnecessary `let` binding ... 263 | command_altering_selectors | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return = note: `#[warn(clippy::let_and_return)]` on by default help: return the expression directly | 153 ~ 154 | #[cfg(feature = "rapier2d")] ... 173 | ); 174 ~ CommandAlteringSelectors::default() 175 + // By default Tnua uses a raycast, but this could be a problem if the character stands 176 + // just past the edge while part of its body is above the platform. To solve this, we 177 + // need to cast a shape - which is physics-engine specific. We set the shape using a 178 + // component. 179 + .with_combo( 180 + "Sensor Shape", 181 + 1, 182 + &[ 183 + ("Point", |mut cmd| { 184 + #[cfg(feature = "rapier2d")] 185 + cmd.remove::<TnuaRapier2dSensorShape>(); 186 + #[cfg(feature = "xpbd2d")] 187 + cmd.remove::<TnuaXpbd2dSensorShape>(); 188 + }), 189 + ("Flat (underfit)", |mut cmd| { 190 + #[cfg(feature = "rapier2d")] 191 + cmd.insert(TnuaRapier2dSensorShape(rapier::Collider::cuboid(0.49, 0.0))); 192 + #[cfg(feature = "xpbd2d")] 193 + cmd.insert(TnuaXpbd2dSensorShape(xpbd::Collider::rectangle(0.99, 0.0))); 194 + }), 195 + ("Flat (exact)", |mut cmd| { 196 + #[cfg(feature = "rapier2d")] 197 + cmd.insert(TnuaRapier2dSensorShape(rapier::Collider::cuboid(0.5, 0.0))); 198 + #[cfg(feature = "xpbd2d")] 199 + cmd.insert(TnuaXpbd2dSensorShape(xpbd::Collider::rectangle(1.0, 0.0))); 200 + }), 201 + ("flat (overfit)", |mut cmd| { 202 + #[cfg(feature = "rapier2d")] 203 + cmd.insert(TnuaRapier2dSensorShape(rapier::Collider::cuboid(0.51, 0.0))); 204 + #[cfg(feature = "xpbd2d")] 205 + cmd.insert(TnuaXpbd2dSensorShape(xpbd::Collider::rectangle(1.01, 0.0))); 206 + }), 207 + ("Ball (underfit)", |mut cmd| { 208 + #[cfg(feature = "rapier2d")] 209 + cmd.insert(TnuaRapier2dSensorShape(rapier::Collider::ball(0.49))); 210 + #[cfg(feature = "xpbd2d")] 211 + cmd.insert(TnuaXpbd2dSensorShape(xpbd::Collider::circle(0.49))); 212 + }), 213 + ("Ball (exact)", |mut cmd| { 214 + #[cfg(feature = "rapier2d")] 215 + cmd.insert(TnuaRapier2dSensorShape(rapier::Collider::ball(0.5))); 216 + #[cfg(feature = "xpbd2d")] 217 + cmd.insert(TnuaXpbd2dSensorShape(xpbd::Collider::circle(0.5))); 218 + }), 219 + ], 220 + ) 221 + .with_checkbox("Lock Tilt", false, |mut cmd, lock_tilt| { 222 + // Tnua will automatically apply angular impulses/forces to fix the tilt and make 223 + // the character stand upward, but it is also possible to just let the physics 224 + // engine prevent rotation (other than around the Y axis, for turning) 225 + if lock_tilt { 226 + #[cfg(feature = "rapier2d")] 227 + cmd.insert(rapier::LockedAxes::ROTATION_LOCKED); 228 + #[cfg(feature = "xpbd2d")] 229 + cmd.insert(xpbd::LockedAxes::new().lock_rotation()); 230 + } else { 231 + #[cfg(feature = "rapier2d")] 232 + cmd.insert(rapier::LockedAxes::empty()); 233 + #[cfg(feature = "xpbd2d")] 234 + cmd.insert(xpbd::LockedAxes::new()); 235 + } 236 + }) 237 + .with_checkbox( 238 + "Phase Through Collision Groups", 239 + true, 240 + |mut cmd, use_collision_groups| { 241 + #[cfg(feature = "rapier2d")] 242 + if use_collision_groups { 243 + cmd.insert(CollisionGroups { 244 + memberships: Group::GROUP_2, 245 + filters: Group::GROUP_2, 246 + }); 247 + } else { 248 + cmd.insert(CollisionGroups { 249 + memberships: Group::ALL, 250 + filters: Group::ALL, 251 + }); 252 + } 253 + #[cfg(feature = "xpbd2d")] 254 + { 255 + let player_layers: LayerMask = if use_collision_groups { 256 + [LayerNames::Player].into() 257 + } else { 258 + [LayerNames::Player, LayerNames::PhaseThrough].into() 259 + }; 260 + cmd.insert(CollisionLayers::new(player_layers, player_layers)); 261 + } 262 + }, 263 + ) |
variable does not need to be mutable: demos/src/bin/platformer_2d.rs#L219
warning: variable does not need to be mutable --> demos/src/bin/platformer_2d.rs:219:18 | 219 | |mut cmd, use_collision_groups| { | ----^^^ | | | help: remove this `mut`
variable does not need to be mutable: demos/src/bin/platformer_2d.rs#L200
warning: variable does not need to be mutable --> demos/src/bin/platformer_2d.rs:200:49 | 200 | .with_checkbox("Lock Tilt", false, |mut cmd, lock_tilt| { | ----^^^ | | | help: remove this `mut`
variable does not need to be mutable: demos/src/bin/platformer_2d.rs#L192
warning: variable does not need to be mutable --> demos/src/bin/platformer_2d.rs:192:39 | 192 | ("Ball (exact)", |mut cmd| { | ----^^^ | | | help: remove this `mut`
variable does not need to be mutable: demos/src/bin/platformer_2d.rs#L186
warning: variable does not need to be mutable --> demos/src/bin/platformer_2d.rs:186:42 | 186 | ("Ball (underfit)", |mut cmd| { | ----^^^ | | | help: remove this `mut`
variable does not need to be mutable: demos/src/bin/platformer_2d.rs#L180
warning: variable does not need to be mutable --> demos/src/bin/platformer_2d.rs:180:41 | 180 | ("flat (overfit)", |mut cmd| { | ----^^^ | | | help: remove this `mut`
variable does not need to be mutable: demos/src/bin/platformer_2d.rs#L174
warning: variable does not need to be mutable --> demos/src/bin/platformer_2d.rs:174:39 | 174 | ("Flat (exact)", |mut cmd| { | ----^^^ | | | help: remove this `mut`
variable does not need to be mutable: demos/src/bin/platformer_2d.rs#L168
warning: variable does not need to be mutable --> demos/src/bin/platformer_2d.rs:168:42 | 168 | ("Flat (underfit)", |mut cmd| { | ----^^^ | | | help: remove this `mut`
variable does not need to be mutable: demos/src/bin/platformer_2d.rs#L162
warning: variable does not need to be mutable --> demos/src/bin/platformer_2d.rs:162:32 | 162 | ("Point", |mut cmd| { | ----^^^ | | | help: remove this `mut` | = note: `#[warn(unused_mut)]` on by default
unused variable: `cmd`: demos/src/bin/platformer_2d.rs#L267
warning: unused variable: `cmd` --> demos/src/bin/platformer_2d.rs:267:56 | 267 | cmd.insert(TnuaCrouchEnforcer::new(0.5 * Vec3::Y, |cmd| { | ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
unused variable: `use_collision_groups`: demos/src/bin/platformer_2d.rs#L219
warning: unused variable: `use_collision_groups` --> demos/src/bin/platformer_2d.rs:219:27 | 219 | |mut cmd, use_collision_groups| { | ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_use_collision_groups`
unused variable: `cmd`: demos/src/bin/platformer_2d.rs#L219
warning: unused variable: `cmd` --> demos/src/bin/platformer_2d.rs:219:22 | 219 | |mut cmd, use_collision_groups| { | ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
unused variable: `cmd`: demos/src/bin/platformer_2d.rs#L200
warning: unused variable: `cmd` --> demos/src/bin/platformer_2d.rs:200:53 | 200 | .with_checkbox("Lock Tilt", false, |mut cmd, lock_tilt| { | ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
unused variable: `cmd`: demos/src/bin/platformer_2d.rs#L192
warning: unused variable: `cmd` --> demos/src/bin/platformer_2d.rs:192:43 | 192 | ("Ball (exact)", |mut cmd| { | ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
unused variable: `cmd`: demos/src/bin/platformer_2d.rs#L186
warning: unused variable: `cmd` --> demos/src/bin/platformer_2d.rs:186:46 | 186 | ("Ball (underfit)", |mut cmd| { | ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
unused variable: `cmd`: demos/src/bin/platformer_2d.rs#L180
warning: unused variable: `cmd` --> demos/src/bin/platformer_2d.rs:180:45 | 180 | ("flat (overfit)", |mut cmd| { | ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
unused variable: `cmd`: demos/src/bin/platformer_2d.rs#L174
warning: unused variable: `cmd` --> demos/src/bin/platformer_2d.rs:174:43 | 174 | ("Flat (exact)", |mut cmd| { | ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
unused variable: `cmd`: demos/src/bin/platformer_2d.rs#L168
warning: unused variable: `cmd` --> demos/src/bin/platformer_2d.rs:168:46 | 168 | ("Flat (underfit)", |mut cmd| { | ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
unused variable: `cmd`: demos/src/bin/platformer_2d.rs#L162
warning: unused variable: `cmd` --> demos/src/bin/platformer_2d.rs:162:36 | 162 | ("Point", |mut cmd| { | ^^^ help: if this is intentional, prefix it with an underscore: `_cmd` | = note: `#[warn(unused_variables)]` on by default
associated function `make_system` is never used: demos/src/moving_platform.rs#L62
warning: associated function `make_system` is never used --> demos/src/moving_platform.rs:62:8 | 53 | impl MovingPlatform { | ------------------- associated function in this implementation ... 62 | fn make_system<V: Component>( | ^^^^^^^^^^^ | = note: `#[warn(dead_code)]` on by default
unused variable: `setting_from_ui`: demos/src/ui/mod.rs#L210
warning: unused variable: `setting_from_ui` --> demos/src/ui/mod.rs:210:5 | 210 | setting_from_ui: Res<DemoUiPhysicsBackendActive>, | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_setting_from_ui`
unused variable: `app`: demos/src/moving_platform.rs#L6
warning: unused variable: `app` --> demos/src/moving_platform.rs:6:21 | 6 | fn build(&self, app: &mut App) { | ^^^ help: if this is intentional, prefix it with an underscore: `_app` | = note: `#[warn(unused_variables)]` on by default
unused import: `make_update_plot_data_system`: demos/src/ui/mod.rs#L20
warning: unused import: `make_update_plot_data_system` --> demos/src/ui/mod.rs:20:22 | 20 | use self::plotting::{make_update_plot_data_system, plot_source_rolling_update}; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: `#[warn(unused_imports)]` on by default
Clippy
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: actions/checkout@v2, actions-rs/toolchain@v1, actions/cache@v1, actions-rs/clippy-check@v1. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
Clippy
The following actions uses node12 which is deprecated and will be forced to run on node16: actions/checkout@v2, actions-rs/toolchain@v1, actions/cache@v1, actions-rs/clippy-check@v1. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
Clippy
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
Clippy
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
Clippy
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
Clippy
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
Tests (ubuntu-latest, 1.76.0)
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: actions/checkout@v2, actions-rs/toolchain@v1, actions/cache@v1. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
Tests (ubuntu-latest, 1.76.0)
The following actions uses node12 which is deprecated and will be forced to run on node16: actions/checkout@v2, actions-rs/toolchain@v1, actions/cache@v1. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
Tests (ubuntu-latest, 1.76.0)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
Tests (ubuntu-latest, 1.76.0)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
Tests (ubuntu-latest, 1.76.0)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
Tests (ubuntu-latest, 1.76.0)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
Tests (ubuntu-latest, nightly)
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: actions/checkout@v2, actions-rs/toolchain@v1, actions/cache@v1. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
Tests (ubuntu-latest, nightly)
The following actions uses node12 which is deprecated and will be forced to run on node16: actions/checkout@v2, actions-rs/toolchain@v1, actions/cache@v1. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
Tests (ubuntu-latest, nightly)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
Tests (ubuntu-latest, nightly)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
Tests (ubuntu-latest, nightly)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
Tests (ubuntu-latest, nightly)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
Docs
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: actions/checkout@v2, actions-rs/toolchain@v1, actions/cache@v1, actions-rs/cargo@v1. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
Docs
The following actions uses node12 which is deprecated and will be forced to run on node16: actions/checkout@v2, actions-rs/toolchain@v1, actions/cache@v1, actions-rs/cargo@v1. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
Docs
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
Docs
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
Docs
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
Docs
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
Update Docs and Demos in GitHub Pages
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: actions/checkout@v2, jetli/wasm-bindgen-action@v0.1.0, actions-rs/toolchain@v1, actions/upload-artifact@v3. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
Update Docs and Demos in GitHub Pages
The following actions uses node12 which is deprecated and will be forced to run on node16: actions/checkout@v2, jetli/wasm-bindgen-action@v0.1.0, actions-rs/toolchain@v1. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
Update Docs and Demos in GitHub Pages
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
Update Docs and Demos in GitHub Pages
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
Update Docs and Demos in GitHub Pages
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
Update Docs and Demos in GitHub Pages
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
deploy-ghpages
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: actions/deploy-pages@v2. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
deploy-ghpages
Uploaded artifact size of 1821071360 bytes exceeds the allowed size of 1 GB. Deployment might fail.