Thanks for making this, it's interesting to get a better idea of how people imagine the scene graph working.
I like the approach of having a hierarchy bar that shows all the connections as a tree.
At the moment the proposed way of treating "scenes" like "object types" is awkward to fit in to Construct's current architecture. An object type is something that directly has instances, variables, behaviors, picking capability in events etc. itself, and scenes don't seem to be quite the same kind of thing as that, so I think it would be better to approach that differently. Perhaps there could be a separate view that shows all objects at the root of a graph, which is what a "scene" appears to basically be.
The scene editor also seems to duplicate a lot of what the Layout View does - it seems to make sense to me to just do all that in the Layout View directly.
I want to be able to filter out all the objects under the tree structure through the parent object.
For example, if A collides with B, let A> A1 > aa change the transparency. Let A > a2 > a_text.text= "dmg"
I think it is very important to be able to accurately select the required child objects under the parent structure.
In many games, the enemy's head will have <a blood bar>, and the top of the blood bar is the <text> of the blood bar (100 /100). Then these can be used as children of the enemy. When the player collides with the enemy, it can accurately change the blood bar and text on the enemy's head. (that is, the blood strips and words on the enemy's head can be changed based on the enemy's own variables. For example, hp_text.text=self.parent.hp;). It can select the variables of its parent object.
This is the example I would like to cite.
The parent object can easily obtain and change the variables or properties of the child object you want, and the child object can also obtain the attributes and variables of its parent object through self.parent.***.