Genesis-Embodied-AI/genesis-world · error · DeprecationError
This property has been removed.
Error message
This property has been removed.
What it means
RigidGeom.is_free raised through to report whether the owning rigid entity is free-floating, but the property has been removed and now raises DeprecationError unconditionally. Free/fixed status lives at the link level in the current API.
Source
Thrown at genesis/engine/entities/rigid_entity/rigid_geom.py:885
return self.n_faces + self.face_start
@property
def edge_end(self):
"""
Get the ending index of the geom's edges in the rigid solver.
"""
return self.n_edges + self.edge_start
@property
def is_built(self):
"""
Whether the rigid entity the geom belongs to is built.
"""
return self.entity.is_built
@property
def is_free(self):
raise DeprecationError("This property has been removed.")
@property
def is_fixed(self) -> bool:
"""
Whether this geom is fixed in the world.
"""
return self.link.is_fixed
# ------------------------------------------------------------------------------------
# -------------------------------------- repr ----------------------------------------
# ------------------------------------------------------------------------------------
def _repr_brief(self):
return f"{self.__repr_name__()}: {self._uid}, idx: {self._idx} (from entity {self._entity.uid}, link {self._link.uid})"
class RigidVisGeom(RBC):
"""View on GitHub (pinned to 56e4aa5d82)
Solutions
- Use geom.link.is_free (the owning link's mobility) instead
- Or check geom.is_fixed / geom.link.is_fixed if only the fixed distinction matters
- Grep for 'geom.is_free' and migrate all sites to the link-level API
Example fix
// before
if geom.is_free:
...
// after
if geom.link.is_free:
... Defensive patterns
Strategy: validation
Type guard
def geom_is_free(geom) -> bool:
return geom.link.is_fixed is False
Try / catch
try:
val = geom.is_free
except DeprecationError:
val = geom.link.is_fixed is False
Prevention
- Prefer link-level mobility queries over geom-level ones
- Keep a compatibility shim module mapping old property names to new API during migration
When it happens
Trigger: Accessing geom.is_free on any RigidGeom obtained from entity.geoms or link.geoms; legacy code branching on a geom's mobility.
Common situations: Porting collision- or geom-filtering code from an older Genesis release where geoms exposed the entity's is_free; copy-pasted utility functions iterating geoms and checking mobility.
Related errors
- This property has been removed.
- This method has been removed. Please consider operating at l
- This method has been removed. Please consider operating at l
- This property has been removed.
- This method has been removed. Please use 'get_AABB()' instea
AI-assisted analysis of Genesis-Embodied-AI/genesis-world@56e4aa5d82 (2026-08-28).
Data as JSON: /api/errors/03af8dd1d3632f67.
Report an issue: GitHub.