@@ -4,7 +4,9 @@ use super::utility_types::misc::{GroupFolderType, SNAP_FUNCTIONS_FOR_BOUNDING_BO
44use super :: utility_types:: network_interface:: { self , NodeNetworkInterface , TransactionStatus } ;
55use super :: utility_types:: nodes:: { CollapsedLayers , LayerStructureEntry , SelectedNodes } ;
66use crate :: application:: { GRAPHITE_GIT_COMMIT_HASH , generate_uuid} ;
7- use crate :: consts:: { ASYMPTOTIC_EFFECT , COLOR_OVERLAY_GRAY , DEFAULT_DOCUMENT_NAME , FILE_EXTENSION , LAYER_INDENT_OFFSET , SCALE_EFFECT , SCROLLBAR_SPACING , VIEWPORT_ROTATE_SNAP_INTERVAL } ;
7+ use crate :: consts:: {
8+ ASYMPTOTIC_EFFECT , COLOR_OVERLAY_GRAY , DEFAULT_DOCUMENT_NAME , FILE_EXTENSION , LAYER_INDENT_OFFSET , NODE_CHAIN_WIDTH , SCALE_EFFECT , SCROLLBAR_SPACING , VIEWPORT_ROTATE_SNAP_INTERVAL ,
9+ } ;
810use crate :: messages:: input_mapper:: utility_types:: macros:: action_shortcut;
911use crate :: messages:: layout:: utility_types:: widget_prelude:: * ;
1012use crate :: messages:: portfolio:: document:: data_panel:: { DataPanelMessageContext , DataPanelMessageHandler } ;
@@ -665,7 +667,7 @@ impl MessageHandler<DocumentMessage, DocumentMessageContext<'_>> for DocumentMes
665667 let layer_parent = self . new_layer_parent ( true ) ;
666668 let image_size = DVec2 :: new ( image. width as f64 , image. height as f64 ) ;
667669
668- let transform = if place_at_origin {
670+ let mut transform = if place_at_origin {
669671 // File-open flow: place at document origin without centering so `WrapContentInArtboard` can wrap it
670672 DAffine2 :: from_scale ( image_size)
671673 } else {
@@ -679,6 +681,7 @@ impl MessageHandler<DocumentMessage, DocumentMessageContext<'_>> for DocumentMes
679681 let cursor_in_parent = parent_to_document. inverse ( ) * self . document_transform_from_mouse ( mouse, viewport) ;
680682 cursor_in_parent * DAffine2 :: from_scale_angle_translation ( image_size, 0. , image_size / -2. )
681683 } ;
684+ transform. translation = transform. translation . round ( ) ;
682685
683686 let layer_node_id = NodeId :: new ( ) ;
684687 let layer_id = LayerNodeIdentifier :: new_unchecked ( layer_node_id) ;
@@ -1394,10 +1397,10 @@ impl MessageHandler<DocumentMessage, DocumentMessageContext<'_>> for DocumentMes
13941397 node_template : Box :: new ( new_artboard_node) ,
13951398 } ) ;
13961399 let needs_content_transform = !content_shift. abs_diff_eq ( DVec2 :: ZERO , 1e-6 ) ;
1397- // With a content Transform node: use x: 15 (8 indent + 7 for the node width) . Without: use x: LAYER_INDENT_OFFSET .
1400+ // With a content Transform node: shift by the layer indent plus the node width. Without: use just the layer indent .
13981401 responses. add ( NodeGraphMessage :: ShiftNodePosition {
13991402 node_id,
1400- x : if needs_content_transform { 15 } else { LAYER_INDENT_OFFSET } ,
1403+ x : if needs_content_transform { LAYER_INDENT_OFFSET + NODE_CHAIN_WIDTH } else { LAYER_INDENT_OFFSET } ,
14011404 y : -3 ,
14021405 } ) ;
14031406 responses. add ( GraphOperationMessage :: ResizeArtboard {
0 commit comments