Action to replace a node with a new node of a different type. The new node keeps the old node's slot in its parent, all children move over, portable properties (matched by name + type) transfer, and the persistent UUID is preserved so Timeline bindings and node-graph refs remain resolvable