-
Notifications
You must be signed in to change notification settings - Fork 130
Description
Hello Viser team,
First of all, thank you for the amazing work on Viser—it’s been a great tool for visualization and exploration.
Currently, the parent–child hierarchy in the scene is determined by the name path at object creation time (e.g., "/parent/child"). However, there doesn’t seem to be a way to dynamically change the parent of an existing object after it has been added to the scene.
A good use case for this would be with add_transform_controls:
Often, we want to attach a transform gizmo to an existing object after it has already been created.
Without reparenting, this requires removing and recreating the object with a new hierarchy, which is cumbersome and can lead to unnecessary complexity.
Proposal
It would be very useful to have an API method like:
scene.reparent("/old_parent/object", new_parent="/new_parent")
This would move the node (and its children, if any) under a new parent without requiring removal and re-creation.
Benefits
Enables attaching tools like transform controls to existing objects.
Avoids unnecessary recreation of objects.
Provides more flexible and dynamic scene graph manipulation.
Brings Viser closer to common scene graph practices in 3D engines.
Would the maintainers be open to supporting this feature? I’d be happy to help draft a more detailed proposal or contribute if guidance is provided.
Thanks again for your work on Viser!