plotly.js 2.10.1 → 2.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +7 -0
- package/CONTRIBUTING.md +17 -0
- package/README.md +3 -3
- package/dist/README.md +22 -22
- package/dist/plotly-basic.js +2 -2
- package/dist/plotly-basic.min.js +2 -2
- package/dist/plotly-cartesian.js +2 -2
- package/dist/plotly-cartesian.min.js +2 -2
- package/dist/plotly-finance.js +2 -2
- package/dist/plotly-finance.min.js +2 -2
- package/dist/plotly-geo-assets.js +2 -2
- package/dist/plotly-geo.js +2 -2
- package/dist/plotly-geo.min.js +2 -2
- package/dist/plotly-gl2d.js +380 -344
- package/dist/plotly-gl2d.min.js +10 -10
- package/dist/plotly-gl3d.js +2 -2
- package/dist/plotly-gl3d.min.js +2 -2
- package/dist/plotly-mapbox.js +2 -2
- package/dist/plotly-mapbox.min.js +2 -2
- package/dist/plotly-strict.js +40193 -939
- package/dist/plotly-strict.min.js +11 -11
- package/dist/plotly-with-meta.js +656 -615
- package/dist/plotly.js +627 -586
- package/dist/plotly.min.js +3 -3
- package/lib/index-strict.js +5 -0
- package/package.json +5 -4
- package/src/generated/regl-codegen/0919c57b995304312da30a5af7873a319bfb7b7e22ff6b4fa203ecbd5774ebfc +1462 -0
- package/src/generated/regl-codegen/13c0ae156483f2bcbd7ff29404f0abfd8689ff43f41791a6c7469868690a4260 +3391 -0
- package/src/generated/regl-codegen/19769c875db736c08a744c0a6aabe28276ed06aa24fdb7c36506a9f4c1f56f13 +3375 -0
- package/src/generated/regl-codegen/21cec01aa93887c70e86d7f1bc84d6837da0b1f5c1ff4cadd42ac6eb37f9f316 +2488 -0
- package/src/generated/regl-codegen/4df455b48c9de7d9f1de4b9481b505c09613ba7f90d2b4e360e673839566688e +662 -0
- package/src/generated/regl-codegen/53f2bf051e4ba66c90f343d29aa8da9e4029454c0d428f8e46e94dfddc97c8c6 +459 -0
- package/src/generated/regl-codegen/59568c77bcbe6343ee6109df49ceeb78c8a8a8a81872e88fb077f9a3d6dc0567 +637 -0
- package/src/generated/regl-codegen/6c3ff5a68d2906faf59307b58a799389f916ebdd3f7732ce75967575041988fc +2226 -0
- package/src/generated/regl-codegen/7c8e7f36e693904898ece5f7f8b49b23c69d98397567c3915a45647209eb7da4 +2052 -0
- package/src/generated/regl-codegen/8a43b073e4f3e9c0e499c8ac9c253f2aa1e3d3de2febfccc6526b52295dbf770 +664 -0
- package/src/generated/regl-codegen/909861c036d6f1ef40ba2dfcc33ef32489d2fe05fa7b7984d5ff315ddceb17b1 +454 -0
- package/src/generated/regl-codegen/c759965c8d66b2b356ae7455825df829f2ba7d4e7e903236f8c8d3bc5f45bd44 +2116 -0
- package/src/generated/regl-codegen/f9448a214a3e3cd439b767559aa71a4d1ccf5a8f39b8b756973e71acd33ff956 +2755 -0
- package/src/generated/regl-codegen/ff8495670417d5d0e4caa9942ad63b4dff0242a390ac1cb807c78ca326d6f3ce +639 -0
- package/src/lib/prepare_regl.js +7 -3
- package/src/traces/parcoords/base_index.js +24 -0
- package/src/traces/parcoords/index.js +4 -22
- package/src/traces/parcoords/plot-strict.js +9 -0
- package/src/traces/parcoords/plot.js +5 -2
- package/src/traces/parcoords/regl_precompiled.js +12 -0
- package/src/traces/parcoords/strict.js +7 -0
- package/src/traces/scattergl/base_index.js +29 -0
- package/src/traces/scattergl/index.js +3 -26
- package/src/traces/scattergl/plot.js +5 -2
- package/src/traces/scattergl/plot_strict.js +9 -0
- package/src/traces/scattergl/regl_precompiled.js +24 -0
- package/src/traces/scattergl/strict.js +7 -0
- package/src/traces/scatterpolargl/base_index.js +29 -0
- package/src/traces/scatterpolargl/index.js +3 -26
- package/src/traces/scatterpolargl/plot.js +4 -0
- package/src/traces/scatterpolargl/plot_strict.js +13 -0
- package/src/traces/scatterpolargl/regl_precompiled.js +24 -0
- package/src/traces/scatterpolargl/strict.js +7 -0
- package/src/traces/splom/base_index.js +36 -0
- package/src/traces/splom/base_plot.js +5 -2
- package/src/traces/splom/base_plot_strict.js +9 -0
- package/src/traces/splom/index.js +3 -33
- package/src/traces/splom/regl_precompiled.js +24 -0
- package/src/traces/splom/strict.js +7 -0
- package/src/version.js +1 -1
- package/tasks/bundle.js +18 -0
- package/tasks/partial_bundle.js +26 -23
- package/tasks/stats.js +3 -3
- package/tasks/util/constants.js +13 -1
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
var parcoords = require('./parcoords');
|
|
4
4
|
var prepareRegl = require('../../lib/prepare_regl');
|
|
5
5
|
var isVisible = require('./helpers').isVisible;
|
|
6
|
+
var reglPrecompiled = {};
|
|
6
7
|
|
|
7
8
|
function newIndex(visibleIndices, orig, dim) {
|
|
8
9
|
var origIndex = orig.indexOf(dim);
|
|
@@ -23,10 +24,10 @@ function sorter(visibleIndices, orig) {
|
|
|
23
24
|
};
|
|
24
25
|
}
|
|
25
26
|
|
|
26
|
-
module.exports = function plot(gd, cdModule) {
|
|
27
|
+
var exports = module.exports = function plot(gd, cdModule) {
|
|
27
28
|
var fullLayout = gd._fullLayout;
|
|
28
29
|
|
|
29
|
-
var success = prepareRegl(gd);
|
|
30
|
+
var success = prepareRegl(gd, [], reglPrecompiled);
|
|
30
31
|
if(!success) return;
|
|
31
32
|
|
|
32
33
|
var currentDims = {};
|
|
@@ -143,3 +144,5 @@ module.exports = function plot(gd, cdModule) {
|
|
|
143
144
|
}
|
|
144
145
|
);
|
|
145
146
|
};
|
|
147
|
+
|
|
148
|
+
exports.reglPrecompiled = reglPrecompiled;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
var v0 = require('../../generated/regl-codegen/909861c036d6f1ef40ba2dfcc33ef32489d2fe05fa7b7984d5ff315ddceb17b1');
|
|
3
|
+
var v1 = require('../../generated/regl-codegen/4df455b48c9de7d9f1de4b9481b505c09613ba7f90d2b4e360e673839566688e');
|
|
4
|
+
var v2 = require('../../generated/regl-codegen/59568c77bcbe6343ee6109df49ceeb78c8a8a8a81872e88fb077f9a3d6dc0567');
|
|
5
|
+
var v3 = require('../../generated/regl-codegen/c759965c8d66b2b356ae7455825df829f2ba7d4e7e903236f8c8d3bc5f45bd44');
|
|
6
|
+
|
|
7
|
+
module.exports = {
|
|
8
|
+
'909861c036d6f1ef40ba2dfcc33ef32489d2fe05fa7b7984d5ff315ddceb17b1': v0,
|
|
9
|
+
'4df455b48c9de7d9f1de4b9481b505c09613ba7f90d2b4e360e673839566688e': v1,
|
|
10
|
+
'59568c77bcbe6343ee6109df49ceeb78c8a8a8a81872e88fb077f9a3d6dc0567': v2,
|
|
11
|
+
'c759965c8d66b2b356ae7455825df829f2ba7d4e7e903236f8c8d3bc5f45bd44': v3
|
|
12
|
+
};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var hover = require('./hover');
|
|
4
|
+
|
|
5
|
+
module.exports = {
|
|
6
|
+
moduleType: 'trace',
|
|
7
|
+
name: 'scattergl',
|
|
8
|
+
basePlotModule: require('../../plots/cartesian'),
|
|
9
|
+
categories: ['gl', 'regl', 'cartesian', 'symbols', 'errorBarsOK', 'showLegend', 'scatter-like'],
|
|
10
|
+
|
|
11
|
+
attributes: require('./attributes'),
|
|
12
|
+
supplyDefaults: require('./defaults'),
|
|
13
|
+
crossTraceDefaults: require('../scatter/cross_trace_defaults'),
|
|
14
|
+
colorbar: require('../scatter/marker_colorbar'),
|
|
15
|
+
formatLabels: require('./format_labels'),
|
|
16
|
+
calc: require('./calc'),
|
|
17
|
+
hoverPoints: hover.hoverPoints,
|
|
18
|
+
selectPoints: require('./select'),
|
|
19
|
+
|
|
20
|
+
meta: {
|
|
21
|
+
hrName: 'scatter_gl',
|
|
22
|
+
description: [
|
|
23
|
+
'The data visualized as scatter point or lines is set in `x` and `y`',
|
|
24
|
+
'using the WebGL plotting engine.',
|
|
25
|
+
'Bubble charts are achieved by setting `marker.size` and/or `marker.color`',
|
|
26
|
+
'to a numerical arrays.'
|
|
27
|
+
].join(' ')
|
|
28
|
+
}
|
|
29
|
+
};
|
|
@@ -1,30 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var index = require('./base_index');
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
moduleType: 'trace',
|
|
7
|
-
name: 'scattergl',
|
|
8
|
-
basePlotModule: require('../../plots/cartesian'),
|
|
9
|
-
categories: ['gl', 'regl', 'cartesian', 'symbols', 'errorBarsOK', 'showLegend', 'scatter-like'],
|
|
5
|
+
index.plot = require('./plot');
|
|
10
6
|
|
|
11
|
-
|
|
12
|
-
supplyDefaults: require('./defaults'),
|
|
13
|
-
crossTraceDefaults: require('../scatter/cross_trace_defaults'),
|
|
14
|
-
colorbar: require('../scatter/marker_colorbar'),
|
|
15
|
-
formatLabels: require('./format_labels'),
|
|
16
|
-
calc: require('./calc'),
|
|
17
|
-
plot: require('./plot'),
|
|
18
|
-
hoverPoints: hover.hoverPoints,
|
|
19
|
-
selectPoints: require('./select'),
|
|
20
|
-
|
|
21
|
-
meta: {
|
|
22
|
-
hrName: 'scatter_gl',
|
|
23
|
-
description: [
|
|
24
|
-
'The data visualized as scatter point or lines is set in `x` and `y`',
|
|
25
|
-
'using the WebGL plotting engine.',
|
|
26
|
-
'Bubble charts are achieved by setting `marker.size` and/or `marker.color`',
|
|
27
|
-
'to a numerical arrays.'
|
|
28
|
-
].join(' ')
|
|
29
|
-
}
|
|
30
|
-
};
|
|
7
|
+
module.exports = index;
|
|
@@ -14,6 +14,7 @@ var linkTraces = require('../scatter/link_traces');
|
|
|
14
14
|
|
|
15
15
|
var styleTextSelection = require('./edit_style').styleTextSelection;
|
|
16
16
|
|
|
17
|
+
var reglPrecompiled = {};
|
|
17
18
|
|
|
18
19
|
function getViewport(fullLayout, xaxis, yaxis, plotGlPixelRatio) {
|
|
19
20
|
var gs = fullLayout._size;
|
|
@@ -34,7 +35,7 @@ function getViewport(fullLayout, xaxis, yaxis, plotGlPixelRatio) {
|
|
|
34
35
|
];
|
|
35
36
|
}
|
|
36
37
|
|
|
37
|
-
module.exports = function plot(gd, subplot, cdata) {
|
|
38
|
+
var exports = module.exports = function plot(gd, subplot, cdata) {
|
|
38
39
|
if(!cdata.length) return;
|
|
39
40
|
|
|
40
41
|
var fullLayout = gd._fullLayout;
|
|
@@ -46,7 +47,7 @@ module.exports = function plot(gd, subplot, cdata) {
|
|
|
46
47
|
// we may have more subplots than initialized data due to Axes.getSubplots method
|
|
47
48
|
if(!scene) return;
|
|
48
49
|
|
|
49
|
-
var success = prepareRegl(gd, ['ANGLE_instanced_arrays', 'OES_element_index_uint']);
|
|
50
|
+
var success = prepareRegl(gd, ['ANGLE_instanced_arrays', 'OES_element_index_uint'], reglPrecompiled);
|
|
50
51
|
if(!success) {
|
|
51
52
|
scene.init();
|
|
52
53
|
return;
|
|
@@ -369,3 +370,5 @@ module.exports = function plot(gd, subplot, cdata) {
|
|
|
369
370
|
scene.glText.forEach(function(text) { text.update(vpRange0); });
|
|
370
371
|
}
|
|
371
372
|
};
|
|
373
|
+
|
|
374
|
+
exports.reglPrecompiled = reglPrecompiled;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
var v0 = require('../../generated/regl-codegen/53f2bf051e4ba66c90f343d29aa8da9e4029454c0d428f8e46e94dfddc97c8c6');
|
|
3
|
+
var v1 = require('../../generated/regl-codegen/8a43b073e4f3e9c0e499c8ac9c253f2aa1e3d3de2febfccc6526b52295dbf770');
|
|
4
|
+
var v2 = require('../../generated/regl-codegen/ff8495670417d5d0e4caa9942ad63b4dff0242a390ac1cb807c78ca326d6f3ce');
|
|
5
|
+
var v3 = require('../../generated/regl-codegen/21cec01aa93887c70e86d7f1bc84d6837da0b1f5c1ff4cadd42ac6eb37f9f316');
|
|
6
|
+
var v4 = require('../../generated/regl-codegen/f9448a214a3e3cd439b767559aa71a4d1ccf5a8f39b8b756973e71acd33ff956');
|
|
7
|
+
var v5 = require('../../generated/regl-codegen/0919c57b995304312da30a5af7873a319bfb7b7e22ff6b4fa203ecbd5774ebfc');
|
|
8
|
+
var v6 = require('../../generated/regl-codegen/13c0ae156483f2bcbd7ff29404f0abfd8689ff43f41791a6c7469868690a4260');
|
|
9
|
+
var v7 = require('../../generated/regl-codegen/19769c875db736c08a744c0a6aabe28276ed06aa24fdb7c36506a9f4c1f56f13');
|
|
10
|
+
var v8 = require('../../generated/regl-codegen/6c3ff5a68d2906faf59307b58a799389f916ebdd3f7732ce75967575041988fc');
|
|
11
|
+
var v9 = require('../../generated/regl-codegen/7c8e7f36e693904898ece5f7f8b49b23c69d98397567c3915a45647209eb7da4');
|
|
12
|
+
|
|
13
|
+
module.exports = {
|
|
14
|
+
'53f2bf051e4ba66c90f343d29aa8da9e4029454c0d428f8e46e94dfddc97c8c6': v0,
|
|
15
|
+
'8a43b073e4f3e9c0e499c8ac9c253f2aa1e3d3de2febfccc6526b52295dbf770': v1,
|
|
16
|
+
'ff8495670417d5d0e4caa9942ad63b4dff0242a390ac1cb807c78ca326d6f3ce': v2,
|
|
17
|
+
'21cec01aa93887c70e86d7f1bc84d6837da0b1f5c1ff4cadd42ac6eb37f9f316': v3,
|
|
18
|
+
'f9448a214a3e3cd439b767559aa71a4d1ccf5a8f39b8b756973e71acd33ff956': v4,
|
|
19
|
+
'0919c57b995304312da30a5af7873a319bfb7b7e22ff6b4fa203ecbd5774ebfc': v5,
|
|
20
|
+
'13c0ae156483f2bcbd7ff29404f0abfd8689ff43f41791a6c7469868690a4260': v6,
|
|
21
|
+
'19769c875db736c08a744c0a6aabe28276ed06aa24fdb7c36506a9f4c1f56f13': v7,
|
|
22
|
+
'6c3ff5a68d2906faf59307b58a799389f916ebdd3f7732ce75967575041988fc': v8,
|
|
23
|
+
'7c8e7f36e693904898ece5f7f8b49b23c69d98397567c3915a45647209eb7da4': v9
|
|
24
|
+
};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
module.exports = {
|
|
4
|
+
moduleType: 'trace',
|
|
5
|
+
name: 'scatterpolargl',
|
|
6
|
+
basePlotModule: require('../../plots/polar'),
|
|
7
|
+
categories: ['gl', 'regl', 'polar', 'symbols', 'showLegend', 'scatter-like'],
|
|
8
|
+
|
|
9
|
+
attributes: require('./attributes'),
|
|
10
|
+
supplyDefaults: require('./defaults'),
|
|
11
|
+
colorbar: require('../scatter/marker_colorbar'),
|
|
12
|
+
formatLabels: require('./format_labels'),
|
|
13
|
+
|
|
14
|
+
calc: require('./calc'),
|
|
15
|
+
hoverPoints: require('./hover').hoverPoints,
|
|
16
|
+
selectPoints: require('../scattergl/select'),
|
|
17
|
+
|
|
18
|
+
meta: {
|
|
19
|
+
hrName: 'scatter_polar_gl',
|
|
20
|
+
description: [
|
|
21
|
+
'The scatterpolargl trace type encompasses line charts, scatter charts, and bubble charts',
|
|
22
|
+
'in polar coordinates using the WebGL plotting engine.',
|
|
23
|
+
'The data visualized as scatter point or lines is set in',
|
|
24
|
+
'`r` (radial) and `theta` (angular) coordinates',
|
|
25
|
+
'Bubble charts are achieved by setting `marker.size` and/or `marker.color`',
|
|
26
|
+
'to numerical arrays.'
|
|
27
|
+
].join(' ')
|
|
28
|
+
}
|
|
29
|
+
};
|
|
@@ -1,30 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
moduleType: 'trace',
|
|
5
|
-
name: 'scatterpolargl',
|
|
6
|
-
basePlotModule: require('../../plots/polar'),
|
|
7
|
-
categories: ['gl', 'regl', 'polar', 'symbols', 'showLegend', 'scatter-like'],
|
|
3
|
+
var index = require('./base_index');
|
|
8
4
|
|
|
9
|
-
|
|
10
|
-
supplyDefaults: require('./defaults'),
|
|
11
|
-
colorbar: require('../scatter/marker_colorbar'),
|
|
12
|
-
formatLabels: require('./format_labels'),
|
|
5
|
+
index.plot = require('./plot');
|
|
13
6
|
|
|
14
|
-
|
|
15
|
-
plot: require('./plot'),
|
|
16
|
-
hoverPoints: require('./hover').hoverPoints,
|
|
17
|
-
selectPoints: require('../scattergl/select'),
|
|
18
|
-
|
|
19
|
-
meta: {
|
|
20
|
-
hrName: 'scatter_polar_gl',
|
|
21
|
-
description: [
|
|
22
|
-
'The scatterpolargl trace type encompasses line charts, scatter charts, and bubble charts',
|
|
23
|
-
'in polar coordinates using the WebGL plotting engine.',
|
|
24
|
-
'The data visualized as scatter point or lines is set in',
|
|
25
|
-
'`r` (radial) and `theta` (angular) coordinates',
|
|
26
|
-
'Bubble charts are achieved by setting `marker.size` and/or `marker.color`',
|
|
27
|
-
'to numerical arrays.'
|
|
28
|
-
].join(' ')
|
|
29
|
-
}
|
|
30
|
-
};
|
|
7
|
+
module.exports = index;
|
|
@@ -11,6 +11,8 @@ var Lib = require('../../lib');
|
|
|
11
11
|
|
|
12
12
|
var TOO_MANY_POINTS = require('../scattergl/constants').TOO_MANY_POINTS;
|
|
13
13
|
|
|
14
|
+
var reglPrecompiled = {};
|
|
15
|
+
|
|
14
16
|
module.exports = function plot(gd, subplot, cdata) {
|
|
15
17
|
if(!cdata.length) return;
|
|
16
18
|
|
|
@@ -126,3 +128,5 @@ module.exports = function plot(gd, subplot, cdata) {
|
|
|
126
128
|
|
|
127
129
|
return scatterglPlot(gd, subplot, cdata);
|
|
128
130
|
};
|
|
131
|
+
|
|
132
|
+
module.exports.reglPrecompiled = reglPrecompiled;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var plot = require('./plot');
|
|
4
|
+
|
|
5
|
+
var reglPrecompiled = require('./regl_precompiled');
|
|
6
|
+
|
|
7
|
+
var reglPrecompiledDep = require('../scattergl/regl_precompiled');
|
|
8
|
+
|
|
9
|
+
Object.assign(plot.reglPrecompiled, reglPrecompiled);
|
|
10
|
+
|
|
11
|
+
Object.assign(plot.reglPrecompiled, reglPrecompiledDep);
|
|
12
|
+
|
|
13
|
+
module.exports = plot;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
var v0 = require('../../generated/regl-codegen/53f2bf051e4ba66c90f343d29aa8da9e4029454c0d428f8e46e94dfddc97c8c6');
|
|
3
|
+
var v1 = require('../../generated/regl-codegen/8a43b073e4f3e9c0e499c8ac9c253f2aa1e3d3de2febfccc6526b52295dbf770');
|
|
4
|
+
var v2 = require('../../generated/regl-codegen/ff8495670417d5d0e4caa9942ad63b4dff0242a390ac1cb807c78ca326d6f3ce');
|
|
5
|
+
var v3 = require('../../generated/regl-codegen/21cec01aa93887c70e86d7f1bc84d6837da0b1f5c1ff4cadd42ac6eb37f9f316');
|
|
6
|
+
var v4 = require('../../generated/regl-codegen/f9448a214a3e3cd439b767559aa71a4d1ccf5a8f39b8b756973e71acd33ff956');
|
|
7
|
+
var v5 = require('../../generated/regl-codegen/0919c57b995304312da30a5af7873a319bfb7b7e22ff6b4fa203ecbd5774ebfc');
|
|
8
|
+
var v6 = require('../../generated/regl-codegen/13c0ae156483f2bcbd7ff29404f0abfd8689ff43f41791a6c7469868690a4260');
|
|
9
|
+
var v7 = require('../../generated/regl-codegen/19769c875db736c08a744c0a6aabe28276ed06aa24fdb7c36506a9f4c1f56f13');
|
|
10
|
+
var v8 = require('../../generated/regl-codegen/6c3ff5a68d2906faf59307b58a799389f916ebdd3f7732ce75967575041988fc');
|
|
11
|
+
var v9 = require('../../generated/regl-codegen/7c8e7f36e693904898ece5f7f8b49b23c69d98397567c3915a45647209eb7da4');
|
|
12
|
+
|
|
13
|
+
module.exports = {
|
|
14
|
+
'53f2bf051e4ba66c90f343d29aa8da9e4029454c0d428f8e46e94dfddc97c8c6': v0,
|
|
15
|
+
'8a43b073e4f3e9c0e499c8ac9c253f2aa1e3d3de2febfccc6526b52295dbf770': v1,
|
|
16
|
+
'ff8495670417d5d0e4caa9942ad63b4dff0242a390ac1cb807c78ca326d6f3ce': v2,
|
|
17
|
+
'21cec01aa93887c70e86d7f1bc84d6837da0b1f5c1ff4cadd42ac6eb37f9f316': v3,
|
|
18
|
+
'f9448a214a3e3cd439b767559aa71a4d1ccf5a8f39b8b756973e71acd33ff956': v4,
|
|
19
|
+
'0919c57b995304312da30a5af7873a319bfb7b7e22ff6b4fa203ecbd5774ebfc': v5,
|
|
20
|
+
'13c0ae156483f2bcbd7ff29404f0abfd8689ff43f41791a6c7469868690a4260': v6,
|
|
21
|
+
'19769c875db736c08a744c0a6aabe28276ed06aa24fdb7c36506a9f4c1f56f13': v7,
|
|
22
|
+
'6c3ff5a68d2906faf59307b58a799389f916ebdd3f7732ce75967575041988fc': v8,
|
|
23
|
+
'7c8e7f36e693904898ece5f7f8b49b23c69d98397567c3915a45647209eb7da4': v9
|
|
24
|
+
};
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var Registry = require('../../registry');
|
|
4
|
+
var Grid = require('../../components/grid');
|
|
5
|
+
|
|
6
|
+
module.exports = {
|
|
7
|
+
moduleType: 'trace',
|
|
8
|
+
name: 'splom',
|
|
9
|
+
|
|
10
|
+
categories: ['gl', 'regl', 'cartesian', 'symbols', 'showLegend', 'scatter-like'],
|
|
11
|
+
|
|
12
|
+
attributes: require('./attributes'),
|
|
13
|
+
supplyDefaults: require('./defaults'),
|
|
14
|
+
colorbar: require('../scatter/marker_colorbar'),
|
|
15
|
+
|
|
16
|
+
calc: require('./calc'),
|
|
17
|
+
plot: require('./plot'),
|
|
18
|
+
hoverPoints: require('./hover').hoverPoints,
|
|
19
|
+
selectPoints: require('./select'),
|
|
20
|
+
editStyle: require('./edit_style'),
|
|
21
|
+
|
|
22
|
+
meta: {
|
|
23
|
+
description: [
|
|
24
|
+
'Splom traces generate scatter plot matrix visualizations.',
|
|
25
|
+
'Each splom `dimensions` items correspond to a generated axis.',
|
|
26
|
+
'Values for each of those dimensions are set in `dimensions[i].values`.',
|
|
27
|
+
'Splom traces support all `scattergl` marker style attributes.',
|
|
28
|
+
'Specify `layout.grid` attributes and/or layout x-axis and y-axis attributes',
|
|
29
|
+
'for more control over the axis positioning and style. '
|
|
30
|
+
].join(' ')
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
// splom traces use the 'grid' component to generate their axes,
|
|
35
|
+
// register it here
|
|
36
|
+
Registry.register(Grid);
|
|
@@ -11,12 +11,14 @@ var shouldShowZeroLine = require('../../plots/cartesian/axes').shouldShowZeroLin
|
|
|
11
11
|
|
|
12
12
|
var SPLOM = 'splom';
|
|
13
13
|
|
|
14
|
+
var reglPrecompiled = {};
|
|
15
|
+
|
|
14
16
|
function plot(gd) {
|
|
15
17
|
var fullLayout = gd._fullLayout;
|
|
16
18
|
var _module = Registry.getModule(SPLOM);
|
|
17
19
|
var splomCalcData = getModuleCalcData(gd.calcdata, _module)[0];
|
|
18
20
|
|
|
19
|
-
var success = prepareRegl(gd, ['ANGLE_instanced_arrays', 'OES_element_index_uint']);
|
|
21
|
+
var success = prepareRegl(gd, ['ANGLE_instanced_arrays', 'OES_element_index_uint'], reglPrecompiled);
|
|
20
22
|
if(!success) return;
|
|
21
23
|
|
|
22
24
|
if(fullLayout._hasOnlyLargeSploms) {
|
|
@@ -219,5 +221,6 @@ module.exports = {
|
|
|
219
221
|
updateGrid: updateGrid,
|
|
220
222
|
clean: clean,
|
|
221
223
|
updateFx: Cartesian.updateFx,
|
|
222
|
-
toSVG: Cartesian.toSVG
|
|
224
|
+
toSVG: Cartesian.toSVG,
|
|
225
|
+
reglPrecompiled: reglPrecompiled
|
|
223
226
|
};
|
|
@@ -1,37 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var Grid = require('../../components/grid');
|
|
3
|
+
var index = require('./base_index');
|
|
5
4
|
|
|
6
|
-
|
|
7
|
-
moduleType: 'trace',
|
|
8
|
-
name: 'splom',
|
|
5
|
+
index.basePlotModule = require('./base_plot'),
|
|
9
6
|
|
|
10
|
-
|
|
11
|
-
categories: ['gl', 'regl', 'cartesian', 'symbols', 'showLegend', 'scatter-like'],
|
|
12
|
-
|
|
13
|
-
attributes: require('./attributes'),
|
|
14
|
-
supplyDefaults: require('./defaults'),
|
|
15
|
-
colorbar: require('../scatter/marker_colorbar'),
|
|
16
|
-
|
|
17
|
-
calc: require('./calc'),
|
|
18
|
-
plot: require('./plot'),
|
|
19
|
-
hoverPoints: require('./hover').hoverPoints,
|
|
20
|
-
selectPoints: require('./select'),
|
|
21
|
-
editStyle: require('./edit_style'),
|
|
22
|
-
|
|
23
|
-
meta: {
|
|
24
|
-
description: [
|
|
25
|
-
'Splom traces generate scatter plot matrix visualizations.',
|
|
26
|
-
'Each splom `dimensions` items correspond to a generated axis.',
|
|
27
|
-
'Values for each of those dimensions are set in `dimensions[i].values`.',
|
|
28
|
-
'Splom traces support all `scattergl` marker style attributes.',
|
|
29
|
-
'Specify `layout.grid` attributes and/or layout x-axis and y-axis attributes',
|
|
30
|
-
'for more control over the axis positioning and style. '
|
|
31
|
-
].join(' ')
|
|
32
|
-
}
|
|
33
|
-
};
|
|
34
|
-
|
|
35
|
-
// splom traces use the 'grid' component to generate their axes,
|
|
36
|
-
// register it here
|
|
37
|
-
Registry.register(Grid);
|
|
7
|
+
module.exports = index;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
var v0 = require('../../generated/regl-codegen/53f2bf051e4ba66c90f343d29aa8da9e4029454c0d428f8e46e94dfddc97c8c6');
|
|
3
|
+
var v1 = require('../../generated/regl-codegen/8a43b073e4f3e9c0e499c8ac9c253f2aa1e3d3de2febfccc6526b52295dbf770');
|
|
4
|
+
var v2 = require('../../generated/regl-codegen/ff8495670417d5d0e4caa9942ad63b4dff0242a390ac1cb807c78ca326d6f3ce');
|
|
5
|
+
var v3 = require('../../generated/regl-codegen/13c0ae156483f2bcbd7ff29404f0abfd8689ff43f41791a6c7469868690a4260');
|
|
6
|
+
var v4 = require('../../generated/regl-codegen/19769c875db736c08a744c0a6aabe28276ed06aa24fdb7c36506a9f4c1f56f13');
|
|
7
|
+
var v5 = require('../../generated/regl-codegen/21cec01aa93887c70e86d7f1bc84d6837da0b1f5c1ff4cadd42ac6eb37f9f316');
|
|
8
|
+
var v6 = require('../../generated/regl-codegen/f9448a214a3e3cd439b767559aa71a4d1ccf5a8f39b8b756973e71acd33ff956');
|
|
9
|
+
var v7 = require('../../generated/regl-codegen/0919c57b995304312da30a5af7873a319bfb7b7e22ff6b4fa203ecbd5774ebfc');
|
|
10
|
+
var v8 = require('../../generated/regl-codegen/6c3ff5a68d2906faf59307b58a799389f916ebdd3f7732ce75967575041988fc');
|
|
11
|
+
var v9 = require('../../generated/regl-codegen/7c8e7f36e693904898ece5f7f8b49b23c69d98397567c3915a45647209eb7da4');
|
|
12
|
+
|
|
13
|
+
module.exports = {
|
|
14
|
+
'53f2bf051e4ba66c90f343d29aa8da9e4029454c0d428f8e46e94dfddc97c8c6': v0,
|
|
15
|
+
'8a43b073e4f3e9c0e499c8ac9c253f2aa1e3d3de2febfccc6526b52295dbf770': v1,
|
|
16
|
+
'ff8495670417d5d0e4caa9942ad63b4dff0242a390ac1cb807c78ca326d6f3ce': v2,
|
|
17
|
+
'13c0ae156483f2bcbd7ff29404f0abfd8689ff43f41791a6c7469868690a4260': v3,
|
|
18
|
+
'19769c875db736c08a744c0a6aabe28276ed06aa24fdb7c36506a9f4c1f56f13': v4,
|
|
19
|
+
'21cec01aa93887c70e86d7f1bc84d6837da0b1f5c1ff4cadd42ac6eb37f9f316': v5,
|
|
20
|
+
'f9448a214a3e3cd439b767559aa71a4d1ccf5a8f39b8b756973e71acd33ff956': v6,
|
|
21
|
+
'0919c57b995304312da30a5af7873a319bfb7b7e22ff6b4fa203ecbd5774ebfc': v7,
|
|
22
|
+
'6c3ff5a68d2906faf59307b58a799389f916ebdd3f7732ce75967575041988fc': v8,
|
|
23
|
+
'7c8e7f36e693904898ece5f7f8b49b23c69d98397567c3915a45647209eb7da4': v9
|
|
24
|
+
};
|
package/src/version.js
CHANGED
package/tasks/bundle.js
CHANGED
|
@@ -10,6 +10,11 @@ var pathToPlotlyDist = constants.pathToPlotlyDist;
|
|
|
10
10
|
var pathToPlotlyIndex = constants.pathToPlotlyIndex;
|
|
11
11
|
var pathToPlotlyDistMin = constants.pathToPlotlyDistMin;
|
|
12
12
|
var pathToPlotlyDistWithMeta = constants.pathToPlotlyDistWithMeta;
|
|
13
|
+
|
|
14
|
+
var pathToPlotlyStrict = constants.pathToPlotlyStrict;
|
|
15
|
+
var pathToPlotlyStrictDist = constants.pathToPlotlyStrictDist;
|
|
16
|
+
var pathToPlotlyStrictDistMin = constants.pathToPlotlyStrictDistMin;
|
|
17
|
+
|
|
13
18
|
var pathToPlotlyGeoAssetsSrc = constants.pathToPlotlyGeoAssetsSrc;
|
|
14
19
|
var pathToPlotlyGeoAssetsDist = constants.pathToPlotlyGeoAssetsDist;
|
|
15
20
|
|
|
@@ -39,6 +44,19 @@ tasks.push(function(done) {
|
|
|
39
44
|
});
|
|
40
45
|
});
|
|
41
46
|
|
|
47
|
+
// Browserify plotly.js-strict
|
|
48
|
+
tasks.push(function(done) {
|
|
49
|
+
_bundle(pathToPlotlyStrict, pathToPlotlyStrictDist, {
|
|
50
|
+
standalone: 'Plotly',
|
|
51
|
+
pathToMinBundle: pathToPlotlyStrictDistMin
|
|
52
|
+
}, function() {
|
|
53
|
+
prependFile(pathToPlotlyStrictDist, header, common.throwOnError);
|
|
54
|
+
prependFile(pathToPlotlyStrictDistMin, header, common.throwOnError);
|
|
55
|
+
|
|
56
|
+
done();
|
|
57
|
+
});
|
|
58
|
+
});
|
|
59
|
+
|
|
42
60
|
// Browserify the geo assets
|
|
43
61
|
tasks.push(function(done) {
|
|
44
62
|
_bundle(pathToPlotlyGeoAssetsSrc, pathToPlotlyGeoAssetsDist, {
|
package/tasks/partial_bundle.js
CHANGED
|
@@ -20,34 +20,37 @@ module.exports = function partialBundle(tasks, opts) {
|
|
|
20
20
|
var transformList = opts.transformList;
|
|
21
21
|
var calendars = opts.calendars;
|
|
22
22
|
|
|
23
|
-
|
|
24
|
-
|
|
23
|
+
// skip strict bundle which is no longer a partial bundle and has a special index file for regl traces
|
|
24
|
+
if(name !== 'strict') {
|
|
25
|
+
tasks.push(function(done) {
|
|
26
|
+
var partialIndex = mainIndex;
|
|
25
27
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
28
|
+
var all = ['calendars'].concat(allTransforms).concat(allTraces);
|
|
29
|
+
var includes = (calendars ? ['calendars'] : []).concat(transformList).concat(traceList);
|
|
30
|
+
var excludes = all.filter(function(e) { return includes.indexOf(e) === -1; });
|
|
29
31
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
32
|
+
excludes.forEach(function(t) {
|
|
33
|
+
var WHITESPACE_BEFORE = '\\s*';
|
|
34
|
+
// remove require
|
|
35
|
+
var newCode = partialIndex.replace(
|
|
36
|
+
new RegExp(
|
|
37
|
+
WHITESPACE_BEFORE +
|
|
38
|
+
'require\\(\'\\./' + t + '\'\\),',
|
|
39
|
+
'g'), ''
|
|
40
|
+
);
|
|
39
41
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
42
|
+
// test removal
|
|
43
|
+
if(newCode === partialIndex) {
|
|
44
|
+
console.error('Unable to find and drop require for ' + t);
|
|
45
|
+
throw 'Error generating index for partial bundle!';
|
|
46
|
+
}
|
|
45
47
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
+
partialIndex = newCode;
|
|
49
|
+
});
|
|
48
50
|
|
|
49
|
-
|
|
50
|
-
|
|
51
|
+
common.writeFile(index, partialIndex, done);
|
|
52
|
+
});
|
|
53
|
+
}
|
|
51
54
|
|
|
52
55
|
tasks.push(function(done) {
|
|
53
56
|
var bundleOpts = {
|
package/tasks/stats.js
CHANGED
|
@@ -123,9 +123,9 @@ function getMainBundleInfo() {
|
|
|
123
123
|
'> The minified version of each partial bundle is also published to npm in a separate "dist-min" package.',
|
|
124
124
|
'',
|
|
125
125
|
[
|
|
126
|
-
'> The strict
|
|
127
|
-
'
|
|
128
|
-
'
|
|
126
|
+
'> The strict bundle now includes all traces, but the regl-based traces are built differently to avoid function constructors.',
|
|
127
|
+
'This results in about a 10% larger bundle size, which is why this method is not used by default.',
|
|
128
|
+
'Over time we intend to use the strict bundle to work on other strict CSP issues such as inline CSS.'
|
|
129
129
|
].join(' '),
|
|
130
130
|
'',
|
|
131
131
|
'---',
|
package/tasks/util/constants.js
CHANGED
|
@@ -16,11 +16,13 @@ function startsWithLowerCase(v) {
|
|
|
16
16
|
return v.charAt(0) !== v.charAt(0).toUpperCase();
|
|
17
17
|
}
|
|
18
18
|
|
|
19
|
+
|
|
19
20
|
var pathToPlotlyIndex = path.join(pathToLib, 'index.js');
|
|
20
21
|
var pathToPlotlyStrict = path.join(pathToLib, 'index-strict.js');
|
|
21
22
|
var mainIndex = fs.readFileSync(pathToPlotlyIndex, 'utf-8');
|
|
22
23
|
var allTraces = fs.readdirSync(path.join(pathToSrc, 'traces'))
|
|
23
24
|
.filter(startsWithLowerCase);
|
|
25
|
+
|
|
24
26
|
var allTransforms = fs.readdirSync(path.join(pathToSrc, 'transforms'))
|
|
25
27
|
.filter(function(v) {
|
|
26
28
|
return startsWithLowerCase(v) && v !== 'helpers.js';
|
|
@@ -133,17 +135,21 @@ var partialBundleTraces = {
|
|
|
133
135
|
'mesh3d',
|
|
134
136
|
'ohlc',
|
|
135
137
|
'parcats',
|
|
138
|
+
'parcoords',
|
|
136
139
|
'pie',
|
|
137
140
|
'pointcloud',
|
|
138
141
|
'sankey',
|
|
139
142
|
'scatter',
|
|
140
|
-
'
|
|
143
|
+
'scattergl',
|
|
141
144
|
'scatter3d',
|
|
142
145
|
'scattercarpet',
|
|
143
146
|
'scattergeo',
|
|
144
147
|
'scattermapbox',
|
|
145
148
|
'scatterpolar',
|
|
149
|
+
'scatterpolargl',
|
|
150
|
+
'scattersmith',
|
|
146
151
|
'scatterternary',
|
|
152
|
+
'splom',
|
|
147
153
|
'streamtube',
|
|
148
154
|
'sunburst',
|
|
149
155
|
'surface',
|
|
@@ -194,6 +200,8 @@ module.exports = {
|
|
|
194
200
|
pathToPlotlyDist: path.join(pathToDist, 'plotly.js'),
|
|
195
201
|
pathToPlotlyDistMin: path.join(pathToDist, 'plotly.min.js'),
|
|
196
202
|
pathToPlotlyDistWithMeta: path.join(pathToDist, 'plotly-with-meta.js'),
|
|
203
|
+
pathToPlotlyStrictDist: path.join(pathToDist, 'plotly-strict.js'),
|
|
204
|
+
pathToPlotlyStrictDistMin: path.join(pathToDist, 'plotly-strict.min.js'),
|
|
197
205
|
|
|
198
206
|
pathToSchemaDiff: path.join(pathToTest, 'plot-schema.json'),
|
|
199
207
|
pathToSchemaDist: path.join(pathToDist, 'plot-schema.json'),
|
|
@@ -201,6 +209,9 @@ module.exports = {
|
|
|
201
209
|
|
|
202
210
|
partialBundleNames: partialBundleNames,
|
|
203
211
|
|
|
212
|
+
reglCodegenSubdir: path.join('generated', 'regl-codegen'),
|
|
213
|
+
pathToReglCodegenSrc: path.join(pathToSrc, 'generated', 'regl-codegen'),
|
|
214
|
+
|
|
204
215
|
pathToTopojsonSrc: pathToTopojsonSrc,
|
|
205
216
|
pathToTopojsonDist: path.join(pathToDist, 'topojson/'),
|
|
206
217
|
pathToPlotlyGeoAssetsSrc: path.join(pathToSrc, 'assets/geo_assets.js'),
|
|
@@ -210,6 +221,7 @@ module.exports = {
|
|
|
210
221
|
pathToCSSBuild: path.join(pathToBuild, 'plotcss.js'),
|
|
211
222
|
|
|
212
223
|
pathToTestDashboardBundle: path.join(pathToBuild, 'test_dashboard-bundle.js'),
|
|
224
|
+
pathToReglCodegenBundle: path.join(pathToBuild, 'regl_codegen-bundle.js'),
|
|
213
225
|
|
|
214
226
|
pathToImageTest: pathToImageTest,
|
|
215
227
|
pathToTestImageMocks: path.join(pathToImageTest, 'mocks/'),
|