code: func (u Vec) Project(v Vec) Vec {
  	len := u.Dot(v) / v.Len()
  	return v.Unit().Scaled(len)
  }
docs: // Project returns a projection (or component) of vector u in the direction of vector v.
  //
  // Behaviour is undefined if v is a zero vector.