<Entity name="CollisionObject2D">
  <!-- The source object which the collision object represent -->
  <Attribute.Scalar name="sourceIndex" type="UInt:32bit"/>
  <Attribute.Scalar name="subsystem" type="UInt:16bit"/>

  <!-- The index to the cell where the collision object resides. -->
  <Attribute.Scalar name="cellIndex" type="UInt:32bit"/>

  <!-- Alt 1: Bounding AABB. TODO Should be BoundingAABB2D ? -->
  <!-- <Attribute.Scalar name="aabb" type="Bound2:32bit"/> -->
  
  <!-- Alt 2: Bounding sphere (position + radius) -->
  <Attribute.Scalar name="radius" type="Real:32bit"/>
  <Attribute.Scalar name="position" type="Vec2:32bit"/> <!-- TODO SOA x,y,z in 3d to save bandwidth and prepare for SIMD? -->
  
  <!-- Optional oriented bounding box (index) -->
  <Attribute.Scalar name="oobIndex" type="UInt:32bit" value="InvalidIndex"/>
  
  <!-- Optional collision group set (id) -->
  <Attribute.Scalar name="collisionGroupSet" type="UInt:32bit" value="InvalidIndex"/>
</Entity>
