The files in this directory are generated by the Thrift compiler from Thrift
interface files. They should not be modified except for when the interface
changes, in which case they should be replaced entirely.

The Thrift definition files live
[here](https://bitbucket.org/blueprintrealityinc/mixcast-thrift/src/master/thrift_files).
For the generated C++ files see
[this repo](https://bitbucket.org/blueprintrealityinc/mixcast-thrift-cpp).


## Extensions

To pass vectors and quaternions between clients and the server, the Thrift
definitions effectively re-implement `Vector3` and `Quaternion`. Unfortunately
there's no way to use Unity's native structs instead of generating our own. The
result is an awkward duplication of types, with the Thrift-generated ones being
far less useful.

To mitigate this, we extend Thrift's generated
`BlueprintReality.MixCast.Thrift.Vector3` and
`BlueprintReality.MixCast.Thrift.Quaternion` partial classes with a `unity`
property that returns their corresponding `UnityEngine.Vector3` and
`UnityEngine.Quaternion` structs.  Use this instead of trying to make the
Thrift-generated types work with other Unity APIs.
