imgur.com/cdJkTYV
i.imgur.com/cdJkTYV.png
This is my mock up for a scene graph system for Construct 3!
A Scene is a new Object Type, that when double-clicked opens up a new kind of page - "Scene view", which shares the design language of the Construct animation editor / Layouts. Object Types on the Project view simply display as any object, and can be treated as an object similar to a sprite in Events.
Once opened, a hierarchy window is available that allows you to sort the hierarchy (Parent and children) of objects dragged into the Scene view. Object children, when moved in editor (and with Events in runtime) conform to their parent's movements and rotations, as well as other events like Destroy.
If an object is created either through events or editor as Scene 1 object
-It should contain the parent/child associations, and so in runtime, if for example "Torso" is being manipulated, it's children should also follow suit.
If an object is created through events or editor as Torso object
-It does not contain any parent/child associations and so if it is manipulated, it is simple an ordinary sprite.
It should still be possible to spawn objects of for example 'Torso' as an individual object, without spawning the rest of it's children within a Scene as long as the object that is being spawned is Torso and not "Scene 1".
There should be a way to pick objects by parents and children for individual control of parts.
Being able to Nest Scenes would be amazing, but I can imagine that being a lot of work.
There is a show image point option in the Editor properties to toggle showing all origin point and image points to better align composite sprites.
There is a Z order window in my mock up. But I am not sure if it is needed with a hierarchy. It could still be useful to be able to control whether a child is above or below it's parent.
It would be very useful if we could composite different object types, mainly Sprites, 9-Patch, Particles, Text, Sprite Font, Tiled Backgrounds, Tilemaps (not really that important).
Just my ideas, but hoping the team takes some of these ideas!