LOSS CLASSES
Not every loss is a bug. Hidden loss is the problem.
Source-structure loss
Macros, includes, defaults or composition rules disappear after flattening.
Unsupported semantics
The target may have no direct representation for a source concept.
Target inference
A compiler or importer may add defaults, collision or derived structure.
Extension loss
ROS-, vendor- or simulator-specific extensions may be ignored by another consumer.
Unit / frame transformation
Converters may rewrite units, frames, angles or naming for target conventions.
Provenance loss
A converted file may no longer reveal authored versus generated values.
QUALITATIVE MATRIX
Review what changed, not only whether the output opens.
Macros, includes, properties and conditional intent disappear in the expanded artifact.
Preserve Xacro source, arguments and generated URDF together.
MuJoCo-native actuators, tendons, defaults and contact semantics are not implied by generic URDF.
Review the resulting model and keep target additions explicit.
Gazebo extensions and conversion rules can transform the target model.
Inspect generated SDF and warnings.
Importer settings may merge meshes/fixed joints or create target collision / physics structure.
Record importer version and settings.
Rich simulation formats organize bodies, joints and engine-specific semantics differently.
Validate behavior in both target engines.
Scene composition and physics schemas do not have one universal one-to-one mapping.
Treat conversion as an interoperability transform, not identity.