Reduce editor message size by 67% and fix simple clippy warnings (#3327)

Reduce message size and fix some clippy issues
This commit is contained in:
skearya 2025-11-02 02:50:29 -05:00 committed by GitHub
parent d919dfe757
commit c4bbb7e880
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
9 changed files with 17 additions and 21 deletions

View File

@ -1542,7 +1542,7 @@ impl MessageHandler<DocumentMessage, DocumentMessageContext<'_>> for DocumentMes
.default_node_template(); .default_node_template();
responses.add(NodeGraphMessage::InsertNode { responses.add(NodeGraphMessage::InsertNode {
node_id, node_id,
node_template: new_artboard_node, node_template: Box::new(new_artboard_node),
}); });
responses.add(NodeGraphMessage::ShiftNodePosition { node_id, x: 15, y: -3 }); responses.add(NodeGraphMessage::ShiftNodePosition { node_id, x: 15, y: -3 });
responses.add(GraphOperationMessage::ResizeArtboard { responses.add(GraphOperationMessage::ResizeArtboard {

View File

@ -75,7 +75,8 @@ pub enum NodeGraphMessage {
}, },
InsertNode { InsertNode {
node_id: NodeId, node_id: NodeId,
node_template: NodeTemplate, // Boxed to reduce size of enum (1120 bytes to 8 bytes)
node_template: Box<NodeTemplate>,
}, },
InsertNodeBetween { InsertNodeBetween {
node_id: NodeId, node_id: NodeId,

View File

@ -264,7 +264,7 @@ impl<'a> MessageHandler<NodeGraphMessage, NodeGraphMessageContext<'a>> for NodeG
responses.add(NodeGraphMessage::InsertNode { responses.add(NodeGraphMessage::InsertNode {
node_id, node_id,
node_template: node_template.clone(), node_template: Box::new(node_template.clone()),
}); });
responses.add(NodeGraphMessage::ShiftNodePosition { node_id, x, y }); responses.add(NodeGraphMessage::ShiftNodePosition { node_id, x, y });
// Only auto connect to the dragged wire if the node is being added to the currently opened network // 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
responses.add(NodeGraphMessage::UpdateImportsExports); responses.add(NodeGraphMessage::UpdateImportsExports);
} }
NodeGraphMessage::InsertNode { node_id, node_template } => { NodeGraphMessage::InsertNode { node_id, node_template } => {
network_interface.insert_node(node_id, node_template, selection_network_path); network_interface.insert_node(node_id, *node_template, selection_network_path);
} }
NodeGraphMessage::InsertNodeBetween { NodeGraphMessage::InsertNodeBetween {
node_id, node_id,
@ -624,7 +624,7 @@ impl<'a> MessageHandler<NodeGraphMessage, NodeGraphMessageContext<'a>> for NodeG
responses.add(DocumentMessage::AddTransaction); responses.add(DocumentMessage::AddTransaction);
responses.add(NodeGraphMessage::InsertNode { responses.add(NodeGraphMessage::InsertNode {
node_id: encapsulating_node_id, node_id: encapsulating_node_id,
node_template: default_node_template, node_template: Box::new(default_node_template),
}); });
responses.add(NodeGraphMessage::SetDisplayNameImpl { responses.add(NodeGraphMessage::SetDisplayNameImpl {
node_id: encapsulating_node_id, node_id: encapsulating_node_id,

View File

@ -77,7 +77,7 @@ pub fn merge_layers(document: &DocumentMessageHandler, first_layer: LayerNodeIde
.default_node_template(); .default_node_template();
responses.add(NodeGraphMessage::InsertNode { responses.add(NodeGraphMessage::InsertNode {
node_id: merge_node_id, node_id: merge_node_id,
node_template: merge_node, node_template: Box::new(merge_node),
}); });
responses.add(NodeGraphMessage::SetToNodeOrLayer { responses.add(NodeGraphMessage::SetToNodeOrLayer {
node_id: merge_node_id, node_id: merge_node_id,
@ -103,7 +103,7 @@ pub fn merge_layers(document: &DocumentMessageHandler, first_layer: LayerNodeIde
.default_node_template(); .default_node_template();
responses.add(NodeGraphMessage::InsertNode { responses.add(NodeGraphMessage::InsertNode {
node_id: flatten_node_id, node_id: flatten_node_id,
node_template: flatten_node, node_template: Box::new(flatten_node),
}); });
responses.add(NodeGraphMessage::MoveNodeToChainStart { responses.add(NodeGraphMessage::MoveNodeToChainStart {
node_id: flatten_node_id, node_id: flatten_node_id,
@ -117,7 +117,7 @@ pub fn merge_layers(document: &DocumentMessageHandler, first_layer: LayerNodeIde
.default_node_template(); .default_node_template();
responses.add(NodeGraphMessage::InsertNode { responses.add(NodeGraphMessage::InsertNode {
node_id: path_node_id, node_id: path_node_id,
node_template: path_node, node_template: Box::new(path_node),
}); });
responses.add(NodeGraphMessage::MoveNodeToChainStart { responses.add(NodeGraphMessage::MoveNodeToChainStart {
node_id: path_node_id, node_id: path_node_id,
@ -132,7 +132,7 @@ pub fn merge_layers(document: &DocumentMessageHandler, first_layer: LayerNodeIde
.default_node_template(); .default_node_template();
responses.add(NodeGraphMessage::InsertNode { responses.add(NodeGraphMessage::InsertNode {
node_id: spline_node_id, node_id: spline_node_id,
node_template: spline_node, node_template: Box::new(spline_node),
}); });
responses.add(NodeGraphMessage::MoveNodeToChainStart { responses.add(NodeGraphMessage::MoveNodeToChainStart {
node_id: spline_node_id, node_id: spline_node_id,
@ -147,7 +147,7 @@ pub fn merge_layers(document: &DocumentMessageHandler, first_layer: LayerNodeIde
.default_node_template(); .default_node_template();
responses.add(NodeGraphMessage::InsertNode { responses.add(NodeGraphMessage::InsertNode {
node_id: transform_node_id, node_id: transform_node_id,
node_template: transform_node, node_template: Box::new(transform_node),
}); });
responses.add(NodeGraphMessage::MoveNodeToChainStart { responses.add(NodeGraphMessage::MoveNodeToChainStart {
node_id: transform_node_id, node_id: transform_node_id,

View File

@ -1214,7 +1214,7 @@ impl PathToolData {
// Check if that segment exists or it has been removed // Check if that segment exists or it has been removed
if let Some(vector_data) = document.network_interface.compute_modified_vector(layer) if let Some(vector_data) = document.network_interface.compute_modified_vector(layer)
&& !(vector_data.segment_domain.ids().iter().any(|segment| *segment == segment_id)) && !(vector_data.segment_domain.ids().contains(&segment_id))
{ {
self.segment = None; self.segment = None;
} }

View File

@ -205,7 +205,7 @@ impl VisitMut for GenericsVisitor<'_> {
} }
fn visit_path_segment_mut(&mut self, i: &mut PathSegment) { fn visit_path_segment_mut(&mut self, i: &mut PathSegment) {
if i.ident.to_string() == "Self" { if i.ident == "Self" {
i.ident = self.self_ident.clone(); i.ident = self.self_ident.clone();
} }
visit_mut::visit_path_segment_mut(self, i); visit_mut::visit_path_segment_mut(self, i);

View File

@ -287,7 +287,7 @@ pub(crate) fn generate_node_code(crate_ident: &CrateIdent, parsed: &ParsedNodeFn
let properties = &attributes.properties_string.as_ref().map(|value| quote!(Some(#value))).unwrap_or(quote!(None)); let properties = &attributes.properties_string.as_ref().map(|value| quote!(Some(#value))).unwrap_or(quote!(None));
let cfg = crate::shader_nodes::modify_cfg(attributes); let cfg = crate::shader_nodes::modify_cfg(attributes);
let node_input_accessor = generate_node_input_references(parsed, fn_generics, &field_idents, &graphene_core, &identifier, &cfg); let node_input_accessor = generate_node_input_references(parsed, fn_generics, &field_idents, graphene_core, &identifier, &cfg);
let ShaderTokens { shader_entry_point, gpu_node } = attributes.shader_node.as_ref().map(|n| n.codegen(crate_ident, parsed)).unwrap_or(Ok(ShaderTokens::default()))?; let ShaderTokens { shader_entry_point, gpu_node } = attributes.shader_node.as_ref().map(|n| n.codegen(crate_ident, parsed)).unwrap_or(Ok(ShaderTokens::default()))?;
Ok(quote! { Ok(quote! {

View File

@ -30,16 +30,11 @@ impl Default for CrateIdent {
let name = format_ident!("{}", name); let name = format_ident!("{}", name);
Ok(quote!(::#name)) Ok(quote!(::#name))
} }
Err(e) => Err(syn::Error::new(Span::call_site(), &format!("Could not find dependency on `{orig_name}`:\n{e}"))), Err(e) => Err(syn::Error::new(Span::call_site(), format!("Could not find dependency on `{orig_name}`:\n{e}"))),
}; };
let gcore = find_crate("graphene-core"); let gcore = find_crate("graphene-core");
let gcore_shaders = find_crate("graphene-core-shaders").or_else(|eshaders| { 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}"))));
gcore
.as_ref()
.map(Clone::clone)
.map_err(|ecore| syn::Error::new(Span::call_site(), &format!("{ecore}\n\nFallback: {eshaders}")))
});
let wgpu_executor = find_crate("wgpu-executor"); let wgpu_executor = find_crate("wgpu-executor");
Self { gcore, gcore_shaders, wgpu_executor } Self { gcore, gcore_shaders, wgpu_executor }
} }

View File

@ -37,5 +37,5 @@ pub fn derive_choice_type(input_item: TokenStream) -> TokenStream {
#[proc_macro_derive(BufferStruct)] #[proc_macro_derive(BufferStruct)]
pub fn derive_buffer_struct(input_item: TokenStream) -> TokenStream { pub fn derive_buffer_struct(input_item: TokenStream) -> TokenStream {
let crate_ident = CrateIdent::default(); let crate_ident = CrateIdent::default();
TokenStream::from(buffer_struct::derive_buffer_struct(&crate_ident, input_item.into()).unwrap_or_else(|err| err.to_compile_error())) TokenStream::from(buffer_struct::derive_buffer_struct(&crate_ident, input_item).unwrap_or_else(|err| err.to_compile_error()))
} }