namespace NScene { public variant NObject { | Scene { Root : NObject; } | Octree { Nodes : array[NObject]; } | Group { Objects : list [NObject]; } | Mesh { Color : float * float * float; Center : float * float * float; Scale : float * float * float; Triangles : list [NObject.Triangle]; } | Triangle { Points : NObject.Point * NObject.Point * NObject.Point; } | Point { Pos : float * float * float; } } }