CraneBodyVisuals is Physics3D.Bodies.RigidBody:
    drive_axle_visual is Visuals.AxleVisual
    ground_axle_visual is Visuals.AxleVisual
    guide_axle_visual is Visuals.AxleVisual
    output_axle_visual is Visuals.AxleVisual

    # Visuals for bearings
    input_bearing_left_visual is Visuals.BearingVisual
    input_bearing_right_visual is Visuals.BearingVisual

    # A convex visual and contact geometry for the crane body
    # defined by the axle positions
    wide_offset is Math.Vec3: {0,0.2,0}
    narrow_offset is Math.Vec3: {0,0.1,0}
    visual is Visuals.Geometries.ConvexMesh
    convex is Physics3D.Geometries.ConvexMesh:
        vertices: visual.vertices
