From c77ec0f8f8c827b1d7a0c8b16b04e8a1977fb6ed Mon Sep 17 00:00:00 2001 From: archmoj Date: Thu, 30 Jan 2020 16:06:35 -0500 Subject: [PATCH 1/5] fix pick in gl-mesh3d to take into account plotGlPixelRatio --- package-lock.json | 5 ++--- package.json | 2 +- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/package-lock.json b/package-lock.json index d804fafa8ab..b98eea255ca 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4932,9 +4932,8 @@ } }, "gl-mesh3d": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/gl-mesh3d/-/gl-mesh3d-2.2.0.tgz", - "integrity": "sha512-wO6EKjBUo/k7ZLGsMACWGETjmjfsGwwoDWEKjDbjyjo1qPvgkTQQB9Y8p+OKGjE6GeihsfQuoqGBUTu9tiAOmg==", + "version": "git://github.com/gl-vis/gl-mesh3d.git#29f562a1f3ec6124de0dd91022bd8e061780e178", + "from": "git://github.com/gl-vis/gl-mesh3d.git#29f562a1f3ec6124de0dd91022bd8e061780e178", "requires": { "barycentric": "^1.0.1", "colormap": "^2.3.1", diff --git a/package.json b/package.json index f53eb27d1f9..c159a398ae1 100644 --- a/package.json +++ b/package.json @@ -80,7 +80,7 @@ "gl-heatmap2d": "^1.0.5", "gl-line3d": "^1.1.11", "gl-mat4": "^1.2.0", - "gl-mesh3d": "^2.2.0", + "gl-mesh3d": "git://github.com/gl-vis/gl-mesh3d.git#29f562a1f3ec6124de0dd91022bd8e061780e178", "gl-plot2d": "^1.4.2", "gl-plot3d": "^2.4.0", "gl-pointcloud2d": "^1.0.2", From a39a859c8129c22a6d6c9666683d0d10fe3f1f42 Mon Sep 17 00:00:00 2001 From: archmoj Date: Thu, 30 Jan 2020 16:32:52 -0500 Subject: [PATCH 2/5] correct mesh3d, isosurface and volume hover label tests --- test/jasmine/tests/gl3d_hover_click_test.js | 12 ++-- test/jasmine/tests/isosurface_test.js | 61 +++++++++++++++------ test/jasmine/tests/volume_test.js | 26 ++++----- 3 files changed, 62 insertions(+), 37 deletions(-) diff --git a/test/jasmine/tests/gl3d_hover_click_test.js b/test/jasmine/tests/gl3d_hover_click_test.js index 34ff57afc14..aef6e551dd4 100644 --- a/test/jasmine/tests/gl3d_hover_click_test.js +++ b/test/jasmine/tests/gl3d_hover_click_test.js @@ -466,7 +466,7 @@ describe('Test gl3d trace click/hover:', function() { .then(_click) .then(delay(20)) .then(function() { - assertEventData(134.03, -163.59, -163.59, 0, 3); + assertEventData(140.72, -96.97, -96.97, 0, 2); }) .then(done); }); @@ -501,21 +501,21 @@ describe('Test gl3d trace click/hover:', function() { .then(_hover) .then(delay(20)) .then(function() { - assertHoverText('x: 4', 'y: 5', 'z: 3.5', 'ts: 4\nhz: 5\nftt:3.5'); + assertHoverText('x: 3', 'y: 4', 'z: 5', 'ts: 3\nhz: 4\nftt:5'); }) .then(function() { return Plotly.restyle(gd, 'hoverinfo', 'x+y'); }) .then(delay(20)) .then(function() { - assertHoverText('(4, 5)'); + assertHoverText('(3, 4)'); }) .then(function() { return Plotly.restyle(gd, 'hoverinfo', 'text'); }) .then(delay(20)) .then(function() { - assertHoverText('ts: 4\nhz: 5\nftt:3.5'); + assertHoverText('ts: 3\nhz: 4\nftt:5'); }) .then(function() { return Plotly.restyle(gd, 'text', 'yo!'); @@ -531,14 +531,14 @@ describe('Test gl3d trace click/hover:', function() { }) .then(delay(20)) .then(function() { - assertHoverText(null, null, null, 'ts: 4\nhz: 5\nftt:3.5 !!'); + assertHoverText(null, null, null, 'ts: 3\nhz: 4\nftt:5 !!'); }) .then(function() { return Plotly.restyle(gd, 'hovertemplate', '%{x}-%{y}-%{z}'); }) .then(delay(20)) .then(function() { - assertHoverText(null, null, null, '4-5-3.5'); + assertHoverText(null, null, null, '3-4-5'); }) .catch(failTest) .then(done); diff --git a/test/jasmine/tests/isosurface_test.js b/test/jasmine/tests/isosurface_test.js index ade91c673af..2421ca8460d 100644 --- a/test/jasmine/tests/isosurface_test.js +++ b/test/jasmine/tests/isosurface_test.js @@ -324,16 +324,27 @@ describe('Test isosurface', function() { function _hover1() { mouseEvent('mouseover', 200, 200); + return delay(20)(); } function _hover2() { mouseEvent('mouseover', 100, 100); + return delay(20)(); + } + + function _hover3() { + mouseEvent('mouseover', 300, 150); + return delay(20)(); + } + + function _hover4() { + mouseEvent('mouseover', 150, 300); + return delay(20)(); } Plotly.plot(gd, fig) .then(delay(20)) .then(_hover1) - .then(delay(20)) .then(function() { assertHoverLabelContent({ nums: [ @@ -346,47 +357,61 @@ describe('Test isosurface', function() { }) .then(delay(20)) .then(_hover2) - .then(delay(20)) .then(function() { assertHoverLabelContent({ nums: [ - 'x: 0.4', + 'x: 0.3', 'y: 0.001', - 'z: −8', - 'value: −1.28' + 'z: −16', + 'value: −0.27' ].join('\n') }); }) + .then(delay(20)) + .then(_hover3) .then(function() { - return Plotly.restyle(gd, 'hovertext', [ - fig.data[0].value.map(function(v) { return '!! ' + v + ' !!'; }) - ]); + assertHoverLabelContent({ + nums: [ + 'x: 0.2', + 'y: 100μ', + 'z: −16', + 'value: −1.12' + ].join('\n') + }); }) .then(delay(20)) - .then(_hover2) + .then(_hover4) .then(function() { assertHoverLabelContent({ nums: [ 'x: 0.4', - 'y: 0.001', - 'z: −8', - 'value: −1.28', - '!! -1.28 !!' + 'y: 100μ', + 'z: −4', + 'value: −1.3' ].join('\n') }); }) .then(function() { - return Plotly.restyle(gd, 'hovertemplate', '%{value}
(%{x},%{y},%{z})!!'); + return Plotly.restyle(gd, 'hovertext', [ + fig.data[0].value.map(function(v) { return '!! ' + v + ' !!'; }) + ]); }) .then(delay(20)) - .then(_hover2) - .then(delay(20)) + .then(_hover4) .then(function() { assertHoverLabelContent({ - nums: '−1.28\n(0.4,0.001,−8)', - name: '!!' + nums: [ + 'x: 0.4', + 'y: 100μ', + 'z: −4', + 'value: −1.3', + '!! -1.3 !!' + ].join('\n') }); }) + .then(function() { + return Plotly.restyle(gd, 'hovertemplate', '%{value}
(%{x},%{y},%{z})!!'); + }) .catch(failTest) .then(done); }); diff --git a/test/jasmine/tests/volume_test.js b/test/jasmine/tests/volume_test.js index 8965220c9ef..8a3ecf6be89 100644 --- a/test/jasmine/tests/volume_test.js +++ b/test/jasmine/tests/volume_test.js @@ -351,8 +351,8 @@ describe('Test volume', function() { nums: [ 'x: 0.4', 'y: 100μ', - 'z: −8', - 'value: −1.31' + 'z: −16', + 'value: −1.32' ].join('\n') }); }) @@ -361,10 +361,10 @@ describe('Test volume', function() { .then(function() { assertHoverLabelContent({ nums: [ - 'x: 0.4', + 'x: 0.3', 'y: 0.001', 'z: −16', - 'value: −0.32' + 'value: −0.27' ].join('\n') }); }) @@ -375,8 +375,8 @@ describe('Test volume', function() { nums: [ 'x: 0.3', 'y: 100μ', - 'z: −8', - 'value: −1.19' + 'z: −16', + 'value: −1.2' ].join('\n') }); }) @@ -386,9 +386,9 @@ describe('Test volume', function() { assertHoverLabelContent({ nums: [ 'x: 0.4', - 'y: 0.001', - 'z: −2', - 'value: −1.26' + 'y: 100μ', + 'z: −4', + 'value: −1.3' ].join('\n') }); }) @@ -403,10 +403,10 @@ describe('Test volume', function() { assertHoverLabelContent({ nums: [ 'x: 0.4', - 'y: 0.001', - 'z: −2', - 'value: −1.26', - '!! -1.26 !!' + 'y: 100μ', + 'z: −4', + 'value: −1.3', + '!! -1.3 !!' ].join('\n') }); }) From bc01dc0352a0e56e85c0b5cbfd5fb671e93546da Mon Sep 17 00:00:00 2001 From: archmoj Date: Wed, 29 Jan 2020 11:23:52 -0500 Subject: [PATCH 3/5] add mesh3d mock with different coloring and hover template --- test/image/baselines/gl3d_mesh3d_coloring.png | Bin 0 -> 95494 bytes test/image/mocks/gl3d_mesh3d_coloring.json | 139 ++++++++++++++++++ 2 files changed, 139 insertions(+) create mode 100644 test/image/baselines/gl3d_mesh3d_coloring.png create mode 100644 test/image/mocks/gl3d_mesh3d_coloring.json diff --git a/test/image/baselines/gl3d_mesh3d_coloring.png b/test/image/baselines/gl3d_mesh3d_coloring.png new file mode 100644 index 0000000000000000000000000000000000000000..9249a3800bcf8511e4aef66976c9b4121691ce69 GIT binary patch literal 95494 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
-F=r*O^C8f3{HsrBdLtllW%V6yg_XZOW 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 U#&{FYFAPB7>FVdQ&MBb@0P^@cBme*a literal 0 HcmV?d00001 diff --git a/test/image/mocks/gl3d_mesh3d_coloring.json b/test/image/mocks/gl3d_mesh3d_coloring.json new file mode 100644 index 00000000000..1cc56d1d2e3 --- /dev/null +++ b/test/image/mocks/gl3d_mesh3d_coloring.json @@ -0,0 +1,139 @@ +{ + "data": [{ + "showlegend": true, + "x": [0, 1, 0, 1, 0, 1, 0, 1], + "y": [0, 0, 1, 1, 0, 0, 1, 1], + "z": [0, 0, 0, 0, 1, 1, 1, 1], + "i": [0, 3, 4, 7, 0, 6, 1, 7, 0, 5, 2, 7], + "j": [1, 2, 5, 6, 2, 4, 3, 5, 4, 1, 6, 3], + "k": [3, 0, 7, 4, 6, 0, 7, 1, 5, 0, 7, 2], + "vertexcolor": ["#000", "#00F", "#0F0", "#0FF", "#F00", "#F0F", "#FF0", "#FFF"], + "hovertemplate": "x: %{x}
y: %{y}
z: %{z}
vertex color: %{vertexcolor}", + "flatshading": true, + "lightposition": { "x": 1000, "y": 1000, "z": 0 }, + "type": "mesh3d", + "name": "vertex color", + "scene": "scene1" + }, { + "showlegend": true, + "x": [0, 1, 0, 1, 0, 1, 0, 1], + "y": [0, 0, 1, 1, 0, 0, 1, 1], + "z": [0, 0, 0, 0, 1, 1, 1, 1], + "i": [0, 3, 4, 7, 0, 6, 1, 7, 0, 5, 2, 7], + "j": [1, 2, 5, 6, 2, 4, 3, 5, 4, 1, 6, 3], + "k": [3, 0, 7, 4, 6, 0, 7, 1, 5, 0, 7, 2], + "facecolor": [ + "#000", "#000", + "#00F", "#00F", + "#0F0", "#0F0", + "#0FF", "#0FF", + "#F00", "#F00", + "#F0F", "#F0F", + "#FF0", "#FF0", + "#FFF", "#FFF" + ], + "hovertemplate": "x: %{x}
y: %{y}
z: %{z}
face color: %{facecolor}", + "flatshading": true, + "lightposition": { "x": 1000, "y": 1000, "z": 0 }, + "type": "mesh3d", + "name": "face color", + "scene": "scene2" + }, { + "showlegend": true, + "x": [0, 1, 0, 1, 0, 1, 0, 1], + "y": [0, 0, 1, 1, 0, 0, 1, 1], + "z": [0, 0, 0, 0, 1, 1, 1, 1], + "i": [0, 3, 4, 7, 0, 6, 1, 7, 0, 5, 2, 7], + "j": [1, 2, 5, 6, 2, 4, 3, 5, 4, 1, 6, 3], + "k": [3, 0, 7, 4, 6, 0, 7, 1, 5, 0, 7, 2], + "intensity": [1, 2, 3, 4, 5, 6, 7, 8], + "hovertemplate": "x: %{x}
y: %{y}
z: %{z}
vertex intensity: %{intensity}", + "showscale": true, + "colorscale": "Portland", + "colorbar": { + "title": "vertex
intensity", + "len": 0.5, + "y": 0, + "yanchor": "bottom" + }, + "flatshading": true, + "lightposition": { "x": 1000, "y": 1000, "z": 0 }, + "type": "mesh3d", + "name": "vertex intensity", + "scene": "scene3" + }, { + "showlegend": true, + "x": [0, 1, 0, 1, 0, 1, 0, 1], + "y": [0, 0, 1, 1, 0, 0, 1, 1], + "z": [0, 0, 0, 0, 1, 1, 1, 1], + "i": [0, 3, 4, 7, 0, 6, 1, 7, 0, 5, 2, 7], + "j": [1, 2, 5, 6, 2, 4, 3, 5, 4, 1, 6, 3], + "k": [3, 0, 7, 4, 6, 0, 7, 1, 5, 0, 7, 2], + "intensity": [ + 1, 1, + 2, 2, + 3, 3, + 4, 4, + 5, 5, + 6, 6 + ], + "intensitymode": "cell", + "hovertemplate": "x: %{x}
y: %{y}
z: %{z}
cell intensity: %{intensity}", + "showscale": true, + "colorbar": { + "title": "cell
intensity", + "len": 0.5, + "y": 0.5, + "yanchor": "bottom" + }, + "flatshading": true, + "lightposition": { "x": 1000, "y": 1000, "z": 0 }, + "type": "mesh3d", + "name": "cell intensity", + "scene": "scene4" + }], + "layout": { + "width": 800, + "height": 800, + "legend": { + "bgcolor": "#eee", + "orientation": "h", + "title": { + "text": "mesh3d with different coloring:", + "side": "top left" + } + }, + "scene1": { + "bgcolor": "#eee", + "domain": { + "x": [0, 0.5], + "y": [0, 0.5] + }, + "camera": { "eye": { "x": 2, "y": -1.5, "z": 1 } } + }, + "scene2": { + "bgcolor": "#eee", + "domain": { + "x": [0, 0.5], + "y": [0.5, 1] + }, + "camera": { "eye": { "x": 2, "y": -1.5, "z": 1 } } + }, + "scene3": { + "bgcolor": "#eee", + "domain": { + "x": [0.5, 1], + "y": [0, 0.5] + }, + "camera": { "eye": { "x": 2, "y": -1.5, "z": 1 } } + }, + "scene4": { + "bgcolor": "#eee", + "domain": { + "x": [0.5, 1], + "y": [0.5, 1] + }, + "camera": { "eye": { "x": 2, "y": -1.5, "z": 1 } } + } + } +} From 30532bd0446655e8eb16ba43430dd1ca8572b735 Mon Sep 17 00:00:00 2001 From: archmoj Date: Thu, 30 Jan 2020 17:20:49 -0500 Subject: [PATCH 4/5] add hover test on mesh3d with face colors --- test/jasmine/tests/gl3d_hover_click_test.js | 54 +++++++++++++++++++++ 1 file changed, 54 insertions(+) diff --git a/test/jasmine/tests/gl3d_hover_click_test.js b/test/jasmine/tests/gl3d_hover_click_test.js index aef6e551dd4..1c78346db90 100644 --- a/test/jasmine/tests/gl3d_hover_click_test.js +++ b/test/jasmine/tests/gl3d_hover_click_test.js @@ -13,6 +13,7 @@ var assertHoverLabelStyle = customAssertions.assertHoverLabelStyle; var assertHoverLabelContent = customAssertions.assertHoverLabelContent; var mock = require('@mocks/gl3d_marker-arrays.json'); +var mesh3dcoloringMock = require('@mocks/gl3d_mesh3d_coloring.json'); var multipleScatter3dMock = require('@mocks/gl3d_multiple-scatter3d-traces.json'); // lines, markers, text, error bars and surfaces each @@ -544,6 +545,59 @@ describe('Test gl3d trace click/hover:', function() { .then(done); }); + it('@gl should display correct face colors', function(done) { + var fig = mesh3dcoloringMock; + + Plotly.newPlot(gd, fig) + .then(delay(20)) + .then(function() { mouseEvent('mouseover', 200, 200); }) + .then(delay(20)) + .then(function() { + assertHoverText( + 'x: 1', + 'y: 0', + 'z: 1', + 'face color: #0F0', + 'face color' + ); + }) + .then(function() { mouseEvent('mouseover', 300, 200); }) + .then(delay(20)) + .then(function() { + assertHoverText( + 'x: 1', + 'y: 1', + 'z: 1', + 'face color: #0FF', + 'face color' + ); + }) + .then(function() { mouseEvent('mouseover', 300, 300); }) + .then(delay(20)) + .then(function() { + assertHoverText( + 'x: 1', + 'y: 1', + 'z: 0', + 'face color: #00F', + 'face color' + ); + }) + .then(function() { mouseEvent('mouseover', 200, 300); }) + .then(delay(20)) + .then(function() { + assertHoverText( + 'x: 0', + 'y: 0', + 'z: 0', + 'face color: #000', + 'face color' + ); + }) + .catch(failTest) + .then(done); + }); + it('@gl should pick latest & closest points on hover if two points overlap', function(done) { var _mock = Lib.extendDeep({}, mock4); From e386e5fdbf9e2decc85789523631ebb91f5e1f0f Mon Sep 17 00:00:00 2001 From: archmoj Date: Fri, 31 Jan 2020 10:51:05 -0500 Subject: [PATCH 5/5] bump gl-mesh3d v2.2.1 --- package-lock.json | 5 +++-- package.json | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index b98eea255ca..af6a963adff 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4932,8 +4932,9 @@ } }, "gl-mesh3d": { - "version": "git://github.com/gl-vis/gl-mesh3d.git#29f562a1f3ec6124de0dd91022bd8e061780e178", - "from": "git://github.com/gl-vis/gl-mesh3d.git#29f562a1f3ec6124de0dd91022bd8e061780e178", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/gl-mesh3d/-/gl-mesh3d-2.2.1.tgz", + "integrity": "sha512-5CNkp/0ojfhgOmVPzostNha166SQWnyESDLMmpJUK9vEgszNVw/jr08OXqKqPpeI98ptM28I1Fls6fU68YsLeA==", "requires": { "barycentric": "^1.0.1", "colormap": "^2.3.1", diff --git a/package.json b/package.json index c159a398ae1..11a277ace72 100644 --- a/package.json +++ b/package.json @@ -80,7 +80,7 @@ "gl-heatmap2d": "^1.0.5", "gl-line3d": "^1.1.11", "gl-mat4": "^1.2.0", - "gl-mesh3d": "git://github.com/gl-vis/gl-mesh3d.git#29f562a1f3ec6124de0dd91022bd8e061780e178", + "gl-mesh3d": "^2.2.1", "gl-plot2d": "^1.4.2", "gl-plot3d": "^2.4.0", "gl-pointcloud2d": "^1.0.2",