AnalyticalGraphicsInc/czml-writer — pull request #70 by mramato (2014-07-01 20:57:46+00:00)
Title: Refactor vertex positions

I'm opening this up for early feedback. There is a `vertexPositions` branch in Cesium that goes along with this (which I'm still working on).

1. Remove `vertexPositions` from `Packet`
2. Add equivalent `positions` property to `Polygon` and `Polyline`
3. Add a new `hierarchy` property to `Polygon` to support an arbitrary number of holes

KML is broken but I opened #69 to remove it completely.

It's number 3, above, that is causing me issues. I'm not really sure how we want to define polygons with holes in CZML. The GeoJSON way of doing it is probably CZML friendly, but the spec is not very 3D friendly (see AnalyticalGraphicsInc/cesium/issues/1878). KML and Cesium have similar rules for defining them but I'm not sure how well that will translate to CZML.

[GeoJSON spec for polygon with holes](http://geojson.org/geojson-spec.html#id4)
[KML spec for polygon with holes](https://developers.google.com/kml/documentation/kmlreference#polygon)
[Cesium doc for polygon with holes](http://cesiumjs.org/Cesium/Build/Documentation/Polygon.html#configureFromPolygonHierarchy)

I want to get this into Cesium 1.0 because I think it's important from a backwards compatibility standpoint. Worst case, we can forgo wholes support for now and then add it later (but still move `vertexPositions` down into the individual objects).

@shunter and @kring any thoughts?