Skip to content

Commit c4bbb7e

Browse files
authored
Reduce editor message size by 67% and fix simple clippy warnings (#3327)
Reduce message size and fix some clippy issues
1 parent d919dfe commit c4bbb7e

File tree

9 files changed

+17
-21
lines changed

9 files changed

+17
-21
lines changed

editor/src/messages/portfolio/document/document_message_handler.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1542,7 +1542,7 @@ impl MessageHandler<DocumentMessage, DocumentMessageContext<'_>> for DocumentMes
15421542
.default_node_template();
15431543
responses.add(NodeGraphMessage::InsertNode {
15441544
node_id,
1545-
node_template: new_artboard_node,
1545+
node_template: Box::new(new_artboard_node),
15461546
});
15471547
responses.add(NodeGraphMessage::ShiftNodePosition { node_id, x: 15, y: -3 });
15481548
responses.add(GraphOperationMessage::ResizeArtboard {

editor/src/messages/portfolio/document/node_graph/node_graph_message.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,8 @@ pub enum NodeGraphMessage {
7575
},
7676
InsertNode {
7777
node_id: NodeId,
78-
node_template: NodeTemplate,
78+
// Boxed to reduce size of enum (1120 bytes to 8 bytes)
79+
node_template: Box<NodeTemplate>,
7980
},
8081
InsertNodeBetween {
8182
node_id: NodeId,

editor/src/messages/portfolio/document/node_graph/node_graph_message_handler.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -264,7 +264,7 @@ impl<'a> MessageHandler<NodeGraphMessage, NodeGraphMessageContext<'a>> for NodeG
264264

265265
responses.add(NodeGraphMessage::InsertNode {
266266
node_id,
267-
node_template: node_template.clone(),
267+
node_template: Box::new(node_template.clone()),
268268
});
269269
responses.add(NodeGraphMessage::ShiftNodePosition { node_id, x, y });
270270
// Only auto connect to the dragged wire if the node is being added to the currently opened network
@@ -507,7 +507,7 @@ impl<'a> MessageHandler<NodeGraphMessage, NodeGraphMessageContext<'a>> for NodeG
507507
responses.add(NodeGraphMessage::UpdateImportsExports);
508508
}
509509
NodeGraphMessage::InsertNode { node_id, node_template } => {
510-
network_interface.insert_node(node_id, node_template, selection_network_path);
510+
network_interface.insert_node(node_id, *node_template, selection_network_path);
511511
}
512512
NodeGraphMessage::InsertNodeBetween {
513513
node_id,
@@ -624,7 +624,7 @@ impl<'a> MessageHandler<NodeGraphMessage, NodeGraphMessageContext<'a>> for NodeG
624624
responses.add(DocumentMessage::AddTransaction);
625625
responses.add(NodeGraphMessage::InsertNode {
626626
node_id: encapsulating_node_id,
627-
node_template: default_node_template,
627+
node_template: Box::new(default_node_template),
628628
});
629629
responses.add(NodeGraphMessage::SetDisplayNameImpl {
630630
node_id: encapsulating_node_id,

editor/src/messages/tool/common_functionality/graph_modification_utils.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ pub fn merge_layers(document: &DocumentMessageHandler, first_layer: LayerNodeIde
7777
.default_node_template();
7878
responses.add(NodeGraphMessage::InsertNode {
7979
node_id: merge_node_id,
80-
node_template: merge_node,
80+
node_template: Box::new(merge_node),
8181
});
8282
responses.add(NodeGraphMessage::SetToNodeOrLayer {
8383
node_id: merge_node_id,
@@ -103,7 +103,7 @@ pub fn merge_layers(document: &DocumentMessageHandler, first_layer: LayerNodeIde
103103
.default_node_template();
104104
responses.add(NodeGraphMessage::InsertNode {
105105
node_id: flatten_node_id,
106-
node_template: flatten_node,
106+
node_template: Box::new(flatten_node),
107107
});
108108
responses.add(NodeGraphMessage::MoveNodeToChainStart {
109109
node_id: flatten_node_id,
@@ -117,7 +117,7 @@ pub fn merge_layers(document: &DocumentMessageHandler, first_layer: LayerNodeIde
117117
.default_node_template();
118118
responses.add(NodeGraphMessage::InsertNode {
119119
node_id: path_node_id,
120-
node_template: path_node,
120+
node_template: Box::new(path_node),
121121
});
122122
responses.add(NodeGraphMessage::MoveNodeToChainStart {
123123
node_id: path_node_id,
@@ -132,7 +132,7 @@ pub fn merge_layers(document: &DocumentMessageHandler, first_layer: LayerNodeIde
132132
.default_node_template();
133133
responses.add(NodeGraphMessage::InsertNode {
134134
node_id: spline_node_id,
135-
node_template: spline_node,
135+
node_template: Box::new(spline_node),
136136
});
137137
responses.add(NodeGraphMessage::MoveNodeToChainStart {
138138
node_id: spline_node_id,
@@ -147,7 +147,7 @@ pub fn merge_layers(document: &DocumentMessageHandler, first_layer: LayerNodeIde
147147
.default_node_template();
148148
responses.add(NodeGraphMessage::InsertNode {
149149
node_id: transform_node_id,
150-
node_template: transform_node,
150+
node_template: Box::new(transform_node),
151151
});
152152
responses.add(NodeGraphMessage::MoveNodeToChainStart {
153153
node_id: transform_node_id,

editor/src/messages/tool/tool_messages/path_tool.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1214,7 +1214,7 @@ impl PathToolData {
12141214

12151215
// Check if that segment exists or it has been removed
12161216
if let Some(vector_data) = document.network_interface.compute_modified_vector(layer)
1217-
&& !(vector_data.segment_domain.ids().iter().any(|segment| *segment == segment_id))
1217+
&& !(vector_data.segment_domain.ids().contains(&segment_id))
12181218
{
12191219
self.segment = None;
12201220
}

node-graph/node-macro/src/buffer_struct.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,7 @@ impl VisitMut for GenericsVisitor<'_> {
205205
}
206206

207207
fn visit_path_segment_mut(&mut self, i: &mut PathSegment) {
208-
if i.ident.to_string() == "Self" {
208+
if i.ident == "Self" {
209209
i.ident = self.self_ident.clone();
210210
}
211211
visit_mut::visit_path_segment_mut(self, i);

node-graph/node-macro/src/codegen.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -287,7 +287,7 @@ pub(crate) fn generate_node_code(crate_ident: &CrateIdent, parsed: &ParsedNodeFn
287287
let properties = &attributes.properties_string.as_ref().map(|value| quote!(Some(#value))).unwrap_or(quote!(None));
288288

289289
let cfg = crate::shader_nodes::modify_cfg(attributes);
290-
let node_input_accessor = generate_node_input_references(parsed, fn_generics, &field_idents, &graphene_core, &identifier, &cfg);
290+
let node_input_accessor = generate_node_input_references(parsed, fn_generics, &field_idents, graphene_core, &identifier, &cfg);
291291
let ShaderTokens { shader_entry_point, gpu_node } = attributes.shader_node.as_ref().map(|n| n.codegen(crate_ident, parsed)).unwrap_or(Ok(ShaderTokens::default()))?;
292292

293293
Ok(quote! {

node-graph/node-macro/src/crate_ident.rs

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -30,16 +30,11 @@ impl Default for CrateIdent {
3030
let name = format_ident!("{}", name);
3131
Ok(quote!(::#name))
3232
}
33-
Err(e) => Err(syn::Error::new(Span::call_site(), &format!("Could not find dependency on `{orig_name}`:\n{e}"))),
33+
Err(e) => Err(syn::Error::new(Span::call_site(), format!("Could not find dependency on `{orig_name}`:\n{e}"))),
3434
};
3535

3636
let gcore = find_crate("graphene-core");
37-
let gcore_shaders = find_crate("graphene-core-shaders").or_else(|eshaders| {
38-
gcore
39-
.as_ref()
40-
.map(Clone::clone)
41-
.map_err(|ecore| syn::Error::new(Span::call_site(), &format!("{ecore}\n\nFallback: {eshaders}")))
42-
});
37+
let gcore_shaders = find_crate("graphene-core-shaders").or_else(|eshaders| gcore.clone().map_err(|ecore| syn::Error::new(Span::call_site(), format!("{ecore}\n\nFallback: {eshaders}"))));
4338
let wgpu_executor = find_crate("wgpu-executor");
4439
Self { gcore, gcore_shaders, wgpu_executor }
4540
}

node-graph/node-macro/src/lib.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,5 +37,5 @@ pub fn derive_choice_type(input_item: TokenStream) -> TokenStream {
3737
#[proc_macro_derive(BufferStruct)]
3838
pub fn derive_buffer_struct(input_item: TokenStream) -> TokenStream {
3939
let crate_ident = CrateIdent::default();
40-
TokenStream::from(buffer_struct::derive_buffer_struct(&crate_ident, input_item.into()).unwrap_or_else(|err| err.to_compile_error()))
40+
TokenStream::from(buffer_struct::derive_buffer_struct(&crate_ident, input_item).unwrap_or_else(|err| err.to_compile_error()))
4141
}

0 commit comments

Comments
 (0)