<commit_before>Change Log
==========

Beta Releases
-------------

### b21 - 2013-10-01
* Breaking changes:
    * Removed `processCzml`, use `CzmlDataSource` instead.
    * Completely refactored the `DynamicScene` property system to vastly improve the API. See [#1080](https://github.com/AnalyticalGraphicsInc/cesium/pull/1080) for complete details.
       * Removed `CzmlBoolean`, `CzmlCartesian2`, `CzmlCartesian3`, `CzmlColor`, `CzmlDefaults`, `CzmlDirection`, `CzmlHorizontalOrigin`, `CzmlImage`, `CzmlLabelStyle`, `CzmlNumber`, `CzmlPosition`, `CzmlString`, `CzmlUnitCartesian3`, `CzmlUnitQuaternion`, `CzmlUnitSpherical`, and `CzmlVerticalOrigin` since they are no longer needed.
       * Removed `DynamicProperty`, `DynamicMaterialProperty`, `DynamicDirectionsProperty`, and `DynamicVertexPositionsProperty`; replacing them with an all new system of properties.
          * `Property` - base interface for all properties. 
          * `CompositeProperty` - a property composed of other properties.
          * `ConstantProperty` - a property whose value never changes.
          * `SampledProperty` - a property whose value is interpolated from a set of samples.
          * `TimeIntervalCollectionProperty` - a property whose value changes based on time interval.
          * `MaterialProperty` - base interface for all material properties.
          * `CompositeMaterialProperty` - a `CompositeProperty` for materials.
          * `ColorMaterialProperty` - a property that maps to a color material. (replaces `DynamicColorMaterial`)
          * `GridMaterialProperty` - a property that maps to a grid material. (replaces `DynamicGridMaterial`)
          * `ImageMaterialProperty` - a property that maps to an image material. (replaces `DynamicImageMaterial`)
          * `PositionProperty`- base interface for all position properties.
          * `CompositePositionProperty` - a `CompositeProperty` for positions.
          * `ConstantPositionProperty` - a `PositionProperty` whose value does not change in respect to the `ReferenceFrame` in which is it defined.
          * `SampledPositionProperty` - a `SampledProperty` for positions.
          * `TimeIntervalCollectionPositionProperty` - A `TimeIntervalCollectionProperty` for positions.
* Added `Packable` and `PackableForInterpolation` interfaces to aid interpolation and in-memory data storage.  Also made most core Cesium types implement them. 
* Added `InterpolationAlgorithm` interface to codify the base interface already being used by `LagrangePolynomialApproximation`, `LinearApproximation`, and `HermitePolynomialApproximation`.

### b20 - 2013-09-03

_This releases fixes 2D and other issues with Chrome 29.0.1547.57 ([#1002](https://github.com/AnalyticalGraphicsInc/cesium/issues/1002) and [#1047](https://github.com/AnalyticalGraphicsInc/cesium/issues/1047))._

* Breaking changes:
    * The `CameraFlightPath` functions `createAnimation`, `createAnimationCartographic`, and `createAnimationExtent` now take the scene as their first parameter instead of the frame state.
    * Replaced `ExtentGeometry` parameters for extruded extent to make them consistent with other geometries.
      * `options.extrudedOptions.height` -> `options.extrudedHeight`
      * `options.extrudedOptions.closeTop` -> `options.closeBottom`
      * `options.extrudedOptions.closeBottom` -> `options.closeTop`
    * Geometry constructors no longer compute vertices or indices. Use the type's `createGeometry` method. For example, code that looked like:
```javascript
var boxGeometry = new BoxGeometry({
  minimumCorner : min,
  maximumCorner : max,
  vertexFormat : VertexFormat.POSITION_ONLY
});
```

      should now look like:
```javascript
var box = new BoxGeometry({
    minimumCorner : min,
    maximumCorner : max,
    vertexFormat : VertexFormat.POSITION_ONLY
});
var geometry = BoxGeometry.createGeometry(box);
```

    * Removed `createTypedArray` and `createArrayBufferView` from each of the `ComponentDatatype` enumerations. Instead, use `ComponentDatatype.createTypedArray` and `ComponentDatatype.createArrayBufferView`.
    * `DataSourceDisplay` now requires a `DataSourceCollection` to be passed into its constructor.
    * `DeveloperError` and `RuntimeError` no longer contain an `error` property.  Call `toString`, or check the `stack` property directly instead.
    * Replaced `createPickFragmentShaderSource` with `createShaderSource`.
* Added outline geometries.  [#1021](https://github.com/AnalyticalGraphicsInc/cesium/pull/1021).
* Added `EllipsoidGeodesic`.
* Added `PolylinePipeline.scaleToSurface`.
* Added `PolylinePipeline.scaleToGeodeticHeight`.
* Added the ability to specify a `minimumTerrainLevel` and `maximumTerrainLevel` when constructing an `ImageryLayer`.  The layer will only be shown for terrain tiles within the specified range.
* Added `Math.setRandomNumberSeed` and `Math.nextRandomNumber` for generating repeatable random numbers.
* Added `Color.fromRandom` to generate random and partially random colors.
* Added `Scene.debugShowFrustums` and `Scene.debugFrustumStatistics` for rendering debugging.
* Improved geometry batching performance by moving work to a web worker.
* Improved `WallGeometry` to follow the curvature of the earth.
* Fixed broken surface rendering in Columbus View when using the `EllipsoidTerrainProvider`.
* Optimized polyline bounding spheres.
* `Viewer` now automatically sets its clock to that of the first added `DataSource`, regardless of how it was added to the `DataSourceCollection`.  Previously, this was only done for dropped files by `viewerDragDropMixin`.
* Upgraded Knockout from version 2.2.1 to 2.3.0.
* Fixed triangulation for polygons that cross the international date line.
* Fixed `EllipsoidPrimitive` rendering for some oblate ellipsoids. [#1067](https://github.com/AnalyticalGraphicsInc/cesium/pull/1067).
* `CameraFlightPath` now automatically disables and restores mouse input for the flights it generates.
* Added an `onCancel` callback to `CameraFlightPath` functions that will be executed if the flight is canceled. 

### b19 - 2013-08-01

* Breaking changes:
   * Replaced tessellators and meshes with geometry.  In particular:
      * Replaced `CubeMapEllipsoidTessellator` with `EllipsoidGeometry`.
      * Replaced `BoxTessellator` with `BoxGeometry`.
      * Replaced `ExtentTessletaor` with `ExtentGeometry`.
      * Removed `PlaneTessellator`.  It was incomplete and not used.
      * Renamed `MeshFilters` to `GeometryPipeline`.
      * Renamed `MeshFilters.toWireframeInPlace` to `GeometryPipeline.toWireframe`.
      * Removed `MeshFilters.mapAttributeIndices`.  It was not used.
      * Renamed `Context.createVertexArrayFromMesh` to `Context.createVertexArrayFromGeometry`.  Likewise, renamed `mesh` constructor property to `geometry`.
   * Renamed `ComponentDatatype.*.toTypedArray` to `ComponentDatatype.*.createTypedArray`.
   * Removed `Polygon.configureExtent`.  Use `ExtentPrimitive` instead.
   * Removed `Polygon.bufferUsage`.  It is no longer needed.
   * Removed `height` and `textureRotationAngle` arguments from `Polygon` `setPositions` and `configureFromPolygonHierarchy` functions.  Use `Polygon` `height` and `textureRotationAngle` properties. 
   * Renamed `PolygonPipeline.cleanUp` to `PolygonPipeline.removeDuplicates`.
   * Removed `PolygonPipeline.wrapLongitude`. Use `GeometryPipeline.wrapLongitude` instead.
   * Added `surfaceHeight` parameter to `BoundingSphere.fromExtent3D`.
   * Added `surfaceHeight` parameter to `Extent.subsample`.
   * Renamed `pointInsideTriangle2D` to `pointInsideTriangle`.
   * Renamed `getLogo` to `getCredit` for `ImageryProvider` and `TerrainProvider`.
* Added Geometry and Appearances [#911](https://github.com/AnalyticalGraphicsInc/cesium/pull/911).
* Added property `intersectionWidth` to `DynamicCone`, `DynamicPyramid`, `CustomSensorVolume`, and `RectangularPyramidSensorVolume`.
* Added `ExtentPrimitive`.
* Added `PolylinePipeline.removeDuplicates`.
* Added `barycentricCoordinates` to compute the barycentric coordinates of a point in a triangle.
* Added `BoundingSphere.fromEllipsoid`.
* Added `BoundingSphere.projectTo2D`.<commit_msg>modify CHANGES so everything is in the b20 release<commit_after>Change Log
==========

Beta Releases
-------------

### b20 - 2013-09-03

_This releases fixes 2D and other issues with Chrome 29.0.1547.57 ([#1002](https://github.com/AnalyticalGraphicsInc/cesium/issues/1002) and [#1047](https://github.com/AnalyticalGraphicsInc/cesium/issues/1047))._

* Breaking changes:
    * Completely refactored the `DynamicScene` property system to vastly improve the API. See [#1080](https://github.com/AnalyticalGraphicsInc/cesium/pull/1080) for complete details.
       * Removed `CzmlBoolean`, `CzmlCartesian2`, `CzmlCartesian3`, `CzmlColor`, `CzmlDefaults`, `CzmlDirection`, `CzmlHorizontalOrigin`, `CzmlImage`, `CzmlLabelStyle`, `CzmlNumber`, `CzmlPosition`, `CzmlString`, `CzmlUnitCartesian3`, `CzmlUnitQuaternion`, `CzmlUnitSpherical`, and `CzmlVerticalOrigin` since they are no longer needed.
       * Removed `DynamicProperty`, `DynamicMaterialProperty`, `DynamicDirectionsProperty`, and `DynamicVertexPositionsProperty`; replacing them with an all new system of properties.
          * `Property` - base interface for all properties. 
          * `CompositeProperty` - a property composed of other properties.
          * `ConstantProperty` - a property whose value never changes.
          * `SampledProperty` - a property whose value is interpolated from a set of samples.
          * `TimeIntervalCollectionProperty` - a property whose value changes based on time interval.
          * `MaterialProperty` - base interface for all material properties.
          * `CompositeMaterialProperty` - a `CompositeProperty` for materials.
          * `ColorMaterialProperty` - a property that maps to a color material. (replaces `DynamicColorMaterial`)
          * `GridMaterialProperty` - a property that maps to a grid material. (replaces `DynamicGridMaterial`)
          * `ImageMaterialProperty` - a property that maps to an image material. (replaces `DynamicImageMaterial`)
          * `PositionProperty`- base interface for all position properties.
          * `CompositePositionProperty` - a `CompositeProperty` for positions.
          * `ConstantPositionProperty` - a `PositionProperty` whose value does not change in respect to the `ReferenceFrame` in which is it defined.
          * `SampledPositionProperty` - a `SampledProperty` for positions.
          * `TimeIntervalCollectionPositionProperty` - A `TimeIntervalCollectionProperty` for positions.
    * Removed `processCzml`, use `CzmlDataSource` instead.
    * The `CameraFlightPath` functions `createAnimation`, `createAnimationCartographic`, and `createAnimationExtent` now take the scene as their first parameter instead of the frame state.
    * Replaced `ExtentGeometry` parameters for extruded extent to make them consistent with other geometries.
      * `options.extrudedOptions.height` -> `options.extrudedHeight`
      * `options.extrudedOptions.closeTop` -> `options.closeBottom`
      * `options.extrudedOptions.closeBottom` -> `options.closeTop`
    * Geometry constructors no longer compute vertices or indices. Use the type's `createGeometry` method. For example, code that looked like:
```javascript
var boxGeometry = new BoxGeometry({
  minimumCorner : min,
  maximumCorner : max,
  vertexFormat : VertexFormat.POSITION_ONLY
});
```

      should now look like:
```javascript
var box = new BoxGeometry({
    minimumCorner : min,
    maximumCorner : max,
    vertexFormat : VertexFormat.POSITION_ONLY
});
var geometry = BoxGeometry.createGeometry(box);
```

    * Removed `createTypedArray` and `createArrayBufferView` from each of the `ComponentDatatype` enumerations. Instead, use `ComponentDatatype.createTypedArray` and `ComponentDatatype.createArrayBufferView`.
    * `DataSourceDisplay` now requires a `DataSourceCollection` to be passed into its constructor.
    * `DeveloperError` and `RuntimeError` no longer contain an `error` property.  Call `toString`, or check the `stack` property directly instead.
    * Replaced `createPickFragmentShaderSource` with `createShaderSource`.
* Added outline geometries.  [#1021](https://github.com/AnalyticalGraphicsInc/cesium/pull/1021).
* Added `EllipsoidGeodesic`.
* Added `PolylinePipeline.scaleToSurface`.
* Added `PolylinePipeline.scaleToGeodeticHeight`.
* Added the ability to specify a `minimumTerrainLevel` and `maximumTerrainLevel` when constructing an `ImageryLayer`.  The layer will only be shown for terrain tiles within the specified range.
* Added `Math.setRandomNumberSeed` and `Math.nextRandomNumber` for generating repeatable random numbers.
* Added `Color.fromRandom` to generate random and partially random colors.
* Added `Scene.debugShowFrustums` and `Scene.debugFrustumStatistics` for rendering debugging.
* Added an `onCancel` callback to `CameraFlightPath` functions that will be executed if the flight is canceled. 
* Added `Packable` and `PackableForInterpolation` interfaces to aid interpolation and in-memory data storage.  Also made most core Cesium types implement them. 
* Added `InterpolationAlgorithm` interface to codify the base interface already being used by `LagrangePolynomialApproximation`, `LinearApproximation`, and `HermitePolynomialApproximation`.
* Improved geometry batching performance by moving work to a web worker.
* Improved `WallGeometry` to follow the curvature of the earth.
* Fixed broken surface rendering in Columbus View when using the `EllipsoidTerrainProvider`.
* Optimized polyline bounding spheres.
* `Viewer` now automatically sets its clock to that of the first added `DataSource`, regardless of how it was added to the `DataSourceCollection`.  Previously, this was only done for dropped files by `viewerDragDropMixin`.
* Upgraded Knockout from version 2.2.1 to 2.3.0.
* Fixed triangulation for polygons that cross the international date line.
* Fixed `EllipsoidPrimitive` rendering for some oblate ellipsoids. [#1067](https://github.com/AnalyticalGraphicsInc/cesium/pull/1067).
* `CameraFlightPath` now automatically disables and restores mouse input for the flights it generates.

### b19 - 2013-08-01

* Breaking changes:
   * Replaced tessellators and meshes with geometry.  In particular:
      * Replaced `CubeMapEllipsoidTessellator` with `EllipsoidGeometry`.
      * Replaced `BoxTessellator` with `BoxGeometry`.
      * Replaced `ExtentTessletaor` with `ExtentGeometry`.
      * Removed `PlaneTessellator`.  It was incomplete and not used.
      * Renamed `MeshFilters` to `GeometryPipeline`.
      * Renamed `MeshFilters.toWireframeInPlace` to `GeometryPipeline.toWireframe`.
      * Removed `MeshFilters.mapAttributeIndices`.  It was not used.
      * Renamed `Context.createVertexArrayFromMesh` to `Context.createVertexArrayFromGeometry`.  Likewise, renamed `mesh` constructor property to `geometry`.
   * Renamed `ComponentDatatype.*.toTypedArray` to `ComponentDatatype.*.createTypedArray`.
   * Removed `Polygon.configureExtent`.  Use `ExtentPrimitive` instead.
   * Removed `Polygon.bufferUsage`.  It is no longer needed.
   * Removed `height` and `textureRotationAngle` arguments from `Polygon` `setPositions` and `configureFromPolygonHierarchy` functions.  Use `Polygon` `height` and `textureRotationAngle` properties. 
   * Renamed `PolygonPipeline.cleanUp` to `PolygonPipeline.removeDuplicates`.
   * Removed `PolygonPipeline.wrapLongitude`. Use `GeometryPipeline.wrapLongitude` instead.
   * Added `surfaceHeight` parameter to `BoundingSphere.fromExtent3D`.
   * Added `surfaceHeight` parameter to `Extent.subsample`.
   * Renamed `pointInsideTriangle2D` to `pointInsideTriangle`.
   * Renamed `getLogo` to `getCredit` for `ImageryProvider` and `TerrainProvider`.
* Added Geometry and Appearances [#911](https://github.com/AnalyticalGraphicsInc/cesium/pull/911).
* Added property `intersectionWidth` to `DynamicCone`, `DynamicPyramid`, `CustomSensorVolume`, and `RectangularPyramidSensorVolume`.
* Added `ExtentPrimitive`.
* Added `PolylinePipeline.removeDuplicates`.
* Added `barycentricCoordinates` to compute the barycentric coordinates of a point in a triangle.
* Added `BoundingSphere.fromEllipsoid`.
* Added `BoundingSphere.projectTo2D`.
{'fraction_non_alphanumeric': 0.09187365838699785, 'fraction_numerical': 0.011530205458448328, 'mean_word_length': 4.8111190306486105, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 9, 'https://': 12, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7162958', 'n_tokens_mistral': 4668, 'n_tokens_neox': 4367, 'n_words': 1445}