From 9aef5118913c277377e75da0ad2d2bd77967fe16 Mon Sep 17 00:00:00 2001 From: Dennis Kobert Date: Mon, 24 Aug 2026 23:15:10 +0200 Subject: [PATCH] Cargo fmt --- .../graph-storage/src/tests/round_trip.rs | 4 +- .../document/node_graph/node_properties.rs | 5 +- .../tool/tool_messages/gradient_tool.rs | 2 +- .../benches/compile_demo_art_criterion.rs | 4 +- node-graph/graph-craft/src/proto.rs | 19 +-- .../libraries/core-types/src/context.rs | 1 - node-graph/libraries/core-types/src/record.rs | 14 +- node-graph/nodes/blending/src/lib.rs | 1 - node-graph/nodes/gcore/src/record.rs | 146 +++++++++++++----- node-graph/nodes/graphic/src/graphic.rs | 20 +-- .../nodes/gstd/src/platform_application_io.rs | 4 +- .../nodes/transform/src/transform_nodes.rs | 11 +- 12 files changed, 134 insertions(+), 97 deletions(-) diff --git a/document/graph-storage/src/tests/round_trip.rs b/document/graph-storage/src/tests/round_trip.rs index faec422142..168c7d85e4 100644 --- a/document/graph-storage/src/tests/round_trip.rs +++ b/document/graph-storage/src/tests/round_trip.rs @@ -14,7 +14,9 @@ use crate::{NetworkId, NodeMetadataSource, PeerId, Position, Registry}; /// Test networks with Import inputs will fail compilation (which is expected). fn verify_network_compiles(network: &NodeNetwork) -> Result<(), String> { let compiler = Compiler {}; - compiler.compile_single(network.clone(), &graph_craft::proto::Registry::new()).map_err(|e| format!("Compilation failed: {:?}", e))?; + compiler + .compile_single(network.clone(), &graph_craft::proto::Registry::new()) + .map_err(|e| format!("Compilation failed: {:?}", e))?; Ok(()) } diff --git a/editor/src/messages/portfolio/document/node_graph/node_properties.rs b/editor/src/messages/portfolio/document/node_graph/node_properties.rs index 8f412b19aa..59d101120f 100644 --- a/editor/src/messages/portfolio/document/node_graph/node_properties.rs +++ b/editor/src/messages/portfolio/document/node_graph/node_properties.rs @@ -2743,10 +2743,7 @@ pub fn stroke_properties(node_id: NodeId, context: &mut NodePropertiesContext) - .for_socket(ParameterWidgetsInfo::new(node_id, PaintOrderInput::INDEX, true, context)) .property_row(); let disabled_number_input = NumberInput::default().unit(" px").disabled(has_dash_lengths); - let dash_lengths = array_of_number_widget( - ParameterWidgetsInfo::new(node_id, DashLengthsInput::INDEX, true, context), - TextInput::default().centered(true), - ); + let dash_lengths = array_of_number_widget(ParameterWidgetsInfo::new(node_id, DashLengthsInput::INDEX, true, context), TextInput::default().centered(true)); let number_input = disabled_number_input; let dash_offset = number_widget(ParameterWidgetsInfo::new(node_id, DashOffsetInput::INDEX, true, context), number_input); diff --git a/editor/src/messages/tool/tool_messages/gradient_tool.rs b/editor/src/messages/tool/tool_messages/gradient_tool.rs index 081d5548f9..d8c02632dd 100644 --- a/editor/src/messages/tool/tool_messages/gradient_tool.rs +++ b/editor/src/messages/tool/tool_messages/gradient_tool.rs @@ -2012,10 +2012,10 @@ mod test_gradient { pub use crate::test_utils::test_prelude::*; use glam::DAffine2; use graph_craft::document::value::TaggedValue; + use graphene_std::NodeInputDecleration; use graphene_std::color::SRGBA8; use graphene_std::vector::style::{GradientSpreadMethod, build_transform_with_y_preservation}; use graphene_std::vector::{GradientStop, GradientStops, fill}; - use graphene_std::NodeInputDecleration; use super::gradient_space_transform; diff --git a/node-graph/graph-craft/benches/compile_demo_art_criterion.rs b/node-graph/graph-craft/benches/compile_demo_art_criterion.rs index 5e3572b845..2bcad87373 100644 --- a/node-graph/graph-craft/benches/compile_demo_art_criterion.rs +++ b/node-graph/graph-craft/benches/compile_demo_art_criterion.rs @@ -10,7 +10,9 @@ fn compile_to_proto(c: &mut Criterion) { for name in DEMO_ART { let network = load_from_name(name); - c.bench_function(name, |b| b.iter_batched(|| network.clone(), |network| compile(black_box(network), registry), criterion::BatchSize::SmallInput)); + c.bench_function(name, |b| { + b.iter_batched(|| network.clone(), |network| compile(black_box(network), registry), criterion::BatchSize::SmallInput) + }); } } diff --git a/node-graph/graph-craft/src/proto.rs b/node-graph/graph-craft/src/proto.rs index e3de3e22bf..469bfef719 100644 --- a/node-graph/graph-craft/src/proto.rs +++ b/node-graph/graph-craft/src/proto.rs @@ -382,8 +382,10 @@ impl ProtoNetwork { layout, }), ConstructionArgs::Nodes(inputs) => node.resolved.layout_meta.as_ref().and_then(|meta| { - let input_layouts: Vec> = - inputs.iter().map(|input| self.nodes[input.0 as usize].1.resolved.layout.as_ref().map(|resolved| &resolved.layout)).collect(); + let input_layouts: Vec> = inputs + .iter() + .map(|input| self.nodes[input.0 as usize].1.resolved.layout.as_ref().map(|resolved| &resolved.layout)) + .collect(); meta.sources.iter().all(|&source| input_layouts[source as usize].is_some()).then(|| meta.resolve(&input_layouts)) }), ConstructionArgs::Inline(_) => None, @@ -1042,13 +1044,7 @@ fn check_generic(types: &NodeIOTypes, input: &Type, parameters: &[Type], generic .into_iter() .chain(types.inputs.iter().map(|x| x.fn_input()).zip(parameters.iter().map(|x| x.fn_input()))) .chain(types.inputs.iter().map(|x| x.fn_output()).zip(parameters.iter().map(|x| x.fn_output()))) - .chain( - types - .inputs - .iter() - .map(|x| record_element(x.fn_output())) - .zip(parameters.iter().map(|x| record_element(x.fn_output()))), - ); + .chain(types.inputs.iter().map(|x| record_element(x.fn_output())).zip(parameters.iter().map(|x| record_element(x.fn_output())))); let concrete_inputs = inputs.filter(|(ni, _)| matches!(ni, Some(Type::Generic(input)) if generic == input)); let mut outputs = concrete_inputs.flat_map(|(_, out)| out); let out_ty = outputs @@ -1090,10 +1086,7 @@ mod test { ProtoNode { construction_args: args, resolved: Resolved { - layout: Some(core_types::record::RecordLayout { - frame_bytes: 1, - ..Default::default() - }), + layout: Some(core_types::record::RecordLayout { frame_bytes: 1, ..Default::default() }), ..Default::default() }, ..Default::default() diff --git a/node-graph/libraries/core-types/src/context.rs b/node-graph/libraries/core-types/src/context.rs index 0b8b004a39..01a5469993 100644 --- a/node-graph/libraries/core-types/src/context.rs +++ b/node-graph/libraries/core-types/src/context.rs @@ -358,7 +358,6 @@ impl ContextDependencies { self } - pub fn sources(&self) -> &[SourceId] { &self.sources } diff --git a/node-graph/libraries/core-types/src/record.rs b/node-graph/libraries/core-types/src/record.rs index 857b9124ad..9ad488566b 100644 --- a/node-graph/libraries/core-types/src/record.rs +++ b/node-graph/libraries/core-types/src/record.rs @@ -268,8 +268,8 @@ impl Layout { align: field.align, read_erased: field.read_erased, repark: field.repark, - content_hash: field.content_hash, - content_eq: field.content_eq, + content_hash: field.content_hash, + content_eq: field.content_eq, }) .collect(); union = union.with_writes(union.depth, union.element, &writes); @@ -818,14 +818,7 @@ impl<'a, El: Clone, N> ElementLazyInput<'a, El, N> { impl<'a, Out, N> ElementLazyInput<'a, Out, N> { /// `read` must be sound against the layout the offsets in `reads` were /// resolved from; the macro proves both at wiring. - pub fn with_reads( - node: &'a N, - cell: &'a crate::node::StatusCell, - input_index: usize, - layout: &'a Layout, - reads: &'a [Option], - read: unsafe fn(Rec, &[Option]) -> Out, - ) -> Self { + pub fn with_reads(node: &'a N, cell: &'a crate::node::StatusCell, input_index: usize, layout: &'a Layout, reads: &'a [Option], read: unsafe fn(Rec, &[Option]) -> Out) -> Self { Self { node, cell, @@ -1350,7 +1343,6 @@ pub unsafe fn read_element(rec: Rec) -> T { unsafe { borrow_element::(rec) }.clone() } - /// # Safety /// `dst` must be fresh element storage of a record whose element is `T`. /// `None` reports arena exhaustion for a parked element. diff --git a/node-graph/nodes/blending/src/lib.rs b/node-graph/nodes/blending/src/lib.rs index 609b1333ef..adb9e27877 100644 --- a/node-graph/nodes/blending/src/lib.rs +++ b/node-graph/nodes/blending/src/lib.rs @@ -2,7 +2,6 @@ use core_types::attribute::{Attr, BlendMode as BlendModeAttr, ClippingMask, Opac use core_types::registry::types::Percentage; use core_types::{BlendMode, Ctx}; - /// Applies the blend mode to the input graphics. Setting this allows for customizing how overlapping content is composited together. #[node_macro::node(category("Blending"))] fn blend_mode( diff --git a/node-graph/nodes/gcore/src/record.rs b/node-graph/nodes/gcore/src/record.rs index af9cbcfa2f..1bcd7e847c 100644 --- a/node-graph/nodes/gcore/src/record.rs +++ b/node-graph/nodes/gcore/src/record.rs @@ -5,14 +5,14 @@ //! tests; the node forms are the production authoring surface, and the //! wiring is by hand until the compiler pass constructs layouts. +use core_types::Ctx; use core_types::attribute::{Attr, EditorLayerPath, Opacity, RemoveAttr, Transform}; -use glam::DAffine2; use core_types::context::{DeriveCtx, ExtractIndex, ExtractIndices, IndexLink, InjectIndex}; use core_types::extent::{ExtentIn, LevelIn, ListIn, ValueIn}; use core_types::gpoll::{ErrorKind, Extent, GPoll, GraphError, Interrupt, Level}; use core_types::node::Lane; use core_types::uuid::NodeId; -use core_types::Ctx; +use glam::DAffine2; core_types::attribute! { /// Test-only measured length of an element. @@ -116,11 +116,7 @@ fn repeat_extent(content: ExtentIn<'_>, count: ValueIn<'_, u32>, _reverse: Value /// Test-only lazy-carrier creator: each copy evaluates the content at its own /// index and re-scales the row's opacity by the copy number. #[node_macro::node(category("Test"), extent(repeat_faded_extent))] -fn repeat_faded( - ctx: impl Ctx + DeriveCtx + ExtractIndex, - content: impl Node, Output = (T, Attr)>, - count: u32, -) -> Result)>, Interrupt> { +fn repeat_faded(ctx: impl Ctx + DeriveCtx + ExtractIndex, content: impl Node, Output = (T, Attr)>, count: u32) -> Result)>, Interrupt> { let inner = content.inner_extent(ctx)?; let (copy, rest) = ctx.split_innermost(inner); if copy >= count as u64 { @@ -143,11 +139,7 @@ fn repeat_faded_extent(content: ExtentIn<'_>, count: ValueIn<'_, u32>, level: Le /// Rank-model Extend: the output's top level is `base`'s lanes followed by /// `new`'s, each side evaluated within its own index range. #[node_macro::node(category("Test"), extent(extend_extent))] -fn extend( - ctx: impl Ctx + ExtractIndex + InjectIndex + Copy, - base: impl Node, Output = T>, - new: impl Node, Output = T>, -) -> Result { +fn extend(ctx: impl Ctx + ExtractIndex + InjectIndex + Copy, base: impl Node, Output = T>, new: impl Node, Output = T>) -> Result { let split = match base.extent(ctx, Level::Total) { GPoll::Final(Extent::Exactly(count)) => count as u64, // A scalar side joins the concat as a single lane, per `Extent::sum`. @@ -375,12 +367,7 @@ async fn double_async(_: impl Ctx, element: f64) -> f64 { } #[node_macro::node(category("Test"))] -fn fallback( - ctx: impl Ctx, - _: (), - #[expose] content: impl Node, Output = (f64, Attr)>, - #[expose] alternate: impl Node, Output = f64>, -) -> Result { +fn fallback(ctx: impl Ctx, _: (), #[expose] content: impl Node, Output = (f64, Attr)>, #[expose] alternate: impl Node, Output = f64>) -> Result { let (element, opacity) = content.eval(ctx)?; Ok(if *opacity > 0. { element } else { alternate.eval(ctx)? }) } @@ -747,7 +734,14 @@ mod tests { folded: None, }; let repeat = install( - RepeatNode::new(RecordSource::new(IndexSourceNode { layout: base.clone() }, &base, &base), count_edge, reverse_edge, &base, &count_layout, &reverse_layout), + RepeatNode::new( + RecordSource::new(IndexSourceNode { layout: base.clone() }, &base, &base), + count_edge, + reverse_edge, + &base, + &count_layout, + &reverse_layout, + ), meta, &[Some(&base)], ); @@ -789,7 +783,14 @@ mod tests { folded: None, }; let repeat = install( - RepeatNode::new(RecordSource::new(IndexSourceNode { layout: base.clone() }, &base, &base), count_edge, reverse_edge, &base, &count_layout, &reverse_layout), + RepeatNode::new( + RecordSource::new(IndexSourceNode { layout: base.clone() }, &base, &base), + count_edge, + reverse_edge, + &base, + &count_layout, + &reverse_layout, + ), meta, &[Some(&base)], ); @@ -833,7 +834,14 @@ mod tests { folded: None, }; let repeat = install( - RepeatNode::new(RecordSource::new(content, &leveled_content, &leveled_content), count_edge, reverse_edge, &leveled_content, &count_layout, &reverse_layout), + RepeatNode::new( + RecordSource::new(content, &leveled_content, &leveled_content), + count_edge, + reverse_edge, + &leveled_content, + &count_layout, + &reverse_layout, + ), meta, &[Some(&leveled_content)], ); @@ -1157,7 +1165,14 @@ mod tests { field: None, }; install( - RepeatNode::new(RecordSource::new(content, &content_layout, &content_layout), count_edge, reverse_edge, &content_layout, count_layout, reverse_layout), + RepeatNode::new( + RecordSource::new(content, &content_layout, &content_layout), + count_edge, + reverse_edge, + &content_layout, + count_layout, + reverse_layout, + ), meta(), &[Some(&content_layout)], ) @@ -1536,7 +1551,14 @@ mod tests { folded: None, }; let nested = install( - RepeatNode::new(RecordSource::new(content, &leveled_content, &leveled_content), count_edge, reverse_edge, &leveled_content, &count_layout, &reverse_layout), + RepeatNode::new( + RecordSource::new(content, &leveled_content, &leveled_content), + count_edge, + reverse_edge, + &leveled_content, + &count_layout, + &reverse_layout, + ), meta, &[Some(&leveled_content)], ); @@ -1578,7 +1600,14 @@ mod tests { folded: None, }; let nested = install( - RepeatNode::new(RecordSource::new(content, &leveled_content, &leveled_content), count_edge, reverse_edge, &leveled_content, &count_layout, &reverse_layout), + RepeatNode::new( + RecordSource::new(content, &leveled_content, &leveled_content), + count_edge, + reverse_edge, + &leveled_content, + &count_layout, + &reverse_layout, + ), meta, &[Some(&leveled_content)], ); @@ -1807,7 +1836,14 @@ mod tests { folded: None, }; let repeat = install( - RepeatNode::new(RecordSource::new(IndexSourceNode { layout: base.clone() }, &base, &base), count_edge, reverse_edge, &base, &count_layout, &reverse_layout), + RepeatNode::new( + RecordSource::new(IndexSourceNode { layout: base.clone() }, &base, &base), + count_edge, + reverse_edge, + &base, + &count_layout, + &reverse_layout, + ), meta, &[Some(&base)], ); @@ -1850,7 +1886,11 @@ mod tests { let chain = install( MultiplyOpacityNode::new( - install(MultiplyOpacityNode::new(bare_source(&source_layout, 2.), ValueNode(0.5), &source_layout), multiply_opacity_layout_meta(), &[Some(&source_layout)]), + install( + MultiplyOpacityNode::new(bare_source(&source_layout, 2.), ValueNode(0.5), &source_layout), + multiply_opacity_layout_meta(), + &[Some(&source_layout)], + ), ValueNode(0.5), &modified, ), @@ -1900,7 +1940,11 @@ mod tests { let chain = install( MeasureNode::new( - install(MultiplyOpacityNode::new(bare_source(&source_layout, -2.), ValueNode(0.5), &source_layout), multiply_opacity_layout_meta(), &[Some(&source_layout)]), + install( + MultiplyOpacityNode::new(bare_source(&source_layout, -2.), ValueNode(0.5), &source_layout), + multiply_opacity_layout_meta(), + &[Some(&source_layout)], + ), &modified, ), measure_layout_meta(), @@ -1934,7 +1978,11 @@ mod tests { let chain = install( ShadeNode::new( - install(MultiplyOpacityNode::new(bare_source(&source_layout, 4.), ValueNode(0.5), &source_layout), multiply_opacity_layout_meta(), &[Some(&source_layout)]), + install( + MultiplyOpacityNode::new(bare_source(&source_layout, 4.), ValueNode(0.5), &source_layout), + multiply_opacity_layout_meta(), + &[Some(&source_layout)], + ), &modified, ), shade_layout_meta(), @@ -2053,13 +2101,21 @@ mod tests { let modified = checked_multiply_opacity_layout(&source_layout); reserve_for(&[&source_layout, &modified]); - let ok = install(CheckedMultiplyOpacityNode::new(bare_source(&source_layout, 1.), ValueNode(0.5), &source_layout), checked_multiply_opacity_layout_meta(), &[Some(&source_layout)]); + let ok = install( + CheckedMultiplyOpacityNode::new(bare_source(&source_layout, 1.), ValueNode(0.5), &source_layout), + checked_multiply_opacity_layout_meta(), + &[Some(&source_layout)], + ); let GPoll::Final(value) = ok.eval(&ctx) else { panic!("expected a final record"); }; assert_eq!(unsafe { modified.rec(&value).read::(modified.offset_of(Opacity::NAME, 0).unwrap()) }, 0.5); - let failing = install(CheckedMultiplyOpacityNode::new(bare_source(&source_layout, 1.), ValueNode(-1.), &source_layout), checked_multiply_opacity_layout_meta(), &[Some(&source_layout)]); + let failing = install( + CheckedMultiplyOpacityNode::new(bare_source(&source_layout, 1.), ValueNode(-1.), &source_layout), + checked_multiply_opacity_layout_meta(), + &[Some(&source_layout)], + ); let GPoll::Error(error) = failing.eval(&ctx) else { panic!("expected an error"); }; @@ -2080,7 +2136,11 @@ mod tests { let chain = install( ScaleNode::new( - install(MultiplyOpacityNode::new(bare_source(&source_layout, 2.), ValueNode(0.5), &source_layout), multiply_opacity_layout_meta(), &[Some(&source_layout)]), + install( + MultiplyOpacityNode::new(bare_source(&source_layout, 2.), ValueNode(0.5), &source_layout), + multiply_opacity_layout_meta(), + &[Some(&source_layout)], + ), ValueNode(3.), &modified, ), @@ -2139,7 +2199,11 @@ mod tests { panic!("expected a final record"); }; let rec = transferred.rec(&value); - assert_eq!(unsafe { rec.read::(transferred.offset_of(Opacity::NAME, 0).unwrap()) }, 0.5, "an absent secondary attribute reads its default"); + assert_eq!( + unsafe { rec.read::(transferred.offset_of(Opacity::NAME, 0).unwrap()) }, + 0.5, + "an absent secondary attribute reads its default" + ); } #[test] @@ -2346,7 +2410,11 @@ mod tests { ShadeNode::new( install( StripOpacityNode::new( - install(MultiplyOpacityNode::new(bare_source(&source_layout, 4.), ValueNode(0.5), &source_layout), multiply_opacity_layout_meta(), &[Some(&source_layout)]), + install( + MultiplyOpacityNode::new(bare_source(&source_layout, 4.), ValueNode(0.5), &source_layout), + multiply_opacity_layout_meta(), + &[Some(&source_layout)], + ), &modified, ), strip_opacity_layout_meta(), @@ -2409,7 +2477,11 @@ mod tests { let chain = install( LabelNode::new( - install(LabelNode::new(bare_source(&source_layout, 1.), ValueNode(String::from("a")), &source_layout), label_layout_meta(), &[Some(&source_layout)]), + install( + LabelNode::new(bare_source(&source_layout, 1.), ValueNode(String::from("a")), &source_layout), + label_layout_meta(), + &[Some(&source_layout)], + ), ValueNode(String::from("b")), &labeled, ), @@ -2774,7 +2846,11 @@ mod tests { let labeled = label_layout(&source_layout); reserve_for(&[&labeled, &labeled]); - let chain = install(LabelNode::new(bare_source(&source_layout, 1.), ValueNode(String::from("a")), &source_layout), label_layout_meta(), &[Some(&source_layout)]); + let chain = install( + LabelNode::new(bare_source(&source_layout, 1.), ValueNode(String::from("a")), &source_layout), + label_layout_meta(), + &[Some(&source_layout)], + ); let memo = crate::memo::MemoizeNode::new(chain, &labeled); let first_arena = Arena::new(1024).unwrap(); diff --git a/node-graph/nodes/graphic/src/graphic.rs b/node-graph/nodes/graphic/src/graphic.rs index 13f73962fb..61d39ef2db 100644 --- a/node-graph/nodes/graphic/src/graphic.rs +++ b/node-graph/nodes/graphic/src/graphic.rs @@ -273,15 +273,7 @@ fn mirror<'e>( )>, Interrupt, > { - mirror_lane( - ctx.arena(), - legacy_render_list_of(content), - ctx.index() as usize, - relative_to_bounds, - offset, - angle, - keep_original, - ) + mirror_lane(ctx.arena(), legacy_render_list_of(content), ctx.index() as usize, relative_to_bounds, offset, angle, keep_original) } /// The kept originals double the level, counted from the subject's extent @@ -331,15 +323,7 @@ fn mirror_vector<'e>( )>, Interrupt, > { - mirror_lane( - ctx.arena(), - legacy_render_list_of(content), - ctx.index() as usize, - relative_to_bounds, - offset, - angle, - keep_original, - ) + mirror_lane(ctx.arena(), legacy_render_list_of(content), ctx.index() as usize, relative_to_bounds, offset, angle, keep_original) } fn mirror_vector_extent( diff --git a/node-graph/nodes/gstd/src/platform_application_io.rs b/node-graph/nodes/gstd/src/platform_application_io.rs index 2e14374858..be200b9433 100644 --- a/node-graph/nodes/gstd/src/platform_application_io.rs +++ b/node-graph/nodes/gstd/src/platform_application_io.rs @@ -15,14 +15,14 @@ use core_types::transform::Footprint; #[cfg(target_family = "wasm")] use core_types::{ATTR_TRANSFORM, WasmNotSend}; use core_types::{Color, Ctx, ExtractIndex, InjectIndex}; -#[cfg(target_family = "wasm")] -use graphic_types::ATTR_EDITOR_MERGED_LAYERS; pub use graph_craft::application_io::resource::{Resource, ResourceHash}; pub use graph_craft::application_io::*; pub use graph_craft::document::value::RenderOutputType; #[cfg(target_family = "wasm")] pub use graphene_canvas_utils as canvas_utils; #[cfg(target_family = "wasm")] +use graphic_types::ATTR_EDITOR_MERGED_LAYERS; +#[cfg(target_family = "wasm")] use graphic_types::Graphic; #[cfg(target_family = "wasm")] use graphic_types::IntoGraphicList; diff --git a/node-graph/nodes/transform/src/transform_nodes.rs b/node-graph/nodes/transform/src/transform_nodes.rs index 4e5747de88..9054cedc50 100644 --- a/node-graph/nodes/transform/src/transform_nodes.rs +++ b/node-graph/nodes/transform/src/transform_nodes.rs @@ -42,8 +42,7 @@ fn transform_extent(content: ExtentIn<'_>, _translation: ValueIn<'_, DVec2>, _ro #[node_macro::node(category(""))] fn transform_value( ctx: impl Ctx + DeriveCtx + ModifyFootprint, - #[implementations(Context -> DAffine2, Context -> DVec2)] - content: impl Node, Output = T>, + #[implementations(Context -> DAffine2, Context -> DVec2)] content: impl Node, Output = T>, #[widget(ParsedWidgetOverride::Custom = "transform_translation")] translation: DVec2, #[widget(ParsedWidgetOverride::Custom = "transform_rotation")] rotation: f64, #[widget(ParsedWidgetOverride::Custom = "transform_scale")] @@ -68,13 +67,7 @@ pub use _transform_value_mod::transform_value_entries; /// Resets the desired components of the input transform to their default values. If all components are reset, the output will be set to the identity transform. /// Shear is represented jointly by rotation and scale, so resetting both will also remove any shear. #[node_macro::node(category("Math: Transform"))] -fn reset_transform( - _: impl Ctx, - (element, transform): (T, Attr), - #[default(true)] reset_translation: bool, - reset_rotation: bool, - reset_scale: bool, -) -> (T, Attr) { +fn reset_transform(_: impl Ctx, (element, transform): (T, Attr), #[default(true)] reset_translation: bool, reset_rotation: bool, reset_scale: bool) -> (T, Attr) { let mut row_transform = *transform; if reset_translation { row_transform.translation = DVec2::ZERO;