Genesis-Embodied-AI/genesis-world · error · DeprecationError

This property has been removed.

Error message

This property has been removed.

What it means

RigidLink.is_free has been removed and raises DeprecationError on access. Free-floating status must now be derived from the link's root_joint (a link is free-floating when its root joint is a free joint) or from the entity-level API.

Source

Thrown at genesis/engine/entities/rigid_entity/rigid_link.py:1258

        return sum([geom.n_verts for geom in self._geoms])

    @property
    def n_faces(self) -> int:
        """
        Number of faces of all the link's geoms.
        """
        return sum([geom.n_faces for geom in self._geoms])

    @property
    def n_edges(self) -> int:
        """
        Number of edges of all the link's geoms.
        """
        return sum([geom.n_edges for geom in self._geoms])

    @property
    def is_free(self):
        raise DeprecationError("This property has been removed.")

View on GitHub (pinned to 56e4aa5d82)

Solutions

  1. Derive mobility from the link's root joint, e.g. link.root_joint is not None and link.root_joint.type == gs.JOINT_TYPE.FREE
  2. Check link.is_fixed for the fixed/free distinction if that is what you need
  3. Grep for '.is_free' across link loops and replace with the root-joint or is_fixed check

Example fix

# before
if link.is_free:
    ...
# after
if link.is_fixed is False and link.root_joint is not None and link.root_joint.type == gs.JOINT_TYPE.FREE:
    ...
Defensive patterns

Strategy: validation

Type guard

def link_is_free_floating(link) -> bool:
    return link.root_joint is not None and link.root_joint.type == gs.JOINT_TYPE.FREE

Try / catch

try:
    val = link.is_free
except DeprecationError:
    val = link.root_joint is not None and link.root_joint.type == gs.JOINT_TYPE.FREE

Prevention

When it happens

Trigger: Accessing link.is_free on a RigidLink, e.g. in per-link gravity compensation, sleep/hibernation logic, or custom contact handling written for an older Genesis.

Common situations: Migrating simulation code after the link API refactor removed boolean mobility shortcuts; scripts that looped over entity.links and branched on link.is_free for applying forces or damping.

Related errors


AI-assisted analysis of Genesis-Embodied-AI/genesis-world@56e4aa5d82 (2026-08-28). Data as JSON: /api/errors/45bdc5687284f670. Report an issue: GitHub.