Skip to content

Fixed for f64 support #223

Fixed for f64 support

Fixed for f64 support #223

Triggered via push March 18, 2024 16:40
Status Failure
Total duration 12m 23s
Artifacts

ci.yml

on: push
Matrix: Tests
Update Docs and Demos in GitHub Pages
12m 2s
Update Docs and Demos in GitHub Pages
Rustfmt
9s
Rustfmt
Fit to window
Zoom out
Zoom in

Annotations

1 error and 168 warnings
Update Docs and Demos in GitHub Pages
Process completed with exit code 1.
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/
returning the result of a `let` binding from a block: demos/src/bin/platformer_3d.rs#L291
warning: returning the result of a `let` binding from a block --> demos/src/bin/platformer_3d.rs:291:9 | 174 | / let command_altering_selectors = 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 ... | 271 | | }, 272 | | ); | |______________- unnecessary `let` binding ... 291 | 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 | 174 ~ 175 | #[cfg(feature = "rapier3d")] ... 192 | ); 193 ~ CommandAlteringSelectors::default() 194 + // By default Tnua uses a raycast, but this could be a problem if the character stands 195 + // just past the edge while part of its body is above the platform. To solve this, we 196 + // need to cast a shape - which is physics-engine specific. We set the shape using a 197 + // component. 198 + .with_combo( 199 + "Sensor Shape", 200 + 1, 201 + &[ 202 + ("no", |mut cmd| { 203 + #[cfg(feature = "rapier3d")] 204 + cmd.remove::<TnuaRapier3dSensorShape>(); 205 + #[cfg(feature = "xpbd3d")] 206 + cmd.remove::<TnuaXpbd3dSensorShape>(); 207 + }), 208 + ("flat (underfit)", |mut cmd| { 209 + #[cfg(feature = "rapier3d")] 210 + cmd.insert(TnuaRapier3dSensorShape(rapier::Collider::cylinder( 211 + 0.0, 0.49, 212 + ))); 213 + #[cfg(feature = "xpbd3d")] 214 + cmd.insert(TnuaXpbd3dSensorShape(xpbd::Collider::cylinder(0.0, 0.49))); 215 + }), 216 + ("flat (exact)", |mut cmd| { 217 + #[cfg(feature = "rapier3d")] 218 + cmd.insert(TnuaRapier3dSensorShape(rapier::Collider::cylinder( 219 + 0.0, 0.5, 220 + ))); 221 + #[cfg(feature = "xpbd3d")] 222 + cmd.insert(TnuaXpbd3dSensorShape(xpbd::Collider::cylinder(0.0, 0.5))); 223 + }), 224 + ("flat (overfit)", |mut cmd| { 225 + #[cfg(feature = "rapier3d")] 226 + cmd.insert(TnuaRapier3dSensorShape(rapier::Collider::cylinder( 227 + 0.0, 0.51, 228 + ))); 229 + #[cfg(feature = "xpbd3d")] 230 + cmd.insert(TnuaXpbd3dSensorShape(xpbd::Collider::cylinder(0.0, 0.51))); 231 + }), 232 + ("ball (underfit)", |mut cmd| { 233 + #[cfg(feature = "rapier3d")] 234 + cmd.insert(TnuaRapier3dSensorShape(rapier::Collider::ball(0.49))); 235 + #[cfg(feature = "xpbd3d")] 236 + cmd.insert(TnuaXpbd3dSensorShape(xpbd::Collider::sphere(0.49))); 237 + }), 238 + ("ball (exact)", |mut cmd| { 239 + #[cfg(feature = "rapier3d")] 240 + cmd.insert(TnuaRapier3dSensorShape(rapier::Collider::ball(0.5))); 241 + #[cfg(feature = "xpbd3d")] 242 + cmd.insert(TnuaXpbd3dSensorShape(xpbd::Collider::sphere(0.5))); 243 + }), 244 + ], 245 + ) 246 + .with_checkbox("Lock Tilt", true, |mut cmd, lock_tilt| { 247 + // Tnua will automatically apply angular impulses/forces to fix the tilt and make 248 + // the character stand upward, but it is also possible to just let the physics 249 + // engine prevent rotation (other than around the Y axis, for turning) 250 + if lock_tilt { 251 + #[cfg(feature = "rapier3d")] 252 + cmd.insert( 253 + rapier::LockedAxes::ROTATION_LOCKED_X 254 + | rapier::LockedAxes::ROTATION_LOCKED_Z, 255 + ); 256 + #[cfg(feature = "xpbd3d")] 257 + cmd.insert(xpbd::LockedAxes::new().lock_rotation_x().lock_rotation_z()); 258 + } else { 259 + #[cfg(feature = "rapier3d")] 260 + cmd.insert(rapier::LockedAxes::empty()); 261 + #[cfg(feature = "xpbd3d")] 262 + cmd.insert(xpbd::LockedAxes::new()); 263 + } 264 + }) 265 + .with_checkbox( 266 + "Phase Through Collision Groups", 267 + true, 268 + |mut cmd, use_collision_groups| { 269 + #[cfg(feature = "rapier3d")] 270 + if use_collision_groups { 271 + cmd.insert(CollisionGroups { 272 + memberships: Group::GROUP_2, 273 + filters: Group::GROUP_2, 274 + }); 275 + } else { 276 + cmd.insert(CollisionGroups { 277 + memberships: Group::ALL, 278 + filters: Group::ALL, 279 + }); 280 + } 281 + #[cfg(feature = "xpbd3d")] 282 + { 283 + let player_layers: LayerMask = if use_collision_groups { 284 + [LayerNames::Player].into() 285 + } else { 286 + [LayerNames::Player, LayerNames::PhaseThrough].into() 287 + }; 288 + cmd.insert(CollisionLayers::new(player_layers, player_layers)); 289 + } 290 + }, 291 + ) |
variable does not need to be mutable: demos/src/bin/platformer_3d.rs#L249
warning: variable does not need to be mutable --> demos/src/bin/platformer_3d.rs:249:18 | 249 | |mut cmd, use_collision_groups| { | ----^^^ | | | help: remove this `mut`
variable does not need to be mutable: demos/src/bin/platformer_3d.rs#L227
warning: variable does not need to be mutable --> demos/src/bin/platformer_3d.rs:227:48 | 227 | .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#L219
warning: variable does not need to be mutable --> demos/src/bin/platformer_3d.rs:219:39 | 219 | ("ball (exact)", |mut cmd| { | ----^^^ | | | help: remove this `mut`
variable does not need to be mutable: demos/src/bin/platformer_3d.rs#L213
warning: variable does not need to be mutable --> demos/src/bin/platformer_3d.rs:213:42 | 213 | ("ball (underfit)", |mut cmd| { | ----^^^ | | | help: remove this `mut`
variable does not need to be mutable: demos/src/bin/platformer_3d.rs#L205
warning: variable does not need to be mutable --> demos/src/bin/platformer_3d.rs:205:41 | 205 | ("flat (overfit)", |mut cmd| { | ----^^^ | | | help: remove this `mut`
variable does not need to be mutable: demos/src/bin/platformer_3d.rs#L197
warning: variable does not need to be mutable --> demos/src/bin/platformer_3d.rs:197:39 | 197 | ("flat (exact)", |mut cmd| { | ----^^^ | | | help: remove this `mut`
variable does not need to be mutable: demos/src/bin/platformer_3d.rs#L189
warning: variable does not need to be mutable --> demos/src/bin/platformer_3d.rs:189:42 | 189 | ("flat (underfit)", |mut cmd| { | ----^^^ | | | help: remove this `mut`
variable does not need to be mutable: demos/src/bin/platformer_3d.rs#L183
warning: variable does not need to be mutable --> demos/src/bin/platformer_3d.rs:183:29 | 183 | ("no", |mut cmd| { | ----^^^ | | | help: remove this `mut` | = note: `#[warn(unused_mut)]` on by default
unused variable: `cmd`: demos/src/bin/platformer_3d.rs#L295
warning: unused variable: `cmd` --> demos/src/bin/platformer_3d.rs:295:59 | 295 | cmd.insert(TnuaCrouchEnforcer::new(0.5 * Vector3::Y, |cmd| { | ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
unused variable: `use_collision_groups`: demos/src/bin/platformer_3d.rs#L249
warning: unused variable: `use_collision_groups` --> demos/src/bin/platformer_3d.rs:249:27 | 249 | |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#L249
warning: unused variable: `cmd` --> demos/src/bin/platformer_3d.rs:249:22 | 249 | |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#L227
warning: unused variable: `cmd` --> demos/src/bin/platformer_3d.rs:227:52 | 227 | .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#L219
warning: unused variable: `cmd` --> demos/src/bin/platformer_3d.rs:219:43 | 219 | ("ball (exact)", |mut cmd| { | ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
unused variable: `cmd`: demos/src/bin/platformer_3d.rs#L213
warning: unused variable: `cmd` --> demos/src/bin/platformer_3d.rs:213:46 | 213 | ("ball (underfit)", |mut cmd| { | ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
unused variable: `cmd`: demos/src/bin/platformer_3d.rs#L205
warning: unused variable: `cmd` --> demos/src/bin/platformer_3d.rs:205:45 | 205 | ("flat (overfit)", |mut cmd| { | ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
unused variable: `cmd`: demos/src/bin/platformer_3d.rs#L197
warning: unused variable: `cmd` --> demos/src/bin/platformer_3d.rs:197:43 | 197 | ("flat (exact)", |mut cmd| { | ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
unused variable: `cmd`: demos/src/bin/platformer_3d.rs#L189
warning: unused variable: `cmd` --> demos/src/bin/platformer_3d.rs:189:46 | 189 | ("flat (underfit)", |mut cmd| { | ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
unused variable: `cmd`: demos/src/bin/platformer_3d.rs#L183
warning: unused variable: `cmd` --> demos/src/bin/platformer_3d.rs:183:33 | 183 | ("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/shooter_like.rs#L297
warning: returning the result of a `let` binding from a block --> demos/src/bin/shooter_like.rs:297:9 | 180 | / let command_altering_selectors = CommandAlteringSelectors::default() 181 | | // By default Tnua uses a raycast, but this could be a problem if the character stands 182 | | // just past the edge while part of its body is above the platform. To solve this, we 183 | | // need to cast a shape - which is physics-engine specific. We set the shape using a ... | 277 | | }, 278 | | ); | |______________- unnecessary `let` binding ... 297 | 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 | 180 ~ 181 | #[cfg(feature = "rapier3d")] ... 198 | ); 199 ~ CommandAlteringSelectors::default() 200 + // By default Tnua uses a raycast, but this could be a problem if the character stands 201 + // just past the edge while part of its body is above the platform. To solve this, we 202 + // need to cast a shape - which is physics-engine specific. We set the shape using a 203 + // component. 204 + .with_combo( 205 + "Sensor Shape", 206 + 1, 207 + &[ 208 + ("no", |mut cmd| { 209 + #[cfg(feature = "rapier3d")] 210 + cmd.remove::<TnuaRapier3dSensorShape>(); 211 + #[cfg(feature = "xpbd3d")] 212 + cmd.remove::<TnuaXpbd3dSensorShape>(); 213 + }), 214 + ("flat (underfit)", |mut cmd| { 215 + #[cfg(feature = "rapier3d")] 216 + cmd.insert(TnuaRapier3dSensorShape(rapier::Collider::cylinder( 217 + 0.0, 0.49, 218 + ))); 219 + #[cfg(feature = "xpbd3d")] 220 + cmd.insert(TnuaXpbd3dSensorShape(xpbd::Collider::cylinder(0.0, 0.49))); 221 + }), 222 + ("flat (exact)", |mut cmd| { 223 + #[cfg(feature = "rapier3d")] 224 + cmd.insert(TnuaRapier3dSensorShape(rapier::Collider::cylinder( 225 + 0.0, 0.5, 226 + ))); 227 + #[cfg(feature = "xpbd3d")] 228 + cmd.insert(TnuaXpbd3dSensorShape(xpbd::Collider::cylinder(0.0, 0.5))); 229 + }), 230 + ("flat (overfit)", |mut cmd| { 231 + #[cfg(feature = "rapier3d")] 232 + cmd.insert(TnuaRapier3dSensorShape(rapier::Collider::cylinder( 233 + 0.0, 0.51, 234 + ))); 235 + #[cfg(feature = "xpbd3d")] 236 + cmd.insert(TnuaXpbd3dSensorShape(xpbd::Collider::cylinder(0.0, 0.51))); 237 + }), 238 + ("ball (underfit)", |mut cmd| { 239 + #[cfg(feature = "rapier3d")] 240 + cmd.insert(TnuaRapier3dSensorShape(rapier::Collider::ball(0.49))); 241 + #[cfg(feature = "xpbd3d")] 242 + cmd.insert(TnuaXpbd3dSensorShape(xpbd::Collider::sphere(0.49))); 243 + }), 244 + ("ball (exact)", |mut cmd| { 245 + #[cfg(feature = "rapier3d")] 246 + cmd.insert(TnuaRapier3dSensorShape(rapier::Collider::ball(0.5))); 247 + #[cfg(feature = "xpbd3d")] 248 + cmd.insert(TnuaXpbd3dSensorShape(xpbd::Collider::sphere(0.5))); 249 + }), 250 + ], 251 + ) 252 + .with_checkbox("Lock Tilt", true, |mut cmd, lock_tilt| { 253 + // Tnua will automatically apply angular impulses/forces to fix the tilt and make 254 + // the character stand upward, but it is also possible to just let the physics 255 + // engine prevent rotation (other than around the Y axis, for turning) 256 + if lock_tilt { 257 + #[cfg(feature = "rapier3d")] 258 + cmd.insert( 259 + rapier::LockedAxes::ROTATION_LOCKED_X 260 + | rapier::LockedAxes::ROTATION_LOCKED_Z, 261 + ); 262 + #[cfg(feature = "xpbd3d")] 263 + cmd.insert(xpbd::LockedAxes::new().lock_rotation_x().lock_rotation_z()); 264 + } else { 265 + #[cfg(feature = "rapier3d")] 266 + cmd.insert(rapier::LockedAxes::empty()); 267 + #[cfg(feature = "xpbd3d")] 268 + cmd.insert(xpbd::LockedAxes::new()); 269 + } 270 + }) 271 + .with_checkbox( 272 + "Phase Through Collision Groups", 273 + true, 274 + |mut cmd, use_collision_groups| { 275 + #[cfg(feature = "rapier3d")] 276 + if use_collision_groups { 277 + cmd.insert(CollisionGroups { 278 + memberships: Group::GROUP_2, 279 + filters: Group::GROUP_2, 280 + }); 281 + } else { 282 + cmd.insert(CollisionGroups { 283 + memberships: Group::ALL, 284 + filters: Group::ALL, 285 + }); 286 + } 287 + #[cfg(feature = "xpbd3d")] 288 + { 289 + let player_layers: LayerMask = if use_collision_groups { 290 + [LayerNames::Player].into() 291 + } else { 292 + [LayerNames::Player, LayerNames::PhaseThrough].into() 293 + }; 294 + cmd.insert(CollisionLayers::new(player_layers, player_layers)); 295 + } 296 + }, 297 + ) |
returning the result of a `let` binding from a block: demos/src/bin/platformer_2d.rs#L265
warning: returning the result of a `let` binding from a block --> demos/src/bin/platformer_2d.rs:265:9 | 155 | / let command_altering_selectors = CommandAlteringSelectors::default() 156 | | // By default Tnua uses a raycast, but this could be a problem if the character stands 157 | | // just past the edge while part of its body is above the platform. To solve this, we 158 | | // need to cast a shape - which is physics-engine specific. We set the shape using a ... | 243 | | }, 244 | | ); | |______________- unnecessary `let` binding ... 265 | 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 | 155 ~ 156 | #[cfg(feature = "rapier2d")] ... 175 | ); 176 ~ CommandAlteringSelectors::default() 177 + // By default Tnua uses a raycast, but this could be a problem if the character stands 178 + // just past the edge while part of its body is above the platform. To solve this, we 179 + // need to cast a shape - which is physics-engine specific. We set the shape using a 180 + // component. 181 + .with_combo( 182 + "Sensor Shape", 183 + 1, 184 + &[ 185 + ("Point", |mut cmd| { 186 + #[cfg(feature = "rapier2d")] 187 + cmd.remove::<TnuaRapier2dSensorShape>(); 188 + #[cfg(feature = "xpbd2d")] 189 + cmd.remove::<TnuaXpbd2dSensorShape>(); 190 + }), 191 + ("Flat (underfit)", |mut cmd| { 192 + #[cfg(feature = "rapier2d")] 193 + cmd.insert(TnuaRapier2dSensorShape(rapier::Collider::cuboid(0.49, 0.0))); 194 + #[cfg(feature = "xpbd2d")] 195 + cmd.insert(TnuaXpbd2dSensorShape(xpbd::Collider::rectangle(0.99, 0.0))); 196 + }), 197 + ("Flat (exact)", |mut cmd| { 198 + #[cfg(feature = "rapier2d")] 199 + cmd.insert(TnuaRapier2dSensorShape(rapier::Collider::cuboid(0.5, 0.0))); 200 + #[cfg(feature = "xpbd2d")] 201 + cmd.insert(TnuaXpbd2dSensorShape(xpbd::Collider::rectangle(1.0, 0.0))); 202 + }), 203 + ("flat (overfit)", |mut cmd| { 204 + #[cfg(feature = "rapier2d")] 205 + cmd.insert(TnuaRapier2dSensorShape(rapier::Collider::cuboid(0.51, 0.0))); 206 + #[cfg(feature = "xpbd2d")] 207 + cmd.insert(TnuaXpbd2dSensorShape(xpbd::Collider::rectangle(1.01, 0.0))); 208 + }), 209 + ("Ball (underfit)", |mut cmd| { 210 + #[cfg(feature = "rapier2d")] 211 + cmd.insert(TnuaRapier2dSensorShape(rapier::Collider::ball(0.49))); 212 + #[cfg(feature = "xpbd2d")] 213 + cmd.insert(TnuaXpbd2dSensorShape(xpbd::Collider::circle(0.49))); 214 + }), 215 + ("Ball (exact)", |mut cmd| { 216 + #[cfg(feature = "rapier2d")] 217 + cmd.insert(TnuaRapier2dSensorShape(rapier::Collider::ball(0.5))); 218 + #[cfg(feature = "xpbd2d")] 219 + cmd.insert(TnuaXpbd2dSensorShape(xpbd::Collider::circle(0.5))); 220 + }), 221 + ], 222 + ) 223 + .with_checkbox("Lock Tilt", false, |mut cmd, lock_tilt| { 224 + // Tnua will automatically apply angular impulses/forces to fix the tilt and make 225 + // the character stand upward, but it is also possible to just let the physics 226 + // engine prevent rotation (other than around the Y axis, for turning) 227 + if lock_tilt { 228 + #[cfg(feature = "rapier2d")] 229 + cmd.insert(rapier::LockedAxes::ROTATION_LOCKED); 230 + #[cfg(feature = "xpbd2d")] 231 + cmd.insert(xpbd::LockedAxes::new().lock_rotation()); 232 + } else { 233 + #[cfg(feature = "rapier2d")] 234 + cmd.insert(rapier::LockedAxes::empty()); 235 + #[cfg(feature = "xpbd2d")] 236 + cmd.insert(xpbd::LockedAxes::new()); 237 + } 238 + }) 239 + .with_checkbox( 240 + "Phase Through Collision Groups", 241 + true, 242 + |mut cmd, use_collision_groups| { 243 + #[cfg(feature = "rapier2d")] 244 + if use_collision_groups { 245 + cmd.insert(CollisionGroups { 246 + memberships: Group::GROUP_2, 247 + filters: Group::GROUP_2, 248 + }); 249 + } else { 250 + cmd.insert(CollisionGroups { 251 + memberships: Group::ALL, 252 + filters: Group::ALL, 253 + }); 254 + } 255 + #[cfg(feature = "xpbd2d")] 256 + { 257 + let player_layers: LayerMask = if use_collision_groups { 258 + [LayerNames::Player].into() 259 + } else { 260 + [LayerNames::Player, LayerNames::PhaseThrough].into() 261 + }; 262 + cmd.insert(CollisionLayers::new(player_layers, player_layers)); 263 + } 264 + }, 265 + ) |
variable does not need to be mutable: demos/src/bin/shooter_like.rs#L255
warning: variable does not need to be mutable --> demos/src/bin/shooter_like.rs:255:18 | 255 | |mut cmd, use_collision_groups| { | ----^^^ | | | help: remove this `mut`
variable does not need to be mutable: demos/src/bin/shooter_like.rs#L233
warning: variable does not need to be mutable --> demos/src/bin/shooter_like.rs:233:48 | 233 | .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#L225
warning: variable does not need to be mutable --> demos/src/bin/shooter_like.rs:225:39 | 225 | ("ball (exact)", |mut cmd| { | ----^^^ | | | help: remove this `mut`
variable does not need to be mutable: demos/src/bin/shooter_like.rs#L219
warning: variable does not need to be mutable --> demos/src/bin/shooter_like.rs:219:42 | 219 | ("ball (underfit)", |mut cmd| { | ----^^^ | | | help: remove this `mut`
variable does not need to be mutable: demos/src/bin/shooter_like.rs#L211
warning: variable does not need to be mutable --> demos/src/bin/shooter_like.rs:211:41 | 211 | ("flat (overfit)", |mut cmd| { | ----^^^ | | | help: remove this `mut`
variable does not need to be mutable: demos/src/bin/shooter_like.rs#L203
warning: variable does not need to be mutable --> demos/src/bin/shooter_like.rs:203:39 | 203 | ("flat (exact)", |mut cmd| { | ----^^^ | | | help: remove this `mut`
variable does not need to be mutable: demos/src/bin/shooter_like.rs#L195
warning: variable does not need to be mutable --> demos/src/bin/shooter_like.rs:195:42 | 195 | ("flat (underfit)", |mut cmd| { | ----^^^ | | | help: remove this `mut`
variable does not need to be mutable: demos/src/bin/shooter_like.rs#L189
warning: variable does not need to be mutable --> demos/src/bin/shooter_like.rs:189:29 | 189 | ("no", |mut cmd| { | ----^^^ | | | help: remove this `mut` | = note: `#[warn(unused_mut)]` on by default
unused variable: `cmd`: demos/src/bin/shooter_like.rs#L301
warning: unused variable: `cmd` --> demos/src/bin/shooter_like.rs:301:59 | 301 | cmd.insert(TnuaCrouchEnforcer::new(0.5 * Vector3::Y, |cmd| { | ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
unused variable: `use_collision_groups`: demos/src/bin/shooter_like.rs#L255
warning: unused variable: `use_collision_groups` --> demos/src/bin/shooter_like.rs:255:27 | 255 | |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#L255
warning: unused variable: `cmd` --> demos/src/bin/shooter_like.rs:255:22 | 255 | |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#L233
warning: unused variable: `cmd` --> demos/src/bin/shooter_like.rs:233:52 | 233 | .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#L225
warning: unused variable: `cmd` --> demos/src/bin/shooter_like.rs:225:43 | 225 | ("ball (exact)", |mut cmd| { | ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
unused variable: `cmd`: demos/src/bin/shooter_like.rs#L219
warning: unused variable: `cmd` --> demos/src/bin/shooter_like.rs:219:46 | 219 | ("ball (underfit)", |mut cmd| { | ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
unused variable: `cmd`: demos/src/bin/shooter_like.rs#L211
warning: unused variable: `cmd` --> demos/src/bin/shooter_like.rs:211:45 | 211 | ("flat (overfit)", |mut cmd| { | ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
unused variable: `cmd`: demos/src/bin/shooter_like.rs#L203
warning: unused variable: `cmd` --> demos/src/bin/shooter_like.rs:203:43 | 203 | ("flat (exact)", |mut cmd| { | ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
unused variable: `cmd`: demos/src/bin/shooter_like.rs#L195
warning: unused variable: `cmd` --> demos/src/bin/shooter_like.rs:195:46 | 195 | ("flat (underfit)", |mut cmd| { | ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
unused variable: `cmd`: demos/src/bin/shooter_like.rs#L189
warning: unused variable: `cmd` --> demos/src/bin/shooter_like.rs:189:33 | 189 | ("no", |mut cmd| { | ^^^ help: if this is intentional, prefix it with an underscore: `_cmd` | = note: `#[warn(unused_variables)]` on by default
variable does not need to be mutable: demos/src/bin/platformer_2d.rs#L221
warning: variable does not need to be mutable --> demos/src/bin/platformer_2d.rs:221:18 | 221 | |mut cmd, use_collision_groups| { | ----^^^ | | | help: remove this `mut`
variable does not need to be mutable: demos/src/bin/platformer_2d.rs#L202
warning: variable does not need to be mutable --> demos/src/bin/platformer_2d.rs:202:49 | 202 | .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#L194
warning: variable does not need to be mutable --> demos/src/bin/platformer_2d.rs:194:39 | 194 | ("Ball (exact)", |mut cmd| { | ----^^^ | | | help: remove this `mut`
variable does not need to be mutable: demos/src/bin/platformer_2d.rs#L188
warning: variable does not need to be mutable --> demos/src/bin/platformer_2d.rs:188:42 | 188 | ("Ball (underfit)", |mut cmd| { | ----^^^ | | | help: remove this `mut`
variable does not need to be mutable: demos/src/bin/platformer_2d.rs#L182
warning: variable does not need to be mutable --> demos/src/bin/platformer_2d.rs:182:41 | 182 | ("flat (overfit)", |mut cmd| { | ----^^^ | | | help: remove this `mut`
variable does not need to be mutable: demos/src/bin/platformer_2d.rs#L176
warning: variable does not need to be mutable --> demos/src/bin/platformer_2d.rs:176:39 | 176 | ("Flat (exact)", |mut cmd| { | ----^^^ | | | help: remove this `mut`
variable does not need to be mutable: demos/src/bin/platformer_2d.rs#L170
warning: variable does not need to be mutable --> demos/src/bin/platformer_2d.rs:170:42 | 170 | ("Flat (underfit)", |mut cmd| { | ----^^^ | | | help: remove this `mut`
variable does not need to be mutable: demos/src/bin/platformer_2d.rs#L164
warning: variable does not need to be mutable --> demos/src/bin/platformer_2d.rs:164:32 | 164 | ("Point", |mut cmd| { | ----^^^ | | | help: remove this `mut` | = note: `#[warn(unused_mut)]` on by default
unused variable: `cmd`: demos/src/bin/platformer_2d.rs#L269
warning: unused variable: `cmd` --> demos/src/bin/platformer_2d.rs:269:59 | 269 | cmd.insert(TnuaCrouchEnforcer::new(0.5 * Vector3::Y, |cmd| { | ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
unused variable: `use_collision_groups`: demos/src/bin/platformer_2d.rs#L221
warning: unused variable: `use_collision_groups` --> demos/src/bin/platformer_2d.rs:221:27 | 221 | |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#L221
warning: unused variable: `cmd` --> demos/src/bin/platformer_2d.rs:221:22 | 221 | |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#L202
warning: unused variable: `cmd` --> demos/src/bin/platformer_2d.rs:202:53 | 202 | .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#L194
warning: unused variable: `cmd` --> demos/src/bin/platformer_2d.rs:194:43 | 194 | ("Ball (exact)", |mut cmd| { | ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
unused variable: `cmd`: demos/src/bin/platformer_2d.rs#L188
warning: unused variable: `cmd` --> demos/src/bin/platformer_2d.rs:188:46 | 188 | ("Ball (underfit)", |mut cmd| { | ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
unused variable: `cmd`: demos/src/bin/platformer_2d.rs#L182
warning: unused variable: `cmd` --> demos/src/bin/platformer_2d.rs:182:45 | 182 | ("flat (overfit)", |mut cmd| { | ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
unused variable: `cmd`: demos/src/bin/platformer_2d.rs#L176
warning: unused variable: `cmd` --> demos/src/bin/platformer_2d.rs:176:43 | 176 | ("Flat (exact)", |mut cmd| { | ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
unused variable: `cmd`: demos/src/bin/platformer_2d.rs#L170
warning: unused variable: `cmd` --> demos/src/bin/platformer_2d.rs:170:46 | 170 | ("Flat (underfit)", |mut cmd| { | ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
unused variable: `cmd`: demos/src/bin/platformer_2d.rs#L164
warning: unused variable: `cmd` --> demos/src/bin/platformer_2d.rs:164:36 | 164 | ("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/platformer_3d.rs#L291
warning: returning the result of a `let` binding from a block --> demos/src/bin/platformer_3d.rs:291:9 | 174 | / let command_altering_selectors = 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 ... | 271 | | }, 272 | | ); | |______________- unnecessary `let` binding ... 291 | 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 | 174 ~ 175 | #[cfg(feature = "rapier3d")] ... 192 | ); 193 ~ CommandAlteringSelectors::default() 194 + // By default Tnua uses a raycast, but this could be a problem if the character stands 195 + // just past the edge while part of its body is above the platform. To solve this, we 196 + // need to cast a shape - which is physics-engine specific. We set the shape using a 197 + // component. 198 + .with_combo( 199 + "Sensor Shape", 200 + 1, 201 + &[ 202 + ("no", |mut cmd| { 203 + #[cfg(feature = "rapier3d")] 204 + cmd.remove::<TnuaRapier3dSensorShape>(); 205 + #[cfg(feature = "xpbd3d")] 206 + cmd.remove::<TnuaXpbd3dSensorShape>(); 207 + }), 208 + ("flat (underfit)", |mut cmd| { 209 + #[cfg(feature = "rapier3d")] 210 + cmd.insert(TnuaRapier3dSensorShape(rapier::Collider::cylinder( 211 + 0.0, 0.49, 212 + ))); 213 + #[cfg(feature = "xpbd3d")] 214 + cmd.insert(TnuaXpbd3dSensorShape(xpbd::Collider::cylinder(0.0, 0.49))); 215 + }), 216 + ("flat (exact)", |mut cmd| { 217 + #[cfg(feature = "rapier3d")] 218 + cmd.insert(TnuaRapier3dSensorShape(rapier::Collider::cylinder( 219 + 0.0, 0.5, 220 + ))); 221 + #[cfg(feature = "xpbd3d")] 222 + cmd.insert(TnuaXpbd3dSensorShape(xpbd::Collider::cylinder(0.0, 0.5))); 223 + }), 224 + ("flat (overfit)", |mut cmd| { 225 + #[cfg(feature = "rapier3d")] 226 + cmd.insert(TnuaRapier3dSensorShape(rapier::Collider::cylinder( 227 + 0.0, 0.51, 228 + ))); 229 + #[cfg(feature = "xpbd3d")] 230 + cmd.insert(TnuaXpbd3dSensorShape(xpbd::Collider::cylinder(0.0, 0.51))); 231 + }), 232 + ("ball (underfit)", |mut cmd| { 233 + #[cfg(feature = "rapier3d")] 234 + cmd.insert(TnuaRapier3dSensorShape(rapier::Collider::ball(0.49))); 235 + #[cfg(feature = "xpbd3d")] 236 + cmd.insert(TnuaXpbd3dSensorShape(xpbd::Collider::sphere(0.49))); 237 + }), 238 + ("ball (exact)", |mut cmd| { 239 + #[cfg(feature = "rapier3d")] 240 + cmd.insert(TnuaRapier3dSensorShape(rapier::Collider::ball(0.5))); 241 + #[cfg(feature = "xpbd3d")] 242 + cmd.insert(TnuaXpbd3dSensorShape(xpbd::Collider::sphere(0.5))); 243 + }), 244 + ], 245 + ) 246 + .with_checkbox("Lock Tilt", true, |mut cmd, lock_tilt| { 247 + // Tnua will automatically apply angular impulses/forces to fix the tilt and make 248 + // the character stand upward, but it is also possible to just let the physics 249 + // engine prevent rotation (other than around the Y axis, for turning) 250 + if lock_tilt { 251 + #[cfg(feature = "rapier3d")] 252 + cmd.insert( 253 + rapier::LockedAxes::ROTATION_LOCKED_X 254 + | rapier::LockedAxes::ROTATION_LOCKED_Z, 255 + ); 256 + #[cfg(feature = "xpbd3d")] 257 + cmd.insert(xpbd::LockedAxes::new().lock_rotation_x().lock_rotation_z()); 258 + } else { 259 + #[cfg(feature = "rapier3d")] 260 + cmd.insert(rapier::LockedAxes::empty()); 261 + #[cfg(feature = "xpbd3d")] 262 + cmd.insert(xpbd::LockedAxes::new()); 263 + } 264 + }) 265 + .with_checkbox( 266 + "Phase Through Collision Groups", 267 + true, 268 + |mut cmd, use_collision_groups| { 269 + #[cfg(feature = "rapier3d")] 270 + if use_collision_groups { 271 + cmd.insert(CollisionGroups { 272 + memberships: Group::GROUP_2, 273 + filters: Group::GROUP_2, 274 + }); 275 + } else { 276 + cmd.insert(CollisionGroups { 277 + memberships: Group::ALL, 278 + filters: Group::ALL, 279 + }); 280 + } 281 + #[cfg(feature = "xpbd3d")] 282 + { 283 + let player_layers: LayerMask = if use_collision_groups { 284 + [LayerNames::Player].into() 285 + } else { 286 + [LayerNames::Player, LayerNames::PhaseThrough].into() 287 + }; 288 + cmd.insert(CollisionLayers::new(player_layers, player_layers)); 289 + } 290 + }, 291 + ) |
variable does not need to be mutable: demos/src/bin/platformer_3d.rs#L249
warning: variable does not need to be mutable --> demos/src/bin/platformer_3d.rs:249:18 | 249 | |mut cmd, use_collision_groups| { | ----^^^ | | | help: remove this `mut`
variable does not need to be mutable: demos/src/bin/platformer_3d.rs#L227
warning: variable does not need to be mutable --> demos/src/bin/platformer_3d.rs:227:48 | 227 | .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#L219
warning: variable does not need to be mutable --> demos/src/bin/platformer_3d.rs:219:39 | 219 | ("ball (exact)", |mut cmd| { | ----^^^ | | | help: remove this `mut`
variable does not need to be mutable: demos/src/bin/platformer_3d.rs#L213
warning: variable does not need to be mutable --> demos/src/bin/platformer_3d.rs:213:42 | 213 | ("ball (underfit)", |mut cmd| { | ----^^^ | | | help: remove this `mut`
variable does not need to be mutable: demos/src/bin/platformer_3d.rs#L205
warning: variable does not need to be mutable --> demos/src/bin/platformer_3d.rs:205:41 | 205 | ("flat (overfit)", |mut cmd| { | ----^^^ | | | help: remove this `mut`
variable does not need to be mutable: demos/src/bin/platformer_3d.rs#L197
warning: variable does not need to be mutable --> demos/src/bin/platformer_3d.rs:197:39 | 197 | ("flat (exact)", |mut cmd| { | ----^^^ | | | help: remove this `mut`
variable does not need to be mutable: demos/src/bin/platformer_3d.rs#L189
warning: variable does not need to be mutable --> demos/src/bin/platformer_3d.rs:189:42 | 189 | ("flat (underfit)", |mut cmd| { | ----^^^ | | | help: remove this `mut`
variable does not need to be mutable: demos/src/bin/platformer_3d.rs#L183
warning: variable does not need to be mutable --> demos/src/bin/platformer_3d.rs:183:29 | 183 | ("no", |mut cmd| { | ----^^^ | | | help: remove this `mut` | = note: `#[warn(unused_mut)]` on by default
unused variable: `cmd`: demos/src/bin/platformer_3d.rs#L295
warning: unused variable: `cmd` --> demos/src/bin/platformer_3d.rs:295:59 | 295 | cmd.insert(TnuaCrouchEnforcer::new(0.5 * Vector3::Y, |cmd| { | ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
unused variable: `use_collision_groups`: demos/src/bin/platformer_3d.rs#L249
warning: unused variable: `use_collision_groups` --> demos/src/bin/platformer_3d.rs:249:27 | 249 | |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#L249
warning: unused variable: `cmd` --> demos/src/bin/platformer_3d.rs:249:22 | 249 | |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#L227
warning: unused variable: `cmd` --> demos/src/bin/platformer_3d.rs:227:52 | 227 | .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#L219
warning: unused variable: `cmd` --> demos/src/bin/platformer_3d.rs:219:43 | 219 | ("ball (exact)", |mut cmd| { | ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
unused variable: `cmd`: demos/src/bin/platformer_3d.rs#L213
warning: unused variable: `cmd` --> demos/src/bin/platformer_3d.rs:213:46 | 213 | ("ball (underfit)", |mut cmd| { | ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
unused variable: `cmd`: demos/src/bin/platformer_3d.rs#L205
warning: unused variable: `cmd` --> demos/src/bin/platformer_3d.rs:205:45 | 205 | ("flat (overfit)", |mut cmd| { | ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
unused variable: `cmd`: demos/src/bin/platformer_3d.rs#L197
warning: unused variable: `cmd` --> demos/src/bin/platformer_3d.rs:197:43 | 197 | ("flat (exact)", |mut cmd| { | ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
unused variable: `cmd`: demos/src/bin/platformer_3d.rs#L189
warning: unused variable: `cmd` --> demos/src/bin/platformer_3d.rs:189:46 | 189 | ("flat (underfit)", |mut cmd| { | ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
unused variable: `cmd`: demos/src/bin/platformer_3d.rs#L183
warning: unused variable: `cmd` --> demos/src/bin/platformer_3d.rs:183:33 | 183 | ("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/shooter_like.rs#L297
warning: returning the result of a `let` binding from a block --> demos/src/bin/shooter_like.rs:297:9 | 180 | / let command_altering_selectors = CommandAlteringSelectors::default() 181 | | // By default Tnua uses a raycast, but this could be a problem if the character stands 182 | | // just past the edge while part of its body is above the platform. To solve this, we 183 | | // need to cast a shape - which is physics-engine specific. We set the shape using a ... | 277 | | }, 278 | | ); | |______________- unnecessary `let` binding ... 297 | 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 | 180 ~ 181 | #[cfg(feature = "rapier3d")] ... 198 | ); 199 ~ CommandAlteringSelectors::default() 200 + // By default Tnua uses a raycast, but this could be a problem if the character stands 201 + // just past the edge while part of its body is above the platform. To solve this, we 202 + // need to cast a shape - which is physics-engine specific. We set the shape using a 203 + // component. 204 + .with_combo( 205 + "Sensor Shape", 206 + 1, 207 + &[ 208 + ("no", |mut cmd| { 209 + #[cfg(feature = "rapier3d")] 210 + cmd.remove::<TnuaRapier3dSensorShape>(); 211 + #[cfg(feature = "xpbd3d")] 212 + cmd.remove::<TnuaXpbd3dSensorShape>(); 213 + }), 214 + ("flat (underfit)", |mut cmd| { 215 + #[cfg(feature = "rapier3d")] 216 + cmd.insert(TnuaRapier3dSensorShape(rapier::Collider::cylinder( 217 + 0.0, 0.49, 218 + ))); 219 + #[cfg(feature = "xpbd3d")] 220 + cmd.insert(TnuaXpbd3dSensorShape(xpbd::Collider::cylinder(0.0, 0.49))); 221 + }), 222 + ("flat (exact)", |mut cmd| { 223 + #[cfg(feature = "rapier3d")] 224 + cmd.insert(TnuaRapier3dSensorShape(rapier::Collider::cylinder( 225 + 0.0, 0.5, 226 + ))); 227 + #[cfg(feature = "xpbd3d")] 228 + cmd.insert(TnuaXpbd3dSensorShape(xpbd::Collider::cylinder(0.0, 0.5))); 229 + }), 230 + ("flat (overfit)", |mut cmd| { 231 + #[cfg(feature = "rapier3d")] 232 + cmd.insert(TnuaRapier3dSensorShape(rapier::Collider::cylinder( 233 + 0.0, 0.51, 234 + ))); 235 + #[cfg(feature = "xpbd3d")] 236 + cmd.insert(TnuaXpbd3dSensorShape(xpbd::Collider::cylinder(0.0, 0.51))); 237 + }), 238 + ("ball (underfit)", |mut cmd| { 239 + #[cfg(feature = "rapier3d")] 240 + cmd.insert(TnuaRapier3dSensorShape(rapier::Collider::ball(0.49))); 241 + #[cfg(feature = "xpbd3d")] 242 + cmd.insert(TnuaXpbd3dSensorShape(xpbd::Collider::sphere(0.49))); 243 + }), 244 + ("ball (exact)", |mut cmd| { 245 + #[cfg(feature = "rapier3d")] 246 + cmd.insert(TnuaRapier3dSensorShape(rapier::Collider::ball(0.5))); 247 + #[cfg(feature = "xpbd3d")] 248 + cmd.insert(TnuaXpbd3dSensorShape(xpbd::Collider::sphere(0.5))); 249 + }), 250 + ], 251 + ) 252 + .with_checkbox("Lock Tilt", true, |mut cmd, lock_tilt| { 253 + // Tnua will automatically apply angular impulses/forces to fix the tilt and make 254 + // the character stand upward, but it is also possible to just let the physics 255 + // engine prevent rotation (other than around the Y axis, for turning) 256 + if lock_tilt { 257 + #[cfg(feature = "rapier3d")] 258 + cmd.insert( 259 + rapier::LockedAxes::ROTATION_LOCKED_X 260 + | rapier::LockedAxes::ROTATION_LOCKED_Z, 261 + ); 262 + #[cfg(feature = "xpbd3d")] 263 + cmd.insert(xpbd::LockedAxes::new().lock_rotation_x().lock_rotation_z()); 264 + } else { 265 + #[cfg(feature = "rapier3d")] 266 + cmd.insert(rapier::LockedAxes::empty()); 267 + #[cfg(feature = "xpbd3d")] 268 + cmd.insert(xpbd::LockedAxes::new()); 269 + } 270 + }) 271 + .with_checkbox( 272 + "Phase Through Collision Groups", 273 + true, 274 + |mut cmd, use_collision_groups| { 275 + #[cfg(feature = "rapier3d")] 276 + if use_collision_groups { 277 + cmd.insert(CollisionGroups { 278 + memberships: Group::GROUP_2, 279 + filters: Group::GROUP_2, 280 + }); 281 + } else { 282 + cmd.insert(CollisionGroups { 283 + memberships: Group::ALL, 284 + filters: Group::ALL, 285 + }); 286 + } 287 + #[cfg(feature = "xpbd3d")] 288 + { 289 + let player_layers: LayerMask = if use_collision_groups { 290 + [LayerNames::Player].into() 291 + } else { 292 + [LayerNames::Player, LayerNames::PhaseThrough].into() 293 + }; 294 + cmd.insert(CollisionLayers::new(player_layers, player_layers)); 295 + } 296 + }, 297 + ) |
variable does not need to be mutable: demos/src/bin/shooter_like.rs#L255
warning: variable does not need to be mutable --> demos/src/bin/shooter_like.rs:255:18 | 255 | |mut cmd, use_collision_groups| { | ----^^^ | | | help: remove this `mut`
variable does not need to be mutable: demos/src/bin/shooter_like.rs#L233
warning: variable does not need to be mutable --> demos/src/bin/shooter_like.rs:233:48 | 233 | .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#L225
warning: variable does not need to be mutable --> demos/src/bin/shooter_like.rs:225:39 | 225 | ("ball (exact)", |mut cmd| { | ----^^^ | | | help: remove this `mut`
variable does not need to be mutable: demos/src/bin/shooter_like.rs#L219
warning: variable does not need to be mutable --> demos/src/bin/shooter_like.rs:219:42 | 219 | ("ball (underfit)", |mut cmd| { | ----^^^ | | | help: remove this `mut`
variable does not need to be mutable: demos/src/bin/shooter_like.rs#L211
warning: variable does not need to be mutable --> demos/src/bin/shooter_like.rs:211:41 | 211 | ("flat (overfit)", |mut cmd| { | ----^^^ | | | help: remove this `mut`
variable does not need to be mutable: demos/src/bin/shooter_like.rs#L203
warning: variable does not need to be mutable --> demos/src/bin/shooter_like.rs:203:39 | 203 | ("flat (exact)", |mut cmd| { | ----^^^ | | | help: remove this `mut`
variable does not need to be mutable: demos/src/bin/shooter_like.rs#L195
warning: variable does not need to be mutable --> demos/src/bin/shooter_like.rs:195:42 | 195 | ("flat (underfit)", |mut cmd| { | ----^^^ | | | help: remove this `mut`
variable does not need to be mutable: demos/src/bin/shooter_like.rs#L189
warning: variable does not need to be mutable --> demos/src/bin/shooter_like.rs:189:29 | 189 | ("no", |mut cmd| { | ----^^^ | | | help: remove this `mut` | = note: `#[warn(unused_mut)]` on by default
unused variable: `cmd`: demos/src/bin/shooter_like.rs#L301
warning: unused variable: `cmd` --> demos/src/bin/shooter_like.rs:301:59 | 301 | cmd.insert(TnuaCrouchEnforcer::new(0.5 * Vector3::Y, |cmd| { | ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
unused variable: `use_collision_groups`: demos/src/bin/shooter_like.rs#L255
warning: unused variable: `use_collision_groups` --> demos/src/bin/shooter_like.rs:255:27 | 255 | |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#L255
warning: unused variable: `cmd` --> demos/src/bin/shooter_like.rs:255:22 | 255 | |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#L233
warning: unused variable: `cmd` --> demos/src/bin/shooter_like.rs:233:52 | 233 | .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#L225
warning: unused variable: `cmd` --> demos/src/bin/shooter_like.rs:225:43 | 225 | ("ball (exact)", |mut cmd| { | ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
unused variable: `cmd`: demos/src/bin/shooter_like.rs#L219
warning: unused variable: `cmd` --> demos/src/bin/shooter_like.rs:219:46 | 219 | ("ball (underfit)", |mut cmd| { | ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
unused variable: `cmd`: demos/src/bin/shooter_like.rs#L211
warning: unused variable: `cmd` --> demos/src/bin/shooter_like.rs:211:45 | 211 | ("flat (overfit)", |mut cmd| { | ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
unused variable: `cmd`: demos/src/bin/shooter_like.rs#L203
warning: unused variable: `cmd` --> demos/src/bin/shooter_like.rs:203:43 | 203 | ("flat (exact)", |mut cmd| { | ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
unused variable: `cmd`: demos/src/bin/shooter_like.rs#L195
warning: unused variable: `cmd` --> demos/src/bin/shooter_like.rs:195:46 | 195 | ("flat (underfit)", |mut cmd| { | ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
unused variable: `cmd`: demos/src/bin/shooter_like.rs#L189
warning: unused variable: `cmd` --> demos/src/bin/shooter_like.rs:189:33 | 189 | ("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#L265
warning: returning the result of a `let` binding from a block --> demos/src/bin/platformer_2d.rs:265:9 | 155 | / let command_altering_selectors = CommandAlteringSelectors::default() 156 | | // By default Tnua uses a raycast, but this could be a problem if the character stands 157 | | // just past the edge while part of its body is above the platform. To solve this, we 158 | | // need to cast a shape - which is physics-engine specific. We set the shape using a ... | 243 | | }, 244 | | ); | |______________- unnecessary `let` binding ... 265 | 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 | 155 ~ 156 | #[cfg(feature = "rapier2d")] ... 175 | ); 176 ~ CommandAlteringSelectors::default() 177 + // By default Tnua uses a raycast, but this could be a problem if the character stands 178 + // just past the edge while part of its body is above the platform. To solve this, we 179 + // need to cast a shape - which is physics-engine specific. We set the shape using a 180 + // component. 181 + .with_combo( 182 + "Sensor Shape", 183 + 1, 184 + &[ 185 + ("Point", |mut cmd| { 186 + #[cfg(feature = "rapier2d")] 187 + cmd.remove::<TnuaRapier2dSensorShape>(); 188 + #[cfg(feature = "xpbd2d")] 189 + cmd.remove::<TnuaXpbd2dSensorShape>(); 190 + }), 191 + ("Flat (underfit)", |mut cmd| { 192 + #[cfg(feature = "rapier2d")] 193 + cmd.insert(TnuaRapier2dSensorShape(rapier::Collider::cuboid(0.49, 0.0))); 194 + #[cfg(feature = "xpbd2d")] 195 + cmd.insert(TnuaXpbd2dSensorShape(xpbd::Collider::rectangle(0.99, 0.0))); 196 + }), 197 + ("Flat (exact)", |mut cmd| { 198 + #[cfg(feature = "rapier2d")] 199 + cmd.insert(TnuaRapier2dSensorShape(rapier::Collider::cuboid(0.5, 0.0))); 200 + #[cfg(feature = "xpbd2d")] 201 + cmd.insert(TnuaXpbd2dSensorShape(xpbd::Collider::rectangle(1.0, 0.0))); 202 + }), 203 + ("flat (overfit)", |mut cmd| { 204 + #[cfg(feature = "rapier2d")] 205 + cmd.insert(TnuaRapier2dSensorShape(rapier::Collider::cuboid(0.51, 0.0))); 206 + #[cfg(feature = "xpbd2d")] 207 + cmd.insert(TnuaXpbd2dSensorShape(xpbd::Collider::rectangle(1.01, 0.0))); 208 + }), 209 + ("Ball (underfit)", |mut cmd| { 210 + #[cfg(feature = "rapier2d")] 211 + cmd.insert(TnuaRapier2dSensorShape(rapier::Collider::ball(0.49))); 212 + #[cfg(feature = "xpbd2d")] 213 + cmd.insert(TnuaXpbd2dSensorShape(xpbd::Collider::circle(0.49))); 214 + }), 215 + ("Ball (exact)", |mut cmd| { 216 + #[cfg(feature = "rapier2d")] 217 + cmd.insert(TnuaRapier2dSensorShape(rapier::Collider::ball(0.5))); 218 + #[cfg(feature = "xpbd2d")] 219 + cmd.insert(TnuaXpbd2dSensorShape(xpbd::Collider::circle(0.5))); 220 + }), 221 + ], 222 + ) 223 + .with_checkbox("Lock Tilt", false, |mut cmd, lock_tilt| { 224 + // Tnua will automatically apply angular impulses/forces to fix the tilt and make 225 + // the character stand upward, but it is also possible to just let the physics 226 + // engine prevent rotation (other than around the Y axis, for turning) 227 + if lock_tilt { 228 + #[cfg(feature = "rapier2d")] 229 + cmd.insert(rapier::LockedAxes::ROTATION_LOCKED); 230 + #[cfg(feature = "xpbd2d")] 231 + cmd.insert(xpbd::LockedAxes::new().lock_rotation()); 232 + } else { 233 + #[cfg(feature = "rapier2d")] 234 + cmd.insert(rapier::LockedAxes::empty()); 235 + #[cfg(feature = "xpbd2d")] 236 + cmd.insert(xpbd::LockedAxes::new()); 237 + } 238 + }) 239 + .with_checkbox( 240 + "Phase Through Collision Groups", 241 + true, 242 + |mut cmd, use_collision_groups| { 243 + #[cfg(feature = "rapier2d")] 244 + if use_collision_groups { 245 + cmd.insert(CollisionGroups { 246 + memberships: Group::GROUP_2, 247 + filters: Group::GROUP_2, 248 + }); 249 + } else { 250 + cmd.insert(CollisionGroups { 251 + memberships: Group::ALL, 252 + filters: Group::ALL, 253 + }); 254 + } 255 + #[cfg(feature = "xpbd2d")] 256 + { 257 + let player_layers: LayerMask = if use_collision_groups { 258 + [LayerNames::Player].into() 259 + } else { 260 + [LayerNames::Player, LayerNames::PhaseThrough].into() 261 + }; 262 + cmd.insert(CollisionLayers::new(player_layers, player_layers)); 263 + } 264 + }, 265 + ) |
variable does not need to be mutable: demos/src/bin/platformer_2d.rs#L221
warning: variable does not need to be mutable --> demos/src/bin/platformer_2d.rs:221:18 | 221 | |mut cmd, use_collision_groups| { | ----^^^ | | | help: remove this `mut`
variable does not need to be mutable: demos/src/bin/platformer_2d.rs#L202
warning: variable does not need to be mutable --> demos/src/bin/platformer_2d.rs:202:49 | 202 | .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#L194
warning: variable does not need to be mutable --> demos/src/bin/platformer_2d.rs:194:39 | 194 | ("Ball (exact)", |mut cmd| { | ----^^^ | | | help: remove this `mut`
variable does not need to be mutable: demos/src/bin/platformer_2d.rs#L188
warning: variable does not need to be mutable --> demos/src/bin/platformer_2d.rs:188:42 | 188 | ("Ball (underfit)", |mut cmd| { | ----^^^ | | | help: remove this `mut`
variable does not need to be mutable: demos/src/bin/platformer_2d.rs#L182
warning: variable does not need to be mutable --> demos/src/bin/platformer_2d.rs:182:41 | 182 | ("flat (overfit)", |mut cmd| { | ----^^^ | | | help: remove this `mut`
variable does not need to be mutable: demos/src/bin/platformer_2d.rs#L176
warning: variable does not need to be mutable --> demos/src/bin/platformer_2d.rs:176:39 | 176 | ("Flat (exact)", |mut cmd| { | ----^^^ | | | help: remove this `mut`
variable does not need to be mutable: demos/src/bin/platformer_2d.rs#L170
warning: variable does not need to be mutable --> demos/src/bin/platformer_2d.rs:170:42 | 170 | ("Flat (underfit)", |mut cmd| { | ----^^^ | | | help: remove this `mut`
variable does not need to be mutable: demos/src/bin/platformer_2d.rs#L164
warning: variable does not need to be mutable --> demos/src/bin/platformer_2d.rs:164:32 | 164 | ("Point", |mut cmd| { | ----^^^ | | | help: remove this `mut` | = note: `#[warn(unused_mut)]` on by default
unused variable: `cmd`: demos/src/bin/platformer_2d.rs#L269
warning: unused variable: `cmd` --> demos/src/bin/platformer_2d.rs:269:59 | 269 | cmd.insert(TnuaCrouchEnforcer::new(0.5 * Vector3::Y, |cmd| { | ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
unused variable: `use_collision_groups`: demos/src/bin/platformer_2d.rs#L221
warning: unused variable: `use_collision_groups` --> demos/src/bin/platformer_2d.rs:221:27 | 221 | |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#L221
warning: unused variable: `cmd` --> demos/src/bin/platformer_2d.rs:221:22 | 221 | |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#L202
warning: unused variable: `cmd` --> demos/src/bin/platformer_2d.rs:202:53 | 202 | .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#L194
warning: unused variable: `cmd` --> demos/src/bin/platformer_2d.rs:194:43 | 194 | ("Ball (exact)", |mut cmd| { | ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
unused variable: `cmd`: demos/src/bin/platformer_2d.rs#L188
warning: unused variable: `cmd` --> demos/src/bin/platformer_2d.rs:188:46 | 188 | ("Ball (underfit)", |mut cmd| { | ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
unused variable: `cmd`: demos/src/bin/platformer_2d.rs#L182
warning: unused variable: `cmd` --> demos/src/bin/platformer_2d.rs:182:45 | 182 | ("flat (overfit)", |mut cmd| { | ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
unused variable: `cmd`: demos/src/bin/platformer_2d.rs#L176
warning: unused variable: `cmd` --> demos/src/bin/platformer_2d.rs:176:43 | 176 | ("Flat (exact)", |mut cmd| { | ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
unused variable: `cmd`: demos/src/bin/platformer_2d.rs#L170
warning: unused variable: `cmd` --> demos/src/bin/platformer_2d.rs:170:46 | 170 | ("Flat (underfit)", |mut cmd| { | ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
unused variable: `cmd`: demos/src/bin/platformer_2d.rs#L164
warning: unused variable: `cmd` --> demos/src/bin/platformer_2d.rs:164:36 | 164 | ("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#L63
warning: associated function `make_system` is never used --> demos/src/moving_platform.rs:63:8 | 54 | impl MovingPlatform { | ------------------- associated function in this implementation ... 63 | fn make_system<V: Component>( | ^^^^^^^^^^^ | = note: `#[warn(dead_code)]` on by default
unused variable: `setting_from_ui`: demos/src/ui/mod.rs#L214
warning: unused variable: `setting_from_ui` --> demos/src/ui/mod.rs:214:5 | 214 | setting_from_ui: Res<DemoUiPhysicsBackendActive>, | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_setting_from_ui`
associated function `make_system` is never used: demos/src/moving_platform.rs#L63
warning: associated function `make_system` is never used --> demos/src/moving_platform.rs:63:8 | 54 | impl MovingPlatform { | ------------------- associated function in this implementation ... 63 | fn make_system<V: Component>( | ^^^^^^^^^^^ | = note: `#[warn(dead_code)]` on by default
unused variable: `setting_from_ui`: demos/src/ui/mod.rs#L214
warning: unused variable: `setting_from_ui` --> demos/src/ui/mod.rs:214:5 | 214 | 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#L7
warning: unused variable: `app` --> demos/src/moving_platform.rs:7:21 | 7 | 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 variable: `app`: demos/src/moving_platform.rs#L7
warning: unused variable: `app` --> demos/src/moving_platform.rs:7:21 | 7 | 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#L22
warning: unused import: `make_update_plot_data_system` --> demos/src/ui/mod.rs:22:22 | 22 | use self::plotting::{make_update_plot_data_system, plot_source_rolling_update}; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: `#[warn(unused_imports)]` on by default
unused import: `make_update_plot_data_system`: demos/src/ui/mod.rs#L22
warning: unused import: `make_update_plot_data_system` --> demos/src/ui/mod.rs:22:22 | 22 | 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/
Docs: demos/src/ui/mod.rs#L22
unused import: `make_update_plot_data_system`
Docs: demos/src/moving_platform.rs#L7
unused variable: `app`
Docs: demos/src/ui/mod.rs#L214
unused variable: `setting_from_ui`
Docs: demos/src/moving_platform.rs#L63
associated function `make_system` is never used
Docs
`tnua-demos-crate` (lib) generated 4 warnings (run `cargo fix --lib -p tnua-demos-crate` to apply 3 suggestions)
Docs: demos/src/ui/mod.rs#L22
unused import: `make_update_plot_data_system`
Docs: demos/src/moving_platform.rs#L7
unused variable: `app`
Docs: demos/src/ui/mod.rs#L214
unused variable: `setting_from_ui`
Docs: demos/src/moving_platform.rs#L63
associated function `make_system` is never used
Docs
`tnua-demos-crate` (lib) generated 4 warnings (run `cargo fix --lib -p tnua-demos-crate` to apply 3 suggestions)
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. 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/