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 f9769ed7..75260416 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 @@ -470,6 +470,7 @@ fn static_nodes() -> Vec { inputs: vec![ DocumentInputType::value("None", TaggedValue::None, false), DocumentInputType::value("Background", TaggedValue::ImageFrame(ImageFrame::empty()), true), + DocumentInputType::value("Bounds", TaggedValue::ImageFrame(ImageFrame::empty()), true), DocumentInputType::value("Trace", TaggedValue::VecDVec2((0..2).map(|x| DVec2::new(x as f64 * 10., 0.)).collect()), true), DocumentInputType::value("Diameter", TaggedValue::F64(40.), false), DocumentInputType::value("Hardness", TaggedValue::F64(50.), false), 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 dbd1c9c8..237903d5 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 @@ -588,11 +588,11 @@ pub fn blur_image_properties(document_node: &DocumentNode, node_id: NodeId, _con } pub fn brush_node_properties(document_node: &DocumentNode, node_id: NodeId, _context: &mut NodePropertiesContext) -> Vec { - let color = color_widget(document_node, node_id, 6, "Color", ColorInput::default(), true); + let color = color_widget(document_node, node_id, 7, "Color", ColorInput::default(), true); - let size = number_widget(document_node, node_id, 3, "Diameter", NumberInput::default().min(1.).max(100.).unit(" px"), true); - let hardness = number_widget(document_node, node_id, 4, "Hardness", NumberInput::default().min(0.).max(100.).unit("%"), true); - let flow = number_widget(document_node, node_id, 5, "Flow", NumberInput::default().min(1.).max(100.).unit("%"), true); + let size = number_widget(document_node, node_id, 4, "Diameter", NumberInput::default().min(1.).max(100.).unit(" px"), true); + let hardness = number_widget(document_node, node_id, 5, "Hardness", NumberInput::default().min(0.).max(100.).unit("%"), true); + let flow = number_widget(document_node, node_id, 6, "Flow", NumberInput::default().min(1.).max(100.).unit("%"), true); vec![color, LayoutGroup::Row { widgets: size }, LayoutGroup::Row { widgets: hardness }, LayoutGroup::Row { widgets: flow }] } diff --git a/editor/src/messages/tool/tool_messages/brush_tool.rs b/editor/src/messages/tool/tool_messages/brush_tool.rs index c68862dc..d1fab4bd 100644 --- a/editor/src/messages/tool/tool_messages/brush_tool.rs +++ b/editor/src/messages/tool/tool_messages/brush_tool.rs @@ -190,7 +190,7 @@ impl BrushToolData { responses.add(NodeGraphMessage::SetQualifiedInputValue { layer_path, node_path: vec![0], - input_index: 2, + input_index: 3, value: TaggedValue::VecDVec2(points), }); } @@ -334,6 +334,7 @@ fn add_brush_render(data: &BrushToolData, tool_data: &DocumentToolData, response inputs: vec![ NodeInput::value(TaggedValue::None, false), NodeInput::value(TaggedValue::ImageFrame(ImageFrame::empty()), true), + NodeInput::value(TaggedValue::ImageFrame(ImageFrame::empty()), true), NodeInput::value(TaggedValue::VecDVec2(data.points.last().cloned().unwrap_or_default()), false), // Diameter NodeInput::value(TaggedValue::F64(data.diameter), false), @@ -374,11 +375,12 @@ fn load_existing_points(document: &DocumentMessageHandler) -> Option<(Vec HashMap> = DowncastBothNode::new(args[0]); - let trace: DowncastBothNode<(), Vec> = DowncastBothNode::new(args[1]); - let diameter: DowncastBothNode<(), f64> = DowncastBothNode::new(args[2]); - let hardness: DowncastBothNode<(), f64> = DowncastBothNode::new(args[3]); - let flow: DowncastBothNode<(), f64> = DowncastBothNode::new(args[4]); - let color: DowncastBothNode<(), Color> = DowncastBothNode::new(args[5]); + let bounds: DowncastBothNode<(), ImageFrame> = DowncastBothNode::new(args[1]); + let trace: DowncastBothNode<(), Vec> = DowncastBothNode::new(args[2]); + let diameter: DowncastBothNode<(), f64> = DowncastBothNode::new(args[3]); + let hardness: DowncastBothNode<(), f64> = DowncastBothNode::new(args[4]); + let flow: DowncastBothNode<(), f64> = DowncastBothNode::new(args[5]); + let color: DowncastBothNode<(), Color> = DowncastBothNode::new(args[6]); let stamp = BrushStampGeneratorNode::new(color, CopiedNode::new(hardness.eval(())), CopiedNode::new(flow.eval(()))); let stamp = stamp.eval(diameter.eval(())); @@ -196,7 +197,13 @@ fn node_registry() -> HashMap HashMap), - vec![value_fn!(ImageFrame), value_fn!(Vec), value_fn!(f64), value_fn!(f64), value_fn!(f64), value_fn!(Color)], + vec![ + value_fn!(ImageFrame), + value_fn!(ImageFrame), + value_fn!(Vec), + value_fn!(f64), + value_fn!(f64), + value_fn!(f64), + value_fn!(Color), + ], ), )], vec![(