@@ -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,17 +35,15 @@ 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
pub struct DocumentMessageData < ' a > {
44
- pub document_id : DocumentId ,
45
41
pub ipp : & ' a InputPreprocessorMessageHandler ,
46
42
pub persistent_data : & ' a PersistentData ,
47
43
pub current_tool : & ' a ToolType ,
48
44
pub preferences : & ' a PreferencesMessageHandler ,
49
45
pub device_pixel_ratio : f64 ,
50
- // pub introspected_inputs: &HashMap<CompiledProtonodeInput, Box <dyn std::any::Any + Send + Sync>>,
46
+ // pub introspected_inputs: &HashMap<CompiledProtonodeInput, Arc <dyn std::any::Any + Send + Sync>>,
51
47
// pub downcasted_inputs: &mut HashMap<CompiledProtonodeInput, TaggedValue>,
52
48
}
53
49
@@ -174,7 +170,6 @@ impl Default for DocumentMessageHandler {
174
170
impl MessageHandler < DocumentMessage , DocumentMessageData < ' _ > > for DocumentMessageHandler {
175
171
fn process_message ( & mut self , message : DocumentMessage , responses : & mut VecDeque < Message > , data : DocumentMessageData ) {
176
172
let DocumentMessageData {
177
- document_id,
178
173
ipp,
179
174
persistent_data,
180
175
current_tool,
@@ -220,11 +215,10 @@ impl MessageHandler<DocumentMessage, DocumentMessageData<'_>> for DocumentMessag
220
215
) ;
221
216
}
222
217
DocumentMessage :: PropertiesPanel ( message) => {
223
- let properties_panel_message_handler_data = PropertiesPanelMessageHandlerData {
218
+ let properties_panel_message_handler_data = super :: properties_panel :: PropertiesPanelMessageHandlerData {
224
219
network_interface : & mut self . network_interface ,
225
220
selection_network_path : & self . selection_network_path ,
226
221
document_name : self . name . as_str ( ) ,
227
- executor,
228
222
} ;
229
223
self . properties_panel_message_handler
230
224
. process_message ( message, responses, ( persistent_data, properties_panel_message_handler_data) ) ;
@@ -237,7 +231,6 @@ impl MessageHandler<DocumentMessage, DocumentMessageData<'_>> for DocumentMessag
237
231
network_interface : & mut self . network_interface ,
238
232
selection_network_path : & self . selection_network_path ,
239
233
breadcrumb_network_path : & self . breadcrumb_network_path ,
240
- document_id,
241
234
collapsed : & mut self . collapsed ,
242
235
ipp,
243
236
graph_view_overlay_open : self . graph_view_overlay_open ,
@@ -1426,7 +1419,7 @@ impl MessageHandler<DocumentMessage, DocumentMessageData<'_>> for DocumentMessag
1426
1419
center : Key :: Alt ,
1427
1420
duplicate : Key :: Alt ,
1428
1421
} ) ) ;
1429
- responses. add ( PortfolioMessage :: CompileActiveDocument ) ;
1422
+ responses. add ( PortfolioMessage :: EvaluateActiveDocument ) ;
1430
1423
} else {
1431
1424
let Some ( network_metadata) = self . network_interface . network_metadata ( & self . breadcrumb_network_path ) else {
1432
1425
return ;
@@ -1486,7 +1479,7 @@ impl MessageHandler<DocumentMessage, DocumentMessageData<'_>> for DocumentMessag
1486
1479
// Connect the current output data to the artboard's input data, and the artboard's output to the document output
1487
1480
responses. add ( NodeGraphMessage :: InsertNodeBetween {
1488
1481
node_id,
1489
- input_connector : network_interface :: InputConnector :: Export ( 0 ) ,
1482
+ input_connector : InputConnector :: Export ( 0 ) ,
1490
1483
insert_node_input_index : 1 ,
1491
1484
} ) ;
1492
1485
@@ -1895,13 +1888,14 @@ impl DocumentMessageHandler {
1895
1888
let previous_network = std:: mem:: replace ( & mut self . network_interface , network_interface) ;
1896
1889
1897
1890
// Push the UpdateOpenDocumentsList message to the bus in order to update the save status of the open documents
1891
+ responses. add ( PortfolioMessage :: CompileActiveDocument ) ;
1892
+ responses. add ( Message :: StartEvaluationQueue ) ;
1898
1893
responses. add ( PortfolioMessage :: UpdateOpenDocumentsList ) ;
1899
1894
responses. add ( NodeGraphMessage :: SelectedNodesUpdated ) ;
1900
- // TODO: Remove once the footprint is used to load the imports/export distances from the edge
1901
- responses. add ( NodeGraphMessage :: UnloadWires ) ;
1902
1895
responses. add ( NodeGraphMessage :: SetGridAlignedEdges ) ;
1903
- responses. add ( PortfolioMessage :: CompileActiveDocument ) ;
1904
- responses. add ( Message :: StartQueue ) ;
1896
+ responses. add ( NodeGraphMessage :: UnloadWires ) ;
1897
+ responses. add ( NodeGraphMessage :: SendWires ) ;
1898
+ responses. add ( Message :: EndEvaluationQueue ) ;
1905
1899
Some ( previous_network)
1906
1900
}
1907
1901
pub fn redo_with_history ( & mut self , ipp : & InputPreprocessorMessageHandler , responses : & mut VecDeque < Message > ) {
@@ -1927,12 +1921,14 @@ impl DocumentMessageHandler {
1927
1921
network_interface. set_document_to_viewport_transform ( transform) ;
1928
1922
1929
1923
let previous_network = std:: mem:: replace ( & mut self . network_interface , network_interface) ;
1924
+ responses. add ( PortfolioMessage :: CompileActiveDocument ) ;
1925
+ responses. add ( Message :: StartEvaluationQueue ) ;
1930
1926
// Push the UpdateOpenDocumentsList message to the bus in order to update the save status of the open documents
1931
1927
responses. add ( PortfolioMessage :: UpdateOpenDocumentsList ) ;
1932
1928
responses. add ( NodeGraphMessage :: SelectedNodesUpdated ) ;
1933
- responses. add ( PortfolioMessage :: CompileActiveDocument ) ;
1934
1929
responses. add ( NodeGraphMessage :: UnloadWires ) ;
1935
1930
responses. add ( NodeGraphMessage :: SendWires ) ;
1931
+ responses. add ( Message :: EndEvaluationQueue ) ;
1936
1932
Some ( previous_network)
1937
1933
}
1938
1934
@@ -2089,7 +2085,7 @@ impl DocumentMessageHandler {
2089
2085
/// Loads all of the fonts in the document.
2090
2086
pub fn load_layer_resources ( & self , responses : & mut VecDeque < Message > ) {
2091
2087
let mut fonts = HashSet :: new ( ) ;
2092
- for ( _node_id , node, _ ) in self . document_network ( ) . recursive_nodes ( ) {
2088
+ for ( _node_path , node) in self . document_network ( ) . recursive_nodes ( ) {
2093
2089
for input in & node. inputs {
2094
2090
if let Some ( TaggedValue :: Font ( font) ) = input. as_value ( ) {
2095
2091
fonts. insert ( font. clone ( ) ) ;
@@ -2544,7 +2540,7 @@ impl DocumentMessageHandler {
2544
2540
layout : Layout :: WidgetLayout ( document_bar_layout) ,
2545
2541
layout_target : LayoutTarget :: DocumentBar ,
2546
2542
} ) ;
2547
- responses. add ( NodeGraphMessage :: ForceRunDocumentGraph ) ;
2543
+ responses. add ( PortfolioMessage :: EvaluateActiveDocument ) ;
2548
2544
}
2549
2545
2550
2546
pub fn update_layers_panel_control_bar_widgets ( & self , responses : & mut VecDeque < Message > ) {
0 commit comments