diff --git a/editor/src/messages/portfolio/document/node_graph/node_graph_message_handler/document_node_types.rs b/editor/src/messages/portfolio/document/node_graph/node_graph_message_handler/document_node_types.rs index c9a41a2c..86a795ec 100644 --- a/editor/src/messages/portfolio/document/node_graph/node_graph_message_handler/document_node_types.rs +++ b/editor/src/messages/portfolio/document/node_graph/node_graph_message_handler/document_node_types.rs @@ -2654,9 +2654,9 @@ fn static_nodes() -> Vec { ..Default::default() }, DocumentNodeDefinition { - name: "Resample Points", + name: "Sample Points", category: "Vector", - implementation: NodeImplementation::proto("graphene_core::vector::ResamplePoints<_, _, _, _>"), + implementation: NodeImplementation::proto("graphene_core::vector::SamplePoints<_, _, _, _>"), inputs: vec![ DocumentInputType::value("Vector Data", TaggedValue::VectorData(graphene_core::vector::VectorData::empty()), true), DocumentInputType::value("Spacing", TaggedValue::F32(100.), false), @@ -2665,7 +2665,7 @@ fn static_nodes() -> Vec { DocumentInputType::value("Adaptive Spacing", TaggedValue::Bool(false), false), ], outputs: vec![DocumentOutputType::new("Vector", FrontendGraphDataType::Subpath)], - properties: node_properties::resample_points_properties, + properties: node_properties::sample_points_properties, ..Default::default() }, DocumentNodeDefinition { diff --git a/editor/src/messages/portfolio/document/node_graph/node_graph_message_handler/node_properties.rs b/editor/src/messages/portfolio/document/node_graph/node_graph_message_handler/node_properties.rs index 6ad4fd0f..720aaf6a 100644 --- a/editor/src/messages/portfolio/document/node_graph/node_graph_message_handler/node_properties.rs +++ b/editor/src/messages/portfolio/document/node_graph/node_graph_message_handler/node_properties.rs @@ -2042,7 +2042,7 @@ pub fn copy_to_points_properties(document_node: &DocumentNode, node_id: NodeId, vec![LayoutGroup::Row { widgets: instance }] } -pub fn resample_points_properties(document_node: &DocumentNode, node_id: NodeId, _context: &mut NodePropertiesContext) -> Vec { +pub fn sample_points_properties(document_node: &DocumentNode, node_id: NodeId, _context: &mut NodePropertiesContext) -> Vec { let spacing = number_widget(document_node, node_id, 1, "Spacing", NumberInput::default().min(1.), true); let start_offset = number_widget(document_node, node_id, 2, "Start Offset", NumberInput::default().min(0.), true); let stop_offset = number_widget(document_node, node_id, 3, "Stop Offset", NumberInput::default().min(0.), true); diff --git a/node-graph/gcore/src/vector/vector_nodes.rs b/node-graph/gcore/src/vector/vector_nodes.rs index 029ff263..9b7db7e0 100644 --- a/node-graph/gcore/src/vector/vector_nodes.rs +++ b/node-graph/gcore/src/vector/vector_nodes.rs @@ -204,21 +204,21 @@ async fn copy_to_points { +pub struct SamplePoints { spacing: Spacing, start_offset: StartOffset, stop_offset: StopOffset, adaptive_spacing: AdaptiveSpacing, } -#[node_macro::node_fn(ResamplePoints)] -fn resample_points(mut vector_data: VectorData, spacing: f32, start_offset: f32, stop_offset: f32, adaptive_spacing: bool) -> VectorData { +#[node_macro::node_fn(SamplePoints)] +fn sample_points(mut vector_data: VectorData, spacing: f32, start_offset: f32, stop_offset: f32, adaptive_spacing: bool) -> VectorData { let spacing = spacing as f64; let start_offset = start_offset as f64; let stop_offset = stop_offset as f64; for subpath in &mut vector_data.subpaths { - if subpath.is_empty() || spacing.is_zero() || !spacing.is_finite() { + if subpath.is_empty() || !spacing.is_finite() || spacing <= 0. { continue; } diff --git a/node-graph/interpreted-executor/src/node_registry.rs b/node-graph/interpreted-executor/src/node_registry.rs index adc14532..4da79323 100644 --- a/node-graph/interpreted-executor/src/node_registry.rs +++ b/node-graph/interpreted-executor/src/node_registry.rs @@ -734,7 +734,7 @@ fn node_registry() -> HashMap, input: Footprint, output: VectorData, fn_params: [Footprint => VectorData, Footprint => VectorData]), async_node!(graphene_core::vector::CopyToPoints<_, _>, input: Footprint, output: GraphicGroup, fn_params: [Footprint => VectorData, Footprint => GraphicGroup]), - register_node!(graphene_core::vector::ResamplePoints<_, _, _, _>, input: VectorData, params: [f32, f32, f32, bool]), + register_node!(graphene_core::vector::SamplePoints<_, _, _, _>, input: VectorData, params: [f32, f32, f32, bool]), register_node!(graphene_core::vector::SplinesFromPointsNode, input: VectorData, params: []), register_node!(graphene_core::vector::generator_nodes::CircleGenerator<_>, input: (), params: [f32]), register_node!(graphene_core::vector::generator_nodes::EllipseGenerator<_, _>, input: (), params: [f32, f32]),