@@ -3,7 +3,7 @@ use super::node_graph::utility_types::Transform;
3
3
use super :: overlays:: utility_types:: Pivot ;
4
4
use super :: utility_types:: error:: EditorError ;
5
5
use super :: utility_types:: misc:: { GroupFolderType , SNAP_FUNCTIONS_FOR_BOUNDING_BOXES , SNAP_FUNCTIONS_FOR_PATHS , SnappingOptions , SnappingState } ;
6
- use super :: utility_types:: network_interface:: { self , NodeNetworkInterface , TransactionStatus } ;
6
+ use super :: utility_types:: network_interface:: { NodeNetworkInterface , TransactionStatus } ;
7
7
use super :: utility_types:: nodes:: { CollapsedLayers , SelectedNodes } ;
8
8
use crate :: application:: { GRAPHITE_GIT_COMMIT_HASH , generate_uuid} ;
9
9
use crate :: consts:: { ASYMPTOTIC_EFFECT , COLOR_OVERLAY_GRAY , DEFAULT_DOCUMENT_NAME , FILE_SAVE_SUFFIX , SCALE_EFFECT , SCROLLBAR_SPACING , VIEWPORT_ROTATE_SNAP_INTERVAL } ;
@@ -13,22 +13,20 @@ use crate::messages::portfolio::document::graph_operation::utility_types::Transf
13
13
use crate :: messages:: portfolio:: document:: node_graph:: NodeGraphHandlerData ;
14
14
use crate :: messages:: portfolio:: document:: overlays:: grid_overlays:: { grid_overlay, overlay_options} ;
15
15
use crate :: messages:: portfolio:: document:: overlays:: utility_types:: { OverlaysType , OverlaysVisibilitySettings } ;
16
- use crate :: messages:: portfolio:: document:: properties_panel:: utility_types:: PropertiesPanelMessageHandlerData ;
17
16
use crate :: messages:: portfolio:: document:: utility_types:: document_metadata:: { DocumentMetadata , LayerNodeIdentifier } ;
18
17
use crate :: messages:: portfolio:: document:: utility_types:: misc:: { AlignAggregate , AlignAxis , DocumentMode , FlipAxis , PTZ } ;
19
- use crate :: messages:: portfolio:: document:: utility_types:: network_interface:: { FlowType , InputConnector , NodeTemplate } ;
18
+ use crate :: messages:: portfolio:: document:: utility_types:: network_interface:: { FlowType , NodeTemplate } ;
20
19
use crate :: messages:: portfolio:: document:: utility_types:: nodes:: RawBuffer ;
21
20
use crate :: messages:: portfolio:: utility_types:: PersistentData ;
22
21
use crate :: messages:: prelude:: * ;
23
22
use crate :: messages:: tool:: common_functionality:: graph_modification_utils:: { self , get_blend_mode, get_fill, get_opacity} ;
24
23
use crate :: messages:: tool:: tool_messages:: select_tool:: SelectToolPointerKeys ;
25
24
use crate :: messages:: tool:: tool_messages:: tool_prelude:: Key ;
26
25
use crate :: messages:: tool:: utility_types:: ToolType ;
27
- use crate :: node_graph_executor:: NodeGraphExecutor ;
28
26
use bezier_rs:: Subpath ;
29
27
use glam:: { DAffine2 , DVec2 , IVec2 } ;
30
28
use graph_craft:: document:: value:: TaggedValue ;
31
- use graph_craft:: document:: { NodeId , NodeInput , NodeNetwork , OldNodeNetwork } ;
29
+ use graph_craft:: document:: { InputConnector , NodeInput , NodeNetwork , OldNodeNetwork } ;
32
30
use graphene_std:: math:: quad:: Quad ;
33
31
use graphene_std:: path_bool:: { boolean_intersect, path_bool_lib} ;
34
32
use graphene_std:: raster:: BlendMode ;
@@ -37,18 +35,16 @@ use graphene_std::uuid::NodeId;
37
35
use graphene_std:: vector:: PointId ;
38
36
use graphene_std:: vector:: click_target:: { ClickTarget , ClickTargetType } ;
39
37
use graphene_std:: vector:: style:: ViewMode ;
40
- use std:: sync:: Arc ;
41
38
use std:: time:: Duration ;
42
39
43
40
#[ derive( ExtractField ) ]
44
41
pub struct DocumentMessageData < ' a > {
45
- pub document_id : DocumentId ,
46
42
pub ipp : & ' a InputPreprocessorMessageHandler ,
47
43
pub persistent_data : & ' a PersistentData ,
48
44
pub current_tool : & ' a ToolType ,
49
45
pub preferences : & ' a PreferencesMessageHandler ,
50
46
pub device_pixel_ratio : f64 ,
51
- // pub introspected_inputs: &HashMap<CompiledProtonodeInput, Box <dyn std::any::Any + Send + Sync>>,
47
+ // pub introspected_inputs: &HashMap<CompiledProtonodeInput, Arc <dyn std::any::Any + Send + Sync>>,
52
48
// pub downcasted_inputs: &mut HashMap<CompiledProtonodeInput, TaggedValue>,
53
49
}
54
50
@@ -176,7 +172,6 @@ impl Default for DocumentMessageHandler {
176
172
impl MessageHandler < DocumentMessage , DocumentMessageData < ' _ > > for DocumentMessageHandler {
177
173
fn process_message ( & mut self , message : DocumentMessage , responses : & mut VecDeque < Message > , data : DocumentMessageData ) {
178
174
let DocumentMessageData {
179
- document_id,
180
175
ipp,
181
176
persistent_data,
182
177
current_tool,
@@ -222,11 +217,10 @@ impl MessageHandler<DocumentMessage, DocumentMessageData<'_>> for DocumentMessag
222
217
) ;
223
218
}
224
219
DocumentMessage :: PropertiesPanel ( message) => {
225
- let properties_panel_message_handler_data = PropertiesPanelMessageHandlerData {
220
+ let properties_panel_message_handler_data = super :: properties_panel :: PropertiesPanelMessageHandlerData {
226
221
network_interface : & mut self . network_interface ,
227
222
selection_network_path : & self . selection_network_path ,
228
223
document_name : self . name . as_str ( ) ,
229
- executor,
230
224
} ;
231
225
self . properties_panel_message_handler
232
226
. process_message ( message, responses, ( persistent_data, properties_panel_message_handler_data) ) ;
@@ -239,7 +233,6 @@ impl MessageHandler<DocumentMessage, DocumentMessageData<'_>> for DocumentMessag
239
233
network_interface : & mut self . network_interface ,
240
234
selection_network_path : & self . selection_network_path ,
241
235
breadcrumb_network_path : & self . breadcrumb_network_path ,
242
- document_id,
243
236
collapsed : & mut self . collapsed ,
244
237
ipp,
245
238
graph_view_overlay_open : self . graph_view_overlay_open ,
@@ -1432,7 +1425,7 @@ impl MessageHandler<DocumentMessage, DocumentMessageData<'_>> for DocumentMessag
1432
1425
center : Key :: Alt ,
1433
1426
duplicate : Key :: Alt ,
1434
1427
} ) ) ;
1435
- responses. add ( PortfolioMessage :: CompileActiveDocument ) ;
1428
+ responses. add ( PortfolioMessage :: EvaluateActiveDocument ) ;
1436
1429
} else {
1437
1430
let Some ( network_metadata) = self . network_interface . network_metadata ( & self . breadcrumb_network_path ) else {
1438
1431
return ;
@@ -1492,7 +1485,7 @@ impl MessageHandler<DocumentMessage, DocumentMessageData<'_>> for DocumentMessag
1492
1485
// Connect the current output data to the artboard's input data, and the artboard's output to the document output
1493
1486
responses. add ( NodeGraphMessage :: InsertNodeBetween {
1494
1487
node_id,
1495
- input_connector : network_interface :: InputConnector :: Export ( 0 ) ,
1488
+ input_connector : InputConnector :: Export ( 0 ) ,
1496
1489
insert_node_input_index : 1 ,
1497
1490
} ) ;
1498
1491
@@ -1909,13 +1902,14 @@ impl DocumentMessageHandler {
1909
1902
let previous_network = std:: mem:: replace ( & mut self . network_interface , network_interface) ;
1910
1903
1911
1904
// Push the UpdateOpenDocumentsList message to the bus in order to update the save status of the open documents
1905
+ responses. add ( PortfolioMessage :: CompileActiveDocument ) ;
1906
+ responses. add ( Message :: StartEvaluationQueue ) ;
1912
1907
responses. add ( PortfolioMessage :: UpdateOpenDocumentsList ) ;
1913
1908
responses. add ( NodeGraphMessage :: SelectedNodesUpdated ) ;
1914
- // TODO: Remove once the footprint is used to load the imports/export distances from the edge
1915
- responses. add ( NodeGraphMessage :: UnloadWires ) ;
1916
1909
responses. add ( NodeGraphMessage :: SetGridAlignedEdges ) ;
1917
- responses. add ( PortfolioMessage :: CompileActiveDocument ) ;
1918
- responses. add ( Message :: StartQueue ) ;
1910
+ responses. add ( NodeGraphMessage :: UnloadWires ) ;
1911
+ responses. add ( NodeGraphMessage :: SendWires ) ;
1912
+ responses. add ( Message :: EndEvaluationQueue ) ;
1919
1913
Some ( previous_network)
1920
1914
}
1921
1915
pub fn redo_with_history ( & mut self , ipp : & InputPreprocessorMessageHandler , responses : & mut VecDeque < Message > ) {
@@ -1941,12 +1935,14 @@ impl DocumentMessageHandler {
1941
1935
network_interface. set_document_to_viewport_transform ( transform) ;
1942
1936
1943
1937
let previous_network = std:: mem:: replace ( & mut self . network_interface , network_interface) ;
1938
+ responses. add ( PortfolioMessage :: CompileActiveDocument ) ;
1939
+ responses. add ( Message :: StartEvaluationQueue ) ;
1944
1940
// Push the UpdateOpenDocumentsList message to the bus in order to update the save status of the open documents
1945
1941
responses. add ( PortfolioMessage :: UpdateOpenDocumentsList ) ;
1946
1942
responses. add ( NodeGraphMessage :: SelectedNodesUpdated ) ;
1947
- responses. add ( PortfolioMessage :: CompileActiveDocument ) ;
1948
1943
responses. add ( NodeGraphMessage :: UnloadWires ) ;
1949
1944
responses. add ( NodeGraphMessage :: SendWires ) ;
1945
+ responses. add ( Message :: EndEvaluationQueue ) ;
1950
1946
Some ( previous_network)
1951
1947
}
1952
1948
@@ -2103,7 +2099,7 @@ impl DocumentMessageHandler {
2103
2099
/// Loads all of the fonts in the document.
2104
2100
pub fn load_layer_resources ( & self , responses : & mut VecDeque < Message > ) {
2105
2101
let mut fonts = HashSet :: new ( ) ;
2106
- for ( _node_id , node, _ ) in self . document_network ( ) . recursive_nodes ( ) {
2102
+ for ( _node_path , node) in self . document_network ( ) . recursive_nodes ( ) {
2107
2103
for input in & node. inputs {
2108
2104
if let Some ( TaggedValue :: Font ( font) ) = input. as_value ( ) {
2109
2105
fonts. insert ( font. clone ( ) ) ;
@@ -2576,7 +2572,7 @@ impl DocumentMessageHandler {
2576
2572
layout : Layout :: WidgetLayout ( document_bar_layout) ,
2577
2573
layout_target : LayoutTarget :: DocumentBar ,
2578
2574
} ) ;
2579
- responses. add ( NodeGraphMessage :: ForceRunDocumentGraph ) ;
2575
+ responses. add ( PortfolioMessage :: EvaluateActiveDocument ) ;
2580
2576
}
2581
2577
2582
2578
pub fn update_layers_panel_control_bar_widgets ( & self , responses : & mut VecDeque < Message > ) {
0 commit comments