Skip to content

Feature Request: Ability to Change Parent of Scene Objects #559

@Mitia-RH

Description

@Mitia-RH

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!

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions