Add button

This commit is contained in:
Adam
2025-09-01 18:16:36 -07:00
parent 1ab681da8c
commit 27294c7569
6 changed files with 19 additions and 0 deletions

View File

@@ -280,6 +280,8 @@ pub enum FrontendMessage {
// Displays a dashed border around the node
#[serde(rename = "previewedNode")]
previewed_node: Option<NodeId>,
#[serde(rename = "nativeNodeGraphRender")]
native_node_graph_render: bool,
},
UpdateVisibleNodes {
nodes: Vec<NodeId>,

View File

@@ -183,6 +183,7 @@ pub enum NodeGraphMessage {
TogglePreviewImpl {
node_id: NodeId,
},
ToggleNativeNodeGraphRender,
SetImportExportName {
name: String,
index: ImportOrExport,

View File

@@ -1630,6 +1630,7 @@ impl<'a> MessageHandler<NodeGraphMessage, NodeGraphMessageContext<'a>> for NodeG
opacity: graph_fade_artwork_percentage,
in_selected_network: selection_network_path == breadcrumb_network_path,
previewed_node,
native_node_graph_render: self.native_node_graph_render,
});
responses.add(NodeGraphMessage::UpdateVisibleNodes);
@@ -1781,6 +1782,10 @@ impl<'a> MessageHandler<NodeGraphMessage, NodeGraphMessageContext<'a>> for NodeG
NodeGraphMessage::TogglePreviewImpl { node_id } => {
network_interface.toggle_preview(node_id, selection_network_path);
}
NodeGraphMessage::ToggleNativeNodeGraphRender => {
self.native_node_graph_render = !self.native_node_graph_render;
responses.add(NodeGraphMessage::SendGraph);
}
NodeGraphMessage::ToggleSelectedLocked => {
let Some(selected_nodes) = network_interface.selected_nodes_in_nested_network(selection_network_path) else {
log::error!("Could not get selected nodes in NodeGraphMessage::ToggleSelectedLocked");

View File

@@ -18,6 +18,7 @@ pub struct MenuBarMessageHandler {
pub has_selection_history: (bool, bool),
pub message_logging_verbosity: MessageLoggingVerbosity,
pub reset_node_definitions_on_open: bool,
pub native_node_graph_render: bool,
pub make_path_editable_is_allowed: bool,
pub data_panel_open: bool,
pub layers_panel_open: bool,
@@ -48,6 +49,7 @@ impl LayoutHolder for MenuBarMessageHandler {
let message_logging_verbosity_names = self.message_logging_verbosity == MessageLoggingVerbosity::Names;
let message_logging_verbosity_contents = self.message_logging_verbosity == MessageLoggingVerbosity::Contents;
let reset_node_definitions_on_open = self.reset_node_definitions_on_open;
let native_node_graph_render = self.native_node_graph_render;
let make_path_editable_is_allowed = self.make_path_editable_is_allowed;
let menu_bar_entries = vec![
@@ -696,6 +698,12 @@ impl LayoutHolder for MenuBarMessageHandler {
action: MenuBarEntry::create_action(|_| PortfolioMessage::ToggleResetNodesToDefinitionsOnOpen.into()),
..MenuBarEntry::default()
}],
vec![MenuBarEntry {
label: "Native Node Graph UI Render".into(),
icon: Some(if native_node_graph_render { "CheckboxChecked" } else { "CheckboxUnchecked" }.into()),
action: MenuBarEntry::create_action(|_| NodeGraphMessage::ToggleNativeNodeGraphRender.into()),
..MenuBarEntry::default()
}],
vec![
MenuBarEntry {
label: "Print Trace Logs".into(),

View File

@@ -116,6 +116,8 @@ export class UpdateNodeGraphRender extends JsMessage {
readonly inSelectedNetwork!: boolean;
readonly previewedNode!: bigint | undefined;
readonly nativeNodeGraphRender!: boolean;
}
export class UpdateVisibleNodes extends JsMessage {

View File

@@ -118,6 +118,7 @@ export function createNodeGraphState(editor: Editor) {
state.opacity = updateNodeGraphRender.opacity;
state.inSelectedNetwork = updateNodeGraphRender.inSelectedNetwork;
state.previewedNode = updateNodeGraphRender.previewedNode;
state.nativeNodeGraphRender = updateNodeGraphRender.nativeNodeGraphRender;
return state;
});
});