diff --git a/crates/processing_ffi/src/lib.rs b/crates/processing_ffi/src/lib.rs index 731722cc..297202a3 100644 --- a/crates/processing_ffi/src/lib.rs +++ b/crates/processing_ffi/src/lib.rs @@ -64,7 +64,7 @@ pub extern "C" fn processing_surface_create( scale_factor: f32, ) -> u64 { error::clear_error(); - error::check(|| surface_create_windows(window_handle, width, height, scale_factor)) + error::check(|| surface_create_windows(window_handle, width, height, scale_factor, false)) .map(|e| e.to_bits()) .unwrap_or(0) } @@ -87,7 +87,14 @@ pub extern "C" fn processing_surface_create_wayland( ) -> u64 { error::clear_error(); error::check(|| { - surface_create_wayland(window_handle, display_handle, width, height, scale_factor) + surface_create_wayland( + window_handle, + display_handle, + width, + height, + scale_factor, + false, + ) }) .map(|e| e.to_bits()) .unwrap_or(0) @@ -110,9 +117,18 @@ pub extern "C" fn processing_surface_create_x11( scale_factor: f32, ) -> u64 { error::clear_error(); - error::check(|| surface_create_x11(window_handle, display_handle, width, height, scale_factor)) - .map(|e| e.to_bits()) - .unwrap_or(0) + error::check(|| { + surface_create_x11( + window_handle, + display_handle, + width, + height, + scale_factor, + false, + ) + }) + .map(|e| e.to_bits()) + .unwrap_or(0) } /// Create a WebGPU surface on Linux. The display server is auto-detected from @@ -133,7 +149,14 @@ pub extern "C" fn processing_surface_create( ) -> u64 { error::clear_error(); error::check(|| { - surface_create_linux(window_handle, display_handle, width, height, scale_factor) + surface_create_linux( + window_handle, + display_handle, + width, + height, + scale_factor, + false, + ) }) .map(|e| e.to_bits()) .unwrap_or(0) @@ -2982,15 +3005,13 @@ pub extern "C" fn processing_filter_set_passes(filter_id: u64, passes: u32) { #[unsafe(no_mangle)] pub extern "C" fn processing_filter_blur() -> u64 { error::clear_error(); - error::check(|| filter_blur()) - .map(|e| e.to_bits()) - .unwrap_or(0) + error::check(filter_blur).map(|e| e.to_bits()).unwrap_or(0) } #[unsafe(no_mangle)] pub extern "C" fn processing_filter_invert() -> u64 { error::clear_error(); - error::check(|| filter_invert()) + error::check(filter_invert) .map(|e| e.to_bits()) .unwrap_or(0) } @@ -2998,15 +3019,13 @@ pub extern "C" fn processing_filter_invert() -> u64 { #[unsafe(no_mangle)] pub extern "C" fn processing_filter_gray() -> u64 { error::clear_error(); - error::check(|| filter_gray()) - .map(|e| e.to_bits()) - .unwrap_or(0) + error::check(filter_gray).map(|e| e.to_bits()).unwrap_or(0) } #[unsafe(no_mangle)] pub extern "C" fn processing_filter_threshold() -> u64 { error::clear_error(); - error::check(|| filter_threshold()) + error::check(filter_threshold) .map(|e| e.to_bits()) .unwrap_or(0) } @@ -3014,7 +3033,7 @@ pub extern "C" fn processing_filter_threshold() -> u64 { #[unsafe(no_mangle)] pub extern "C" fn processing_filter_posterize() -> u64 { error::clear_error(); - error::check(|| filter_posterize()) + error::check(filter_posterize) .map(|e| e.to_bits()) .unwrap_or(0) } @@ -3022,7 +3041,7 @@ pub extern "C" fn processing_filter_posterize() -> u64 { #[unsafe(no_mangle)] pub extern "C" fn processing_filter_opaque() -> u64 { error::clear_error(); - error::check(|| filter_opaque()) + error::check(filter_opaque) .map(|e| e.to_bits()) .unwrap_or(0) } @@ -3030,15 +3049,13 @@ pub extern "C" fn processing_filter_opaque() -> u64 { #[unsafe(no_mangle)] pub extern "C" fn processing_filter_erode() -> u64 { error::clear_error(); - error::check(|| filter_erode()) - .map(|e| e.to_bits()) - .unwrap_or(0) + error::check(filter_erode).map(|e| e.to_bits()).unwrap_or(0) } #[unsafe(no_mangle)] pub extern "C" fn processing_filter_dilate() -> u64 { error::clear_error(); - error::check(|| filter_dilate()) + error::check(filter_dilate) .map(|e| e.to_bits()) .unwrap_or(0) } diff --git a/crates/processing_pyo3/src/graphics.rs b/crates/processing_pyo3/src/graphics.rs index e801fad8..3e0447f6 100644 --- a/crates/processing_pyo3/src/graphics.rs +++ b/crates/processing_pyo3/src/graphics.rs @@ -21,10 +21,10 @@ use crate::cuda::CudaImage; /// Flatten `*args` of numbers (or a single list/tuple of numbers) into a `Vec`. fn flatten_floats(args: &Bound<'_, PyTuple>) -> PyResult> { - if args.len() == 1 { - if let Ok(seq) = args.get_item(0)?.extract::>() { - return Ok(seq); - } + if args.len() == 1 + && let Ok(seq) = args.get_item(0)?.extract::>() + { + return Ok(seq); } let mut out = Vec::with_capacity(args.len()); for item in args.iter() { diff --git a/crates/processing_pyo3/src/particles.rs b/crates/processing_pyo3/src/particles.rs index 5b706f10..9e6a69b3 100644 --- a/crates/processing_pyo3/src/particles.rs +++ b/crates/processing_pyo3/src/particles.rs @@ -154,10 +154,10 @@ static PHYSICS_COMPUTES: std::sync::Mutex>> = fn physics_compute(name: &str) -> PyResult> { let lower = name.to_ascii_lowercase(); - if let Some(cache) = PHYSICS_COMPUTES.lock().unwrap().as_ref() { - if let Some(&e) = cache.get(&lower) { - return Ok(Some(e)); - } + if let Some(cache) = PHYSICS_COMPUTES.lock().unwrap().as_ref() + && let Some(&e) = cache.get(&lower) + { + return Ok(Some(e)); } let created = if lower == c::NOISE { particles_kernel_noise() diff --git a/crates/processing_render/src/graphics.rs b/crates/processing_render/src/graphics.rs index 4fc9071b..ae09bd22 100644 --- a/crates/processing_render/src/graphics.rs +++ b/crates/processing_render/src/graphics.rs @@ -463,10 +463,10 @@ pub fn set_bloom( commands.entity(entity).insert((bloom, Hdr)); - if let Ok(mut tm) = tonemapping_query.get_mut(entity) { - if *tm == Tonemapping::None { - *tm = Tonemapping::TonyMcMapface; - } + if let Ok(mut tm) = tonemapping_query.get_mut(entity) + && *tm == Tonemapping::None + { + *tm = Tonemapping::TonyMcMapface; } Ok(()) diff --git a/crates/processing_render/src/particles/point_render.rs b/crates/processing_render/src/particles/point_render.rs index 2e8db841..b82ea6e3 100644 --- a/crates/processing_render/src/particles/point_render.rs +++ b/crates/processing_render/src/particles/point_render.rs @@ -141,10 +141,10 @@ impl Specializer for RasterSpecializer { target.format = key.format; target.blend = key.blend; } - if key.blend.is_some() { - if let Some(depth) = descriptor.depth_stencil.as_mut() { - depth.depth_write_enabled = Some(false); - } + if key.blend.is_some() + && let Some(depth) = descriptor.depth_stencil.as_mut() + { + depth.depth_write_enabled = Some(false); } Ok(key) } diff --git a/crates/processing_render/src/particles/scatter.rs b/crates/processing_render/src/particles/scatter.rs index f42c5b64..fb917589 100644 --- a/crates/processing_render/src/particles/scatter.rs +++ b/crates/processing_render/src/particles/scatter.rs @@ -101,7 +101,7 @@ fn extract_scatter_geometry(mesh: &mut Mesh) -> Result<(Vec<[f32; 3]>, Vec) } }; - if dense_indices.len() % 3 != 0 { + if !dense_indices.len().is_multiple_of(3) { return Err(ProcessingError::InvalidArgument( "scatter source mesh has a non-triangle index list".to_string(), )); diff --git a/crates/processing_render/src/render/primitive/shape.rs b/crates/processing_render/src/render/primitive/shape.rs index 673570a6..5cc5a459 100644 --- a/crates/processing_render/src/render/primitive/shape.rs +++ b/crates/processing_render/src/render/primitive/shape.rs @@ -245,7 +245,7 @@ pub fn build_direct_fill(mesh: &mut Mesh, builder: &ShapeBuilder, color: Color) match builder.kind { ShapeKind::Triangles => { - for chunk in vertices.chunks_exact(3) { + for chunk in vertices.as_chunks::<3>().0 { push_triangle( mesh, color, chunk[0].0, chunk[0].1, chunk[1].0, chunk[1].1, chunk[2].0, chunk[2].1, @@ -296,7 +296,7 @@ pub fn build_direct_fill(mesh: &mut Mesh, builder: &ShapeBuilder, color: Color) } } ShapeKind::Quads => { - for chunk in vertices.chunks_exact(4) { + for chunk in vertices.as_chunks::<4>().0 { push_quad( mesh, color, chunk[0].0, chunk[0].1, chunk[1].0, chunk[1].1, chunk[2].0, chunk[2].1, chunk[3].0, chunk[3].1, @@ -344,7 +344,7 @@ pub fn build_direct_stroke( match builder.kind { ShapeKind::Lines => { - for chunk in vertices.chunks_exact(2) { + for chunk in vertices.as_chunks::<2>().0 { let mut pb = Path::builder(); pb.begin(Point::new(chunk[0].0, chunk[0].1)); pb.line_to(Point::new(chunk[1].0, chunk[1].1)); @@ -359,7 +359,7 @@ pub fn build_direct_stroke( } } ShapeKind::Triangles => { - for chunk in vertices.chunks_exact(3) { + for chunk in vertices.as_chunks::<3>().0 { stroke_polygon( mesh, &[chunk[0], chunk[1], chunk[2]], @@ -407,7 +407,7 @@ pub fn build_direct_stroke( } } ShapeKind::Quads => { - for chunk in vertices.chunks_exact(4) { + for chunk in vertices.as_chunks::<4>().0 { stroke_polygon( mesh, &[chunk[0], chunk[1], chunk[2], chunk[3]], diff --git a/examples/particles_animated.rs b/examples/particles_animated.rs index 9489a526..fe22240c 100644 --- a/examples/particles_animated.rs +++ b/examples/particles_animated.rs @@ -89,7 +89,8 @@ fn sketch() -> error::Result<()> { graphics, DrawCommand::Particles { particles: p, - geometry: sphere, + geometry: Some(sphere), + topology: Default::default(), }, )?; graphics_end_draw(graphics)?; diff --git a/examples/particles_basic.rs b/examples/particles_basic.rs index b3176d4d..34c1220f 100644 --- a/examples/particles_basic.rs +++ b/examples/particles_basic.rs @@ -62,7 +62,8 @@ fn sketch() -> error::Result<()> { graphics, DrawCommand::Particles { particles: p, - geometry: sphere, + geometry: Some(sphere), + topology: Default::default(), }, )?; graphics_end_draw(graphics)?; diff --git a/examples/particles_colored.rs b/examples/particles_colored.rs index 4d176a83..9c300784 100644 --- a/examples/particles_colored.rs +++ b/examples/particles_colored.rs @@ -72,7 +72,8 @@ fn sketch() -> error::Result<()> { graphics, DrawCommand::Particles { particles: p, - geometry: sphere, + geometry: Some(sphere), + topology: Default::default(), }, )?; graphics_end_draw(graphics)?; diff --git a/examples/particles_colored_pbr.rs b/examples/particles_colored_pbr.rs index 9d7bd8b2..b61311ae 100644 --- a/examples/particles_colored_pbr.rs +++ b/examples/particles_colored_pbr.rs @@ -75,7 +75,8 @@ fn sketch() -> error::Result<()> { graphics, DrawCommand::Particles { particles: p, - geometry: sphere, + geometry: Some(sphere), + topology: Default::default(), }, )?; graphics_end_draw(graphics)?; diff --git a/examples/particles_emit.rs b/examples/particles_emit.rs index aafe40cf..d3158c3c 100644 --- a/examples/particles_emit.rs +++ b/examples/particles_emit.rs @@ -58,7 +58,8 @@ fn sketch() -> error::Result<()> { graphics, DrawCommand::Particles { particles: p, - geometry: sphere, + geometry: Some(sphere), + topology: Default::default(), }, )?; graphics_end_draw(graphics)?; diff --git a/examples/particles_emit_gpu.rs b/examples/particles_emit_gpu.rs index ff52502c..74565dc3 100644 --- a/examples/particles_emit_gpu.rs +++ b/examples/particles_emit_gpu.rs @@ -187,7 +187,8 @@ fn sketch() -> error::Result<()> { graphics, DrawCommand::Particles { particles: p, - geometry: particle, + geometry: Some(particle), + topology: Default::default(), }, )?; graphics_end_draw(graphics)?; diff --git a/examples/particles_from_mesh.rs b/examples/particles_from_mesh.rs index baf4f272..8d03f4d4 100644 --- a/examples/particles_from_mesh.rs +++ b/examples/particles_from_mesh.rs @@ -65,7 +65,8 @@ fn sketch() -> error::Result<()> { graphics, DrawCommand::Particles { particles: p, - geometry: particle, + geometry: Some(particle), + topology: Default::default(), }, )?; graphics_end_draw(graphics)?; diff --git a/examples/particles_lifecycle.rs b/examples/particles_lifecycle.rs index ba5ee6bb..97bd03fe 100644 --- a/examples/particles_lifecycle.rs +++ b/examples/particles_lifecycle.rs @@ -97,7 +97,8 @@ fn sketch() -> error::Result<()> { graphics, DrawCommand::Particles { particles: p, - geometry: sphere, + geometry: Some(sphere), + topology: Default::default(), }, )?; graphics_end_draw(graphics)?; diff --git a/examples/particles_noise.rs b/examples/particles_noise.rs index 8415ce51..8c193bac 100644 --- a/examples/particles_noise.rs +++ b/examples/particles_noise.rs @@ -65,7 +65,8 @@ fn sketch() -> error::Result<()> { graphics, DrawCommand::Particles { particles: p, - geometry: particle, + geometry: Some(particle), + topology: Default::default(), }, )?; graphics_end_draw(graphics)?; diff --git a/examples/particles_oriented.rs b/examples/particles_oriented.rs index b7634c9d..0740d130 100644 --- a/examples/particles_oriented.rs +++ b/examples/particles_oriented.rs @@ -126,7 +126,8 @@ fn sketch() -> error::Result<()> { graphics, DrawCommand::Particles { particles: p, - geometry: cube, + geometry: Some(cube), + topology: Default::default(), }, )?; graphics_end_draw(graphics)?; diff --git a/examples/particles_scatter.rs b/examples/particles_scatter.rs index 0a4ecb03..86afa512 100644 --- a/examples/particles_scatter.rs +++ b/examples/particles_scatter.rs @@ -95,7 +95,8 @@ fn sketch() -> error::Result<()> { graphics, DrawCommand::Particles { particles: p, - geometry: particle, + geometry: Some(particle), + topology: Default::default(), }, )?; graphics_end_draw(graphics)?; diff --git a/examples/particles_scatter_volume.rs b/examples/particles_scatter_volume.rs index a4f0cb82..f0496ad6 100644 --- a/examples/particles_scatter_volume.rs +++ b/examples/particles_scatter_volume.rs @@ -94,7 +94,8 @@ fn sketch() -> error::Result<()> { graphics, DrawCommand::Particles { particles: p, - geometry: particle, + geometry: Some(particle), + topology: Default::default(), }, )?; graphics_end_draw(graphics)?; diff --git a/examples/particles_stress.rs b/examples/particles_stress.rs index 2d5b20df..ee91d64a 100644 --- a/examples/particles_stress.rs +++ b/examples/particles_stress.rs @@ -129,7 +129,8 @@ fn sketch() -> error::Result<()> { graphics, DrawCommand::Particles { particles: p, - geometry: cube, + geometry: Some(cube), + topology: Default::default(), }, )?; graphics_end_draw(graphics)?; diff --git a/examples/particles_text_whirl.rs b/examples/particles_text_whirl.rs index f3ed33e5..17147540 100644 --- a/examples/particles_text_whirl.rs +++ b/examples/particles_text_whirl.rs @@ -432,7 +432,8 @@ fn sketch() -> error::Result<()> { graphics, DrawCommand::Particles { particles: p, - geometry: particle, + geometry: Some(particle), + topology: Default::default(), }, )?; graphics_end_draw(graphics)?;