From f654393b4f12c5a3abc172d33c3da9b3d69b896c Mon Sep 17 00:00:00 2001 From: David Manthey Date: Tue, 27 Nov 2018 10:36:35 -0500 Subject: [PATCH 1/4] Rename the d3 renderer to svg. Alias it to d3 so as to not break existing code. --- CHANGELOG.md | 5 ++ docs/users.rst | 2 +- examples/blog-lines/index.pug | 16 ++--- examples/blog-lines/main.js | 4 +- examples/dynamicData/main.js | 4 +- examples/layerEvents/main.js | 2 +- examples/layers/main.js | 2 +- examples/picking/main.js | 2 +- examples/points/main.js | 3 +- examples/tiles/index.pug | 2 +- examples/tiles/main.js | 2 +- examples/widgets/main.js | 2 +- src/choroplethFeature.js | 2 +- src/geojsonReader.js | 2 +- src/index.js | 4 +- src/registry.js | 2 +- src/{d3 => svg}/graphFeature.js | 20 +++--- src/{d3 => svg}/index.js | 6 +- src/{d3 => svg}/lineFeature.js | 26 ++++---- src/{d3 => svg}/object.js | 24 +++---- src/{d3 => svg}/pathFeature.js | 26 ++++---- src/{d3 => svg}/pointFeature.js | 30 ++++----- src/{d3 => svg}/quadFeature.js | 22 +++---- src/{d3 => svg}/rescale.js | 6 +- src/{d3/d3Renderer.js => svg/svgRenderer.js} | 64 ++++++++++--------- src/{d3 => svg}/tileLayer.js | 6 +- src/{d3 => svg}/uniqueID.js | 2 +- src/{d3 => svg}/vectorFeature.js | 34 +++++----- src/ui/colorLegendWidget.js | 4 +- src/ui/legendWidget.js | 2 +- src/ui/scaleWidget.js | 2 +- src/ui/sliderWidget.js | 2 +- src/ui/svgWidget.js | 8 +-- tests/cases/annotation.js | 2 +- tests/cases/annotationLayer.js | 2 +- tests/cases/feature.js | 6 +- tests/cases/featureLayer.js | 6 +- tests/cases/geojsonReader.js | 10 +-- tests/cases/layer.js | 2 +- tests/cases/lineFeature.js | 14 ++-- tests/cases/map.js | 12 ++-- tests/cases/mapAttribution.js | 12 ++-- tests/cases/osmLayer.js | 40 ++++++------ tests/cases/pointFeature.js | 20 +++--- tests/cases/quadFeature.js | 8 +-- tests/cases/registry.js | 8 +-- tests/cases/renderers.js | 20 +++--- .../{d3GraphFeature.js => svgGraphFeature.js} | 6 +- .../{d3PointFeature.js => svgPointFeature.js} | 6 +- ...d3VectorFeature.js => svgVectorFeature.js} | 10 +-- tests/gl-cases/d3Vectors.js | 6 +- tests/gl-cases/layerReorder.js | 6 +- tests/gl-cases/osmLayer.js | 4 +- tests/gl-cases/points.js | 6 +- .../gl-cases/{d3GeoJson.js => svgGeoJson.js} | 8 +-- tests/gl-cases/{d3Graph.js => svgGraph.js} | 6 +- tests/gl-cases/{d3Lines.js => svgLines.js} | 6 +- .../{d3StickyLayer.js => svgStickyLayer.js} | 10 +-- 58 files changed, 291 insertions(+), 285 deletions(-) rename src/{d3 => svg}/graphFeature.js (65%) rename src/{d3 => svg}/index.js (85%) rename src/{d3 => svg}/lineFeature.js (84%) rename src/{d3 => svg}/object.js (67%) rename src/{d3 => svg}/pathFeature.js (79%) rename src/{d3 => svg}/pointFeature.js (77%) rename src/{d3 => svg}/quadFeature.js (94%) rename src/{d3 => svg}/rescale.js (55%) rename src/{d3/d3Renderer.js => svg/svgRenderer.js} (94%) rename src/{d3 => svg}/tileLayer.js (95%) rename src/{d3 => svg}/uniqueID.js (94%) rename src/{d3 => svg}/vectorFeature.js (90%) rename tests/cases/{d3GraphFeature.js => svgGraphFeature.js} (90%) rename tests/cases/{d3PointFeature.js => svgPointFeature.js} (92%) rename tests/cases/{d3VectorFeature.js => svgVectorFeature.js} (93%) rename tests/gl-cases/{d3GeoJson.js => svgGeoJson.js} (91%) rename tests/gl-cases/{d3Graph.js => svgGraph.js} (83%) rename tests/gl-cases/{d3Lines.js => svgLines.js} (86%) rename tests/gl-cases/{d3StickyLayer.js => svgStickyLayer.js} (87%) diff --git a/CHANGELOG.md b/CHANGELOG.md index 999ebcdc1b..2d787b1843 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,10 @@ # Change Log +## Unreleased + +### Changes +- Rename the d3 renderer to the svg + ## Version 0.19.0 ### Features diff --git a/docs/users.rst b/docs/users.rst index 0e39d4332c..9ff6d93a18 100644 --- a/docs/users.rst +++ b/docs/users.rst @@ -128,7 +128,7 @@ documentation for each of the classes. instead and a warning sent to the console. `geo.gl.vglRenderer `_ requires webGL support. - `geo.d3.d3Renderer `_ + `geo.svg.svgRenderer `_ requires the d3 library to be present. `geo.layer `_ diff --git a/examples/blog-lines/index.pug b/examples/blog-lines/index.pug index 3da6b3a9c5..35f2eef139 100644 --- a/examples/blog-lines/index.pug +++ b/examples/blog-lines/index.pug @@ -23,7 +23,7 @@ block append mainContent th Basic Lines td.geojs(rowspan=2, renderer='vgl') td.geojs(rowspan=2, renderer='canvas') - td.geojs(rowspan=2, renderer='d3') + td.geojs(rowspan=2, renderer='svg') td.leaflet(rowspan=2, library='leaflet', renderer='canvas') td.leaflet(rowspan=2, library='leaflet') td.mapboxgl(rowspan=2, library='mapboxgl') @@ -96,7 +96,7 @@ block append mainContent th Round Line Cap td.geojs(rowspan=2, renderer='vgl') td.geojs(rowspan=2, renderer='canvas') - td.geojs(rowspan=2, renderer='d3') + td.geojs(rowspan=2, renderer='svg') td.leaflet(rowspan=2, library='leaflet', renderer='canvas') td.leaflet(rowspan=2, library='leaflet') td.mapboxgl(rowspan=2, library='mapboxgl') @@ -111,7 +111,7 @@ block append mainContent th Square Line Cap td.geojs(rowspan=2, renderer='vgl') td.geojs(rowspan=2, renderer='canvas') - td.geojs(rowspan=2, renderer='d3') + td.geojs(rowspan=2, renderer='svg') td.leaflet(rowspan=2, library='leaflet', renderer='canvas') td.leaflet(rowspan=2, library='leaflet') td.mapboxgl(rowspan=2, library='mapboxgl') @@ -125,7 +125,7 @@ block append mainContent th Bevel Line Join td.geojs(rowspan=2, renderer='vgl') td.geojs(rowspan=2, renderer='canvas') - td.geojs(rowspan=2, renderer='d3') + td.geojs(rowspan=2, renderer='svg') td.leaflet(rowspan=2, library='leaflet', renderer='canvas') td.leaflet(rowspan=2, library='leaflet') td.mapboxgl(rowspan=2, library='mapboxgl') @@ -140,7 +140,7 @@ block append mainContent th Round Line Join td.geojs(rowspan=2, renderer='vgl') td.geojs(rowspan=2, renderer='canvas') - td.geojs(rowspan=2, renderer='d3') + td.geojs(rowspan=2, renderer='svg') td.leaflet(rowspan=2, library='leaflet', renderer='canvas') td.leaflet(rowspan=2, library='leaflet') td.mapboxgl(rowspan=2, library='mapboxgl') @@ -169,7 +169,7 @@ block append mainContent th Miter Limit td.geojs(rowspan=2, renderer='vgl') td.geojs(rowspan=2, renderer='canvas') - td.geojs(rowspan=2, renderer='d3') + td.geojs(rowspan=2, renderer='svg') td.unsupported(rowspan=2) td.leaflet(rowspan=2, library='leaflet') td.mapboxgl(rowspan=2, library='mapboxgl') @@ -212,7 +212,7 @@ block append mainContent th Thin Lines td.geojs(rowspan=2, renderer='vgl') td.geojs(rowspan=2, renderer='canvas') - td.geojs(rowspan=2, renderer='d3') + td.geojs(rowspan=2, renderer='svg') td.leaflet(rowspan=2, library='leaflet', renderer='canvas') td.leaflet(rowspan=2, library='leaflet') td.mapboxgl(rowspan=2, library='mapboxgl') @@ -226,7 +226,7 @@ block append mainContent th 10,000 Line Segments td.geojs(rowspan=2, renderer='vgl') td.geojs(rowspan=2, renderer='canvas') - td.geojs(rowspan=2, renderer='d3') + td.geojs(rowspan=2, renderer='svg') td.leaflet(rowspan=2, library='leaflet', renderer='canvas') td.leaflet(rowspan=2, library='leaflet') td.mapboxgl(rowspan=2, library='mapboxgl') diff --git a/examples/blog-lines/main.js b/examples/blog-lines/main.js index d964e1bff7..9ac0c6f9ee 100644 --- a/examples/blog-lines/main.js +++ b/examples/blog-lines/main.js @@ -284,7 +284,7 @@ function getStyleValue(val, defaultValue, isString) { * Show a GeoJS map with lines. * * @param {object} opts: options on how to render the lines. Options include: - * renderer: one of 'vgl', 'canvas', or 'd3'. Defaults to 'vgl'. + * renderer: one of 'vgl', 'canvas', or 'svg'. Defaults to 'vgl'. * version: a GeoJS version to load from a CDN. Defaults to 'current' which * uses the local GeoJS. * node: a jquery selector of a div to render the map into. Defaults to @@ -583,7 +583,7 @@ function mapboxglLinesTest(opts) { * library: one of 'geojs', 'leaflet', 'mapbox', or 'mapboxgl'. Defaults to * 'geojs'. * version: a library version to load. Varies by library. - * renderer: one of 'vgl', 'canvas', 'd3', 'svg'. Varues by library. + * renderer: one of 'vgl', 'canvas', 'svg'. Varies by library. * node: a jquery selector of a div to render the map into. Defaults to * '#map'. * width: an optional width in pixels to set the node's size. diff --git a/examples/dynamicData/main.js b/examples/dynamicData/main.js index f45e2f62d1..4e778d613d 100644 --- a/examples/dynamicData/main.js +++ b/examples/dynamicData/main.js @@ -18,10 +18,10 @@ $(function () { // Add an OSM layer map.createLayer('osm'); - // Add a feature layer with a D3 renderer. We could, instead, ask for any + // Add a feature layer with an svg renderer. We could, instead, ask for any // renderer that supports point features, like so: // var features = map.createLayer('feature', {features: ['point']}); - var features = map.createLayer('feature', {renderer: 'd3'}); + var features = map.createLayer('feature', {renderer: 'svg'}); var numberOfFeatures = 200; diff --git a/examples/layerEvents/main.js b/examples/layerEvents/main.js index 8c6672abc6..64c6305677 100644 --- a/examples/layerEvents/main.js +++ b/examples/layerEvents/main.js @@ -5,7 +5,7 @@ $(function () { // Create an svg layer and return a reference to its dom element. function getSvgLayer(map, opts) { - opts.renderer = 'd3'; + opts.renderer = 'svg'; var layer = map.createLayer('feature', opts); // The canvas is a d3 context to geojs managed svg element. diff --git a/examples/layers/main.js b/examples/layers/main.js index dc1dfa65fc..298bc4d5e5 100644 --- a/examples/layers/main.js +++ b/examples/layers/main.js @@ -7,7 +7,7 @@ $(function () { // Create an svg layer and return a reference to its dom element. function getSvgLayer(map, opts) { - opts.renderer = 'd3'; + opts.renderer = 'svg'; var layer = map.createLayer('feature', opts); // The canvas is a d3 context to geojs managed svg element. diff --git a/examples/picking/main.js b/examples/picking/main.js index ceee663fa5..ed70215191 100644 --- a/examples/picking/main.js +++ b/examples/picking/main.js @@ -32,7 +32,7 @@ $(function () { var svgLayer = map.createLayer( 'feature', { - renderer: 'd3' + renderer: 'svg' } ); diff --git a/examples/points/main.js b/examples/points/main.js index 349c8b0faa..fbcd889479 100644 --- a/examples/points/main.js +++ b/examples/points/main.js @@ -5,7 +5,6 @@ $(function () { // Define a function we will use to generate points. function makePoints(data, layer, color) { - // The API for creating features is similar to d3's data API. // The data is an array of arbitrary objects. Each object in // the array is assumed to be a "point". You provide accessors // that return styles and positions. @@ -73,7 +72,7 @@ $(function () { var svgLayer = map.createLayer( 'feature', { - renderer: 'd3' + renderer: 'svg' } ); diff --git a/examples/tiles/index.pug b/examples/tiles/index.pug index bb57193a95..dabea614f2 100644 --- a/examples/tiles/index.pug +++ b/examples/tiles/index.pug @@ -8,7 +8,7 @@ block append mainContent option(value="default") Default option(value="vgl") VGL (WebGL) option(value="canvas") Canvas - option(value="d3") SVG (d3) + option(value="svg") SVG option(value="html") HTML .form-group(title="Clamp horizontal panning to the extent of the tiles.") label(for="map-clampBoundsX") Clamp X Bounds diff --git a/examples/tiles/main.js b/examples/tiles/main.js index bfb2579f20..a84ab2cb70 100644 --- a/examples/tiles/main.js +++ b/examples/tiles/main.js @@ -27,7 +27,7 @@ * maxBoundsTop: maximum bounds top value. * opacity: a css opacity value (typically a float from 0 to 1). * projection: 'parallel' or 'projection' for the camera projection. - * renderer: 'vgl' (default), 'canvas', 'd3', 'null', or 'html'. This picks + * renderer: 'vgl' (default), 'canvas', 'svg', 'null', or 'html'. This picks * the renderer for map tiles. null or html uses the html renderer. * 'default' uses the default renderer for the user's platform. * round: 'round' (default), 'floor', 'ceil'. diff --git a/examples/widgets/main.js b/examples/widgets/main.js index 2f81875af6..c31dbca5f6 100644 --- a/examples/widgets/main.js +++ b/examples/widgets/main.js @@ -43,7 +43,7 @@ $(function () { map.createLayer('osm'); // Plot points for the 3 cities - var layer = map.createLayer('feature', {'renderer' : 'd3'}); + var layer = map.createLayer('feature', {features: ['point']}); layer.createFeature('point') .data(coordinates) diff --git a/src/choroplethFeature.js b/src/choroplethFeature.js index 015eedc535..5b3a5262f0 100644 --- a/src/choroplethFeature.js +++ b/src/choroplethFeature.js @@ -41,7 +41,7 @@ var choroplethFeature = function (arg) { /** * @private */ - var d3 = require('./d3/d3Renderer').d3, + var d3 = require('./svg/svgRenderer').d3, m_this = this, s_init = this._init, m_choropleth = $.extend( diff --git a/src/geojsonReader.js b/src/geojsonReader.js index a5838d07c4..496cafa779 100644 --- a/src/geojsonReader.js +++ b/src/geojsonReader.js @@ -418,6 +418,6 @@ var geojsonReader = function (arg) { inherit(geojsonReader, fileReader); registerFileReader('geojsonReader', geojsonReader); -// Also register under an alternate name +// Also register under an alternate name (alias for backwards compatibility) registerFileReader('jsonReader', geojsonReader); module.exports = geojsonReader; diff --git a/src/index.js b/src/index.js index 0d3e5da2d3..4a6500ce34 100644 --- a/src/index.js +++ b/src/index.js @@ -83,9 +83,9 @@ module.exports = $.extend({ util: require('./util'), jQuery: $, - d3: require('./d3'), - gl: require('./gl'), canvas: require('./canvas'), + gl: require('./gl'), + svg: require('./svg'), vtkjs: require('./vtkjs'), gui: require('./ui') }, require('./registry')); diff --git a/src/registry.js b/src/registry.js index 86c380f304..e2ae8a8999 100644 --- a/src/registry.js +++ b/src/registry.js @@ -128,7 +128,7 @@ util.checkRenderer = function (name, noFallback) { * or false if no valid renderer can be determined. */ util.rendererForFeatures = function (featureList) { - var preferredRenderers = ['vgl', 'canvas', 'd3', null]; + var preferredRenderers = ['vgl', 'canvas', 'svg', 'vtkjs', null]; var renderer, ridx, feature, fidx, capability, available; for (ridx = 0; ridx < preferredRenderers.length; ridx += 1) { diff --git a/src/d3/graphFeature.js b/src/svg/graphFeature.js similarity index 65% rename from src/d3/graphFeature.js rename to src/svg/graphFeature.js index 52f65b1119..6d56bb18ac 100644 --- a/src/d3/graphFeature.js +++ b/src/svg/graphFeature.js @@ -3,21 +3,21 @@ var registerFeature = require('../registry').registerFeature; var graphFeature = require('../graphFeature'); /** - * Create a new instance of d3.graphFeature. + * Create a new instance of svg.graphFeature. * * @class - * @alias geo.d3.graphFeature + * @alias geo.svg.graphFeature * @extends geo.graphFeature * @param {geo.graphFeature.spec} arg Feature options. * @returns {geo.graphFeature} */ -var d3_graphFeature = function (arg) { +var svg_graphFeature = function (arg) { 'use strict'; var m_this = this; - if (!(this instanceof d3_graphFeature)) { - return new d3_graphFeature(arg); + if (!(this instanceof svg_graphFeature)) { + return new svg_graphFeature(arg); } graphFeature.call(this, arg); @@ -32,9 +32,9 @@ var d3_graphFeature = function (arg) { selection = {}, node = m_this.nodeFeature(), links = m_this.linkFeatures(); - selection.nodes = renderer.select(node._d3id()); + selection.nodes = renderer.select(node._svgid()); selection.links = links.map(function (link) { - return renderer.select(link._d3id()); + return renderer.select(link._svgid()); }); return selection; }; @@ -42,8 +42,8 @@ var d3_graphFeature = function (arg) { return this; }; -inherit(d3_graphFeature, graphFeature); +inherit(svg_graphFeature, graphFeature); -registerFeature('d3', 'graph', d3_graphFeature); +registerFeature('svg', 'graph', svg_graphFeature); -module.exports = d3_graphFeature; +module.exports = svg_graphFeature; diff --git a/src/d3/index.js b/src/svg/index.js similarity index 85% rename from src/d3/index.js rename to src/svg/index.js index 1068e29a4a..5e4cd7c553 100644 --- a/src/d3/index.js +++ b/src/svg/index.js @@ -1,10 +1,10 @@ var geo_event = require('../event.js'); -geo_event.d3 = { +geo_event.svg = { rescale: require('./rescale') }; /** - * @namespace geo.d3 + * @namespace geo.svg */ module.exports = { graphFeature: require('./graphFeature'), @@ -13,7 +13,7 @@ module.exports = { pathFeature: require('./pathFeature'), pointFeature: require('./pointFeature'), quadFeature: require('./quadFeature'), - renderer: require('./d3Renderer'), + renderer: require('./svgRenderer'), tileLayer: require('./tileLayer'), uniqueID: require('./uniqueID'), vectorFeature: require('./vectorFeature') diff --git a/src/d3/lineFeature.js b/src/svg/lineFeature.js similarity index 84% rename from src/d3/lineFeature.js rename to src/svg/lineFeature.js index 6891ef6f75..ef624a849b 100644 --- a/src/d3/lineFeature.js +++ b/src/svg/lineFeature.js @@ -6,19 +6,19 @@ var lineFeature = require('../lineFeature'); * Create a new instance of class lineFeature. * * @class - * @alias geo.d3.lineFeature + * @alias geo.svg.lineFeature * @extends geo.lineFeature - * @extends geo.d3.object + * @extends geo.svg.object * @param {geo.lineFeature.spec} arg - * @returns {geo.d3.lineFeature} + * @returns {geo.svg.lineFeature} */ -var d3_lineFeature = function (arg) { +var svg_lineFeature = function (arg) { 'use strict'; - if (!(this instanceof d3_lineFeature)) { - return new d3_lineFeature(arg); + if (!(this instanceof svg_lineFeature)) { + return new svg_lineFeature(arg); } - var d3 = require('./d3Renderer').d3; + var d3 = require('./svgRenderer').d3; var object = require('./object'); var timestamp = require('../timestamp'); var util = require('../util'); @@ -95,8 +95,8 @@ var d3_lineFeature = function (arg) { attributes: { d: line }, - id: m_this._d3id() + idx, - classes: ['d3LineFeature', 'd3SubLine-' + idx], + id: m_this._svgid() + idx, + classes: ['svgLineFeature', 'svgSubLine-' + idx], visible: m_this.visible, style: style }; @@ -104,7 +104,7 @@ var d3_lineFeature = function (arg) { m_renderer._drawFeatures(m_style); }); for (i = data.length; i < m_maxIdx; i += 1) { - m_renderer._removeFeature(m_this._d3id() + i); + m_renderer._removeFeature(m_this._svgid() + i); } m_maxIdx = data.length; @@ -132,13 +132,13 @@ var d3_lineFeature = function (arg) { return this; }; -inherit(d3_lineFeature, lineFeature); +inherit(svg_lineFeature, lineFeature); // Now register it var capabilities = {}; capabilities[lineFeature.capabilities.basic] = true; capabilities[lineFeature.capabilities.multicolor] = false; -registerFeature('d3', 'line', d3_lineFeature, capabilities); +registerFeature('svg', 'line', svg_lineFeature, capabilities); -module.exports = d3_lineFeature; +module.exports = svg_lineFeature; diff --git a/src/d3/object.js b/src/svg/object.js similarity index 67% rename from src/d3/object.js rename to src/svg/object.js index 01bb0dfc2a..01d9555459 100644 --- a/src/d3/object.js +++ b/src/svg/object.js @@ -2,16 +2,16 @@ var inherit = require('../inherit'); var sceneObject = require('../sceneObject'); /** - * D3 specific subclass of object which adds an id property for d3 selections + * SVG specific subclass of object which adds an id property for d3 selections * on groups of objects by class id. * * @class - * @alias geo.d3.object + * @alias geo.svg.object * @extends geo.sceneObject * @param {object} arg Options for the object. - * @returns {geo.d3.object} + * @returns {geo.svg.object} */ -var d3_object = function (arg) { +var svg_object = function (arg) { 'use strict'; var object = require('../object'); @@ -20,26 +20,26 @@ var d3_object = function (arg) { // this is used to extend other geojs classes, so only generate // a new object when that is not the case... like if this === window if (!(this instanceof object)) { - return new d3_object(arg); + return new svg_object(arg); } sceneObject.call(this); - var m_id = 'd3-' + uniqueID(), + var m_id = 'svg-' + uniqueID(), s_exit = this._exit, m_this = this, s_draw = this.draw; - this._d3id = function () { + this._svgid = function () { return m_id; }; /** * Returns a d3 selection for the feature elements. * - * @returns {d3.selector} A d3 selector of the features in this object. + * @returns {d3Selector} A d3 selector of the features in this object. */ this.select = function () { - return m_this.renderer().select(m_this._d3id()); + return m_this.renderer().select(m_this._svgid()); }; /** @@ -59,12 +59,12 @@ var d3_object = function (arg) { * Removes the element from the svg and the renderer. */ this._exit = function () { - m_this.renderer()._removeFeature(m_this._d3id()); + m_this.renderer()._removeFeature(m_this._svgid()); s_exit(); }; return this; }; -inherit(d3_object, sceneObject); -module.exports = d3_object; +inherit(svg_object, sceneObject); +module.exports = svg_object; diff --git a/src/d3/pathFeature.js b/src/svg/pathFeature.js similarity index 79% rename from src/d3/pathFeature.js rename to src/svg/pathFeature.js index bc93433f42..9ac8c5a784 100644 --- a/src/d3/pathFeature.js +++ b/src/svg/pathFeature.js @@ -3,23 +3,23 @@ var registerFeature = require('../registry').registerFeature; var pathFeature = require('../pathFeature'); /** - * Create a new instance of class geo.d3.pathFeature. + * Create a new instance of class geo.svg.pathFeature. * * @class - * @alias geo.d3.pathFeature + * @alias geo.svg.pathFeature * @extends geo.pathFeature - * @extends geo.d3.object + * @extends geo.svg.object * @param {geo.pathFeature.spec} arg - * @returns {geo.d3.pathFeature} + * @returns {geo.svg.pathFeature} */ -var d3_pathFeature = function (arg) { +var svg_pathFeature = function (arg) { 'use strict'; - if (!(this instanceof d3_pathFeature)) { - return new d3_pathFeature(arg); + if (!(this instanceof svg_pathFeature)) { + return new svg_pathFeature(arg); } var $ = require('jquery'); - var d3 = require('./d3Renderer').d3; + var d3 = require('./svgRenderer').d3; var object = require('./object'); var timestamp = require('../timestamp'); @@ -70,9 +70,9 @@ var d3_pathFeature = function (arg) { d: diag }; - m_style.id = m_this._d3id(); + m_style.id = m_this._svgid(); m_style.append = 'path'; - m_style.classes = ['d3PathFeature']; + m_style.classes = ['svgPathFeature']; m_style.style = $.extend({ fill: function () { return false; }, fillColor: {r: 0, g: 0, b: 0} @@ -105,8 +105,8 @@ var d3_pathFeature = function (arg) { return this; }; -inherit(d3_pathFeature, pathFeature); +inherit(svg_pathFeature, pathFeature); -registerFeature('d3', 'path', d3_pathFeature); +registerFeature('svg', 'path', svg_pathFeature); -module.exports = d3_pathFeature; +module.exports = svg_pathFeature; diff --git a/src/d3/pointFeature.js b/src/svg/pointFeature.js similarity index 77% rename from src/d3/pointFeature.js rename to src/svg/pointFeature.js index d3ec680401..c61c636db8 100644 --- a/src/d3/pointFeature.js +++ b/src/svg/pointFeature.js @@ -3,27 +3,27 @@ var registerFeature = require('../registry').registerFeature; var pointFeature = require('../pointFeature'); /** - * Create a new instance of d3.pointFeature. + * Create a new instance of svg.pointFeature. * * @class - * @alias geo.d3.pointFeature + * @alias geo.svg.pointFeature * @extends geo.pointFeature - * @extends geo.d3.object + * @extends geo.svg.object * @param {geo.pointFeature.spec} arg - * @returns {geo.d3.pointFeature} + * @returns {geo.svg.pointFeature} */ -var d3_pointFeature = function (arg) { +var svg_pointFeature = function (arg) { 'use strict'; - if (!(this instanceof d3_pointFeature)) { - return new d3_pointFeature(arg); + if (!(this instanceof svg_pointFeature)) { + return new svg_pointFeature(arg); } - var d3_object = require('./object'); + var svg_object = require('./object'); var timestamp = require('../timestamp'); arg = arg || {}; pointFeature.call(this, arg); - d3_object.call(this); + svg_object.call(this); /** * @private @@ -62,8 +62,8 @@ var d3_pointFeature = function (arg) { // default to empty data array if (!data) { data = []; } - // fill in d3 renderer style object defaults - m_style.id = m_this._d3id(); + // fill in svg renderer style object defaults + m_style.id = m_this._svgid(); m_style.data = data; m_style.append = 'circle'; m_style.attributes = { @@ -76,7 +76,7 @@ var d3_pointFeature = function (arg) { } }; m_style.style = s_style; - m_style.classes = ['d3PointFeature']; + m_style.classes = ['svgPointFeature']; m_style.visible = m_this.visible; // pass to renderer to draw @@ -106,12 +106,12 @@ var d3_pointFeature = function (arg) { return this; }; -inherit(d3_pointFeature, pointFeature); +inherit(svg_pointFeature, pointFeature); var capabilities = {}; capabilities[pointFeature.capabilities.stroke] = true; // Now register it -registerFeature('d3', 'point', d3_pointFeature, capabilities); +registerFeature('svg', 'point', svg_pointFeature, capabilities); -module.exports = d3_pointFeature; +module.exports = svg_pointFeature; diff --git a/src/d3/quadFeature.js b/src/svg/quadFeature.js similarity index 94% rename from src/d3/quadFeature.js rename to src/svg/quadFeature.js index 852e7b12fe..688aac5ee6 100644 --- a/src/d3/quadFeature.js +++ b/src/svg/quadFeature.js @@ -6,19 +6,19 @@ var quadFeature = require('../quadFeature'); * Create a new instance of class quadFeature. * * @class - * @alias geo.d3.quadFeature + * @alias geo.svg.quadFeature * @param {geo.quadFeature.spec} arg Options object. * @extends geo.quadFeature - * @returns {geo.d3.quadFeature} + * @returns {geo.svg.quadFeature} */ -var d3_quadFeature = function (arg) { +var svg_quadFeature = function (arg) { 'use strict'; - if (!(this instanceof d3_quadFeature)) { - return new d3_quadFeature(arg); + if (!(this instanceof svg_quadFeature)) { + return new svg_quadFeature(arg); } var $ = require('jquery'); - var d3 = require('./d3Renderer').d3; + var d3 = require('./svgRenderer').d3; var object = require('./object'); quadFeature.call(this, arg); @@ -53,7 +53,7 @@ var d3_quadFeature = function (arg) { }); var feature = { - id: this._d3id(), + id: this._svgid(), data: data, dataIndex: function (d) { return d.quad.quadId; @@ -182,7 +182,7 @@ var d3_quadFeature = function (arg) { onlyRenderNew: !this.style('previewColor') && !this.style('previewImage'), sortByZ: true, visible: m_this.visible, - classes: ['d3QuadFeature'] + classes: ['svgQuadFeature'] }; renderer._drawFeatures(feature); @@ -221,7 +221,7 @@ var d3_quadFeature = function (arg) { return this; }; -inherit(d3_quadFeature, quadFeature); +inherit(svg_quadFeature, quadFeature); // Now register it var capabilities = {}; @@ -233,5 +233,5 @@ capabilities[quadFeature.capabilities.imageFull] = false; capabilities[quadFeature.capabilities.canvas] = false; capabilities[quadFeature.capabilities.video] = false; -registerFeature('d3', 'quad', d3_quadFeature, capabilities); -module.exports = d3_quadFeature; +registerFeature('svg', 'quad', svg_quadFeature, capabilities); +module.exports = svg_quadFeature; diff --git a/src/d3/rescale.js b/src/svg/rescale.js similarity index 55% rename from src/d3/rescale.js rename to src/svg/rescale.js index ee2e324e60..b8e4d8e346 100644 --- a/src/d3/rescale.js +++ b/src/svg/rescale.js @@ -1,10 +1,10 @@ /** - * @namespace geo.event.d3 + * @namespace geo.event.svg */ /** - * @event geo.event.d3.rescale + * @event geo.event.svg.rescale * @type {geo.event.base} * @property {number} scale The scale as a ratio of the original render size. */ -module.exports = 'geo_d3_rescale'; +module.exports = 'geo_svg_rescale'; diff --git a/src/d3/d3Renderer.js b/src/svg/svgRenderer.js similarity index 94% rename from src/d3/d3Renderer.js rename to src/svg/svgRenderer.js index 6d5823fcd7..8f68a0a901 100644 --- a/src/d3/d3Renderer.js +++ b/src/svg/svgRenderer.js @@ -3,10 +3,10 @@ var registerRenderer = require('../registry').registerRenderer; var renderer = require('../renderer'); /** - * Create a new instance of class d3Renderer. + * Create a new instance of class svgRenderer. * * @class - * @alias geo.d3.renderer + * @alias geo.svg.renderer * @extends geo.renderer * @param {object} arg Options for the renderer. * @param {geo.layer} [arg.layer] Layer associated with the renderer. @@ -17,19 +17,19 @@ var renderer = require('../renderer'); * group. * @param {HTMLElement} [arg.d3Parent] If specified, the parent for any * rendered objects; otherwise the renderer's layer's main node is used. - * @returns {geo.d3.d3Renderer} + * @returns {geo.svg.svgRenderer} */ -var d3Renderer = function (arg) { +var svgRenderer = function (arg) { 'use strict'; - var d3 = d3Renderer.d3; + var d3 = svgRenderer.d3; var object = require('./object'); var util = require('../util'); var geo_event = require('../event'); - var d3Rescale = require('./rescale'); + var svgRescale = require('./rescale'); - if (!(this instanceof d3Renderer)) { - return new d3Renderer(arg); + if (!(this instanceof svgRenderer)) { + return new svgRenderer(arg); } renderer.call(this, arg); @@ -53,7 +53,7 @@ var d3Renderer = function (arg) { /** * Set attributes to a d3 selection. - * @private + * * @param {d3Selector} select The d3 selector with the elements to change. * @param {object} attrs A map of attributes to set on the elements. */ @@ -68,7 +68,7 @@ var d3Renderer = function (arg) { /** * Meta functions for converting from geojs styles to d3. - * @private + * * @param {object|function} f The style value or function to convert. * @param {function} [g] An optional function that returns a boolean; if it * returns false, the style is set to `'none'`. @@ -94,7 +94,7 @@ var d3Renderer = function (arg) { /** * Return a function for converting a size in pixels to an appropriate * d3 scale. - * @private + * * @param {object|function} f The style value or function to convert. * @returns {function} A function for converting scale. */ @@ -107,7 +107,7 @@ var d3Renderer = function (arg) { /** * Set styles to a d3 selection. Ignores unknown style keys. - * @private + * * @param {d3Selector} select The d3 selector with the elements to change. * @param {object} styles Style object associated with a feature. */ @@ -186,7 +186,6 @@ var d3Renderer = function (arg) { * Get the svg group element associated with this renderer instance, or of a * group within the render instance. * - * @private * @param {string} [parentId] Optional parent ID name. * @returns {d3Selector} Selector with the d3 group. */ @@ -194,12 +193,11 @@ var d3Renderer = function (arg) { if (parentId) { return m_svg.select('.group-' + parentId); } - return m_svg.select('.group-' + m_this._d3id()); + return m_svg.select('.group-' + m_this._svgid()); } /** * Set the initial lat-lon coordinates of the map view. - * @private */ function initCorners() { var layer = m_this.layer(), @@ -275,6 +273,7 @@ var d3Renderer = function (arg) { /** * Convert from screen pixel coordinates to the local coordinate system * in the SVG group element taking into account the transform. + * * @private * @param {geo.screenPosition} pt The coordinates to convert. * @returns {geo.geoPosition} The converted coordinates. @@ -299,6 +298,7 @@ var d3Renderer = function (arg) { /** * Convert from the local coordinate system in the SVG group element * to screen pixel coordinates. + * * @private * @param {geo.geoPosition} pt The coordinates to convert. * @returns {geo.screenPosition} The converted coordinates. @@ -393,12 +393,12 @@ var d3Renderer = function (arg) { .attr('in', 'SourceGraphic'); m_sticky = m_this.layer().sticky(); - m_svg.attr('class', m_this._d3id()); + m_svg.attr('class', m_this._svgid()); m_svg.attr('width', m_this.layer().node().width()); m_svg.attr('height', m_this.layer().node().height()); if (!arg.widget) { - canvas.attr('class', 'group-' + m_this._d3id()); + canvas.attr('class', 'group-' + m_this._svgid()); m_this.canvas(canvas); } else { @@ -412,10 +412,10 @@ var d3Renderer = function (arg) { /** * Get API used by the renderer. * - * @returns {string} 'd3'. + * @returns {string} 'svg'. */ this.api = function () { - return 'd3'; + return 'svg'; }; /** @@ -442,7 +442,7 @@ var d3Renderer = function (arg) { * @param {number} w New width in pixels. * @param {number} h New height in pixels. * @returns {this} - * @fires geo.event.d3.rescale + * @fires geo.event.svg.rescale */ this._resize = function (x, y, w, h) { if (!m_corners) { @@ -452,7 +452,7 @@ var d3Renderer = function (arg) { m_svg.attr('height', h); m_this._setTransform(); m_this._setWidthHeight(w, h); - m_this.layer().geoTrigger(d3Rescale, { scale: m_scale }, true); + m_this.layer().geoTrigger(svgRescale, { scale: m_scale }, true); return m_this; }; @@ -650,7 +650,7 @@ var d3Renderer = function (arg) { this.layer().geoOn(geo_event.zoom, function () { m_this._setTransform(); m_this.__render(); - m_this.layer().geoTrigger(d3Rescale, { scale: m_scale }, true); + m_this.layer().geoTrigger(svgRescale, { scale: m_scale }, true); }); this.layer().geoOn(geo_event.resize, function (event) { @@ -661,9 +661,11 @@ var d3Renderer = function (arg) { return this; }; -inherit(d3Renderer, renderer); +inherit(svgRenderer, renderer); -registerRenderer('d3', d3Renderer); +registerRenderer('svg', svgRenderer); +// Also register under an alternate name (alias for backwards compatibility) +registerRenderer('d3', svgRenderer); /* Code for checking if the renderer is supported */ @@ -673,13 +675,13 @@ registerRenderer('d3', d3Renderer); * * @returns {boolean} true if available. */ -d3Renderer.supported = function () { - delete d3Renderer.d3; +svgRenderer.supported = function () { + delete svgRenderer.d3; // webpack expects optional dependencies to be wrapped in a try-catch try { - d3Renderer.d3 = require('d3'); + svgRenderer.d3 = require('d3'); } catch (_error) {} - return d3Renderer.d3 !== undefined; + return svgRenderer.d3 !== undefined; }; /** @@ -688,10 +690,10 @@ d3Renderer.supported = function () { * * @returns {null} `null` for the null renderer. */ -d3Renderer.fallback = function () { +svgRenderer.fallback = function () { return null; }; -d3Renderer.supported(); // cache reference to d3 if it is available +svgRenderer.supported(); // cache reference to d3 if it is available -module.exports = d3Renderer; +module.exports = svgRenderer; diff --git a/src/d3/tileLayer.js b/src/svg/tileLayer.js similarity index 95% rename from src/d3/tileLayer.js rename to src/svg/tileLayer.js index 8d6031b239..b444dc33a7 100644 --- a/src/d3/tileLayer.js +++ b/src/svg/tileLayer.js @@ -1,6 +1,6 @@ var registerLayerAdjustment = require('../registry').registerLayerAdjustment; -var d3_tileLayer = function () { +var svg_tileLayer = function () { 'use strict'; var m_this = this, s_init = this._init, @@ -90,5 +90,5 @@ var d3_tileLayer = function () { this._updateSubLayers = undefined; }; -registerLayerAdjustment('d3', 'tile', d3_tileLayer); -module.exports = d3_tileLayer; +registerLayerAdjustment('svg', 'tile', svg_tileLayer); +module.exports = svg_tileLayer; diff --git a/src/d3/uniqueID.js b/src/svg/uniqueID.js similarity index 94% rename from src/d3/uniqueID.js rename to src/svg/uniqueID.js index 6b9422f99c..fb5ef9d047 100644 --- a/src/d3/uniqueID.js +++ b/src/svg/uniqueID.js @@ -4,7 +4,7 @@ var chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz', /** * Get a random string to use as a div ID. * - * @alias geo.d3.uniqueID + * @alias geo.svg.uniqueID * @returns {string} A random ID string. */ var uniqueID = function () { diff --git a/src/d3/vectorFeature.js b/src/svg/vectorFeature.js similarity index 90% rename from src/d3/vectorFeature.js rename to src/svg/vectorFeature.js index dd38f69b4c..c003265b35 100644 --- a/src/d3/vectorFeature.js +++ b/src/svg/vectorFeature.js @@ -55,24 +55,24 @@ var markerConfigs = { }; /** - * Create a new instance of d3.vectorFeature. + * Create a new instance of svg.vectorFeature. * * @class - * @alias geo.d3.vectorFeature + * @alias geo.svg.vectorFeature * @extends geo.vectorFeature - * @extends geo.d3.object + * @extends geo.svg.object * @param {geo.vectorFeature.spec} arg Feature options. * @returns {geo.vectorFeature} */ -var d3_vectorFeature = function (arg) { +var svg_vectorFeature = function (arg) { 'use strict'; - if (!(this instanceof d3_vectorFeature)) { - return new d3_vectorFeature(arg); + if (!(this instanceof svg_vectorFeature)) { + return new svg_vectorFeature(arg); } var object = require('./object'); var timestamp = require('../timestamp'); - var d3 = require('./d3Renderer').d3; + var d3 = require('./svgRenderer').d3; arg = arg || {}; vectorFeature.call(this, arg); @@ -97,7 +97,7 @@ var d3_vectorFeature = function (arg) { * @returns {string} The constructed ID. */ function markerID(d, i, position) { - return m_this._d3id() + '_marker_' + i + '_' + position; + return m_this._svgid() + '_marker_' + i + '_' + position; } /** @@ -112,13 +112,13 @@ var d3_vectorFeature = function (arg) { function updateMarkers(data, stroke, opacity, originStyle, endStyle) { //this allows for multiple vectorFeature in a layer var markerGroup = m_this.renderer()._definitions() - .selectAll('g.marker-group#' + m_this._d3id()) + .selectAll('g.marker-group#' + m_this._svgid()) .data(data.length ? [1] : []); markerGroup .enter() .append('g') - .attr('id', m_this._d3id) + .attr('id', m_this._svgid) .attr('class', 'marker-group'); markerGroup.exit().remove(); @@ -224,8 +224,8 @@ var d3_vectorFeature = function (arg) { return scale / m_renderer.scaleFactor(); } - // fill in d3 renderer style object defaults - m_style.id = m_this._d3id(); + // fill in svg renderer style object defaults + m_style.id = m_this._svgid(); m_style.data = data; m_style.append = 'line'; m_style.attributes = { @@ -256,7 +256,7 @@ var d3_vectorFeature = function (arg) { originStyle: s_style.originStyle, endStyle: s_style.endStyle }; - m_style.classes = ['d3VectorFeature']; + m_style.classes = ['svgVectorFeature']; m_style.visible = m_this.visible; // Add markers to the defition list @@ -307,10 +307,10 @@ var d3_vectorFeature = function (arg) { return this; }; -d3_vectorFeature.markerConfigs = markerConfigs; +svg_vectorFeature.markerConfigs = markerConfigs; -inherit(d3_vectorFeature, vectorFeature); +inherit(svg_vectorFeature, vectorFeature); // Now register it -registerFeature('d3', 'vector', d3_vectorFeature); -module.exports = d3_vectorFeature; +registerFeature('svg', 'vector', svg_vectorFeature); +module.exports = svg_vectorFeature; diff --git a/src/ui/colorLegendWidget.js b/src/ui/colorLegendWidget.js index b15f78b0a7..51f04f3579 100644 --- a/src/ui/colorLegendWidget.js +++ b/src/ui/colorLegendWidget.js @@ -1,9 +1,9 @@ -var d3 = require('../d3/d3Renderer').d3; +var d3 = require('../svg/svgRenderer').d3; var domWidget = require('./domWidget'); var inherit = require('../inherit'); var registerWidget = require('../registry').registerWidget; var util = require('../util'); -var uniqueID = require('../d3/uniqueID'); +var uniqueID = require('../svg/uniqueID'); require('./colorLegendWidget.styl'); diff --git a/src/ui/legendWidget.js b/src/ui/legendWidget.js index e52043e7ff..3eaf2c69d7 100644 --- a/src/ui/legendWidget.js +++ b/src/ui/legendWidget.js @@ -44,7 +44,7 @@ var legendWidget = function (arg) { } svgWidget.call(this, arg); - var d3 = require('../d3/d3Renderer').d3; + var d3 = require('../svg/svgRenderer').d3; var geo_event = require('../event'); var m_this = this, diff --git a/src/ui/scaleWidget.js b/src/ui/scaleWidget.js index b867aa7bd8..c6c47a7203 100644 --- a/src/ui/scaleWidget.js +++ b/src/ui/scaleWidget.js @@ -71,7 +71,7 @@ var scaleWidget = function (arg) { var geo_event = require('../event'); var transform = require('../transform'); var util = require('../util'); - var d3 = require('../d3/d3Renderer').d3; + var d3 = require('../svg/svgRenderer').d3; var m_this = this, s_exit = this._exit, diff --git a/src/ui/sliderWidget.js b/src/ui/sliderWidget.js index a2ed34ba5e..a0c3627989 100644 --- a/src/ui/sliderWidget.js +++ b/src/ui/sliderWidget.js @@ -26,7 +26,7 @@ var sliderWidget = function (arg) { } svgWidget.call(this, arg); - var d3 = require('../d3/d3Renderer').d3; + var d3 = require('../svg/svgRenderer').d3; var geo_event = require('../event'); var m_this = this, diff --git a/src/ui/svgWidget.js b/src/ui/svgWidget.js index 3a3141a234..ef935640b1 100644 --- a/src/ui/svgWidget.js +++ b/src/ui/svgWidget.js @@ -27,7 +27,7 @@ var svgWidget = function (arg) { widget.call(this, arg); - var d3Renderer = require('../d3/d3Renderer'); + var svgRenderer = require('../svg/svgRenderer'); var m_this = this, s_exit = this._exit, @@ -69,8 +69,8 @@ var svgWidget = function (arg) { /** * Creates the canvas for the svg widget. - * This directly uses the {@link geo.d3.d3Renderer} as a helper to do all of - * the heavy lifting. + * This directly uses the {@link geo.svg.svgRenderer} as a helper to do all + * of the heavy lifting. * * @param {d3Selector} d3Parent The canvas's parent element. */ @@ -84,7 +84,7 @@ var svgWidget = function (arg) { rendererOpts.d3Parent = d3Parent; } - m_renderer = d3Renderer(rendererOpts); + m_renderer = svgRenderer(rendererOpts); // svg widgets manage their own sizes, so make the resize handler a no-op m_renderer._resize = function () {}; diff --git a/tests/cases/annotation.js b/tests/cases/annotation.js index 907dccf55a..98b47ecfed 100644 --- a/tests/cases/annotation.js +++ b/tests/cases/annotation.js @@ -1501,7 +1501,7 @@ describe('geo.annotation', function () { geo.gl.vglRenderer.supported = function () { return false; }; expect(geo.rendererForAnnotations(['polygon'])).toBe(false); expect(console.warn.calledOnce).toBe(true); - expect(geo.rendererForAnnotations(['point'])).toBe('d3'); + expect(geo.rendererForAnnotations(['point'])).toBe('svg'); console.warn.restore(); }); }); diff --git a/tests/cases/annotationLayer.js b/tests/cases/annotationLayer.js index 44fd70a47e..f0704c150d 100644 --- a/tests/cases/annotationLayer.js +++ b/tests/cases/annotationLayer.js @@ -355,7 +355,7 @@ describe('geo.annotationLayer', function () { * some edge conditions */ map = createMap(); layer = map.createLayer('annotation', { - renderer: 'd3' + renderer: 'svg' }); point = geo.annotation.pointAnnotation({ layer: layer, diff --git a/tests/cases/feature.js b/tests/cases/feature.js index b4fae4fbac..d5c0c1ba49 100644 --- a/tests/cases/feature.js +++ b/tests/cases/feature.js @@ -17,7 +17,7 @@ describe('geo.feature', function () { it('create function', function () { var map, layer, feat; map = createMap(); - layer = map.createLayer('feature', {renderer: 'd3'}); + layer = map.createLayer('feature', {renderer: 'svg'}); feat = geo.feature.create(); expect(feat).toBeNull(); @@ -177,7 +177,7 @@ describe('geo.feature', function () { var map, layer, feat; it('pointSearch', function () { map = createMap(); - layer = map.createLayer('feature', {renderer: 'd3'}); + layer = map.createLayer('feature', {renderer: 'svg'}); feat = geo.feature({layer: layer, renderer: layer.renderer()}); expect(feat.pointSearch()).toEqual({index: [], found: []}); }); @@ -271,7 +271,7 @@ describe('geo.feature', function () { var map, layer, feat; it('style', function () { map = createMap(); - layer = map.createLayer('feature', {renderer: 'd3'}); + layer = map.createLayer('feature', {renderer: 'svg'}); feat = geo.feature({layer: layer, renderer: layer.renderer()}); expect(feat.style()).toEqual({opacity: 1}); expect(feat.style('opacity')).toBe(1); diff --git a/tests/cases/featureLayer.js b/tests/cases/featureLayer.js index 97651921d1..fb770a53f6 100644 --- a/tests/cases/featureLayer.js +++ b/tests/cases/featureLayer.js @@ -22,7 +22,7 @@ describe('geo.featureLayer', function () { expect(layer instanceof geo.featureLayer).toBe(true); expect(layer.initialized()).toBe(false); - layer = map.createLayer('feature', {renderer: 'd3'}); + layer = map.createLayer('feature', {renderer: 'svg'}); expect(layer instanceof geo.featureLayer).toBe(true); expect(layer.initialized()).toBe(true); }); @@ -48,7 +48,7 @@ describe('geo.featureLayer', function () { expect(layer.features().length).toBe(0); }); it('_update', function () { - layer = map.createLayer('feature', {renderer: 'd3'}); + layer = map.createLayer('feature', {renderer: 'svg'}); expect(layer._update()).toBe(layer); var feat = layer.createFeature('point'); sinon.stub(feat, '_update', function () {}); @@ -60,7 +60,7 @@ describe('geo.featureLayer', function () { var map, layer, feat1, feat2, feat3; it('createFeature', function () { map = createMap(); - layer = map.createLayer('feature', {renderer: 'd3'}); + layer = map.createLayer('feature', {renderer: 'svg'}); feat1 = layer.createFeature('point'); expect(feat1).not.toBe(null); diff --git a/tests/cases/geojsonReader.js b/tests/cases/geojsonReader.js index ec68b39ea2..a4f99d2d22 100644 --- a/tests/cases/geojsonReader.js +++ b/tests/cases/geojsonReader.js @@ -71,7 +71,7 @@ describe('geo.geojsonReader', function () { it('default', done => { var map, layer, reader; map = createMap(); - layer = map.createLayer('feature', {renderer: 'd3'}); + layer = map.createLayer('feature', {renderer: 'svg'}); reader = geo.geojsonReader({'layer': layer}); reader.read(obj).then(result => { expect(layer.features()[0].style.get('fillColor')(layer.features()[0].data()[0], 0)).toEqual({r: 1, g: 0x78 / 0xff, b: 0}); @@ -81,7 +81,7 @@ describe('geo.geojsonReader', function () { it('specified', done => { var map, layer, reader; map = createMap(); - layer = map.createLayer('feature', {renderer: 'd3'}); + layer = map.createLayer('feature', {renderer: 'svg'}); reader = geo.geojsonReader({'layer': layer, pointStyle: {fillColor: 'lightblue'}}); reader.read(obj).then(result => { expect(layer.features()[0].style.get('fillColor')(layer.features()[0].data()[0], 0)).toEqual({r: 0xad / 0xff, g: 0xd8 / 0xff, b: 0xe6 / 0xff}); @@ -91,7 +91,7 @@ describe('geo.geojsonReader', function () { it('from data', done => { var map, layer, reader; map = createMap(); - layer = map.createLayer('feature', {renderer: 'd3'}); + layer = map.createLayer('feature', {renderer: 'svg'}); reader = geo.geojsonReader({'layer': layer, pointStyle: {fillColor: 'lightblue'}}); obj.features[0].properties.fillColor = 'yellow'; reader.read(obj).then(result => { @@ -124,7 +124,7 @@ describe('geo.geojsonReader', function () { var map, layer, reader; it('bad object', done => { map = createMap(); - layer = map.createLayer('feature', {renderer: 'd3'}); + layer = map.createLayer('feature', {renderer: 'svg'}); reader = geo.geojsonReader({'layer': layer}); reader.read(['not geojson object']).catch(err => { @@ -437,7 +437,7 @@ describe('geo.geojsonReader', function () { it('read from object', function (done) { var map = createMap({center: [0, 0], zoom: 3}); - var layer = map.createLayer('feature', {renderer: 'd3'}); + var layer = map.createLayer('feature', {renderer: 'svg'}); var reader = geo.createFileReader('geojsonReader', {'layer': layer}), data, i; diff --git a/tests/cases/layer.js b/tests/cases/layer.js index df56580be8..3390d08ea2 100644 --- a/tests/cases/layer.js +++ b/tests/cases/layer.js @@ -35,7 +35,7 @@ describe('geo.layer', function () { expect(layer.initialized()).toBe(true); expect(layer.children().length).toBe(0); - layer = geo.layer.create(map, {renderer: 'd3', features: [{type: 'point'}]}); + layer = geo.layer.create(map, {renderer: 'svg', features: [{type: 'point'}]}); expect(layer instanceof geo.layer).toBe(true); expect(layer.initialized()).toBe(true); expect(layer.children().length).toBe(1); diff --git a/tests/cases/lineFeature.js b/tests/cases/lineFeature.js index cf0f0f1685..52a3a6e6ee 100644 --- a/tests/cases/lineFeature.js +++ b/tests/cases/lineFeature.js @@ -1,4 +1,4 @@ -// Test geo.lineFeature, geo.d3.lineFeature, geo.canvas.lineFeature, and +// Test geo.lineFeature, geo.svg.lineFeature, geo.canvas.lineFeature, and // geo.gl.lineFeature var $ = require('jquery'); @@ -50,7 +50,7 @@ describe('geo.lineFeature', function () { it('create function', function () { var map, layer, line; map = createMap(); - layer = map.createLayer('feature', {renderer: 'd3'}); + layer = map.createLayer('feature', {renderer: 'svg'}); line = geo.lineFeature.create(layer); expect(line instanceof geo.lineFeature).toBe(true); }); @@ -92,7 +92,7 @@ describe('geo.lineFeature', function () { it('pointSearch', function () { var map, layer, line, pt, p, data = testLines; map = createMap(); - layer = map.createLayer('feature', {renderer: 'd3'}); + layer = map.createLayer('feature', {renderer: 'svg'}); line = layer.createFeature('line', {selectionAPI: true}); line.data(data) .line(function (item) { @@ -175,7 +175,7 @@ describe('geo.lineFeature', function () { it('boxSearch', function () { var map, layer, line, idx, data = testLines; map = createMap(); - layer = map.createLayer('feature', {renderer: 'd3'}); + layer = map.createLayer('feature', {renderer: 'svg'}); line = layer.createFeature('line', {selectionAPI: true}); line.data(data) .line(function (item, itemIdx) { @@ -253,13 +253,13 @@ describe('geo.lineFeature', function () { }); }); - /* This is a basic integration test of geo.d3.lineFeature. */ - describe('geo.d3.lineFeature', function () { + /* This is a basic integration test of geo.svg.lineFeature. */ + describe('geo.svg.lineFeature', function () { var map, layer, line; it('basic usage', function () { mockAnimationFrame(); map = createMap(); - layer = map.createLayer('feature', {renderer: 'd3'}); + layer = map.createLayer('feature', {renderer: 'svg'}); line = layer.createFeature('line', { line: function (item) { return item.coord; diff --git a/tests/cases/map.js b/tests/cases/map.js index 52271b8ee4..e610663398 100644 --- a/tests/cases/map.js +++ b/tests/cases/map.js @@ -193,7 +193,7 @@ describe('geo.core.map', function () { }); it('unitsPerPixel', function () { var m = createMap(), circEarth = 6378137 * Math.PI * 2; - m.createLayer('feature', {renderer: 'd3'}); + m.createLayer('feature', {renderer: 'svg'}); expect(m.unitsPerPixel()).toBeCloseTo(circEarth / 256); expect(m.unitsPerPixel(0)).toBeCloseTo(circEarth / 256); expect(m.unitsPerPixel(1)).toBeCloseTo(circEarth / 256 / 2); @@ -401,9 +401,9 @@ describe('geo.core.map', function () { expect(m.fileReader('geojsonReader')).toBe(m); expect(m.fileReader()).not.toBe(null); expect(m.layers().length).toBe(layerCount + 1); - expect(m.layers()[m.layers().length - 1].renderer().api()).not.toBe('d3'); - expect(m.fileReader('geojsonReader', {renderer: 'd3'})).toBe(m); - expect(m.layers()[m.layers().length - 1].renderer().api()).toBe('d3'); + expect(m.layers()[m.layers().length - 1].renderer().api()).not.toBe('svg'); + expect(m.fileReader('geojsonReader', {renderer: 'svg'})).toBe(m); + expect(m.layers()[m.layers().length - 1].renderer().api()).toBe('svg'); var r = geo.createFileReader('geojsonReader', {layer: m.layers()[m.layers().length - 1]}); expect(m.fileReader(r)).toBe(m); expect(m.fileReader()).toBe(r); @@ -955,7 +955,7 @@ describe('geo.core.map', function () { describe('Public non-class methods', function () { it('geo.map.create', function () { - var layerSpec = {type: 'feature', renderer: 'd3', features: []}; + var layerSpec = {type: 'feature', renderer: 'svg', features: []}; var node = $('
').css({width: '500px', height: '500px'}); $('#map-non-class-methods').remove(); $('body').append(node); @@ -999,7 +999,7 @@ describe('geo.core.map', function () { }); it('drop', function () { var m = createMap(); - m.fileReader('geojsonReader', {renderer: 'd3'}); + m.fileReader('geojsonReader', {renderer: 'svg'}); var evt = $.Event('drop'); evt.originalEvent = new window.Event('drop'); evt.originalEvent.dataTransfer = {files: [{ diff --git a/tests/cases/mapAttribution.js b/tests/cases/mapAttribution.js index 96ddcf3eb7..92d86ffc22 100644 --- a/tests/cases/mapAttribution.js +++ b/tests/cases/mapAttribution.js @@ -14,7 +14,7 @@ describe('Test adding and remove attribution via layers', function () { map.createLayer('feature', { attribution: '
', - renderer: 'd3' + renderer: 'svg' }); var $a = getAttribution(); @@ -25,7 +25,7 @@ describe('Test adding and remove attribution via layers', function () { it('Modifying an attribution after creation', function () { var map = createMap(); - var layer = map.createLayer('feature', {renderer: 'd3'}); + var layer = map.createLayer('feature', {renderer: 'svg'}); layer.attribution('
'); @@ -37,13 +37,13 @@ describe('Test adding and remove attribution via layers', function () { it('Multiple attributions', function () { var map = createMap(); - var layer = map.createLayer('feature', {renderer: 'd3'}); + var layer = map.createLayer('feature', {renderer: 'svg'}); layer.attribution('
'); - layer = map.createLayer('feature', {renderer: 'd3'}); + layer = map.createLayer('feature', {renderer: 'svg'}); layer.attribution('
'); - layer = map.createLayer('feature', {renderer: 'd3'}); + layer = map.createLayer('feature', {renderer: 'svg'}); layer.attribution('
'); var $a = getAttribution(); @@ -56,7 +56,7 @@ describe('Test adding and remove attribution via layers', function () { it('Remove attribution on remove layer', function () { var map = createMap(); - var layer = map.createLayer('feature', {renderer: 'd3'}); + var layer = map.createLayer('feature', {renderer: 'svg'}); layer.attribution('
'); var $a = getAttribution(); diff --git a/tests/cases/osmLayer.js b/tests/cases/osmLayer.js index c80fe4fa93..8e9d9bbc47 100644 --- a/tests/cases/osmLayer.js +++ b/tests/cases/osmLayer.js @@ -164,21 +164,21 @@ describe('geo.core.osmLayer', function () { }); it('destroy', destroy_map); }); - describe('d3', function () { + describe('svg', function () { var layer; it('creation', function () { map = create_map(); - layer = map.createLayer('osm', {renderer: 'd3', url: '/testdata/white.jpg'}); + layer = map.createLayer('osm', {renderer: 'svg', url: '/testdata/white.jpg'}); }); - waitForIt('.d3QuadFeature', function () { - return map.node().find('.d3QuadFeature').length > 0; + waitForIt('.svgQuadFeature', function () { + return map.node().find('.svgQuadFeature').length > 0; }); it('check for tiles', function () { - expect(map.node().find('.d3QuadFeature').length).toBeGreaterThan(0); + expect(map.node().find('.svgQuadFeature').length).toBeGreaterThan(0); }); - /* The following is a test of d3.tileLayer as attached to a map. */ + /* The following is a test of svg.tileLayer as attached to a map. */ it('_update', function () { - var elem = $('.d3QuadFeature').closest('g'); + var elem = $('.svgQuadFeature').closest('g'); var transform = elem.attr('transform'); mockAnimationFrame(); layer._update(); @@ -213,19 +213,19 @@ describe('geo.core.osmLayer', function () { waitForIt('.geo-tile-container', function () { return map.node().find('.geo-tile-container').length > 0; }); - it('null to d3', function () { + it('null to svg', function () { expect(map.node().find('[data-tile-layer="0"]').is('div')).toBe(true); map.deleteLayer(layer); - layer = map.createLayer('osm', {renderer: 'd3', url: '/testdata/white.jpg'}); + layer = map.createLayer('osm', {renderer: 'svg', url: '/testdata/white.jpg'}); expect(map.node().find('[data-tile-layer="0"]').length).toBe(0); }); - waitForIt('.d3QuadFeature', function () { - return map.node().find('.d3QuadFeature').length > 0; + waitForIt('.svgQuadFeature', function () { + return map.node().find('.svgQuadFeature').length > 0; }); - it('d3 to canvas', function () { + it('svg to canvas', function () { map.deleteLayer(layer); layer = map.createLayer('osm', {renderer: 'canvas', url: '/testdata/white.jpg'}); - expect(map.node().find('.d3QuadFature').length).toBe(0); + expect(map.node().find('.svgQuadFature').length).toBe(0); expect(map.node().find('.canvas-canvas').length).toBe(1); }); it('canvas to vgl', function () { @@ -238,7 +238,7 @@ describe('geo.core.osmLayer', function () { it('destroy', destroy_map); }); - describe('html and d3 alignment', function () { + describe('html and svg alignment', function () { var positions = {}; var layer; /* A set of angles to test with the number of tiles we expect at each @@ -260,17 +260,17 @@ describe('geo.core.osmLayer', function () { waitForIt('null tiles to load', function () { return $('[tile-reference]').length === numTiles; }); - it('check null tiles and switch to d3', function () { + it('check null tiles and switch to svg', function () { positions = {}; $.each($('[tile-reference]'), function () { var ref = $(this).attr('tile-reference'); positions[ref] = $(this)[0].getBoundingClientRect(); }); map.deleteLayer(layer); - layer = map.createLayer('osm', {renderer: 'd3', url: '/testdata/white.jpg'}); + layer = map.createLayer('osm', {renderer: 'svg', url: '/testdata/white.jpg'}); expect(map.node().find('[data-tile-layer="0"]').length).toBe(0); }); - waitForIt('d3 tiles to load', function () { + waitForIt('svg tiles to load', function () { return $('image[reference]').length === numTiles; }); it('compare tile offsets at angle ' + angle, function () { @@ -312,13 +312,13 @@ describe('geo.core.osmLayer', function () { }); it('destroy', destroy_map); }); - describe('geo.d3.osmLayer', function () { + describe('geo.svg.osmLayer', function () { var layer, mapinfo = {}; it('test that tiles are created', function () { map = create_map(); mapinfo.map = map; layer = map.createLayer('osm', { - renderer: 'd3', + renderer: 'svg', url: '/testdata/white.jpg' }); }); @@ -332,7 +332,7 @@ describe('geo.core.osmLayer', function () { waitForIt('tiles to load', function () { return Object.keys(layer.activeTiles).length === 17; }); - measure_performance(mapinfo, 'osmLayer-d3-performance'); + measure_performance(mapinfo, 'osmLayer-svg-performance'); it('destroy', destroy_map); it('_drawTile after destruction', function () { // this shouldn't raise an error diff --git a/tests/cases/pointFeature.js b/tests/cases/pointFeature.js index 8050be2684..135c0c2a34 100644 --- a/tests/cases/pointFeature.js +++ b/tests/cases/pointFeature.js @@ -1,4 +1,4 @@ -// Test geo.pointFeature, geo.d3.pointFeature, and geo.gl.pointFeature +// Test geo.pointFeature, geo.svg.pointFeature, and geo.gl.pointFeature var $ = require('jquery'); var mockAnimationFrame = require('../test-utils').mockAnimationFrame; @@ -28,7 +28,7 @@ describe('geo.pointFeature', function () { it('create function', function () { var map, layer, point; map = createMap(); - layer = map.createLayer('feature', {renderer: 'd3'}); + layer = map.createLayer('feature', {renderer: 'svg'}); point = geo.pointFeature.create(layer); expect(point instanceof geo.pointFeature).toBe(true); }); @@ -97,7 +97,7 @@ describe('geo.pointFeature', function () { it('pointSearch', function () { var map, layer, point, pt, p, data = testPoints; map = createMap(); - layer = map.createLayer('feature', {renderer: 'd3'}); + layer = map.createLayer('feature', {renderer: 'svg'}); point = layer.createFeature('point', {selectionAPI: true}); point.data(data) .style({ @@ -155,7 +155,7 @@ describe('geo.pointFeature', function () { it('boxSearch', function () { var map, layer, point, data = testPoints, idx; map = createMap(); - layer = map.createLayer('feature', {renderer: 'd3'}); + layer = map.createLayer('feature', {renderer: 'svg'}); point = layer.createFeature('point', {selectionAPI: true}); point.data(data); idx = point.boxSearch({x: 19, y: 9}, {x: 26, y: 11}); @@ -171,7 +171,7 @@ describe('geo.pointFeature', function () { it('_clusterData', function () { var map, layer, point, data = testPoints, count = 0; map = createMap(); - layer = map.createLayer('feature', {renderer: 'd3'}); + layer = map.createLayer('feature', {renderer: 'svg'}); point = layer.createFeature('point'); point.data(data); var s_handleZoom = point._handleZoom; @@ -193,7 +193,7 @@ describe('geo.pointFeature', function () { it('_handleZoom', function () { var map, layer, point, data = testPoints; map = createMap(); - layer = map.createLayer('feature', {renderer: 'd3'}); + layer = map.createLayer('feature', {renderer: 'svg'}); point = layer.createFeature('point'); point.data(data); expect(point.data().length).toBe(data.length); @@ -208,7 +208,7 @@ describe('geo.pointFeature', function () { it('_updateRangeTree', function () { var map, layer, point, data = testPoints.slice(); map = createMap(); - layer = map.createLayer('feature', {renderer: 'd3'}); + layer = map.createLayer('feature', {renderer: 'svg'}); point = layer.createFeature('point'); point.data(data); expect(point.pointSearch({x: 20, y: 10}).index.length).toBe(1); @@ -229,13 +229,13 @@ describe('geo.pointFeature', function () { }); }); - /* This is a basic integration test of geo.d3.pointFeature. */ - describe('geo.d3.pointFeature', function () { + /* This is a basic integration test of geo.svg.pointFeature. */ + describe('geo.svg.pointFeature', function () { var map, layer, point; it('basic usage', function () { mockAnimationFrame(); map = createMap(); - layer = map.createLayer('feature', {renderer: 'd3'}); + layer = map.createLayer('feature', {renderer: 'svg'}); point = layer.createFeature('point', { style: { strokeWidth: 2, diff --git a/tests/cases/quadFeature.js b/tests/cases/quadFeature.js index db516cf6c7..fa0a7b6806 100644 --- a/tests/cases/quadFeature.js +++ b/tests/cases/quadFeature.js @@ -1,4 +1,4 @@ -// Test geo.quadFeature, geo.canvas.quadFeature, geo.d3.quadFeature, and +// Test geo.quadFeature, geo.canvas.quadFeature, geo.svg.quadFeature, and // geo.gl.quadFeature /* globals Image */ @@ -664,8 +664,8 @@ describe('geo.quadFeature', function () { }); }); - /* This is a basic integration test of geo.d3.quadFeature. */ - describe('geo.d3.quadFeature', function () { + /* This is a basic integration test of geo.svg.quadFeature. */ + describe('geo.svg.quadFeature', function () { var map, layer, quads; it('load preview image', load_preview_image); it('basic usage', function () { @@ -675,7 +675,7 @@ describe('geo.quadFeature', function () { delete quad._cachedQuad; }); map = createMap(); - layer = map.createLayer('feature', {renderer: 'd3'}); + layer = map.createLayer('feature', {renderer: 'svg'}); quads = layer.createFeature('quad', {style: testStyle, data: testQuads}); buildTime = quads.buildTime().timestamp(); /* Trigger rerendering */ diff --git a/tests/cases/registry.js b/tests/cases/registry.js index a39f06b233..550246f20c 100644 --- a/tests/cases/registry.js +++ b/tests/cases/registry.js @@ -11,18 +11,18 @@ describe('geo.registry', function () { expect(geo.rendererForFeatures()).toBe('vgl'); expect(geo.rendererForFeatures(['point'])).toBe('vgl'); expect(geo.rendererForFeatures(['heatmap'])).toBe('canvas'); - expect(geo.rendererForFeatures(['point', 'graph'])).toBe('d3'); + expect(geo.rendererForFeatures(['point', 'graph'])).toBe('svg'); expect(geo.rendererForFeatures(['contour'])).toBe('vgl'); expect(geo.rendererForFeatures(['contour', 'graph'])).toBe(false); - expect(geo.rendererForFeatures(['quad', 'graph'])).toBe('d3'); + expect(geo.rendererForFeatures(['quad', 'graph'])).toBe('svg'); expect(geo.rendererForFeatures([geo.quadFeature.capabilities.imageFull, 'graph'])).toBe(false); - expect(geo.rendererForFeatures([geo.quadFeature.capabilities.image, 'graph'])).toBe('d3'); + expect(geo.rendererForFeatures([geo.quadFeature.capabilities.image, 'graph'])).toBe('svg'); restoreVGLRenderer(); }); it('unsupported vgl renderer', function () { mockVGLRenderer(false); expect(geo.rendererForFeatures()).toBe('canvas'); - expect(geo.rendererForFeatures(['point'])).toBe('d3'); + expect(geo.rendererForFeatures(['point'])).toBe('svg'); restoreVGLRenderer(); }); it('expose registries', function () { diff --git a/tests/cases/renderers.js b/tests/cases/renderers.js index 82ebd2e220..e7c05853c3 100644 --- a/tests/cases/renderers.js +++ b/tests/cases/renderers.js @@ -4,7 +4,7 @@ describe('renderers', function () { 'use strict'; var supported = true; - var fallback = 'd3'; + var fallback = 'svg'; var geo = require('../test-utils').geo; var mockVGLRenderer = geo.util.mockVGLRenderer; var restoreVGLRenderer = geo.util.restoreVGLRenderer; @@ -48,10 +48,10 @@ describe('renderers', function () { expect(geo.checkRenderer('simple', true)).toBe('simple'); supported = false; - expect(geo.checkRenderer('simple')).toBe('d3'); + expect(geo.checkRenderer('simple')).toBe('svg'); expect(console.warn.calledOnce).toBe(true); expect(console.warn.calledWith( - 'simple renderer is unavailable, using d3 renderer instead' + 'simple renderer is unavailable, using svg renderer instead' )).toBe(true); console.warn.reset(); @@ -63,21 +63,21 @@ describe('renderers', function () { expect(geo.checkRenderer(null)).toBe(null); - expect(geo.checkRenderer('d3')).toBe('d3'); + expect(geo.checkRenderer('svg')).toBe('svg'); - sinon.stub(geo.d3.renderer, 'supported').returns(false); - expect(geo.checkRenderer('d3')).toBe(null); - geo.d3.renderer.supported.restore(); + sinon.stub(geo.svg.renderer, 'supported').returns(false); + expect(geo.checkRenderer('svg')).toBe(null); + geo.svg.renderer.supported.restore(); - expect(geo.checkRenderer('d3')).toBe('d3'); + expect(geo.checkRenderer('svg')).toBe('svg'); var oldd3 = __webpack_modules__[require.resolveWeak('d3')]; // eslint-disable-line __webpack_modules__[require.resolveWeak('d3')] = null; // eslint-disable-line delete __webpack_require__.c[require.resolveWeak('d3')]; // eslint-disable-line - expect(geo.checkRenderer('d3')).toBe(null); + expect(geo.checkRenderer('svg')).toBe(null); __webpack_modules__[require.resolveWeak('d3')] = oldd3; // eslint-disable-line delete __webpack_require__.c[require.resolveWeak('d3')]; // eslint-disable-line - expect(geo.checkRenderer('d3')).toBe('d3'); + expect(geo.checkRenderer('svg')).toBe('svg'); mockVGLRenderer(false); expect(geo.checkRenderer('vgl')).toBe(null); diff --git a/tests/cases/d3GraphFeature.js b/tests/cases/svgGraphFeature.js similarity index 90% rename from tests/cases/d3GraphFeature.js rename to tests/cases/svgGraphFeature.js index 78b1135bb1..e98789a3d4 100644 --- a/tests/cases/d3GraphFeature.js +++ b/tests/cases/svgGraphFeature.js @@ -1,10 +1,10 @@ -describe('d3 graph feature', function () { +describe('svg graph feature', function () { var createMap = require('../test-utils').createMap; var mockAnimationFrame = require('../test-utils').mockAnimationFrame; var stepAnimationFrame = require('../test-utils').stepAnimationFrame; var unmockAnimationFrame = require('../test-utils').unmockAnimationFrame; - describe('d3 graph feature', function () { + describe('svg graph feature', function () { 'use strict'; var map, layer, feature; @@ -12,7 +12,7 @@ describe('d3 graph feature', function () { it('Setup map', function () { mockAnimationFrame(); map = createMap({center: [0, 0], zoom: 3}); - layer = map.createLayer('feature', {'renderer': 'd3'}); + layer = map.createLayer('feature', {'renderer': 'svg'}); }); it('Add features to a layer', function () { diff --git a/tests/cases/d3PointFeature.js b/tests/cases/svgPointFeature.js similarity index 92% rename from tests/cases/d3PointFeature.js rename to tests/cases/svgPointFeature.js index f8dcb7c98e..6893b5886f 100644 --- a/tests/cases/d3PointFeature.js +++ b/tests/cases/svgPointFeature.js @@ -1,10 +1,10 @@ -describe('d3 point feature', function () { +describe('svg point feature', function () { var createMap = require('../test-utils').createMap; var mockAnimationFrame = require('../test-utils').mockAnimationFrame; var stepAnimationFrame = require('../test-utils').stepAnimationFrame; var unmockAnimationFrame = require('../test-utils').unmockAnimationFrame; - describe('d3 point feature', function () { + describe('svg point feature', function () { 'use strict'; var map, layer, feature1, feature2; @@ -12,7 +12,7 @@ describe('d3 point feature', function () { it('Setup map', function () { mockAnimationFrame(); map = createMap({center: [0, 0], zoom: 3}, {width: '800px', height: '600px'}); - layer = map.createLayer('feature', {'renderer': 'd3'}); + layer = map.createLayer('feature', {'renderer': 'svg'}); }); it('Add features to a layer', function () { diff --git a/tests/cases/d3VectorFeature.js b/tests/cases/svgVectorFeature.js similarity index 93% rename from tests/cases/d3VectorFeature.js rename to tests/cases/svgVectorFeature.js index fce3fcacf5..3228d472d6 100644 --- a/tests/cases/d3VectorFeature.js +++ b/tests/cases/svgVectorFeature.js @@ -4,12 +4,12 @@ var mockAnimationFrame = require('../test-utils').mockAnimationFrame; var stepAnimationFrame = require('../test-utils').stepAnimationFrame; var unmockAnimationFrame = require('../test-utils').unmockAnimationFrame; -describe('d3 vector feature', function () { +describe('svg vector feature', function () { 'use strict'; var map, layer, feature1; - it('Create a map with a d3 feature layer', function () { + it('Create a map with a svg feature layer', function () { mockAnimationFrame(); map = createMap({ center: [0, 0], @@ -21,7 +21,7 @@ describe('d3 vector feature', function () { var cl = map.createLayer; map.createLayer = function (type, opts) { opts = opts || {}; - opts.renderer = 'd3'; + opts.renderer = 'svg'; return cl.call(map, type, opts); }; @@ -32,7 +32,7 @@ describe('d3 vector feature', function () { return pt; }; - layer = map.createLayer('feature', {'renderer': 'd3'}); + layer = map.createLayer('feature', {'renderer': 'svg'}); }); it('Add features to a layer', function () { @@ -62,7 +62,7 @@ describe('d3 vector feature', function () { vectorLines = d3.select('#map').selectAll('line'); expect(vectorLines.size()).toBe(3); - featureGroup = d3.selectAll('g#' + feature1._d3id()); + featureGroup = d3.selectAll('g#' + feature1._svgid()); expect(featureGroup.size()).toBe(1); markers = d3.selectAll('marker'); diff --git a/tests/gl-cases/d3Vectors.js b/tests/gl-cases/d3Vectors.js index 9cd626d961..514be0cae4 100644 --- a/tests/gl-cases/d3Vectors.js +++ b/tests/gl-cases/d3Vectors.js @@ -1,4 +1,4 @@ -describe('d3Lines', function () { +describe('svgLines', function () { var imageTest = require('../image-test'); var common = require('../test-common'); var geo = require('../test-utils').geo; @@ -18,7 +18,7 @@ describe('d3Lines', function () { var mapOptions = {center: {x: -105.0, y: 40.0}, zoom: 3.5}; myMap = common.createOsmMap(mapOptions, {}, true); common.loadCitiesData(function (citieslatlon) { - var layer = myMap.createLayer('feature', {'renderer': 'd3'}); + var layer = myMap.createLayer('feature', {'renderer': 'svg'}); var color = d3.scale.category20().domain(d3.range(20)); @@ -44,7 +44,7 @@ describe('d3Lines', function () { layer.geoOn(geo.event.pan, setDelta); myMap.draw(); - imageTest.imageTest('d3Vectors', null, 0.0015, done, myMap.onIdle, 0, 2); + imageTest.imageTest('svgVectors', null, 0.0015, done, myMap.onIdle, 0, 2); }, 30); }); }); diff --git a/tests/gl-cases/layerReorder.js b/tests/gl-cases/layerReorder.js index d62627768a..86a4d5f549 100644 --- a/tests/gl-cases/layerReorder.js +++ b/tests/gl-cases/layerReorder.js @@ -12,7 +12,7 @@ describe('layerReorder', function () { l1 = myMap.children()[0]; l2 = myMap.createLayer('feature', {renderer: 'vgl'}); - l3 = myMap.createLayer('feature', {renderer: 'd3'}); + l3 = myMap.createLayer('feature', {renderer: 'svg'}); layers = [l1, l2, l3]; l2.createFeature('point') @@ -78,7 +78,7 @@ describe('layerReorder', function () { myMap.draw(); step1 = function () { - layers[2].moveUp(-1); // d3 below vgl + layers[2].moveUp(-1); // svg below vgl imageTest.imageTest('layerOrderUp2_-1', null, 0.0015, step2, myMap.onIdle, 0, 2); }; @@ -106,7 +106,7 @@ describe('layerReorder', function () { }; step2 = function () { - layers[2].moveDown(1); // d3 below vgl + layers[2].moveDown(1); // svg below vgl imageTest.imageTest('layerOrderDown2_1', null, 0.0015, step3, myMap.onIdle, 0, 2); }; diff --git a/tests/gl-cases/osmLayer.js b/tests/gl-cases/osmLayer.js index 7cd01085ce..191cd800ae 100644 --- a/tests/gl-cases/osmLayer.js +++ b/tests/gl-cases/osmLayer.js @@ -32,9 +32,9 @@ describe('osmLayer', function () { imageTest.imageTest('osmLayerCanvas', null, 0.0015, done, myMap.onIdle, 0, 2); }); - it('d3 renderer', function (done) { + it('svg renderer', function (done) { myMap = common.createOsmMap({}, { - renderer: 'd3', + renderer: 'svg', attribution: '© OpenStreetMap contributors' }); myMap.draw(); diff --git a/tests/gl-cases/points.js b/tests/gl-cases/points.js index ecbfb8950a..b13082add8 100644 --- a/tests/gl-cases/points.js +++ b/tests/gl-cases/points.js @@ -37,15 +37,15 @@ describe('points', function () { return feature; } - it('d3Points test', function (done) { + it('svgPoints test', function (done) { var mapOptions = {center: {x: -105.0, y: 40.0}}; myMap = common.createOsmMap(mapOptions, {}, true); common.loadCitiesData(function (citieslatlon) { - addLayerAndFeature({'renderer': 'd3'}, citieslatlon); + addLayerAndFeature({'renderer': 'svg'}, citieslatlon); myMap.draw(); - imageTest.imageTest('d3Points', null, 0.0015, done, myMap.onIdle, 0, 2); + imageTest.imageTest('svgPoints', null, 0.0015, done, myMap.onIdle, 0, 2); }, 30); // only load 30 cities }); diff --git a/tests/gl-cases/d3GeoJson.js b/tests/gl-cases/svgGeoJson.js similarity index 91% rename from tests/gl-cases/d3GeoJson.js rename to tests/gl-cases/svgGeoJson.js index a8914abb7c..0f0e565d6d 100644 --- a/tests/gl-cases/d3GeoJson.js +++ b/tests/gl-cases/svgGeoJson.js @@ -1,4 +1,4 @@ -describe('d3GeoJSON', function () { +describe('svgGeoJSON', function () { var imageTest = require('../image-test'); var common = require('../test-common'); var geo = require('../test-utils').geo; @@ -69,14 +69,14 @@ describe('d3GeoJSON', function () { myMap.exit(); }); - it('d3 GeoJSON test', function (done) { + it('svg GeoJSON test', function (done) { var mapOptions = {center: {x: -105.0, y: 40.0}, zoom: 3.5}; myMap = common.createOsmMap(mapOptions, {}, true); - var layer = myMap.createLayer('feature', {'renderer': 'd3'}); + var layer = myMap.createLayer('feature', {'renderer': 'svg'}); var reader = geo.createFileReader('geojsonReader', {'layer': layer}); reader.read(obj, function () { myMap.draw(); - imageTest.imageTest('d3GeoJson', null, 0.0015, done, myMap.onIdle, 0, 2); + imageTest.imageTest('svgGeoJson', null, 0.0015, done, myMap.onIdle, 0, 2); }); }); }); diff --git a/tests/gl-cases/d3Graph.js b/tests/gl-cases/svgGraph.js similarity index 83% rename from tests/gl-cases/d3Graph.js rename to tests/gl-cases/svgGraph.js index 4c1ba32064..4c0c88e0c2 100644 --- a/tests/gl-cases/d3Graph.js +++ b/tests/gl-cases/svgGraph.js @@ -1,4 +1,4 @@ -describe('d3Graph', function () { +describe('svgGraph', function () { var imageTest = require('../image-test'); var common = require('../test-common'); @@ -25,7 +25,7 @@ describe('d3Graph', function () { c.y = c.lat; }); - var layer = myMap.createLayer('feature', {'renderer' : 'd3'}); + var layer = myMap.createLayer('feature', {'renderer' : 'svg'}); layer.createFeature('graph') .data(citieslatlon) .style({ @@ -37,7 +37,7 @@ describe('d3Graph', function () { }); myMap.draw(); - imageTest.imageTest('d3Graph', null, 0.0015, done, myMap.onIdle, 0, 2); + imageTest.imageTest('svgGraph', null, 0.0015, done, myMap.onIdle, 0, 2); }, 10); // just load 10 cities }); }); diff --git a/tests/gl-cases/d3Lines.js b/tests/gl-cases/svgLines.js similarity index 86% rename from tests/gl-cases/d3Lines.js rename to tests/gl-cases/svgLines.js index 274593242b..4ee4c5c522 100644 --- a/tests/gl-cases/d3Lines.js +++ b/tests/gl-cases/svgLines.js @@ -1,4 +1,4 @@ -describe('d3Lines', function () { +describe('svgLines', function () { var imageTest = require('../image-test'); var common = require('../test-common'); @@ -16,7 +16,7 @@ describe('d3Lines', function () { var mapOptions = {center: {x: -105.0, y: 40.0}}; myMap = common.createOsmMap(mapOptions, {}, true); common.loadCitiesData(function (citieslatlon) { - var layer = myMap.createLayer('feature', {'renderer': 'd3'}); + var layer = myMap.createLayer('feature', {'renderer': 'svg'}); var n = citieslatlon.length / 2; var group1 = citieslatlon.filter(function (d, i) { return i < n; }) .sort(function (d1, d2) { @@ -45,7 +45,7 @@ describe('d3Lines', function () { myMap.draw(); - imageTest.imageTest('d3Lines', null, 0.0015, done, myMap.onIdle, 0, 2); + imageTest.imageTest('svgLines', null, 0.0015, done, myMap.onIdle, 0, 2); }); }); }); diff --git a/tests/gl-cases/d3StickyLayer.js b/tests/gl-cases/svgStickyLayer.js similarity index 87% rename from tests/gl-cases/d3StickyLayer.js rename to tests/gl-cases/svgStickyLayer.js index d698df4ed1..3151c0989a 100644 --- a/tests/gl-cases/d3StickyLayer.js +++ b/tests/gl-cases/svgStickyLayer.js @@ -1,4 +1,4 @@ -describe('d3StickyLayer', function () { +describe('svgStickyLayer', function () { var imageTest = require('../image-test'); var common = require('../test-common'); var geo = require('../test-utils').geo; @@ -20,8 +20,8 @@ describe('d3StickyLayer', function () { var width = myMap.node().width(), height = myMap.node().height(); // create two layers - var fixedLayer = myMap.createLayer('feature', {'renderer' : 'd3', 'sticky': false}), - movingLayer = myMap.createLayer('feature', {'renderer': 'd3', 'sticky': true}), + var fixedLayer = myMap.createLayer('feature', {'renderer' : 'svg', 'sticky': false}), + movingLayer = myMap.createLayer('feature', {'renderer': 'svg', 'sticky': true}), fixedSvg = fixedLayer.canvas(), movingSvg = movingLayer.canvas(); @@ -44,7 +44,7 @@ describe('d3StickyLayer', function () { .attr('r', 10) .style('fill', 'blue'); - movingLayer.geoOn(geo.event.d3.rescale, function (arg) { + movingLayer.geoOn(geo.event.svg.rescale, function (arg) { scaledCircle.attr('r', 10 / arg.scale); }); @@ -57,6 +57,6 @@ describe('d3StickyLayer', function () { // the same size. Specifically, the black and blue circles should be lower // than the red circle, and the black circle should be larger than the red // and blue circles - imageTest.imageTest('d3StickyLayer', null, 0.0015, done, myMap.onIdle, 0, 2); + imageTest.imageTest('svgStickyLayer', null, 0.0015, done, myMap.onIdle, 0, 2); }); }); From df556e8b50dd05be4626380952632f072827e7b6 Mon Sep 17 00:00:00 2001 From: David Manthey Date: Tue, 27 Nov 2018 13:43:20 -0500 Subject: [PATCH 2/4] Rename the vgl renderer to webgl. Alias it to vgl so as to not break existing code. --- CHANGELOG.md | 3 +- docs/developers.rst | 4 +- docs/quickstart.rst | 6 +- docs/users.rst | 4 +- examples/blog-lines/index.pug | 60 +++++++++---------- examples/blog-lines/main.js | 6 +- examples/choropleth/main.js | 2 +- examples/picking/main.js | 10 ++-- examples/points/main.js | 14 ++--- examples/quads/main.js | 4 +- examples/reprojection/main.js | 4 +- examples/tiles/index.pug | 2 +- examples/tiles/main.js | 4 +- examples/vectors/main.js | 2 +- src/feature.js | 4 +- src/index.js | 2 +- src/layer.js | 4 +- src/map.js | 2 +- src/pointFeature.js | 12 ++-- src/registry.js | 4 +- src/util/mockVGL.js | 26 ++++---- src/vtkjs/vtkjsRenderer.js | 2 +- src/{gl => webgl}/choroplethFeature.js | 34 +++++------ src/{gl => webgl}/contourFeature.js | 16 ++--- src/{gl => webgl}/index.js | 4 +- src/{gl => webgl}/isolineFeature.js | 16 ++--- src/{gl => webgl}/lineFeature.js | 16 ++--- src/{gl => webgl}/object.js | 12 ++-- src/{gl => webgl}/pointFeature.js | 18 +++--- src/{gl => webgl}/polygonFeature.js | 18 +++--- src/{gl => webgl}/quadFeature.js | 16 ++--- src/{gl => webgl}/tileLayer.js | 6 +- .../vglRenderer.js => webgl/webglRenderer.js} | 36 +++++------ tests/cases/annotation.js | 14 ++--- tests/cases/annotationLayer.js | 10 ++-- tests/cases/choroplethFeature.js | 16 ++--- tests/cases/contourFeature.js | 10 ++-- tests/cases/isolineFeature.js | 12 ++-- tests/cases/lineFeature.js | 16 ++--- tests/cases/osmLayer.js | 28 ++++----- tests/cases/pointFeature.js | 16 ++--- tests/cases/polygonFeature.js | 52 ++++++++-------- tests/cases/quadFeature.js | 22 +++---- tests/cases/registry.js | 20 +++---- tests/cases/renderers.js | 16 ++--- tests/gl-cases/layerReorder.js | 8 +-- tests/gl-cases/osmLayer.js | 4 +- tests/gl-cases/points.js | 10 ++-- .../{glContour.js => webglContour.js} | 12 ++-- tests/gl-cases/{glLines.js => webglLines.js} | 8 +-- .../{glLinesSpeed.js => webglLinesSpeed.js} | 2 +- .../{glPointsSpeed.js => webglPointsSpeed.js} | 4 +- .../{glPolygons.js => webglPolygons.js} | 8 +-- tests/gl-cases/{glQuad.js => webglQuad.js} | 6 +- tests/headed-cases/blog-lines.js | 2 +- tests/test-utils.js | 2 +- tutorials/common/tutorials.js | 6 +- 57 files changed, 338 insertions(+), 339 deletions(-) rename src/{gl => webgl}/choroplethFeature.js (69%) rename src/{gl => webgl}/contourFeature.js (96%) rename src/{gl => webgl}/index.js (85%) rename src/{gl => webgl}/isolineFeature.js (57%) rename src/{gl => webgl}/lineFeature.js (99%) rename src/{gl => webgl}/object.js (72%) rename src/{gl => webgl}/pointFeature.js (98%) rename src/{gl => webgl}/polygonFeature.js (96%) rename src/{gl => webgl}/quadFeature.js (97%) rename src/{gl => webgl}/tileLayer.js (95%) rename src/{gl/vglRenderer.js => webgl/webglRenderer.js} (92%) rename tests/gl-cases/{glContour.js => webglContour.js} (93%) rename tests/gl-cases/{glLines.js => webglLines.js} (99%) rename tests/gl-cases/{glLinesSpeed.js => webglLinesSpeed.js} (99%) rename tests/gl-cases/{glPointsSpeed.js => webglPointsSpeed.js} (97%) rename tests/gl-cases/{glPolygons.js => webglPolygons.js} (99%) rename tests/gl-cases/{glQuad.js => webglQuad.js} (94%) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2d787b1843..38b7fc1e07 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,7 +3,8 @@ ## Unreleased ### Changes -- Rename the d3 renderer to the svg +- Rename the d3 renderer to svg. d3 still works as an alias +- Rename the vgl renderer to webgl. vgl still works as an alias ## Version 0.19.0 diff --git a/docs/developers.rst b/docs/developers.rst index 7773cb080d..c9d490955e 100644 --- a/docs/developers.rst +++ b/docs/developers.rst @@ -39,7 +39,7 @@ Headless browser testing Geojs uses `PhantomJS `_ for headless browser testing of core utilities. Unfortunately because PhantomJS does not -support webgl at this time, so code paths requiring gl must be either +support webgl at this time, so code paths requiring webgl must be either mocked or run in an environment such as xvfb. The headless unit tests should be placed in the ``tests/cases/`` @@ -53,7 +53,7 @@ so there is no need to rerun this command unless you add a new file. There are a number of utilities present in the file ``tests/test-utils.js`` that developers can use to make better unit tests. For example, a mocked -vgl renderer can be used to hit code paths within gl rendered layers. There +vgl renderer can be used to hit code paths within webgl rendered layers. There are also methods for mocking global methods like ``requestAnimationFrame`` to test complex, asynchronous code paths in a stable and repeatable manner. The `Sinon `_ testing library is also available to diff --git a/docs/quickstart.rst b/docs/quickstart.rst index eb2f660718..353130947c 100644 --- a/docs/quickstart.rst +++ b/docs/quickstart.rst @@ -43,13 +43,9 @@ by issue this command in your terminal. :: git clone https://github.com/OpenGeoscience/geojs.git This will put all of the source code in a new directory called -``geojs``. The GeoJS library is packaged together with another -library `vgl`_. Formally, this library was included as a git -submodule. Currently, vgl is downloaded from npm to integrate -better with workflows used by web projects. +``geojs``. .. _GitHub repository: https://github.com/OpenGeoscience/geojs -.. _vgl: https://github.com/OpenGeoscience/vgl Building the source ------------------- diff --git a/docs/users.rst b/docs/users.rst index 9ff6d93a18..d5abd92f7d 100644 --- a/docs/users.rst +++ b/docs/users.rst @@ -126,7 +126,7 @@ documentation for each of the classes. If a renderer is requested when creating a layer, and that renderer is not supported by the current installation, a fallback renderer may be used instead and a warning sent to the console. - `geo.gl.vglRenderer `_ + `geo.webgl.webglRenderer `_ requires webGL support. `geo.svg.svgRenderer `_ requires the d3 library to be present. @@ -213,7 +213,7 @@ World coordinates in 3D graphics. The world coordinates are a rescaled and translated version of the GCS coordinates so that the world coordinates of the current viewport is near ``1`` in each axis. This is done to provide well conditioned transformation matrices that can be used acurately in contexts of limited precision - such as GL or CSS. In order to achieve this, the world coordinate system is dynamic at run time + such as WebGL or CSS. In order to achieve this, the world coordinate system is dynamic at run time and will change as the user pans and zooms the map. By convention, the world coordinates are given relative to a dynamic "scale" and "origin". Changes to these values trigger events on the map that allow layers and features to respond and update their views as necessary. diff --git a/examples/blog-lines/index.pug b/examples/blog-lines/index.pug index 35f2eef139..c27c856f67 100644 --- a/examples/blog-lines/index.pug +++ b/examples/blog-lines/index.pug @@ -21,7 +21,7 @@ block append mainContent th Debug WebGL tr.option(option='basic') th Basic Lines - td.geojs(rowspan=2, renderer='vgl') + td.geojs(rowspan=2, renderer='webgl') td.geojs(rowspan=2, renderer='canvas') td.geojs(rowspan=2, renderer='svg') td.leaflet(rowspan=2, library='leaflet', renderer='canvas') @@ -29,13 +29,13 @@ block append mainContent td.mapboxgl(rowspan=2, library='mapboxgl') td.geojs(rowspan=2, renderer='vgl', version='0.10.5') td.geojs(rowspan=2, renderer='d3', version='0.10.5') - td.geojs(rowspan=2, renderer='vgl', debug='true') + td.geojs(rowspan=2, renderer='webgl', debug='true') tr.option(option='basic') td p Lines with default options for each rendering method. tr.option(option='color', strokeColor='yellow,black,red', strokeOpacity=1) th Varying Color - td.geojs(rowspan=2, renderer='vgl') + td.geojs(rowspan=2, renderer='webgl') td.unsupported(rowspan=2) td.unsupported(rowspan=2) td.unsupported(rowspan=2) @@ -43,14 +43,14 @@ block append mainContent td.unsupported(rowspan=2) td.geojs(rowspan=2, renderer='vgl', version='0.10.5') td.unsupported(rowspan=2) - td.geojs(rowspan=2, renderer='vgl', debug='true') + td.geojs(rowspan=2, renderer='webgl', debug='true') tr.option(option='color') td p Lines that vary by color from vertex to vertex, cycling through yellow, black, and red. p On corners, the vertex color is at the far end of the miter. There will probably always be a clear color step along the miter line. tr.option(option='stroke', strokeOpacity='0.5,1') th Varying Opacity - td.geojs(rowspan=2, renderer='vgl') + td.geojs(rowspan=2, renderer='webgl') td.unsupported(rowspan=2) td.unsupported(rowspan=2) td.unsupported(rowspan=2) @@ -58,13 +58,13 @@ block append mainContent td.unsupported(rowspan=2) td.geojs(rowspan=2, renderer='vgl', version='0.10.5') td.unsupported(rowspan=2) - td.geojs(rowspan=2, renderer='vgl', debug='true') + td.geojs(rowspan=2, renderer='webgl', debug='true') tr.option(option='stroke') td p Lines that vary by opacity from vertex to vertex, cycling between 0.5 and 1. tr.option(option='width', strokeWidth='9,12', link_strokeWidth='36,48') th Varying Width - td.geojs(rowspan=2, renderer='vgl') + td.geojs(rowspan=2, renderer='webgl') td.unsupported(rowspan=2) td.unsupported(rowspan=2) td.unsupported(rowspan=2) @@ -72,14 +72,14 @@ block append mainContent td.unsupported(rowspan=2) td.geojs(rowspan=2, renderer='vgl', version='0.10.5') td.unsupported(rowspan=2) - td.geojs(rowspan=2, renderer='vgl', debug='true') + td.geojs(rowspan=2, renderer='webgl', debug='true') tr.option(option='width') td p Lines that vary by width from vertex to vertex, alternating between 6 and 12 pixels. p On corners, the width is virtually at the far end of the miter. tr.option(option='offset', strokeOffset=-1) th Stroke Offset - td.geojs(rowspan=2, renderer='vgl') + td.geojs(rowspan=2, renderer='webgl') td.unsupported(rowspan=2) td.unsupported(rowspan=2) td.unsupported(rowspan=2) @@ -87,14 +87,14 @@ block append mainContent td.mapboxgl(rowspan=2, library='mapboxgl') td.unsupported(rowspan=2) td.unsupported(rowspan=2) - td.geojs(rowspan=2, renderer='vgl', debug='true') + td.geojs(rowspan=2, renderer='webgl', debug='true') tr.option(option='offset') td p Lines can be offset to one side or the other of center. This can very from vertex to vertex, but is only shown offset all the way to the left here. p Offset ranges from -1 (left) to +1 (right) along the direction of the stroke. 0 (default) is centered. tr.option(option='linecap-round', lineCap='round') th Round Line Cap - td.geojs(rowspan=2, renderer='vgl') + td.geojs(rowspan=2, renderer='webgl') td.geojs(rowspan=2, renderer='canvas') td.geojs(rowspan=2, renderer='svg') td.leaflet(rowspan=2, library='leaflet', renderer='canvas') @@ -102,14 +102,14 @@ block append mainContent td.mapboxgl(rowspan=2, library='mapboxgl') td.unsupported(rowspan=2) td.unsupported(rowspan=2) - td.geojs(rowspan=2, renderer='vgl', debug='true') + td.geojs(rowspan=2, renderer='webgl', debug='true') tr.option(option='linecap-round') td p End caps can be 'butt' (default), 'round', or 'square'. p In GeoJS's WebGL renderer, the end caps can vary by vertex (not shown). tr.option(option='linecap-square', lineCap='square') th Square Line Cap - td.geojs(rowspan=2, renderer='vgl') + td.geojs(rowspan=2, renderer='webgl') td.geojs(rowspan=2, renderer='canvas') td.geojs(rowspan=2, renderer='svg') td.leaflet(rowspan=2, library='leaflet', renderer='canvas') @@ -117,13 +117,13 @@ block append mainContent td.mapboxgl(rowspan=2, library='mapboxgl') td.unsupported(rowspan=2) td.unsupported(rowspan=2) - td.geojs(rowspan=2, renderer='vgl', debug='true') + td.geojs(rowspan=2, renderer='webgl', debug='true') tr.option(option='linecap-square') td p End caps can be 'butt' (default), 'round', or 'square'. tr.option(option='linejoin-bevel', lineJoin='bevel') th Bevel Line Join - td.geojs(rowspan=2, renderer='vgl') + td.geojs(rowspan=2, renderer='webgl') td.geojs(rowspan=2, renderer='canvas') td.geojs(rowspan=2, renderer='svg') td.leaflet(rowspan=2, library='leaflet', renderer='canvas') @@ -131,14 +131,14 @@ block append mainContent td.mapboxgl(rowspan=2, library='mapboxgl') td.unsupported(rowspan=2) td.unsupported(rowspan=2) - td.geojs(rowspan=2, renderer='vgl', debug='true') + td.geojs(rowspan=2, renderer='webgl', debug='true') tr.option(option='linejoin-bevel') td p Line joins can be 'miter' (default), 'bevel', 'round', or 'miter-clip'. p In GeoJS's WebGL renderer, the joins can vary by vertex (not shown). tr.option(option='linejoin-round', lineJoin='round') th Round Line Join - td.geojs(rowspan=2, renderer='vgl') + td.geojs(rowspan=2, renderer='webgl') td.geojs(rowspan=2, renderer='canvas') td.geojs(rowspan=2, renderer='svg') td.leaflet(rowspan=2, library='leaflet', renderer='canvas') @@ -146,13 +146,13 @@ block append mainContent td.mapboxgl(rowspan=2, library='mapboxgl') td.unsupported(rowspan=2) td.unsupported(rowspan=2) - td.geojs(rowspan=2, renderer='vgl', debug='true') + td.geojs(rowspan=2, renderer='webgl', debug='true') tr.option(option='linejoin-round') td p Line joins can be 'miter' (default), 'bevel', 'round', or 'miter-clip'. tr.option(option='linejoin-miterclip', lineJoin='miter-clip', miterLimit=4) th Miter-clip Line Join - td.geojs(rowspan=2, renderer='vgl') + td.geojs(rowspan=2, renderer='webgl') td.unsupported(rowspan=2) td.unsupported(rowspan=2) td.unsupported(rowspan=2) @@ -160,14 +160,14 @@ block append mainContent td.unsupported(rowspan=2) td.unsupported(rowspan=2) td.unsupported(rowspan=2) - td.geojs(rowspan=2, renderer='vgl', debug='true') + td.geojs(rowspan=2, renderer='webgl', debug='true') tr.option(option='linejoin-miterclip') td p Line joins can be 'miter' (default), 'bevel', 'round', or 'miter-clip'. p The miter-clip line join is part of a proposed path standard. If the join exceeds the miter limit, it is beveled at that distance rather than right at the join. tr.option(option='miterlimit', miterLimit=4) th Miter Limit - td.geojs(rowspan=2, renderer='vgl') + td.geojs(rowspan=2, renderer='webgl') td.geojs(rowspan=2, renderer='canvas') td.geojs(rowspan=2, renderer='svg') td.unsupported(rowspan=2) @@ -175,14 +175,14 @@ block append mainContent td.mapboxgl(rowspan=2, library='mapboxgl') td.unsupported(rowspan=2) td.unsupported(rowspan=2) - td.geojs(rowspan=2, renderer='vgl', debug='true') + td.geojs(rowspan=2, renderer='webgl', debug='true') tr.option(option='miterlimit') td p Use a miter limit of 4. Other examples use a miter limit of 10 (except the miter-clip line join). p Leaflet doesn't expose miter limit directly, but if SVG is used, the paths can be modified to change the miter limit. tr.option(option='antialiasing0', antialiasing=0) th Antialiasing of 0 - td.geojs(rowspan=2, renderer='vgl') + td.geojs(rowspan=2, renderer='webgl') td.unsupported(rowspan=2) td.unsupported(rowspan=2) td.unsupported(rowspan=2) @@ -190,13 +190,13 @@ block append mainContent td.mapboxgl(rowspan=2, library='mapboxgl') td.unsupported(rowspan=2) td.unsupported(rowspan=2) - td.geojs(rowspan=2, renderer='vgl', debug='true') + td.geojs(rowspan=2, renderer='webgl', debug='true') tr.option(option='antialiasing0') td p Antialiasing affects how the edges of lines are smoothed. A value of 1 or 2 produces smooth results, 0 hard results, and large values generate a blurred outline. tr.option(option='antialiasing1-4', antialiasing=6, link_antialiasing=24) th Antialiasing of 1/2 the line width - td.geojs(rowspan=2, renderer='vgl') + td.geojs(rowspan=2, renderer='webgl') td.unsupported(rowspan=2) td.unsupported(rowspan=2) td.unsupported(rowspan=2) @@ -204,13 +204,13 @@ block append mainContent td.mapboxgl(rowspan=2, library='mapboxgl') td.unsupported(rowspan=2) td.unsupported(rowspan=2) - td.geojs(rowspan=2, renderer='vgl', debug='true') + td.geojs(rowspan=2, renderer='webgl', debug='true') tr.option(option='antialiasing1-4') td p Antialiasing affects how the edges of lines are smoothed. A value of 1 or 2 produces smooth results, 0 hard results, and large values generate a blurred outline. tr.option(option='thin-lines', strokeWidth=0.25, referenceLines='false') th Thin Lines - td.geojs(rowspan=2, renderer='vgl') + td.geojs(rowspan=2, renderer='webgl') td.geojs(rowspan=2, renderer='canvas') td.geojs(rowspan=2, renderer='svg') td.leaflet(rowspan=2, library='leaflet', renderer='canvas') @@ -218,13 +218,13 @@ block append mainContent td.mapboxgl(rowspan=2, library='mapboxgl') td.geojs(rowspan=2, renderer='vgl', version='0.10.5') td.geojs(rowspan=2, renderer='d3', version='0.10.5') - td.geojs(rowspan=2, renderer='vgl', debug='true') + td.geojs(rowspan=2, renderer='webgl', debug='true') tr.option(option='thin-lines') td p Comparison of a line width of 0.25 pixels. The reference lines are hidden. tr.option(option='roads', data='roads', lines=10000, referenceLines='false', strokeWidth=2, strokeOpacity=1, x=-73.7593015, y=42.8496799, zoom=13) th 10,000 Line Segments - td.geojs(rowspan=2, renderer='vgl') + td.geojs(rowspan=2, renderer='webgl') td.geojs(rowspan=2, renderer='canvas') td.geojs(rowspan=2, renderer='svg') td.leaflet(rowspan=2, library='leaflet', renderer='canvas') @@ -232,7 +232,7 @@ block append mainContent td.mapboxgl(rowspan=2, library='mapboxgl') td.geojs(rowspan=2, renderer='vgl', version='0.10.5') td.geojs(rowspan=2, renderer='d3', version='0.10.5') - td.geojs(rowspan=2, renderer='vgl', debug='true') + td.geojs(rowspan=2, renderer='webgl', debug='true') tr.option(option='roads') td p A modest number of line segments from a real-world sample. diff --git a/examples/blog-lines/main.js b/examples/blog-lines/main.js index 9ac0c6f9ee..620cfe022c 100644 --- a/examples/blog-lines/main.js +++ b/examples/blog-lines/main.js @@ -284,7 +284,7 @@ function getStyleValue(val, defaultValue, isString) { * Show a GeoJS map with lines. * * @param {object} opts: options on how to render the lines. Options include: - * renderer: one of 'vgl', 'canvas', or 'svg'. Defaults to 'vgl'. + * renderer: one of 'webgl', 'canvas', or 'svg'. Defaults to 'webgl'. * version: a GeoJS version to load from a CDN. Defaults to 'current' which * uses the local GeoJS. * node: a jquery selector of a div to render the map into. Defaults to @@ -312,7 +312,7 @@ function geojsLinesTest(opts) { // create a feature layer using the desired renderer var renderer = opts.renderer; var layer = map.createLayer('feature', { - renderer: renderer === 'html' ? null : !renderer ? 'vgl' : renderer + renderer: renderer === 'html' ? null : !renderer ? 'webgl' : renderer }); var baseStyle = { antialiasing: getStyleValue(opts.antialiasing, 1), @@ -583,7 +583,7 @@ function mapboxglLinesTest(opts) { * library: one of 'geojs', 'leaflet', 'mapbox', or 'mapboxgl'. Defaults to * 'geojs'. * version: a library version to load. Varies by library. - * renderer: one of 'vgl', 'canvas', 'svg'. Varies by library. + * renderer: one of 'webgl', 'canvas', 'svg'. Varies by library. * node: a jquery selector of a div to render the map into. Defaults to * '#map'. * width: an optional width in pixels to set the node's size. diff --git a/examples/choropleth/main.js b/examples/choropleth/main.js index 64c2be74e4..9448a052aa 100644 --- a/examples/choropleth/main.js +++ b/examples/choropleth/main.js @@ -32,7 +32,7 @@ $(function () { ); // Create a feature layer. We could either ask for a layer via a specific - // render {renderer: 'vgl'} or for a layer that supports our feature + // render {renderer: 'webgl'} or for a layer that supports our feature // {features: ['choropleth']}. var choroplethLayer = map.createLayer( 'feature', diff --git a/examples/picking/main.js b/examples/picking/main.js index ed70215191..aaadf67906 100644 --- a/examples/picking/main.js +++ b/examples/picking/main.js @@ -20,11 +20,11 @@ $(function () { // Create an osm layer map.createLayer('osm'); - // Create a gl feature layer - var vglLayer = map.createLayer( + // Create a webgl feature layer + var webglLayer = map.createLayer( 'feature', { - renderer: 'vgl' + renderer: 'webgl' } ); @@ -63,7 +63,7 @@ $(function () { } var color = d3.scale.category10(); - vglLayer.createFeature('line', {selectionAPI: true}) + webglLayer.createFeature('line', {selectionAPI: true}) .data([window.randomPath(1000, 0.1, -88, 30), window.randomPath(500, 0.05, -110, 40)]) .style({ strokeColor: function (d, i, e, j) { return (j % 2) ? color(0) : color(1); }, @@ -89,6 +89,6 @@ $(function () { .geoOn(geo.event.feature.mouseclick, handleMouseClick) .geoOn(geo.event.feature.brushend, handleBrush); - vglLayer.draw(); + webglLayer.draw(); svgLayer.draw(); }); diff --git a/examples/points/main.js b/examples/points/main.js index fbcd889479..7d75361ccf 100644 --- a/examples/points/main.js +++ b/examples/points/main.js @@ -60,11 +60,11 @@ $(function () { } ); - // Create a gl feature layer - var vglLayer = map.createLayer( + // Create a webgl feature layer + var webglLayer = map.createLayer( 'feature', { - renderer: 'vgl' + renderer: 'webgl' } ); @@ -77,19 +77,19 @@ $(function () { ); // Define unique colors for each layer - var vglColor = 'red'; + var webglColor = 'red'; var svgColor = 'blue'; - // Generate some data for vgl + // Generate some data for webgl var data = d3.range(2).map(function (i) { return { x: -95, // longitude y: 39.5 + 4.5 * i, // latitude - c: vglColor, // fill color + c: webglColor, // fill color opacity: 0.1 // fill opacity }; }); - makePoints(data, vglLayer, vglColor); + makePoints(data, webglLayer, webglColor); // Generate some data for svg data = d3.range(2).map(function (i) { diff --git a/examples/quads/main.js b/examples/quads/main.js index e000d4edd6..b5d99ca87c 100644 --- a/examples/quads/main.js +++ b/examples/quads/main.js @@ -87,8 +87,8 @@ $(function () { color: '#0000FF' }]; if (query.canvas === 'true') { - // You can render a canvas on a quad, but only on the canvas and vgl - // renderers. On the vgl renderer, it may not update when the quad's + // You can render a canvas on a quad, but only on the canvas and webgl + // renderers. On the webgl renderer, it may not update when the quad's // canvas element is changed. var canvasElement = document.createElement('canvas'); canvasElement.width = 640; diff --git a/examples/reprojection/main.js b/examples/reprojection/main.js index 9afca4c15e..798c0f7f50 100644 --- a/examples/reprojection/main.js +++ b/examples/reprojection/main.js @@ -8,7 +8,7 @@ $(function () { // Most map tile servers use EPSG:3857 (Web Mercator). Using a tile server // with a different projection works correctly in all renderers. Using a - // different projection for the tiles and the map can work in the vgl + // different projection for the tiles and the map can work in the webgl // renderer, but may have problems as the tile density is not uniform or // regular. var gcsTable = { @@ -152,7 +152,7 @@ $(function () { var tooltipElem = $(tooltip.canvas()).attr('id', 'tooltip').addClass( 'hidden'); // Create a layer with cities - var pointLayer = map.createLayer('feature', {renderer: 'vgl', zIndex: 1}); + var pointLayer = map.createLayer('feature', {zIndex: 1}); var pointFeature = pointLayer .createFeature('point', { selectionAPI: true, diff --git a/examples/tiles/index.pug b/examples/tiles/index.pug index dabea614f2..dc5be6484c 100644 --- a/examples/tiles/index.pug +++ b/examples/tiles/index.pug @@ -6,7 +6,7 @@ block append mainContent label(for="map-renderer") Renderer select#map-renderer.mapparam(param-name="renderer", placeholder="default") option(value="default") Default - option(value="vgl") VGL (WebGL) + option(value="webgl") WebGL option(value="canvas") Canvas option(value="svg") SVG option(value="html") HTML diff --git a/examples/tiles/main.js b/examples/tiles/main.js index a84ab2cb70..6c56014e23 100644 --- a/examples/tiles/main.js +++ b/examples/tiles/main.js @@ -27,8 +27,8 @@ * maxBoundsTop: maximum bounds top value. * opacity: a css opacity value (typically a float from 0 to 1). * projection: 'parallel' or 'projection' for the camera projection. - * renderer: 'vgl' (default), 'canvas', 'svg', 'null', or 'html'. This picks - * the renderer for map tiles. null or html uses the html renderer. + * renderer: 'webgl' (default), 'canvas', 'svg', 'null', or 'html'. This + * picks the renderer for map tiles. null or html uses the html renderer. * 'default' uses the default renderer for the user's platform. * round: 'round' (default), 'floor', 'ceil'. * subdomains: a comma-separated string of subdomains to use in the {s} part diff --git a/examples/vectors/main.js b/examples/vectors/main.js index c799b872c5..babb320473 100644 --- a/examples/vectors/main.js +++ b/examples/vectors/main.js @@ -16,7 +16,7 @@ $(function () { 'osm' ); - // Create a gl feature layer + // Create a webgl feature layer var layer = map.createLayer( 'feature', {features: ['vector']} ); diff --git a/src/feature.js b/src/feature.js index 22f0d0694d..1716972605 100644 --- a/src/feature.js +++ b/src/feature.js @@ -27,7 +27,7 @@ var geo_event = require('./event'); * {@link geo.transform}. * @property {number} [bin=null] The bin number is used to determine the order * of multiple features on the same layer. It has no effect except on the - * vgl renderer. A negative value hides the feature without stopping + * webgl renderer. A negative value hides the feature without stopping * interaction with it. Otherwise, more features with higher bin numbers are * drawn above those with lower bin numbers. If two features have the same * bin number, their order relative to one another is indeterminate and may @@ -675,7 +675,7 @@ var feature = function (arg) { /** * Get/Set bin of the feature. The bin number is used to determine the order * of multiple features on the same layer. It has no effect except on the - * vgl renderer. A negative value hides the feature without stopping + * webgl renderer. A negative value hides the feature without stopping * interaction with it. Otherwise, features with higher bin numbers are * drawn above those with lower bin numbers. If two features have the same * bin number, their order relative to one another is indeterminate and may diff --git a/src/index.js b/src/index.js index 4a6500ce34..016328eb87 100644 --- a/src/index.js +++ b/src/index.js @@ -84,9 +84,9 @@ module.exports = $.extend({ util: require('./util'), jQuery: $, canvas: require('./canvas'), - gl: require('./gl'), svg: require('./svg'), vtkjs: require('./vtkjs'), + webgl: require('./webgl'), gui: require('./ui') }, require('./registry')); diff --git a/src/layer.js b/src/layer.js index d6505b0e4c..63c3759cd5 100644 --- a/src/layer.js +++ b/src/layer.js @@ -608,7 +608,7 @@ layer.newLayerId = (function () { * one kind of creatable layer * @property {object[]} [data=[]] The default data array to apply to each * feature if none exists. - * @property {string} [renderer='vgl'] The renderer to use. + * @property {string} [renderer='webgl'] The renderer to use. * @property {geo.feature.spec[]} [features=[]] Features to add to the layer. */ @@ -626,7 +626,7 @@ layer.create = function (map, spec) { spec.type = spec.type || 'feature'; - spec.renderer = spec.renderer === undefined ? 'vgl' : spec.renderer; + spec.renderer = spec.renderer === undefined ? 'webgl' : spec.renderer; spec.renderer = checkRenderer(spec.renderer); if (!spec.renderer) { diff --git a/src/map.js b/src/map.js index e79bc5c090..a914327d69 100644 --- a/src/map.js +++ b/src/map.js @@ -1696,7 +1696,7 @@ var map = function (arg) { layer.node().children('canvas').each(function () { var canvasElem = $(this); defer = defer.then(function () { - if (layer.renderer().api() === 'vgl') { + if (layer.renderer().api() === 'webgl') { layer.renderer()._renderFrame(); } drawLayerImageToContext(context, opacity, canvasElem, canvasElem[0]); diff --git a/src/pointFeature.js b/src/pointFeature.js index c79df21505..30ccb0042e 100644 --- a/src/pointFeature.js +++ b/src/pointFeature.js @@ -11,12 +11,12 @@ var feature = require('./feature'); * style options. * @property {boolean|geo.pointFeature.clusteringSpec} [clustering=false] * Enable point clustering. - * @property {string} [primitiveShape='sprite'] For the gl renderer, select the - * primitive shape. This is one of `'triangle'`, `'square'`, or `'sprite'`. - * `sprite` uses the least memory, `triangle` is fastest if the vertex shader - * is the bottleneck, and `square` is fastest if the fragment shader is the - * bottleneck. `sprite` may not work for very large points. - * @property {boolean} [dynamicDraw=false] For the gl renderer, if this is + * @property {string} [primitiveShape='sprite'] For the webgl renderer, select + * the primitive shape. This is one of `'triangle'`, `'square'`, or + * `'sprite'`. `sprite` uses the least memory, `triangle` is fastest if the + * vertex shader is the bottleneck, and `square` is fastest if the fragment + * shader is the bottleneck. `sprite` may not work for very large points. + * @property {boolean} [dynamicDraw=false] For the webgl renderer, if this is * truthy, webgl source buffers can be modifies and updated directly. */ diff --git a/src/registry.js b/src/registry.js index e2ae8a8999..c978549162 100644 --- a/src/registry.js +++ b/src/registry.js @@ -128,7 +128,7 @@ util.checkRenderer = function (name, noFallback) { * or false if no valid renderer can be determined. */ util.rendererForFeatures = function (featureList) { - var preferredRenderers = ['vgl', 'canvas', 'svg', 'vtkjs', null]; + var preferredRenderers = ['webgl', 'canvas', 'svg', 'vtkjs', null]; var renderer, ridx, feature, fidx, capability, available; for (ridx = 0; ridx < preferredRenderers.length; ridx += 1) { @@ -303,7 +303,7 @@ util.registerLayer = function (name, func, defaultFeatures) { * registered. */ util.createLayer = function (name, map, arg) { - // Default renderer is vgl + // Default renderer is webgl var options = {map: map}, layer = null; diff --git a/src/util/mockVGL.js b/src/util/mockVGL.js index 3605569a3d..ad3a8b0d5f 100644 --- a/src/util/mockVGL.js +++ b/src/util/mockVGL.js @@ -3,22 +3,22 @@ var $ = require('jquery'); var vgl = require('vgl'); -var vglRenderer = require('../gl/vglRenderer'); +var webglRenderer = require('../webgl/webglRenderer'); var _renderWindow, _supported; module.exports = {}; /** - * Replace vgl.renderer with a mocked version for testing in a non-webGL state. - * Use restoreVGLRenderer to unmock. Call vgl.mockCounts() to get the number - * of times different webGL functions have been called. + * Replace webgl.renderer with a mocked version for testing in a non-webGL + * state. Use restoreWebglRenderer to unmock. Call vgl.mockCounts() to get + * the number of times different webGL functions have been called. * - * @param {boolean} [supported=true] If false, then the vgl renderer will + * @param {boolean} [supported=true] If false, then the webgl renderer will * indicate that this is an unsupported browser environment. - * @alias geo.util.mockVGLRenderer + * @alias geo.util.mockWebglRenderer */ -module.exports.mockVGLRenderer = function mockVGLRenderer(supported) { +module.exports.mockWebglRenderer = function mockWebglRenderer(supported) { 'use strict'; var vgl = require('vgl'); @@ -27,7 +27,7 @@ module.exports.mockVGLRenderer = function mockVGLRenderer(supported) { } if (vgl._mocked) { - throw new Error('VGL renderer already mocked'); + throw new Error('webgl renderer already mocked'); } var mockCounts = {}; @@ -169,8 +169,8 @@ module.exports.mockVGLRenderer = function mockVGLRenderer(supported) { }; vgl.renderWindow = mockedRenderWindow; - _supported = vglRenderer.supported; - vglRenderer.supported = function () { + _supported = webglRenderer.supported; + webglRenderer.supported = function () { return !!supported; }; @@ -182,12 +182,12 @@ module.exports.mockVGLRenderer = function mockVGLRenderer(supported) { /** * Unmock the vgl renderer. - * @alias geo.util.restoreVGLRenderer + * @alias geo.util.restoreWebglRenderer */ -module.exports.restoreVGLRenderer = function () { +module.exports.restoreWebglRenderer = function () { if (vgl._mocked) { vgl.renderWindow = _renderWindow; - vglRenderer.supported = _supported; + webglRenderer.supported = _supported; delete vgl._mocked; delete vgl.mockCounts; } diff --git a/src/vtkjs/vtkjsRenderer.js b/src/vtkjs/vtkjsRenderer.js index 2d683679e8..61cbb4dc5f 100644 --- a/src/vtkjs/vtkjsRenderer.js +++ b/src/vtkjs/vtkjsRenderer.js @@ -6,7 +6,7 @@ var renderer = require('../renderer'); * Create a new instance of class vtkjsRenderer. * * @class - * @alias geo.vtkjs.vglRenderer + * @alias geo.vtkjs.vtkjsRenderer * @extends geo.renderer * @param {object} arg Options for the renderer. * @param {geo.layer} [arg.layer] Layer associated with the renderer. diff --git a/src/gl/choroplethFeature.js b/src/webgl/choroplethFeature.js similarity index 69% rename from src/gl/choroplethFeature.js rename to src/webgl/choroplethFeature.js index c5dfb9ee4b..c7dd958248 100644 --- a/src/gl/choroplethFeature.js +++ b/src/webgl/choroplethFeature.js @@ -6,16 +6,16 @@ var choroplethFeature = require('../choroplethFeature'); * Create a new instance of choroplethFeature. * * @class - * @alias geo.gl.choroplethFeature + * @alias geo.webgl.choroplethFeature * @extends geo.choroplethFeature * @param {geo.choroplethFeature.spec} arg - * @returns {geo.gl.choroplethFeature} + * @returns {geo.webgl.choroplethFeature} */ -var gl_choroplethFeature = function (arg) { +var webgl_choroplethFeature = function (arg) { 'use strict'; - if (!(this instanceof gl_choroplethFeature)) { - return new gl_choroplethFeature(arg); + if (!(this instanceof webgl_choroplethFeature)) { + return new webgl_choroplethFeature(arg); } arg = arg || {}; choroplethFeature.call(this, arg); @@ -24,7 +24,7 @@ var gl_choroplethFeature = function (arg) { * @private */ var m_this = this, - m_gl_polygons = null, + m_polygons = null, s_exit = this._exit, s_draw = this.draw, s_update = this._update; @@ -36,9 +36,9 @@ var gl_choroplethFeature = function (arg) { */ this.draw = function () { m_this._update(); - if (m_gl_polygons) { - for (var idx = 0; idx < m_gl_polygons.length; idx += 1) { - m_gl_polygons[idx].draw(); + if (m_polygons) { + for (var idx = 0; idx < m_polygons.length; idx += 1) { + m_polygons[idx].draw(); } } s_draw(); @@ -52,8 +52,8 @@ var gl_choroplethFeature = function (arg) { */ this._build = function () { m_this.buildTime().modified(); - m_gl_polygons = m_this.createChoropleth(); - return m_gl_polygons; + m_polygons = m_this.createChoropleth(); + return m_polygons; }; /** @@ -74,12 +74,12 @@ var gl_choroplethFeature = function (arg) { * Destroy polygon sub-features. */ this._wipePolygons = function () { - if (m_gl_polygons) { - m_gl_polygons.map(function (polygon) { + if (m_polygons) { + m_polygons.map(function (polygon) { return polygon._exit(); }); } - m_gl_polygons = null; + m_polygons = null; }; /** @@ -94,8 +94,8 @@ var gl_choroplethFeature = function (arg) { return this; }; -inherit(gl_choroplethFeature, choroplethFeature); +inherit(webgl_choroplethFeature, choroplethFeature); // Now register it -registerFeature('vgl', 'choropleth', gl_choroplethFeature); -module.exports = gl_choroplethFeature; +registerFeature('webgl', 'choropleth', webgl_choroplethFeature); +module.exports = webgl_choroplethFeature; diff --git a/src/gl/contourFeature.js b/src/webgl/contourFeature.js similarity index 96% rename from src/gl/contourFeature.js rename to src/webgl/contourFeature.js index d3a1c78f27..e5f8b1634d 100644 --- a/src/gl/contourFeature.js +++ b/src/webgl/contourFeature.js @@ -6,16 +6,16 @@ var contourFeature = require('../contourFeature'); * Create a new instance of contourFeature. * * @class - * @alias geo.gl.contourFeature + * @alias geo.webgl.contourFeature * @extends geo.contourFeature * @param {geo.contourFeature.spec} arg - * @returns {geo.gl.contourFeature} + * @returns {geo.webgl.contourFeature} */ -var gl_contourFeature = function (arg) { +var webgl_contourFeature = function (arg) { 'use strict'; - if (!(this instanceof gl_contourFeature)) { - return new gl_contourFeature(arg); + if (!(this instanceof webgl_contourFeature)) { + return new webgl_contourFeature(arg); } arg = arg || {}; contourFeature.call(this, arg); @@ -290,9 +290,9 @@ var gl_contourFeature = function (arg) { return this; }; -inherit(gl_contourFeature, contourFeature); +inherit(webgl_contourFeature, contourFeature); // Now register it -registerFeature('vgl', 'contour', gl_contourFeature); +registerFeature('webgl', 'contour', webgl_contourFeature); -module.exports = gl_contourFeature; +module.exports = webgl_contourFeature; diff --git a/src/gl/index.js b/src/webgl/index.js similarity index 85% rename from src/gl/index.js rename to src/webgl/index.js index f1c0013a8c..7459cd1906 100644 --- a/src/gl/index.js +++ b/src/webgl/index.js @@ -1,5 +1,5 @@ /** - * @namespace geo.gl + * @namespace geo.webgl */ module.exports = { choroplethFeature: require('./choroplethFeature'), @@ -10,5 +10,5 @@ module.exports = { polygonFeature: require('./polygonFeature'), quadFeature: require('./quadFeature'), tileLayer: require('./tileLayer'), - vglRenderer: require('./vglRenderer') + webglRenderer: require('./webglRenderer') }; diff --git a/src/gl/isolineFeature.js b/src/webgl/isolineFeature.js similarity index 57% rename from src/gl/isolineFeature.js rename to src/webgl/isolineFeature.js index 50ec9ba3e9..c052bef777 100644 --- a/src/gl/isolineFeature.js +++ b/src/webgl/isolineFeature.js @@ -6,15 +6,15 @@ var isolineFeature = require('../isolineFeature'); * Create a new instance of isolineFeature. * * @class - * @alias geo.gl.isolineFeature + * @alias geo.webgl.isolineFeature * @extends geo.isolineFeature * @param {geo.isolineFeature.spec} arg - * @returns {geo.gl.isolineFeature} + * @returns {geo.webgl.isolineFeature} */ -var gl_isolineFeature = function (arg) { +var webgl_isolineFeature = function (arg) { 'use strict'; - if (!(this instanceof gl_isolineFeature)) { - return new gl_isolineFeature(arg); + if (!(this instanceof webgl_isolineFeature)) { + return new webgl_isolineFeature(arg); } arg = arg || {}; isolineFeature.call(this, arg); @@ -26,8 +26,8 @@ var gl_isolineFeature = function (arg) { return this; }; -inherit(gl_isolineFeature, isolineFeature); +inherit(webgl_isolineFeature, isolineFeature); // Now register it -registerFeature('vgl', 'isoline', gl_isolineFeature); -module.exports = gl_isolineFeature; +registerFeature('webgl', 'isoline', webgl_isolineFeature); +module.exports = webgl_isolineFeature; diff --git a/src/gl/lineFeature.js b/src/webgl/lineFeature.js similarity index 99% rename from src/gl/lineFeature.js rename to src/webgl/lineFeature.js index ae862d0cff..a98be190ed 100644 --- a/src/gl/lineFeature.js +++ b/src/webgl/lineFeature.js @@ -37,15 +37,15 @@ var flagsDebug = { // uses 1 bit * Create a new instance of lineFeature. * * @class - * @alias geo.gl.lineFeature + * @alias geo.webgl.lineFeature * @extends geo.lineFeature * @param {geo.lineFeature.spec} arg - * @returns {geo.gl.lineFeature} + * @returns {geo.webgl.lineFeature} */ -var gl_lineFeature = function (arg) { +var webgl_lineFeature = function (arg) { 'use strict'; - if (!(this instanceof gl_lineFeature)) { - return new gl_lineFeature(arg); + if (!(this instanceof webgl_lineFeature)) { + return new webgl_lineFeature(arg); } arg = arg || {}; lineFeature.call(this, arg); @@ -803,13 +803,13 @@ var gl_lineFeature = function (arg) { return this; }; -inherit(gl_lineFeature, lineFeature); +inherit(webgl_lineFeature, lineFeature); var capabilities = {}; capabilities[lineFeature.capabilities.basic] = true; capabilities[lineFeature.capabilities.multicolor] = true; // Now register it -registerFeature('vgl', 'line', gl_lineFeature, capabilities); +registerFeature('webgl', 'line', webgl_lineFeature, capabilities); -module.exports = gl_lineFeature; +module.exports = webgl_lineFeature; diff --git a/src/gl/object.js b/src/webgl/object.js similarity index 72% rename from src/gl/object.js rename to src/webgl/object.js index 2ee786581c..b188935533 100644 --- a/src/gl/object.js +++ b/src/webgl/object.js @@ -1,13 +1,13 @@ /** - * VGL specific subclass of object which rerenders when the object is drawn. + * WebGL specific subclass of object which rerenders when the object is drawn. * * @class - * @alias geo.gl.object + * @alias geo.webgl.object * @extends geo.sceneObject * @param {object} arg Options for the object. - * @returns {geo.gl.object} + * @returns {geo.webgl.object} */ -var gl_object = function (arg) { +var webgl_object = function (arg) { 'use strict'; var object = require('../object'); @@ -15,7 +15,7 @@ var gl_object = function (arg) { // this is used to extend other geojs classes, so only generate // a new object when that is not the case... like if this === window if (!(this instanceof object)) { - return new gl_object(arg); + return new webgl_object(arg); } var m_this = this, @@ -38,4 +38,4 @@ var gl_object = function (arg) { return this; }; -module.exports = gl_object; +module.exports = webgl_object; diff --git a/src/gl/pointFeature.js b/src/webgl/pointFeature.js similarity index 98% rename from src/gl/pointFeature.js rename to src/webgl/pointFeature.js index 5c5ccb9d8c..072733165b 100644 --- a/src/gl/pointFeature.js +++ b/src/webgl/pointFeature.js @@ -4,18 +4,18 @@ var registerFeature = require('../registry').registerFeature; var pointFeature = require('../pointFeature'); /** - * Create a new instance of gl.pointFeature. + * Create a new instance of webgl.pointFeature. * * @class - * @alias geo.gl.pointFeature + * @alias geo.webgl.pointFeature * @extends geo.pointFeature * @param {geo.pointFeature.spec} arg - * @returns {geo.gl.pointFeature} + * @returns {geo.webgl.pointFeature} */ -var gl_pointFeature = function (arg) { +var webgl_pointFeature = function (arg) { 'use strict'; - if (!(this instanceof gl_pointFeature)) { - return new gl_pointFeature(arg); + if (!(this instanceof webgl_pointFeature)) { + return new webgl_pointFeature(arg); } arg = arg || {}; pointFeature.call(this, arg); @@ -648,12 +648,12 @@ var gl_pointFeature = function (arg) { return this; }; -inherit(gl_pointFeature, pointFeature); +inherit(webgl_pointFeature, pointFeature); var capabilities = {}; capabilities[pointFeature.capabilities.stroke] = true; // Now register it -registerFeature('vgl', 'point', gl_pointFeature, capabilities); +registerFeature('webgl', 'point', webgl_pointFeature, capabilities); -module.exports = gl_pointFeature; +module.exports = webgl_pointFeature; diff --git a/src/gl/polygonFeature.js b/src/webgl/polygonFeature.js similarity index 96% rename from src/gl/polygonFeature.js rename to src/webgl/polygonFeature.js index 9e6385c4f2..e8fe3dcb57 100644 --- a/src/gl/polygonFeature.js +++ b/src/webgl/polygonFeature.js @@ -3,18 +3,18 @@ var registerFeature = require('../registry').registerFeature; var polygonFeature = require('../polygonFeature'); /** - * Create a new instance of gl.polygonFeature. + * Create a new instance of webgl.polygonFeature. * * @class - * @alias geo.gl.polygonFeature + * @alias geo.webgl.polygonFeature * @extends geo.polygonFeature * @param {geo.polygonFeature.spec} arg - * @returns {geo.gl.polygonFeature} + * @returns {geo.webgl.polygonFeature} */ -var gl_polygonFeature = function (arg) { +var webgl_polygonFeature = function (arg) { 'use strict'; - if (!(this instanceof gl_polygonFeature)) { - return new gl_polygonFeature(arg); + if (!(this instanceof webgl_polygonFeature)) { + return new webgl_polygonFeature(arg); } arg = arg || {}; polygonFeature.call(this, arg); @@ -385,8 +385,8 @@ var gl_polygonFeature = function (arg) { return this; }; -inherit(gl_polygonFeature, polygonFeature); +inherit(webgl_polygonFeature, polygonFeature); // Now register it -registerFeature('vgl', 'polygon', gl_polygonFeature); -module.exports = gl_polygonFeature; +registerFeature('webgl', 'polygon', webgl_polygonFeature); +module.exports = webgl_polygonFeature; diff --git a/src/gl/quadFeature.js b/src/webgl/quadFeature.js similarity index 97% rename from src/gl/quadFeature.js rename to src/webgl/quadFeature.js index b6642e69e3..6ed429a199 100644 --- a/src/gl/quadFeature.js +++ b/src/webgl/quadFeature.js @@ -7,15 +7,15 @@ var timestamp = require('../timestamp'); * Create a new instance of class quadFeature. * * @class - * @alias geo.gl.quadFeature + * @alias geo.webgl.quadFeature * @param {geo.quadFeature.spec} arg Options object. * @extends geo.quadFeature - * @returns {geo.gl.quadFeature} + * @returns {geo.webgl.quadFeature} */ -var gl_quadFeature = function (arg) { +var webgl_quadFeature = function (arg) { 'use strict'; - if (!(this instanceof gl_quadFeature)) { - return new gl_quadFeature(arg); + if (!(this instanceof webgl_quadFeature)) { + return new webgl_quadFeature(arg); } quadFeature.call(this, arg); @@ -431,7 +431,7 @@ var gl_quadFeature = function (arg) { return this; }; -inherit(gl_quadFeature, quadFeature); +inherit(webgl_quadFeature, quadFeature); // Now register it var capabilities = {}; @@ -443,5 +443,5 @@ capabilities[quadFeature.capabilities.imageFull] = true; capabilities[quadFeature.capabilities.canvas] = false; capabilities[quadFeature.capabilities.video] = false; -registerFeature('vgl', 'quad', gl_quadFeature, capabilities); -module.exports = gl_quadFeature; +registerFeature('webgl', 'quad', webgl_quadFeature, capabilities); +module.exports = webgl_quadFeature; diff --git a/src/gl/tileLayer.js b/src/webgl/tileLayer.js similarity index 95% rename from src/gl/tileLayer.js rename to src/webgl/tileLayer.js index 28fe4a76f3..3b1c354625 100644 --- a/src/gl/tileLayer.js +++ b/src/webgl/tileLayer.js @@ -1,6 +1,6 @@ var registerLayerAdjustment = require('../registry').registerLayerAdjustment; -var gl_tileLayer = function () { +var webgl_tileLayer = function () { 'use strict'; var m_this = this, s_init = this._init, @@ -98,6 +98,6 @@ var gl_tileLayer = function () { this._updateSubLayers = undefined; }; -registerLayerAdjustment('vgl', 'tile', gl_tileLayer); +registerLayerAdjustment('webgl', 'tile', webgl_tileLayer); -module.exports = gl_tileLayer; +module.exports = webgl_tileLayer; diff --git a/src/gl/vglRenderer.js b/src/webgl/webglRenderer.js similarity index 92% rename from src/gl/vglRenderer.js rename to src/webgl/webglRenderer.js index 96c6b56cbd..ef3606954e 100644 --- a/src/gl/vglRenderer.js +++ b/src/webgl/webglRenderer.js @@ -3,23 +3,23 @@ var registerRenderer = require('../registry').registerRenderer; var renderer = require('../renderer'); /** - * Create a new instance of class vglRenderer. + * Create a new instance of class webglRenderer. * * @class - * @alias geo.gl.vglRenderer + * @alias geo.webgl.webglRenderer * @extends geo.renderer * @param {object} arg Options for the renderer. * @param {geo.layer} [arg.layer] Layer associated with the renderer. * @param {HTMLElement} [arg.canvas] Canvas element associated with the * renderer. - * @param {object} [arg.options] Additional options for the vgl renderer. - * @returns {geo.gl.vglRenderer} + * @param {object} [arg.options] Additional options for the webgl renderer. + * @returns {geo.webgl.webglRenderer} */ -var vglRenderer = function (arg) { +var webglRenderer = function (arg) { 'use strict'; - if (!(this instanceof vglRenderer)) { - return new vglRenderer(arg); + if (!(this instanceof webglRenderer)) { + return new webglRenderer(arg); } arg = arg || {}; renderer.call(this, arg); @@ -50,10 +50,10 @@ var vglRenderer = function (arg) { /** * Get API used by the renderer. * - * @returns {string} `vgl`. + * @returns {string} `webgl`. */ this.api = function () { - return 'vgl'; + return 'webgl'; }; /** @@ -297,21 +297,23 @@ var vglRenderer = function (arg) { return this; }; -inherit(vglRenderer, renderer); +inherit(webglRenderer, renderer); -registerRenderer('vgl', vglRenderer); +registerRenderer('webgl', webglRenderer); +// Also register under an alternate name (alias for backwards compatibility) +registerRenderer('vgl', webglRenderer); /* Code for checking if the renderer is supported */ var checkedWebGL; /** - * Report if the vgl renderer is supported. This is just a check if webGL is + * Report if the webgl renderer is supported. This is just a check if webGL is * supported and available. * * @returns {boolean} true if available. */ -vglRenderer.supported = function () { +webglRenderer.supported = function () { if (checkedWebGL === undefined) { /* This is extracted from what Modernizr uses. */ var canvas, ctx, exts; // eslint-disable-line no-unused-vars @@ -324,7 +326,7 @@ vglRenderer.supported = function () { exts = ctx.getSupportedExtensions(); /* If available, store the unmasked renderer to aid in debugging. */ if (exts.indexOf('WEBGL_debug_renderer_info') >= 0) { - vglRenderer._unmaskedRenderer = ctx.getParameter(ctx.getExtension( + webglRenderer._unmaskedRenderer = ctx.getParameter(ctx.getExtension( 'WEBGL_debug_renderer_info').UNMASKED_RENDERER_WEBGL); } checkedWebGL = true; @@ -340,13 +342,13 @@ vglRenderer.supported = function () { }; /** - * If the vgl renderer is not supported, supply the name of a renderer that + * If the webgl renderer is not supported, supply the name of a renderer that * should be used instead. This asks for the null renderer. * * @returns {null} null for the null renderer. */ -vglRenderer.fallback = function () { +webglRenderer.fallback = function () { return null; }; -module.exports = vglRenderer; +module.exports = webglRenderer; diff --git a/tests/cases/annotation.js b/tests/cases/annotation.js index 98b47ecfed..2831cf534a 100644 --- a/tests/cases/annotation.js +++ b/tests/cases/annotation.js @@ -7,16 +7,16 @@ describe('geo.annotation', function () { var geo = require('../test-utils').geo; var createMap = require('../test-utils').createMap; var destroyMap = require('../test-utils').destroyMap; - var mockVGLRenderer = geo.util.mockVGLRenderer; - var restoreVGLRenderer = geo.util.restoreVGLRenderer; + var mockWebglRenderer = geo.util.mockWebglRenderer; + var restoreWebglRenderer = geo.util.restoreWebglRenderer; beforeEach(function () { - mockVGLRenderer(); + mockWebglRenderer(); }); afterEach(function () { destroyMap(); - restoreVGLRenderer(); + restoreWebglRenderer(); }); /** @@ -1495,10 +1495,10 @@ describe('geo.annotation', function () { }); it('rendererForAnnotations', function () { sinon.stub(console, 'warn', function () {}); - expect(geo.rendererForAnnotations(['polygon'])).toBe('vgl'); + expect(geo.rendererForAnnotations(['polygon'])).toBe('webgl'); expect(console.warn.calledOnce).toBe(false); - expect(geo.rendererForAnnotations(['point'])).toBe('vgl'); - geo.gl.vglRenderer.supported = function () { return false; }; + expect(geo.rendererForAnnotations(['point'])).toBe('webgl'); + geo.webgl.webglRenderer.supported = function () { return false; }; expect(geo.rendererForAnnotations(['polygon'])).toBe(false); expect(console.warn.calledOnce).toBe(true); expect(geo.rendererForAnnotations(['point'])).toBe('svg'); diff --git a/tests/cases/annotationLayer.js b/tests/cases/annotationLayer.js index f0704c150d..5bdfde430f 100644 --- a/tests/cases/annotationLayer.js +++ b/tests/cases/annotationLayer.js @@ -6,16 +6,16 @@ describe('geo.annotationLayer', function () { var geo = require('../test-utils').geo; var createMap = require('../test-utils').createMap; var destroyMap = require('../test-utils').destroyMap; - var mockVGLRenderer = geo.util.mockVGLRenderer; - var restoreVGLRenderer = geo.util.restoreVGLRenderer; + var mockWebglRenderer = geo.util.mockWebglRenderer; + var restoreWebglRenderer = geo.util.restoreWebglRenderer; beforeAll(function () { - mockVGLRenderer(); + mockWebglRenderer(); }); afterAll(function () { destroyMap(); - restoreVGLRenderer(); + restoreWebglRenderer(); }); it('Test initialization.', function () { @@ -660,7 +660,7 @@ describe('geo.annotationLayer', function () { }); it('_geojsonFeatureToAnnotation', function () { map.deleteLayer(layer); - layer = map.createLayer('annotation'); /* use the vgl variant */ + layer = map.createLayer('annotation'); /* use the webgl variant */ /* This is tested through the layer.geojson function */ var unknownFeature = { type: 'Feature', diff --git a/tests/cases/choroplethFeature.js b/tests/cases/choroplethFeature.js index e22f67138e..24255416fb 100644 --- a/tests/cases/choroplethFeature.js +++ b/tests/cases/choroplethFeature.js @@ -1,10 +1,10 @@ -// Test geo.choroplethFeature and geo.gl.choroplethFeature +// Test geo.choroplethFeature and geo.webgl.choroplethFeature var geo = require('../test-utils').geo; var createMap = require('../test-utils').createMap; var destroyMap = require('../test-utils').destroyMap; -var mockVGLRenderer = geo.util.mockVGLRenderer; -var restoreVGLRenderer = geo.util.restoreVGLRenderer; +var mockWebglRenderer = geo.util.mockWebglRenderer; +var restoreWebglRenderer = geo.util.restoreWebglRenderer; describe('geo.choroplethFeature', function () { 'use strict'; @@ -83,18 +83,18 @@ describe('geo.choroplethFeature', function () { }]; beforeEach(function () { - mockVGLRenderer(); + mockWebglRenderer(); }); afterEach(function () { destroyMap(); - restoreVGLRenderer(); + restoreWebglRenderer(); }); it('create function', function () { var map, layer, choropleth; map = createMap(); - layer = map.createLayer('feature', {renderer: 'vgl'}); + layer = map.createLayer('feature', {renderer: 'webgl'}); choropleth = layer.createFeature('choropleth'); expect(choropleth instanceof geo.choroplethFeature).toBe(true); }); @@ -102,7 +102,7 @@ describe('geo.choroplethFeature', function () { it('direct creation', function () { var map, layer, choropleth; map = createMap(); - layer = map.createLayer('feature', {renderer: 'vgl'}); + layer = map.createLayer('feature', {renderer: 'webgl'}); choropleth = geo.choroplethFeature({layer: layer}); expect(choropleth instanceof geo.choroplethFeature).toBe(true); }); @@ -113,7 +113,7 @@ describe('geo.choroplethFeature', function () { ]; map = createMap(); - layer = map.createLayer('feature', {renderer: 'vgl'}); + layer = map.createLayer('feature', {renderer: 'webgl'}); choropleth = layer.createFeature('choropleth') .data(mpdata) diff --git a/tests/cases/contourFeature.js b/tests/cases/contourFeature.js index 23766edc08..00844f80fe 100644 --- a/tests/cases/contourFeature.js +++ b/tests/cases/contourFeature.js @@ -5,21 +5,21 @@ describe('Contour Feature', function () { var geo = require('../test-utils').geo; var createMap = require('../test-utils').createMap; var destroyMap = require('../test-utils').destroyMap; - var mockVGLRenderer = geo.util.mockVGLRenderer; - var restoreVGLRenderer = geo.util.restoreVGLRenderer; + var mockWebglRenderer = geo.util.mockWebglRenderer; + var restoreWebglRenderer = geo.util.restoreWebglRenderer; beforeEach(function () { - mockVGLRenderer(); + mockWebglRenderer(); map = createMap({ 'center': [0, 0], 'zoom': 3 }, {width: '500px', height: '300px'}); - layer = map.createLayer('feature', {'renderer': 'vgl'}); + layer = map.createLayer('feature', {'renderer': 'webgl'}); }); afterEach(function () { destroyMap(); - restoreVGLRenderer(); + restoreWebglRenderer(); }); describe('create', function () { diff --git a/tests/cases/isolineFeature.js b/tests/cases/isolineFeature.js index 021243ff3a..ba7b8af765 100644 --- a/tests/cases/isolineFeature.js +++ b/tests/cases/isolineFeature.js @@ -5,8 +5,8 @@ describe('Isoline Feature', function () { var createMap = require('../test-utils').createMap; var destroyMap = require('../test-utils').destroyMap; var closeToEqual = require('../test-utils').closeToEqual; - var mockVGLRenderer = geo.util.mockVGLRenderer; - var restoreVGLRenderer = geo.util.restoreVGLRenderer; + var mockWebglRenderer = geo.util.mockWebglRenderer; + var restoreWebglRenderer = geo.util.restoreWebglRenderer; var mockAnimationFrame = require('../test-utils').mockAnimationFrame; var stepAnimationFrame = require('../test-utils').stepAnimationFrame; var unmockAnimationFrame = require('../test-utils').unmockAnimationFrame; @@ -35,20 +35,20 @@ describe('Isoline Feature', function () { [6, 7, 9], [10, 9, 7], [7, 8, 10], [11, 10, 8]]; beforeEach(function () { - mockVGLRenderer(); + mockWebglRenderer(); mockAnimationFrame(); map = createMap({ 'center': [2.5, 1.5], 'zoom': 9 }, {width: '500px', height: '300px'}); - layer = map.createLayer('feature', {'renderer': 'vgl'}); + layer = map.createLayer('feature', {'renderer': 'webgl'}); canvasLayer = map.createLayer('feature', {'renderer': 'canvas'}); }); afterEach(function () { destroyMap(); unmockAnimationFrame(); - restoreVGLRenderer(); + restoreWebglRenderer(); }); describe('create', function () { @@ -100,7 +100,7 @@ describe('Isoline Feature', function () { expect(chains[0][7]).toEqual([4, 5]); }); describe('_build', function () { - it('vgl', function () { + it('webgl', function () { var isoline = layer.createFeature('isoline', { isoline: {elements: squareElements}}).data(vertexList); expect(layer.features().length).toBe(1); diff --git a/tests/cases/lineFeature.js b/tests/cases/lineFeature.js index 52a3a6e6ee..d2557441cb 100644 --- a/tests/cases/lineFeature.js +++ b/tests/cases/lineFeature.js @@ -8,8 +8,8 @@ var unmockAnimationFrame = require('../test-utils').unmockAnimationFrame; var geo = require('../test-utils').geo; var createMap = require('../test-utils').createMap; var destroyMap = require('../test-utils').destroyMap; -var mockVGLRenderer = geo.util.mockVGLRenderer; -var restoreVGLRenderer = geo.util.restoreVGLRenderer; +var mockWebglRenderer = geo.util.mockWebglRenderer; +var restoreWebglRenderer = geo.util.restoreWebglRenderer; var vgl = require('vgl'); var waitForIt = require('../test-utils').waitForIt; var logCanvas2D = require('../test-utils').logCanvas2D; @@ -222,7 +222,7 @@ describe('geo.lineFeature', function () { var map, layer, line, counts; map = createMap(); - layer = map.createLayer('feature', {renderer: 'vgl'}); + layer = map.createLayer('feature', {renderer: 'webgl'}); line = geo.lineFeature({layer: layer}); line._init(); line.data(testLines).line(lineFunc); @@ -334,14 +334,14 @@ describe('geo.lineFeature', function () { }); }); - /* This is a basic integration test of geo.gl.lineFeature. */ - describe('geo.gl.lineFeature', function () { + /* This is a basic integration test of geo.webgl.lineFeature. */ + describe('geo.webgl.lineFeature', function () { var map, layer, line, glCounts; it('basic usage', function () { - mockVGLRenderer(); + mockWebglRenderer(); map = createMap(); - layer = map.createLayer('feature', {renderer: 'vgl'}); + layer = map.createLayer('feature', {renderer: 'webgl'}); line = layer.createFeature('line', { line: function (item) { return item.coord; @@ -379,7 +379,7 @@ describe('geo.lineFeature', function () { line.data(testLines); map.draw(); destroyMap(); - restoreVGLRenderer(); + restoreWebglRenderer(); }); }); }); diff --git a/tests/cases/osmLayer.js b/tests/cases/osmLayer.js index 8e9d9bbc47..b39ce1f6dd 100644 --- a/tests/cases/osmLayer.js +++ b/tests/cases/osmLayer.js @@ -14,19 +14,19 @@ describe('geo.core.osmLayer', function () { var geo = require('../test-utils').geo; var createMap = require('../test-utils').createMap; var destroyMap = require('../test-utils').destroyMap; - var mockVGLRenderer = geo.util.mockVGLRenderer; - var restoreVGLRenderer = geo.util.restoreVGLRenderer; + var mockWebglRenderer = geo.util.mockWebglRenderer; + var restoreWebglRenderer = geo.util.restoreWebglRenderer; var vgl = require('vgl'); var closeToEqual = require('../test-utils').closeToEqual; function create_map(opts) { - mockVGLRenderer(); + mockWebglRenderer(); return createMap(opts); } function destroy_map() { destroyMap(); - restoreVGLRenderer(); + restoreWebglRenderer(); } /* Run some performance tests and submit them as a build note. @@ -191,19 +191,19 @@ describe('geo.core.osmLayer', function () { }); it('destroy', destroy_map); }); - describe('vgl', function () { + describe('webgl', function () { it('creation', function () { map = create_map(); - map.createLayer('osm', {renderer: 'vgl', url: '/testdata/white.jpg'}); + map.createLayer('osm', {renderer: 'webgl', url: '/testdata/white.jpg'}); expect(map.node().find('.webgl-canvas').length).toBe(1); }); it('destruction', destroy_map); }); describe('switch renderer', function () { var layer; - it('vgl to null', function () { + it('webgl to null', function () { map = create_map(); - layer = map.createLayer('osm', {renderer: 'vgl', url: '/testdata/white.jpg'}); + layer = map.createLayer('osm', {renderer: 'webgl', url: '/testdata/white.jpg'}); expect(map.node().find('.webgl-canvas').length).toBe(1); map.deleteLayer(layer); layer = map.createLayer('osm', {renderer: null, url: '/testdata/white.jpg'}); @@ -228,10 +228,10 @@ describe('geo.core.osmLayer', function () { expect(map.node().find('.svgQuadFature').length).toBe(0); expect(map.node().find('.canvas-canvas').length).toBe(1); }); - it('canvas to vgl', function () { + it('canvas to webgl', function () { expect(map.node().find('.canvas-canvas').length).toBe(1); map.deleteLayer(layer); - layer = map.createLayer('osm', {renderer: 'vgl', url: '/testdata/white.jpg'}); + layer = map.createLayer('osm', {renderer: 'webgl', url: '/testdata/white.jpg'}); expect(map.node().find('.canvas-canvas').length).toBe(0); expect(map.node().find('.webgl-canvas').length).toBe(1); }); @@ -393,14 +393,14 @@ describe('geo.core.osmLayer', function () { it('destroy', destroy_map); }); - describe('geo.gl.osmLayer', function () { + describe('geo.webgl.osmLayer', function () { var layer, mapinfo = {}, glCounts; it('test that tiles are created', function () { map = create_map(); mapinfo.map = map; layer = map.createLayer('osm', { - renderer: 'vgl', + renderer: 'webgl', url: '/testdata/white.jpg' }); }); @@ -414,7 +414,7 @@ describe('geo.core.osmLayer', function () { waitForIt('tiles to load', function () { return Object.keys(layer.activeTiles).length === 17; }); - measure_performance(mapinfo, 'osmLayer-vgl-performance'); + measure_performance(mapinfo, 'osmLayer-webgl-performance'); it('destroy', destroy_map); it('_drawTile after destruction', function () { // this shouldn't raise an error @@ -423,7 +423,7 @@ describe('geo.core.osmLayer', function () { it('test that partial tiles are handled', function () { map = create_map(); layer = map.createLayer('osm', { - renderer: 'vgl', + renderer: 'webgl', url: '/testdata/white.jpg', tilesMaxBounds: function (level) { var scale = Math.pow(2, 5 - level); diff --git a/tests/cases/pointFeature.js b/tests/cases/pointFeature.js index 135c0c2a34..cbcafd2e7f 100644 --- a/tests/cases/pointFeature.js +++ b/tests/cases/pointFeature.js @@ -1,4 +1,4 @@ -// Test geo.pointFeature, geo.svg.pointFeature, and geo.gl.pointFeature +// Test geo.pointFeature, geo.svg.pointFeature, and geo.webgl.pointFeature var $ = require('jquery'); var mockAnimationFrame = require('../test-utils').mockAnimationFrame; @@ -7,8 +7,8 @@ var unmockAnimationFrame = require('../test-utils').unmockAnimationFrame; var geo = require('../test-utils').geo; var createMap = require('../test-utils').createMap; var destroyMap = require('../test-utils').destroyMap; -var mockVGLRenderer = geo.util.mockVGLRenderer; -var restoreVGLRenderer = geo.util.restoreVGLRenderer; +var mockWebglRenderer = geo.util.mockWebglRenderer; +var restoreWebglRenderer = geo.util.restoreWebglRenderer; var vgl = require('vgl'); var waitForIt = require('../test-utils').waitForIt; @@ -254,8 +254,8 @@ describe('geo.pointFeature', function () { }); }); - /* This is a basic integration test of geo.gl.pointFeature. */ - describe('geo.gl.pointFeature', function () { + /* This is a basic integration test of geo.webgl.pointFeature. */ + describe('geo.webgl.pointFeature', function () { var map, layer, point, point2, glCounts, i, count = 0; var array1 = new Array(testPoints.length), array2 = new Array(testPoints.length), @@ -266,9 +266,9 @@ describe('geo.pointFeature', function () { array3[i] = {r: 0.5, g: 0.5, b: 0.5}; } it('basic usage', function () { - mockVGLRenderer(); + mockWebglRenderer(); map = createMap(); - layer = map.createLayer('feature', {renderer: 'vgl'}); + layer = map.createLayer('feature', {renderer: 'webgl'}); point = layer.createFeature('point', { style: { strokeWidth: 2, @@ -334,7 +334,7 @@ describe('geo.pointFeature', function () { point.data(testPoints); map.draw(); destroyMap(); - restoreVGLRenderer(); + restoreWebglRenderer(); }); }); }); diff --git a/tests/cases/polygonFeature.js b/tests/cases/polygonFeature.js index f8cd66ee76..ae0cf4f2bb 100644 --- a/tests/cases/polygonFeature.js +++ b/tests/cases/polygonFeature.js @@ -1,11 +1,11 @@ -// Test geo.polygonFeature and geo.gl.polygonFeature +// Test geo.polygonFeature and geo.webgl.polygonFeature var $ = require('jquery'); var geo = require('../test-utils').geo; var createMap = require('../test-utils').createMap; var destroyMap = require('../test-utils').destroyMap; -var mockVGLRenderer = geo.util.mockVGLRenderer; -var restoreVGLRenderer = geo.util.restoreVGLRenderer; +var mockWebglRenderer = geo.util.mockWebglRenderer; +var restoreWebglRenderer = geo.util.restoreWebglRenderer; var vgl = require('vgl'); var waitForIt = require('../test-utils').waitForIt; // var closeToArray = require('../test-utils').closeToArray; @@ -65,14 +65,14 @@ describe('geo.polygonFeature', function () { describe('create', function () { it('create function', function () { - mockVGLRenderer(); + mockWebglRenderer(); var map, layer, polygon; map = createMap(); - layer = map.createLayer('feature', {renderer: 'vgl'}); + layer = map.createLayer('feature', {renderer: 'webgl'}); polygon = geo.polygonFeature.create(layer); expect(polygon instanceof geo.polygonFeature).toBe(true); destroyMap(); - restoreVGLRenderer(); + restoreWebglRenderer(); }); }); @@ -126,10 +126,10 @@ describe('geo.polygonFeature', function () { }); it('style', function () { - mockVGLRenderer(); + mockWebglRenderer(); map = createMap(); // we have to use a valid renderer so that the stroke can be enabled. - layer = map.createLayer('feature', {renderer: 'vgl'}); + layer = map.createLayer('feature', {renderer: 'webgl'}); polygon = geo.polygonFeature({layer: layer}); polygon._init(); expect(polygon.style().stroke).toBe(false); @@ -142,16 +142,16 @@ describe('geo.polygonFeature', function () { expect(polygon.dependentFeatures()).toEqual([]); map.deleteLayer(layer); destroyMap(); - restoreVGLRenderer(); + restoreWebglRenderer(); }); }); describe('Public utility methods', function () { it('pointSearch', function () { - mockVGLRenderer(); + mockWebglRenderer(); var map, layer, polygon, data, pt; map = createMap(); - layer = map.createLayer('feature', {renderer: 'vgl'}); + layer = map.createLayer('feature', {renderer: 'webgl'}); polygon = geo.polygonFeature({layer: layer}); polygon._init(); data = testPolygons; @@ -182,14 +182,14 @@ describe('geo.polygonFeature', function () { polygon.style({stroke: true, strokeWidth: 20}); pt = polygon.pointSearch({x: 5, y: 2.499}); expect(pt.index).toEqual([0]); - restoreVGLRenderer(); + restoreWebglRenderer(); }); it('polygonCoordinates', function () { - mockVGLRenderer(); + mockWebglRenderer(); var map, layer, polygon; map = createMap(); - layer = map.createLayer('feature', {renderer: 'vgl'}); + layer = map.createLayer('feature', {renderer: 'webgl'}); polygon = geo.polygonFeature({layer: layer}); polygon._init(); polygon.data(testPolygons); @@ -200,14 +200,14 @@ describe('geo.polygonFeature', function () { expect(result[1].outer.length).toBe(4); expect(result[1].inner.length).toBe(1); expect(result[1].inner[0].length).toBe(4); - restoreVGLRenderer(); + restoreWebglRenderer(); }); it('mouseOverOrderClosestBorder', function () { - mockVGLRenderer(); + mockWebglRenderer(); var map, layer, polygon, data; map = createMap(); - layer = map.createLayer('feature', {renderer: 'vgl'}); + layer = map.createLayer('feature', {renderer: 'webgl'}); polygon = geo.polygonFeature({layer: layer}); polygon._init(); // define some overlapping polygons for testing @@ -246,7 +246,7 @@ describe('geo.polygonFeature', function () { polygon.mouseOverOrderClosestBorder(evt); expect(evt.over.index).toEqual([0, 1]); - restoreVGLRenderer(); + restoreWebglRenderer(); }); describe('rdpSimplifyData', function () { @@ -273,11 +273,11 @@ describe('geo.polygonFeature', function () { } it('basic usage', function () { - mockVGLRenderer(); + mockWebglRenderer(); var map, layer, polygon, counts; map = createMap(); - layer = map.createLayer('feature', {renderer: 'vgl'}); + layer = map.createLayer('feature', {renderer: 'webgl'}); polygon = geo.polygonFeature({layer: layer}); polygon._init(); polygon.data(testPolygons); @@ -304,7 +304,7 @@ describe('geo.polygonFeature', function () { }); counts = countPolygons(polygon.data().map(polygon.style.get('polygon'))); expect(counts).toEqual({polygons: 5, holes: 3, vertices: 24}); - restoreVGLRenderer(); + restoreWebglRenderer(); }); }); }); @@ -319,7 +319,7 @@ describe('geo.polygonFeature', function () { layer = map.createLayer('feature', {renderer: null}); polygon = geo.polygonFeature({layer: layer}); /* init is not automatically called on the geo.polygonFeature (it is on - * geo.gl.polygonFeature). */ + * geo.webgl.polygonFeature). */ polygon._init({ style: {fillColor: '#FFFFFF'} }); @@ -328,12 +328,12 @@ describe('geo.polygonFeature', function () { }); }); - /* This is a basic integration test of geo.gl.polygonFeature. */ - describe('geo.gl.polygonFeature', function () { + /* This is a basic integration test of geo.webgl.polygonFeature. */ + describe('geo.webgl.polygonFeature', function () { var map, layer, polygons, glCounts, buildTime; it('basic usage', function () { stylesVisited.splice(0, stylesVisited.length); - mockVGLRenderer(); + mockWebglRenderer(); map = createMap(); layer = map.createLayer('feature'); polygons = layer.createFeature('polygon', {style: testStyle, data: testPolygons}); @@ -410,7 +410,7 @@ describe('geo.polygonFeature', function () { map.draw(); expect(buildTime).toEqual(polygons.buildTime().timestamp()); destroyMap(); - restoreVGLRenderer(); + restoreWebglRenderer(); }); }); }); diff --git a/tests/cases/quadFeature.js b/tests/cases/quadFeature.js index fa0a7b6806..8500402ff6 100644 --- a/tests/cases/quadFeature.js +++ b/tests/cases/quadFeature.js @@ -1,5 +1,5 @@ // Test geo.quadFeature, geo.canvas.quadFeature, geo.svg.quadFeature, and -// geo.gl.quadFeature +// geo.webgl.quadFeature /* globals Image */ @@ -7,8 +7,8 @@ var $ = require('jquery'); var geo = require('../test-utils').geo; var createMap = require('../test-utils').createMap; var destroyMap = require('../test-utils').destroyMap; -var mockVGLRenderer = geo.util.mockVGLRenderer; -var restoreVGLRenderer = geo.util.restoreVGLRenderer; +var mockWebglRenderer = geo.util.mockWebglRenderer; +var restoreWebglRenderer = geo.util.restoreWebglRenderer; var vgl = require('vgl'); var waitForIt = require('../test-utils').waitForIt; var closeToArray = require('../test-utils').closeToArray; @@ -153,14 +153,14 @@ describe('geo.quadFeature', function () { describe('create', function () { it('create function', function () { - mockVGLRenderer(); + mockWebglRenderer(); var map, layer, quad; map = createMap(); - layer = map.createLayer('feature', {renderer: 'vgl'}); + layer = map.createLayer('feature', {renderer: 'webgl'}); quad = geo.quadFeature.create(layer); expect(quad instanceof geo.quadFeature).toBe(true); destroyMap(); - restoreVGLRenderer(); + restoreWebglRenderer(); }); }); @@ -329,7 +329,7 @@ describe('geo.quadFeature', function () { layer = map.createLayer('feature', {renderer: null}); quad = geo.quadFeature({layer: layer}); /* init is not automatically called on the geo.quadFeature (it is on - * geo.gl.quadFeature). */ + * geo.webgl.quadFeature). */ quad._init({ style: {color: '#FFFFFF'}, position: pos @@ -499,8 +499,8 @@ describe('geo.quadFeature', function () { }); }); - /* This is a basic integration test of geo.gl.quadFeature. */ - describe('geo.gl.quadFeature', function () { + /* This is a basic integration test of geo.webgl.quadFeature. */ + describe('geo.webgl.quadFeature', function () { var map, layer, quads, glCounts; it('load preview image', load_preview_image); it('basic usage', function () { @@ -509,7 +509,7 @@ describe('geo.quadFeature', function () { $.each(testQuads, function (idx, quad) { delete quad._cachedQuad; }); - mockVGLRenderer(); + mockWebglRenderer(); map = createMap(); layer = map.createLayer('feature'); quads = layer.createFeature('quad', {style: testStyle, data: testQuads}); @@ -569,7 +569,7 @@ describe('geo.quadFeature', function () { map.draw(); expect(buildTime).toEqual(quads.buildTime().timestamp()); destroyMap(); - restoreVGLRenderer(); + restoreWebglRenderer(); }); }); diff --git a/tests/cases/registry.js b/tests/cases/registry.js index 550246f20c..803ac156d1 100644 --- a/tests/cases/registry.js +++ b/tests/cases/registry.js @@ -2,28 +2,28 @@ describe('geo.registry', function () { 'use strict'; var geo = require('../test-utils').geo; - var mockVGLRenderer = geo.util.mockVGLRenderer; - var restoreVGLRenderer = geo.util.restoreVGLRenderer; + var mockWebglRenderer = geo.util.mockWebglRenderer; + var restoreWebglRenderer = geo.util.restoreWebglRenderer; describe('Check rendererForFeatures', function () { it('specific features', function () { - mockVGLRenderer(); - expect(geo.rendererForFeatures()).toBe('vgl'); - expect(geo.rendererForFeatures(['point'])).toBe('vgl'); + mockWebglRenderer(); + expect(geo.rendererForFeatures()).toBe('webgl'); + expect(geo.rendererForFeatures(['point'])).toBe('webgl'); expect(geo.rendererForFeatures(['heatmap'])).toBe('canvas'); expect(geo.rendererForFeatures(['point', 'graph'])).toBe('svg'); - expect(geo.rendererForFeatures(['contour'])).toBe('vgl'); + expect(geo.rendererForFeatures(['contour'])).toBe('webgl'); expect(geo.rendererForFeatures(['contour', 'graph'])).toBe(false); expect(geo.rendererForFeatures(['quad', 'graph'])).toBe('svg'); expect(geo.rendererForFeatures([geo.quadFeature.capabilities.imageFull, 'graph'])).toBe(false); expect(geo.rendererForFeatures([geo.quadFeature.capabilities.image, 'graph'])).toBe('svg'); - restoreVGLRenderer(); + restoreWebglRenderer(); }); - it('unsupported vgl renderer', function () { - mockVGLRenderer(false); + it('unsupported webgl renderer', function () { + mockWebglRenderer(false); expect(geo.rendererForFeatures()).toBe('canvas'); expect(geo.rendererForFeatures(['point'])).toBe('svg'); - restoreVGLRenderer(); + restoreWebglRenderer(); }); it('expose registries', function () { expect(geo.registries.unknown).toBe(undefined); diff --git a/tests/cases/renderers.js b/tests/cases/renderers.js index e7c05853c3..e44c42d5b6 100644 --- a/tests/cases/renderers.js +++ b/tests/cases/renderers.js @@ -6,8 +6,8 @@ describe('renderers', function () { var supported = true; var fallback = 'svg'; var geo = require('../test-utils').geo; - var mockVGLRenderer = geo.util.mockVGLRenderer; - var restoreVGLRenderer = geo.util.restoreVGLRenderer; + var mockWebglRenderer = geo.util.mockWebglRenderer; + var restoreWebglRenderer = geo.util.restoreWebglRenderer; function create_simple_renderer() { var simpleRenderer = function (arg) { @@ -79,13 +79,13 @@ describe('renderers', function () { delete __webpack_require__.c[require.resolveWeak('d3')]; // eslint-disable-line expect(geo.checkRenderer('svg')).toBe('svg'); - mockVGLRenderer(false); - expect(geo.checkRenderer('vgl')).toBe(null); - restoreVGLRenderer(); + mockWebglRenderer(false); + expect(geo.checkRenderer('webgl')).toBe(null); + restoreWebglRenderer(); - mockVGLRenderer(); - expect(geo.checkRenderer('vgl')).toBe('vgl'); - restoreVGLRenderer(); + mockWebglRenderer(); + expect(geo.checkRenderer('webgl')).toBe('webgl'); + restoreWebglRenderer(); expect(geo.checkRenderer('unknown')).toBe(false); }); diff --git a/tests/gl-cases/layerReorder.js b/tests/gl-cases/layerReorder.js index 86a4d5f549..4b1178eb21 100644 --- a/tests/gl-cases/layerReorder.js +++ b/tests/gl-cases/layerReorder.js @@ -11,7 +11,7 @@ describe('layerReorder', function () { myMap = common.createOsmMap(mapOptions, {url: '/testdata/white.jpg'}); l1 = myMap.children()[0]; - l2 = myMap.createLayer('feature', {renderer: 'vgl'}); + l2 = myMap.createLayer('feature', {renderer: 'webgl'}); l3 = myMap.createLayer('feature', {renderer: 'svg'}); layers = [l1, l2, l3]; @@ -78,7 +78,7 @@ describe('layerReorder', function () { myMap.draw(); step1 = function () { - layers[2].moveUp(-1); // svg below vgl + layers[2].moveUp(-1); // svg below webgl imageTest.imageTest('layerOrderUp2_-1', null, 0.0015, step2, myMap.onIdle, 0, 2); }; @@ -88,7 +88,7 @@ describe('layerReorder', function () { }; step3 = function () { - layers[1].moveUp(); // vgl up one + layers[1].moveUp(); // webgl up one imageTest.imageTest('layerOrderUp1_1', null, 0.0015, done, myMap.onIdle, 0, 2); }; @@ -106,7 +106,7 @@ describe('layerReorder', function () { }; step2 = function () { - layers[2].moveDown(1); // svg below vgl + layers[2].moveDown(1); // svg below webgl imageTest.imageTest('layerOrderDown2_1', null, 0.0015, step3, myMap.onIdle, 0, 2); }; diff --git a/tests/gl-cases/osmLayer.js b/tests/gl-cases/osmLayer.js index 191cd800ae..93e529fd85 100644 --- a/tests/gl-cases/osmLayer.js +++ b/tests/gl-cases/osmLayer.js @@ -12,9 +12,9 @@ describe('osmLayer', function () { myMap.exit(); }); - it('vgl renderer', function (done) { + it('webgl renderer', function (done) { myMap = common.createOsmMap({}, { - renderer: 'vgl', + renderer: 'webgl', attribution: '© OpenStreetMap contributors' }); myMap.draw(); diff --git a/tests/gl-cases/points.js b/tests/gl-cases/points.js index b13082add8..488913ec29 100644 --- a/tests/gl-cases/points.js +++ b/tests/gl-cases/points.js @@ -53,7 +53,7 @@ describe('points', function () { var mapOptions = {center: {x: -105.0, y: 40.0}}; myMap = common.createOsmMap(mapOptions, {}, true); common.loadCitiesData(function (citieslatlon) { - addLayerAndFeature({'renderer': 'vgl'}, citieslatlon); + addLayerAndFeature({'renderer': 'webgl'}, citieslatlon); myMap.draw(); @@ -65,7 +65,7 @@ describe('points', function () { var mapOptions = {center: {x: -105.0, y: 40.0}}; myMap = common.createOsmMap(mapOptions, {}, true); common.loadCitiesData(function (citieslatlon) { - var feature = addLayerAndFeature({'renderer': 'vgl'}, citieslatlon); + var feature = addLayerAndFeature({'renderer': 'webgl'}, citieslatlon); feature.style('fill', false); myMap.draw(); imageTest.imageTest('glPointsNoFill', null, 0.0015, done, myMap.onIdle, 0, 2); @@ -76,7 +76,7 @@ describe('points', function () { var mapOptions = {center: {x: -105.0, y: 40.0}}; myMap = common.createOsmMap(mapOptions, {}, true); common.loadCitiesData(function (citieslatlon) { - var feature = addLayerAndFeature({'renderer': 'vgl'}, citieslatlon); + var feature = addLayerAndFeature({'renderer': 'webgl'}, citieslatlon); feature.style('stroke', false); myMap.draw(); imageTest.imageTest('glPointsNoStroke', null, 0.0015, done, myMap.onIdle, 0, 2); @@ -87,7 +87,7 @@ describe('points', function () { var mapOptions = {center: {x: -105.0, y: 40.0}}; myMap = common.createOsmMap(mapOptions, {}, true); common.loadCitiesData(function (citieslatlon) { - var feature = addLayerAndFeature({'renderer': 'vgl'}, citieslatlon); + var feature = addLayerAndFeature({'renderer': 'webgl'}, citieslatlon); feature.style('fillOpacity', 0.2) .style('strokeOpacity', 0.2); myMap.draw(); @@ -109,7 +109,7 @@ describe('points', function () { layer2.name = 'layer2'; common.loadCitiesData(function (citieslatlon) { - var feature = addLayerAndFeature({'renderer': 'vgl'}, citieslatlon); + var feature = addLayerAndFeature({'renderer': 'webgl'}, citieslatlon); feature.style('fillOpacity', 0.2) .style('strokeOpacity', 0.2); myMap.draw(); diff --git a/tests/gl-cases/glContour.js b/tests/gl-cases/webglContour.js similarity index 93% rename from tests/gl-cases/glContour.js rename to tests/gl-cases/webglContour.js index d2a53c206f..819ffaead2 100644 --- a/tests/gl-cases/glContour.js +++ b/tests/gl-cases/webglContour.js @@ -1,6 +1,6 @@ var $ = require('jquery'); -describe('glContour', function () { +describe('webglContour', function () { var imageTest = require('../image-test'); var common = require('../test-common'); @@ -27,7 +27,7 @@ describe('glContour', function () { var mapOptions = {center: {x: -157.965, y: 21.482}, zoom: 10}; myMap = common.createOsmMap(mapOptions, {}, true); - var layer = myMap.createLayer('feature', {renderer: 'vgl'}); + var layer = myMap.createLayer('feature', {renderer: 'webgl'}); var url = '/data/' + (opts.url || 'oahu.json'); $.getJSON(url, {format: 'json'}).done(function (data) { @@ -112,12 +112,12 @@ describe('glContour', function () { } it('contours', function (done) { - testContour('glContour', {}, done); + testContour('webglContour', {}, done); }); it('contours with options', function (done) { // geo from x0, specified min-max, set color range, smooth - testContour('glContourOptions', { + testContour('webglContourOptions', { url: 'oahu-dense.json', range: true, stepped: false @@ -126,7 +126,7 @@ describe('glContour', function () { it('contours with nonlinear range', function (done) { // geo from x0, non-linear range - testContour('glContourRange', { + testContour('webglContourRange', { url: 'oahu-dense.json', range: 'nonlinear' }, done); @@ -134,7 +134,7 @@ describe('glContour', function () { it('contours with iso range', function (done) { // geo from x0, iso-like range - testContour('glContourIso', { + testContour('webglContourIso', { url: 'oahu-dense.json', range: 'iso' }, done); diff --git a/tests/gl-cases/glLines.js b/tests/gl-cases/webglLines.js similarity index 99% rename from tests/gl-cases/glLines.js rename to tests/gl-cases/webglLines.js index dd109d0429..a5609ab52d 100644 --- a/tests/gl-cases/glLines.js +++ b/tests/gl-cases/webglLines.js @@ -1,6 +1,6 @@ var $ = require('jquery'); -describe('glLines', function () { +describe('webglLines', function () { var imageTest = require('../image-test'); var common = require('../test-common'); @@ -83,14 +83,14 @@ describe('glLines', function () { .style(style); myMap.draw(); - imageTest.imageTest('glLines', null, 0.0015, done, myMap.onIdle, 0, 2); + imageTest.imageTest('webglLines', null, 0.0015, done, myMap.onIdle, 0, 2); }); it('lines with different options', function (done) { var mapOptions = {center: {x: -85.44956, y: 31.87798}, zoom: 9}; myMap = common.createOsmMap(mapOptions, {}, true); - var layer = myMap.createLayer('feature', {renderer: 'vgl'}); + var layer = myMap.createLayer('feature', {renderer: 'webgl'}); var baseStyle = { antialiasing: 2, miterLimit: 5 @@ -140,7 +140,7 @@ describe('glLines', function () { myMap.draw(); - imageTest.imageTest('glLinesOpts', null, 0.0015, done, myMap.onIdle, 0, 2); + imageTest.imageTest('webglLinesOpts', null, 0.0015, done, myMap.onIdle, 0, 2); }, 10000); }); diff --git a/tests/gl-cases/glLinesSpeed.js b/tests/gl-cases/webglLinesSpeed.js similarity index 99% rename from tests/gl-cases/glLinesSpeed.js rename to tests/gl-cases/webglLinesSpeed.js index 28e6ab1f32..7b845307f8 100644 --- a/tests/gl-cases/glLinesSpeed.js +++ b/tests/gl-cases/webglLinesSpeed.js @@ -1,6 +1,6 @@ var $ = require('jquery'); -describe('glLinesSpeed', function () { +describe('webglLinesSpeed', function () { var imageTest = require('../image-test'); var common = require('../test-common'); diff --git a/tests/gl-cases/glPointsSpeed.js b/tests/gl-cases/webglPointsSpeed.js similarity index 97% rename from tests/gl-cases/glPointsSpeed.js rename to tests/gl-cases/webglPointsSpeed.js index f5e0ee90c8..a9f6585b53 100644 --- a/tests/gl-cases/glPointsSpeed.js +++ b/tests/gl-cases/webglPointsSpeed.js @@ -1,6 +1,6 @@ var $ = require('jquery'); -describe('glPointsSpeed', function () { +describe('webglPointsSpeed', function () { var imageTest = require('../image-test'); var common = require('../test-common'); @@ -22,7 +22,7 @@ describe('glPointsSpeed', function () { var mapOptions = {center: {x: -105.0, y: 40.0}}; myMap = common.createOsmMap(mapOptions, {}, true); - var layer = myMap.createLayer('feature', {renderer: 'vgl'}); + var layer = myMap.createLayer('feature', {renderer: 'webgl'}); var feature = layer.createFeature('point', { selectionAPI: false, dynamicDraw: true diff --git a/tests/gl-cases/glPolygons.js b/tests/gl-cases/webglPolygons.js similarity index 99% rename from tests/gl-cases/glPolygons.js rename to tests/gl-cases/webglPolygons.js index 8b5e6bee7b..b17441d76d 100644 --- a/tests/gl-cases/glPolygons.js +++ b/tests/gl-cases/webglPolygons.js @@ -1,4 +1,4 @@ -describe('glPolygons', function () { +describe('webglPolygons', function () { var imageTest = require('../image-test'); var common = require('../test-common'); var geo = require('../test-utils').geo; @@ -2446,7 +2446,7 @@ describe('glPolygons', function () { layer: layer }).read(JSON.stringify(data), function () { myMap.draw(); - imageTest.imageTest('glMultiPolygons', null, 0.0015, done, myMap.onIdle, 0, 2); + imageTest.imageTest('webglMultiPolygons', null, 0.0015, done, myMap.onIdle, 0, 2); }); }); @@ -2689,13 +2689,13 @@ describe('glPolygons', function () { it('polygons', function (done) { polygonMap(); myMap.draw(); - imageTest.imageTest('glPolygons', null, 0.0015, done, myMap.onIdle, 0, 2); + imageTest.imageTest('webglPolygons', null, 0.0015, done, myMap.onIdle, 0, 2); }); it('polygons hover', function (done) { polygonMap(); myMap.draw(); myMap.interactor().simulateEvent('mousemove', {map: {x: 390, y: 200}}); - imageTest.imageTest('glPolygonsHover', null, 0.0015, done, myMap.onIdle, 0, 2); + imageTest.imageTest('webglPolygonsHover', null, 0.0015, done, myMap.onIdle, 0, 2); }); }); diff --git a/tests/gl-cases/glQuad.js b/tests/gl-cases/webglQuad.js similarity index 94% rename from tests/gl-cases/glQuad.js rename to tests/gl-cases/webglQuad.js index 51eff89375..245656b9c4 100644 --- a/tests/gl-cases/glQuad.js +++ b/tests/gl-cases/webglQuad.js @@ -1,6 +1,6 @@ /* globals Image */ -describe('glQuad', function () { +describe('webglQuad', function () { var imageTest = require('../image-test'); var common = require('../test-common'); @@ -18,7 +18,7 @@ describe('glQuad', function () { var mapOptions = {center: {x: -83.0, y: 39}, zoom: 3.5}; myMap = common.createOsmMap(mapOptions, {}, true); - var layer = myMap.createLayer('feature', {renderer: 'vgl'}); + var layer = myMap.createLayer('feature', {renderer: 'webgl'}); var quads = layer.createFeature('quad', {selectionAPI: true}); var previewImage = new Image(); previewImage.onload = function () { @@ -117,7 +117,7 @@ describe('glQuad', function () { myMap.draw(); - imageTest.imageTest('glQuad', null, 0.0015, done, myMap.onIdle, 0, 2); + imageTest.imageTest('webglQuad', null, 0.0015, done, myMap.onIdle, 0, 2); }; previewImage.src = '/data/grid.jpg'; diff --git a/tests/headed-cases/blog-lines.js b/tests/headed-cases/blog-lines.js index 937f1e6f92..1044e11dbf 100644 --- a/tests/headed-cases/blog-lines.js +++ b/tests/headed-cases/blog-lines.js @@ -58,7 +58,7 @@ describe('blog-lines example', function () { // remove previous contents to ensure we detect new contents base$ = $('iframe#map')[0].contentWindow.jQuery; base$('.geojs-map.ready').remove(); - $('#map').attr('src', '/examples/blog-lines/index.html?renderer=vgl&data=roads&lines=10000&x=-73.7593015&y=42.8496799&zoom=13&strokeOpacity=1&strokeWidth=2&antialiasing=2&referenceLines=false'); + $('#map').attr('src', '/examples/blog-lines/index.html?renderer=webgl&data=roads&lines=10000&x=-73.7593015&y=42.8496799&zoom=13&strokeOpacity=1&strokeWidth=2&antialiasing=2&referenceLines=false'); // this permits a large delta to pass on CI. It visually is rendered // correctly, though with seemingly different aliasing choices by the // renderer diff --git a/tests/test-utils.js b/tests/test-utils.js index b1707b7487..c7bd09b266 100644 --- a/tests/test-utils.js +++ b/tests/test-utils.js @@ -279,7 +279,7 @@ module.exports.getQuery = function () { /** * Destroy a map for testing. This removes any existing node called '#map'. - * It should be done if the VGL renderer was mocked before it is restored. + * It should be done if the webgl renderer was mocked before it is restored. */ function destroyMap() { if ($('#map').data('data-geojs-map') && $.isFunction($('#map').data('data-geojs-map').exit)) { diff --git a/tutorials/common/tutorials.js b/tutorials/common/tutorials.js index 56a2c07910..8e437e183b 100644 --- a/tutorials/common/tutorials.js +++ b/tutorials/common/tutorials.js @@ -129,10 +129,10 @@ function process_block(selector) { /* If any code block is marked as needing webgl and the current window has * a geojs element that reports that it doesn't support webgl, mock webgl. * This is expected to only happen in the automated tests. */ - if (webgl && window.parent && window.parent !== window && window.geo && !window.geo.gl.vglRenderer.supported()) { - js = 'geo.util.mockVGLRenderer();\n' + + if (webgl && window.parent && window.parent !== window && window.geo && !window.geo.webgl.webglRenderer.supported()) { + js = 'geo.util.mockWebglRenderer();\n' + js + - '\ngeo.util.restoreVGLRenderer();\n'; + '\ngeo.util.restoreWebglRenderer();\n'; } /* If we are in a test environment, redirect the tutorial's console to the * test's parent window to make debugging easier. */ From 86a763b3b21af0a8cead277df3018374b3da63e8 Mon Sep 17 00:00:00 2001 From: David Manthey Date: Tue, 27 Nov 2018 14:24:53 -0500 Subject: [PATCH 3/4] Update the baseline images; many were renamed. --- CHANGELOG.md | 4 ++-- tests/external-data/base-images.tgz.sha512 | 2 +- tests/runners/baseline_images.py | 9 +++------ 3 files changed, 6 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 38b7fc1e07..9dbb03faf7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,8 +3,8 @@ ## Unreleased ### Changes -- Rename the d3 renderer to svg. d3 still works as an alias -- Rename the vgl renderer to webgl. vgl still works as an alias +- Rename the d3 renderer to svg. d3 still works as an alias (#965) +- Rename the vgl renderer to webgl. vgl still works as an alias (#965) ## Version 0.19.0 diff --git a/tests/external-data/base-images.tgz.sha512 b/tests/external-data/base-images.tgz.sha512 index 71ab5a393b..a007df025c 100644 --- a/tests/external-data/base-images.tgz.sha512 +++ b/tests/external-data/base-images.tgz.sha512 @@ -1 +1 @@ -d7c9ac0d2324d047ee687fa0c1f857b24b03beae3cb84060d7507c53aca2b8a184abdcb6161ceb2cb238219b8235cfab75f61d9a1a2ff9fcf521b3f96c5f6c84 +85e41ee7e4600db151dfdf22f89e1e0eb3360bc64663377078247a7ffc58d38b1a802ebfbffdb191b68d7f96cd7b10b030bcaa5d63e1879ec620fdc735206638 \ No newline at end of file diff --git a/tests/runners/baseline_images.py b/tests/runners/baseline_images.py index 91740a1bbc..ba48f6dcf2 100755 --- a/tests/runners/baseline_images.py +++ b/tests/runners/baseline_images.py @@ -2,7 +2,6 @@ import argparse import girder_client -import md5 import os import subprocess import time @@ -81,13 +80,11 @@ def upload_baselines(args): stream=open(tarPath), size=tarSize, mimeType='application/tar+gzip') if args['verbose'] >= 1: print('Upload to file %s' % uploadedFile['_id']) - testDataPath = os.path.abspath('testing/test-data') + testDataPath = os.path.abspath('tests/external-data') if not os.path.isdir(testDataPath): raise Exception('Can\'t update test-data information.') - open(os.path.join(testDataPath, 'base-images.tgz.url'), 'w').write( - apiRoot + 'file/%s/download' % uploadedFile['_id']) - open(os.path.join(testDataPath, 'base-images.tgz.md5'), 'w').write( - md5.new(open(tarPath).read()).hexdigest()) + sha512 = gc.getFile(uploadedFile['_id'])['sha512'] + open(os.path.join(testDataPath, 'base-images.tgz.sha512'), 'w').write(sha512) if args['verbose'] >= 1: print('test-data references updated') From 70fbf3c516017293c8367fa65d4a537d96a619a6 Mon Sep 17 00:00:00 2001 From: David Manthey Date: Wed, 28 Nov 2018 09:42:34 -0500 Subject: [PATCH 4/4] Add a renderer class property. This allows the checkRenderer function to return the preferred name of the renderer, rather than the passed alias. --- src/canvas/canvasRenderer.js | 3 ++- src/registry.js | 2 +- src/svg/svgRenderer.js | 3 ++- src/vtkjs/vtkjsRenderer.js | 3 ++- src/webgl/webglRenderer.js | 3 ++- tests/cases/renderers.js | 4 ++++ 6 files changed, 13 insertions(+), 5 deletions(-) diff --git a/src/canvas/canvasRenderer.js b/src/canvas/canvasRenderer.js index 4f8a584a50..f2e2debdc6 100644 --- a/src/canvas/canvasRenderer.js +++ b/src/canvas/canvasRenderer.js @@ -46,7 +46,7 @@ var canvasRenderer = function (arg) { * @returns {string} 'canvas'. */ this.api = function () { - return 'canvas'; + return canvasRenderer.apiname; }; /** @@ -149,6 +149,7 @@ var canvasRenderer = function (arg) { return this; }; +canvasRenderer.apiname = 'canvas'; inherit(canvasRenderer, renderer); diff --git a/src/registry.js b/src/registry.js index c978549162..5cf31d3c37 100644 --- a/src/registry.js +++ b/src/registry.js @@ -94,7 +94,7 @@ util.checkRenderer = function (name, noFallback) { if (renderers.hasOwnProperty(name)) { var ren = renderers[name]; if (!ren.supported || ren.supported()) { - return name; + return ren.apiname || name; } if (!ren.fallback || noFallback) { return false; diff --git a/src/svg/svgRenderer.js b/src/svg/svgRenderer.js index 8f68a0a901..535cc786ee 100644 --- a/src/svg/svgRenderer.js +++ b/src/svg/svgRenderer.js @@ -415,7 +415,7 @@ var svgRenderer = function (arg) { * @returns {string} 'svg'. */ this.api = function () { - return 'svg'; + return svgRenderer.apiname; }; /** @@ -660,6 +660,7 @@ var svgRenderer = function (arg) { this._init(arg); return this; }; +svgRenderer.apiname = 'svg'; inherit(svgRenderer, renderer); diff --git a/src/vtkjs/vtkjsRenderer.js b/src/vtkjs/vtkjsRenderer.js index 61cbb4dc5f..fc3965b6bd 100644 --- a/src/vtkjs/vtkjsRenderer.js +++ b/src/vtkjs/vtkjsRenderer.js @@ -55,7 +55,7 @@ var vtkjsRenderer = function (arg) { * @returns {string} `vtkjs`. */ this.api = function () { - return 'vtkjs'; + return vtkjsRenderer.apiname; }; /** @@ -163,6 +163,7 @@ var vtkjsRenderer = function (arg) { return this; }; +vtkjsRenderer.apiname = 'vtkjs'; inherit(vtkjsRenderer, renderer); diff --git a/src/webgl/webglRenderer.js b/src/webgl/webglRenderer.js index ef3606954e..a95ab1944e 100644 --- a/src/webgl/webglRenderer.js +++ b/src/webgl/webglRenderer.js @@ -53,7 +53,7 @@ var webglRenderer = function (arg) { * @returns {string} `webgl`. */ this.api = function () { - return 'webgl'; + return webglRenderer.apiname; }; /** @@ -296,6 +296,7 @@ var webglRenderer = function (arg) { return this; }; +webglRenderer.apiname = 'webgl'; inherit(webglRenderer, renderer); diff --git a/tests/cases/renderers.js b/tests/cases/renderers.js index e44c42d5b6..0476fd015d 100644 --- a/tests/cases/renderers.js +++ b/tests/cases/renderers.js @@ -64,6 +64,8 @@ describe('renderers', function () { expect(geo.checkRenderer(null)).toBe(null); expect(geo.checkRenderer('svg')).toBe('svg'); + // check that an alias resolves to the preferred name + expect(geo.checkRenderer('d3')).toBe('svg'); sinon.stub(geo.svg.renderer, 'supported').returns(false); expect(geo.checkRenderer('svg')).toBe(null); @@ -85,6 +87,8 @@ describe('renderers', function () { mockWebglRenderer(); expect(geo.checkRenderer('webgl')).toBe('webgl'); + // check that an alias resolves to the preferred name + expect(geo.checkRenderer('vgl')).toBe('webgl'); restoreWebglRenderer(); expect(geo.checkRenderer('unknown')).toBe(false);