Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug] Column Layer not rendering on Samsung's latest devices with Chrome 120 (eg: S23, S22, Fold) #8411

Closed
1 of 7 tasks
gyanender-singh-phonepe opened this issue Jan 16, 2024 · 20 comments · Fixed by #8843
Closed
1 of 7 tasks
Labels

Comments

@gyanender-singh-phonepe

Description

I am encountering a rendering issue with the Column Layer in deck.gl specifically on Samsung S23 and Fold devices. Upon opening a page containing the Column Layer, the browser becomes unresponsive, and the layer fails to render properly. Additionally, the example provided in deck.gl's documentation (deck.gl/docs/api-reference/layers/column-layer) also exhibits the same problem.

Actual Behavior
The browser becomes unresponsive, and the Column Layer fails to render as expected. I observed GLSL compilation errors in the fragment shader column-layer-fragment-shader-1.

Screenshots
Breaking on S23 chrome:
Screenshot 2024-01-16 at 5 33 47 PM

Working on S23 Samsung browser:
Screenshot 2024-01-16 at 5 35 34 PM

Flavors

  • Script tag
  • React
  • Python/Jupyter notebook
  • MapboxOverlay
  • GoogleMapsOverlay
  • CartoLayer
  • ArcGIS

Expected Behavior

The Column Layer should render correctly without causing the browser to freeze on Samsung S23 or Fold devices.

Steps to Reproduce

Visit https://deck.gl/docs/api-reference/layers/column-layer on Samsung's S23, S22 or Fold.

Environment

  • Framework version: 8.8.17
  • Browser: Chrome 120
  • OS: Android (Samsung)

Chrome Version:
Screenshot 2024-01-16 at 5 44 07 PM

Logs

8981.607e90c2.js:2 luma.gl: GLSL compilation errors in fragment shader column-layer-fragment-shader-1

_compile @ 8981.607e90c2.js:2
initialize @ 8981.607e90c2.js:2
P @ 8981.607e90c2.js:2
B @ 8981.607e90c2.js:2
initialize @ 8981.607e90c2.js:2
V @ 8981.607e90c2.js:2
get @ 8981.607e90c2.js:2
_checkProgram @ 8981.607e90c2.js:2
initialize @ 8981.607e90c2.js:2
k @ 8981.607e90c2.js:2
_getModel @ 0434f321.9a12e4b0.js:1
updateState @ 0434f321.9a12e4b0.js:1
_update @ 0434f321.9a12e4b0.js:1
_initialize @ 0434f321.9a12e4b0.js:1
_initializeLayer @ 0434f321.9a12e4b0.js:1
_updateSublayersRecursively @ 0434f321.9a12e4b0.js:1
_updateLayers @ 0434f321.9a12e4b0.js:1
setLayers @ 0434f321.9a12e4b0.js:1
updateLayers @ 0434f321.9a12e4b0.js:1
_onRenderFrame @ 0434f321.9a12e4b0.js:1
onRender @ 8981.607e90c2.js:2
_renderFrame @ 8981.607e90c2.js:2
redraw @ 8981.607e90c2.js:2
t @ 8981.607e90c2.js:2
requestAnimationFrame (async)
_requestAnimationFrame @ 8981.607e90c2.js:2
_startLoop @ 8981.607e90c2.js:2
(anonymous) @ 8981.607e90c2.js:2
Promise.then (async)
start @ 8981.607e90c2.js:2
Q @ 0434f321.9a12e4b0.js:1
(anonymous) @ 0434f321.9a12e4b0.js:1
(anonymous) @ 0434f321.9a12e4b0.js:1
as @ main.4fe5f596.js:2
Sc @ main.4fe5f596.js:2
(anonymous) @ main.4fe5f596.js:2
x @ main.4fe5f596.js:2
L @ main.4fe5f596.js:2
8981.607e90c2.js:2 luma.gl: GLSL compilation warnings in fragment shader column-layer-fragment-shader-1

_compile @ 8981.607e90c2.js:2
initialize @ 8981.607e90c2.js:2
P @ 8981.607e90c2.js:2
B @ 8981.607e90c2.js:2
initialize @ 8981.607e90c2.js:2
V @ 8981.607e90c2.js:2
get @ 8981.607e90c2.js:2
_checkProgram @ 8981.607e90c2.js:2
initialize @ 8981.607e90c2.js:2
k @ 8981.607e90c2.js:2
_getModel @ 0434f321.9a12e4b0.js:1
updateState @ 0434f321.9a12e4b0.js:1
_update @ 0434f321.9a12e4b0.js:1
_initialize @ 0434f321.9a12e4b0.js:1
_initializeLayer @ 0434f321.9a12e4b0.js:1
_updateSublayersRecursively @ 0434f321.9a12e4b0.js:1
_updateLayers @ 0434f321.9a12e4b0.js:1
setLayers @ 0434f321.9a12e4b0.js:1
updateLayers @ 0434f321.9a12e4b0.js:1
_onRenderFrame @ 0434f321.9a12e4b0.js:1
onRender @ 8981.607e90c2.js:2
_renderFrame @ 8981.607e90c2.js:2
redraw @ 8981.607e90c2.js:2
t @ 8981.607e90c2.js:2
requestAnimationFrame (async)
_requestAnimationFrame @ 8981.607e90c2.js:2
_startLoop @ 8981.607e90c2.js:2
(anonymous) @ 8981.607e90c2.js:2
Promise.then (async)
start @ 8981.607e90c2.js:2
Q @ 0434f321.9a12e4b0.js:1
(anonymous) @ 0434f321.9a12e4b0.js:1
(anonymous) @ 0434f321.9a12e4b0.js:1
as @ main.4fe5f596.js:2
Sc @ main.4fe5f596.js:2
(anonymous) @ main.4fe5f596.js:2
x @ main.4fe5f596.js:2
L @ main.4fe5f596.js:2
0434f321.9a12e4b0.js:1 deck: initialization of ColumnLayer({id: 'ColumnLayer'}): GLSL compilation errors in fragment shader column-layer-fragment-shader-1 Error: GLSL compilation errors in fragment shader column-layer-fragment-shader-1
    at B._compile (8981.607e90c2.js:2)
    at B.initialize (8981.607e90c2.js:2)
    at new P (8981.607e90c2.js:2)
    at new B (8981.607e90c2.js:2)
    at V.initialize (8981.607e90c2.js:2)
    at new V (8981.607e90c2.js:2)
    at Z.get (8981.607e90c2.js:2)
    at k._checkProgram (8981.607e90c2.js:2)
    at k.initialize (8981.607e90c2.js:2)
    at new k (8981.607e90c2.js:2)
onError @ 0434f321.9a12e4b0.js:1
raiseError @ 0434f321.9a12e4b0.js:1
_handleError @ 0434f321.9a12e4b0.js:1
_initializeLayer @ 0434f321.9a12e4b0.js:1
_updateSublayersRecursively @ 0434f321.9a12e4b0.js:1
_updateLayers @ 0434f321.9a12e4b0.js:1
setLayers @ 0434f321.9a12e4b0.js:1
updateLayers @ 0434f321.9a12e4b0.js:1
_onRenderFrame @ 0434f321.9a12e4b0.js:1
onRender @ 8981.607e90c2.js:2
_renderFrame @ 8981.607e90c2.js:2
redraw @ 8981.607e90c2.js:2
t @ 8981.607e90c2.js:2
requestAnimationFrame (async)
_requestAnimationFrame @ 8981.607e90c2.js:2
_startLoop @ 8981.607e90c2.js:2
(anonymous) @ 8981.607e90c2.js:2
Promise.then (async)
start @ 8981.607e90c2.js:2
Q @ 0434f321.9a12e4b0.js:1
(anonymous) @ 0434f321.9a12e4b0.js:1
(anonymous) @ 0434f321.9a12e4b0.js:1
as @ main.4fe5f596.js:2
Sc @ main.4fe5f596.js:2
(anonymous) @ main.4fe5f596.js:2
x @ main.4fe5f596.js:2
L @ main.4fe5f596.js:2
0434f321.9a12e4b0.js:1 deck: drawing ColumnLayer({id: 'ColumnLayer'}) to screen: Cannot read properties of undefined (reading 'setUniforms') TypeError: Cannot read properties of undefined (reading 'setUniforms')
    at _.draw (0434f321.9a12e4b0.js:1)
    at 0434f321.9a12e4b0.js:1
    at H (8981.607e90c2.js:2)
    at _._drawLayer (0434f321.9a12e4b0.js:1)
    at S._drawLayersInViewport (0434f321.9a12e4b0.js:1)
    at S._drawLayers (0434f321.9a12e4b0.js:1)
    at S.render (0434f321.9a12e4b0.js:1)
    at k.renderLayers (0434f321.9a12e4b0.js:1)
    at Q._drawLayers (0434f321.9a12e4b0.js:1)
    at g (0434f321.9a12e4b0.js:1)
onError @ 0434f321.9a12e4b0.js:1
raiseError @ 0434f321.9a12e4b0.js:1
_drawLayersInViewport @ 0434f321.9a12e4b0.js:1
_drawLayers @ 0434f321.9a12e4b0.js:1
render @ 0434f321.9a12e4b0.js:1
renderLayers @ 0434f321.9a12e4b0.js:1
_drawLayers @ 0434f321.9a12e4b0.js:1
g @ 0434f321.9a12e4b0.js:1
(anonymous) @ 0434f321.9a12e4b0.js:1
as @ main.4fe5f596.js:2
ks @ main.4fe5f596.js:2
ws @ main.4fe5f596.js:2
vs @ main.4fe5f596.js:2
(anonymous) @ main.4fe5f596.js:2
xc @ main.4fe5f596.js:2
cc @ main.4fe5f596.js:2
$a @ main.4fe5f596.js:2
rc @ main.4fe5f596.js:2
nl @ main.4fe5f596.js:2
forceUpdate @ 0434f321.9a12e4b0.js:1
_customRender @ 0434f321.9a12e4b0.js:1
redraw @ 0434f321.9a12e4b0.js:1
_onRenderFrame @ 0434f321.9a12e4b0.js:1
onRender @ 8981.607e90c2.js:2
_renderFrame @ 8981.607e90c2.js:2
redraw @ 8981.607e90c2.js:2
t @ 8981.607e90c2.js:2
requestAnimationFrame (async)
_requestAnimationFrame @ 8981.607e90c2.js:2
_startLoop @ 8981.607e90c2.js:2
(anonymous) @ 8981.607e90c2.js:2
Promise.then (async)
start @ 8981.607e90c2.js:2
Q @ 0434f321.9a12e4b0.js:1
(anonymous) @ 0434f321.9a12e4b0.js:1
(anonymous) @ 0434f321.9a12e4b0.js:1
as @ main.4fe5f596.js:2
Sc @ main.4fe5f596.js:2
(anonymous) @ main.4fe5f596.js:2
x @ main.4fe5f596.js:2
L @ main.4fe5f596.js:2
0434f321.9a12e4b0.js:1 deck: drawing ColumnLayer({id: 'ColumnLayer'}) to screen: Cannot read properties of undefined (reading 'setUniforms') TypeError: Cannot read properties of undefined (reading 'setUniforms')
    at _.draw (0434f321.9a12e4b0.js:1)
    at 0434f321.9a12e4b0.js:1
    at H (8981.607e90c2.js:2)
    at _._drawLayer (0434f321.9a12e4b0.js:1)
    at S._drawLayersInViewport (0434f321.9a12e4b0.js:1)
    at S._drawLayers (0434f321.9a12e4b0.js:1)
    at S.render (0434f321.9a12e4b0.js:1)
    at k.renderLayers (0434f321.9a12e4b0.js:1)
    at Q._drawLayers (0434f321.9a12e4b0.js:1)
    at g (0434f321.9a12e4b0.js:1)
@ankurparihar
Copy link

Same 💯

@Pessimistress
Copy link
Collaborator

May have to do with the use of directives in the fragment shader.

We don't have a Samsung device for testing. Any suggestions how we can test a fix?

@gyanender-singh-phonepe
Copy link
Author

Hi @Pessimistress , thanks for the response,

we can test the changes if you have accessible staging/testing environment URLs.
Or we can try building your changes on our end and help with the testing.

or if you have browserstack sub, we can make use of that as well.

@Pessimistress
Copy link
Collaborator

@gyanender-singh-phonepe Appreciate your help! Can you try set the flatShading prop to true and see if the shader compiles?

@gyanender-singh-phonepe
Copy link
Author

@Pessimistress We tried adding the flatShading prop. It didn't work.
This is how we added the prop (we have added it 3 times to make sure it is passed to the correct layer):

new HexagonLayer({
    data,
    colorRange: [],
    coverage: 0.9,
    opacity: 0.4,
    useDevicePixels: false,
    radius: 7500,
    elevationRange: [0, 100],
    elevationScale: 3500,
    extruded: true,
    pickable: false,
    material: {
      ambient: 0.64,
      diffuse: 0.6,
      shininess: 320,
      specularColor: [51, 51, 51],
    },
    transitions: {
      getElevationValue: 1000,
    },
    flatShading: true,
    _subLayerProps: {
      "hexagon-cell": { flatShading: true },
      "HexagonLayer-hexagon-cell": { flatShading: true },
    },
  })

Getting the same error:

Screenshot 2024-01-31 at 1 05 28 PM

@ankurparihar
Copy link

I tried to trace it commit by commit. It's breaking since this commit @Pessimistress , 3679a92

@Pessimistress
Copy link
Collaborator

Your issue is about the v8 release. That commit is not in production.

@ankurparihar
Copy link

Not sure, I was checking the local setup of deck.gl as mentioned in - CONTRIBUTING.md

This layer breaks like this -
Screenshot_20240204_002746_Chrome

If not related to our use case, this might be some other issue. Let me try to narrow it down more.

@Pessimistress
Copy link
Collaborator

You should use the 8.9-release branch then. Master branch's render pipeline is rewritten completely.

@ankurparihar
Copy link

okay

@ankurparihar
Copy link

breaking since both 8.7.0-beta.7 and 8.7.0

@Pessimistress
Copy link
Collaborator

@gyanender-singh-phonepe can you test ColumnLayer directly?

@ankurparihar
Copy link

been trying to compile the 8.7-release for past 2 hours, but with no luck

Details

~/w/github/visgl/deck.gl/examples/layer-browser  8.7-release *2 !2  yarn && yarn start-local                                                                              ✔  16.20.2  
yarn install v1.22.21
[1/4] 🔍  Resolving packages...
success Already up-to-date.
✨  Done in 0.13s.
yarn run v1.22.21
$ webpack-dev-server --env.es6 --progress --hot --open
10% building 1/1 modules 0 activeℹ 「wds」: Project is running at http://localhost:8080/
ℹ 「wds」: webpack output is served from /
ℹ 「wds」: Content not from webpack is served from /Users/ankur.parihar/workspace/github/visgl/deck.gl/examples/layer-browser
11% building 15/15 modules 0 activeℹ 「wdm」: wait until bundle finished: /
✖ 「wdm」: Hash: 96d33d24b8a2fc74a342
Version: webpack 4.47.0
Time: 5083ms
Built at: 02/04/2024 3:07:55 AM
     Asset      Size  Chunks                   Chunk Names
    app.js  7.73 MiB     app  [emitted]        app
app.js.map  10.3 MiB     app  [emitted] [dev]  app
Entrypoint app = app.js app.js.map
[0] multi (webpack)-dev-server/client?http://localhost:8080 (webpack)/hot/dev-server.js ./src 52 bytes {app} [built]
[../../node_modules/react/index.js] /Users/ankur.parihar/workspace/github/visgl/deck.gl/node_modules/react/index.js 190 bytes {app} [built]
[./node_modules/react-dom/index.js] 1.33 KiB {app} [built]
[./node_modules/strip-ansi/index.js] 220 bytes {app} [built]
[./node_modules/webpack-dev-server/client/index.js?http://localhost:8080] (webpack)-dev-server/client?http://localhost:8080 4.29 KiB {app} [built]
[./node_modules/webpack-dev-server/client/overlay.js] (webpack)-dev-server/client/overlay.js 3.52 KiB {app} [built]
[./node_modules/webpack-dev-server/client/socket.js] (webpack)-dev-server/client/socket.js 1.53 KiB {app} [built]
[./node_modules/webpack-dev-server/client/utils/createSocketUrl.js] (webpack)-dev-server/client/utils/createSocketUrl.js 2.91 KiB {app} [built]
[./node_modules/webpack-dev-server/client/utils/log.js] (webpack)-dev-server/client/utils/log.js 964 bytes {app} [built]
[./node_modules/webpack-dev-server/client/utils/reloadApp.js] (webpack)-dev-server/client/utils/reloadApp.js 1.59 KiB {app} [built]
[./node_modules/webpack-dev-server/client/utils/sendMessage.js] (webpack)-dev-server/client/utils/sendMessage.js 402 bytes {app} [built]
[./node_modules/webpack/hot sync ^\.\/log$] (webpack)/hot sync nonrecursive ^\.\/log$ 170 bytes {app} [built]
[./node_modules/webpack/hot/dev-server.js] (webpack)/hot/dev-server.js 1.59 KiB {app} [built]
[./node_modules/webpack/hot/emitter.js] (webpack)/hot/emitter.js 75 bytes {app} [built]
[./src/index.js] 970 bytes {app} [built]
    + 987 hidden modules

ERROR in /Users/ankur.parihar/workspace/github/visgl/deck.gl/modules/geo-layers/src/tile-3d-layer/tile-3d-layer.js 105:46
Module parse failed: Unexpected token (105:46)
File was processed with these loaders:
 * ./node_modules/babel-loader/lib/index.js
 * ./node_modules/babel-loader/lib/index.js
 * ../../node_modules/source-map-loader/index.js
You may need an additional loader to handle the result of these loaders.
|     this.internalState.viewport = viewport;
|     activeViewports[viewport.id] = viewport;
>     const lastViewport = lastUpdatedViewports?.[viewport.id];
|     if (!lastViewport || !viewport.equals(lastViewport)) {
|       this.setChangeFlags({
 @ /Users/ankur.parihar/workspace/github/visgl/deck.gl/modules/geo-layers/src/index.ts 29:0-71 29:0-71
 @ ./src/examples/additional-layers.js
 @ ./src/examples/index.js
 @ ./src/app.js
 @ ./src/index.js

ERROR in /Users/ankur.parihar/workspace/github/visgl/deck.gl/modules/layers/src/bitmap-layer/bitmap-layer.js 108:23
Module parse failed: Unexpected token (108:23)
File was processed with these loaders:
 * ./node_modules/babel-loader/lib/index.js
 * ./node_modules/babel-loader/lib/index.js
 * ../../node_modules/source-map-loader/index.js
You may need an additional loader to handle the result of these loaders.
|         gl
|       } = this.context;
>       this.state.model?.delete();
|       this.state.model = this._getModel(gl);
|       this.getAttributeManager().invalidateAll();
 @ /Users/ankur.parihar/workspace/github/visgl/deck.gl/modules/layers/src/index.ts 24:0-69 24:0-69
 @ ./src/app.js
 @ ./src/index.js

ERROR in /Users/ankur.parihar/workspace/github/visgl/deck.gl/modules/core/src/lib/layer.js 111:27
Module parse failed: Unexpected token (111:27)
File was processed with these loaders:
 * ./node_modules/babel-loader/lib/index.js
 * ./node_modules/babel-loader/lib/index.js
 * ../../node_modules/source-map-loader/index.js
You may need an additional loader to handle the result of these loaders.
|           ...loadOptions,
|           fetch: {
>             ...loadOptions?.fetch,
|             signal
|           }
 @ /Users/ankur.parihar/workspace/github/visgl/deck.gl/modules/core/src/index.ts 47:0-47 47:0-47
 @ ./src/app.js
 @ ./src/index.js

ERROR in /Users/ankur.parihar/workspace/github/visgl/deck.gl/modules/core/src/passes/pick-layers-pass.ts 11:10
Module parse failed: Unexpected token (11:10)
File was processed with these loaders:
 * ./node_modules/babel-loader/lib/index.js
You may need an additional loader to handle the result of these loaders.
| };
| export default class PickLayersPass extends LayersPass {
>   _colors = null;
|   render(props) {
|     if (props.pickingFBO) {
 @ /Users/ankur.parihar/workspace/github/visgl/deck.gl/modules/core/src/lib/deck-renderer.js 3:0-56 12:30-44
 @ /Users/ankur.parihar/workspace/github/visgl/deck.gl/modules/core/src/index.ts
 @ ./src/app.js
 @ ./src/index.js

ERROR in /Users/ankur.parihar/workspace/github/visgl/deck.gl/modules/layers/src/line-layer/line-layer.js 124:23
Module parse failed: Unexpected token (124:23)
File was processed with these loaders:
 * ./node_modules/babel-loader/lib/index.js
 * ./node_modules/babel-loader/lib/index.js
 * ../../node_modules/source-map-loader/index.js
You may need an additional loader to handle the result of these loaders.
|         gl
|       } = this.context;
>       this.state.model?.delete();
|       this.state.model = this._getModel(gl);
|       this.getAttributeManager().invalidateAll();
 @ /Users/ankur.parihar/workspace/github/visgl/deck.gl/modules/layers/src/index.ts 26:0-63 26:0-63
 @ ./src/app.js
 @ ./src/index.js

ERROR in /Users/ankur.parihar/workspace/github/visgl/deck.gl/modules/layers/src/text-layer/text-background-layer/text-background-layer.js 124:23
Module parse failed: Unexpected token (124:23)
File was processed with these loaders:
 * ./node_modules/babel-loader/lib/index.js
 * ./node_modules/babel-loader/lib/index.js
 * ../../node_modules/source-map-loader/index.js
You may need an additional loader to handle the result of these loaders.
|         gl
|       } = this.context;
>       this.state.model?.delete();
|       this.state.model = this._getModel(gl);
|       this.getAttributeManager().invalidateAll();
 @ /Users/ankur.parihar/workspace/github/visgl/deck.gl/modules/layers/src/index.ts 39:0-107 39:0-107
 @ ./src/app.js
 @ ./src/index.js

ERROR in /Users/ankur.parihar/workspace/github/visgl/deck.gl/modules/layers/src/point-cloud-layer/point-cloud-layer.js 125:23
Module parse failed: Unexpected token (125:23)
File was processed with these loaders:
 * ./node_modules/babel-loader/lib/index.js
 * ./node_modules/babel-loader/lib/index.js
 * ../../node_modules/source-map-loader/index.js
You may need an additional loader to handle the result of these loaders.
|         gl
|       } = this.context;
>       this.state.model?.delete();
|       this.state.model = this._getModel(gl);
|       this.getAttributeManager().invalidateAll();
 @ /Users/ankur.parihar/workspace/github/visgl/deck.gl/modules/layers/src/index.ts 27:0-83 27:0-83
 @ ./src/app.js
 @ ./src/index.js

ERROR in /Users/ankur.parihar/workspace/github/visgl/deck.gl/modules/geo-layers/src/terrain-layer/terrain-layer.js 134:23
Module parse failed: Unexpected token (134:23)
File was processed with these loaders:
 * ./node_modules/babel-loader/lib/index.js
 * ./node_modules/babel-loader/lib/index.js
 * ../../node_modules/source-map-loader/index.js
You may need an additional loader to handle the result of these loaders.
|       terrain: {
|         skirtHeight: this.state.isTiled ? meshMaxError * 2 : 0,
>         ...loadOptions?.terrain,
|         bounds,
|         meshMaxError,
 @ /Users/ankur.parihar/workspace/github/visgl/deck.gl/modules/geo-layers/src/index.ts 30:0-72 30:0-72
 @ ./src/examples/additional-layers.js
 @ ./src/examples/index.js
 @ ./src/app.js
 @ ./src/index.js

ERROR in /Users/ankur.parihar/workspace/github/visgl/deck.gl/modules/extensions/src/fill-style/fill-style.js 135:19
Module parse failed: Unexpected token (135:19)
File was processed with these loaders:
 * ./node_modules/babel-loader/lib/index.js
 * ./node_modules/babel-loader/lib/index.js
 * ../../node_modules/source-map-loader/index.js
You may need an additional loader to handle the result of these loaders.
|       emptyTexture
|     } = this.state;
>     patternTexture?.delete();
|     emptyTexture?.delete();
|   }
 @ /Users/ankur.parihar/workspace/github/visgl/deck.gl/modules/extensions/src/index.ts 5:0-72 5:0-72
 @ ./src/examples/core-layers.js
 @ ./src/examples/index.js
 @ ./src/app.js
 @ ./src/index.js

ERROR in /Users/ankur.parihar/workspace/github/visgl/deck.gl/modules/geo-layers/src/mvt-layer/mvt-layer.js 148:23
Module parse failed: Unexpected token (148:23)
File was processed with these loaders:
 * ./node_modules/babel-loader/lib/index.js
 * ./node_modules/babel-loader/lib/index.js
 * ../../node_modules/source-map-loader/index.js
You may need an additional loader to handle the result of these loaders.
|       mimeType: 'application/x-protobuf',
|       mvt: {
>         ...loadOptions?.mvt,
|         coordinates: this.context.viewport.resolution ? 'wgs84' : 'local',
|         tileIndex: {
 @ /Users/ankur.parihar/workspace/github/visgl/deck.gl/modules/geo-layers/src/index.ts 31:0-60 31:0-60
 @ ./src/examples/additional-layers.js
 @ ./src/examples/index.js
 @ ./src/app.js
 @ ./src/index.js

ERROR in /Users/ankur.parihar/workspace/github/visgl/deck.gl/modules/aggregation-layers/src/screen-grid-layer/screen-grid-layer.js 151:22
Module parse failed: Unexpected token (151:22)
File was processed with these loaders:
 * ./node_modules/babel-loader/lib/index.js
 * ./node_modules/babel-loader/lib/index.js
 * ../../node_modules/source-map-loader/index.js
You may need an additional loader to handle the result of these loaders.
|       maxTexture
|     } = this.state;
>     aggregationBuffer?.delete();
|     maxBuffer?.delete();
|     maxTexture?.delete();
 @ /Users/ankur.parihar/workspace/github/visgl/deck.gl/modules/aggregation-layers/src/index.ts 22:0-83 22:0-83
 @ ./src/examples/aggregation-layers.js
 @ ./src/examples/index.js
 @ ./src/app.js
 @ ./src/index.js

ERROR in /Users/ankur.parihar/workspace/github/visgl/deck.gl/modules/layers/src/arc-layer/arc-layer.js 158:23
Module parse failed: Unexpected token (158:23)
File was processed with these loaders:
 * ./node_modules/babel-loader/lib/index.js
 * ./node_modules/babel-loader/lib/index.js
 * ../../node_modules/source-map-loader/index.js
You may need an additional loader to handle the result of these loaders.
|         gl
|       } = this.context;
>       this.state.model?.delete();
|       this.state.model = this._getModel(gl);
|       this.getAttributeManager().invalidateAll();
 @ /Users/ankur.parihar/workspace/github/visgl/deck.gl/modules/layers/src/index.ts 23:0-60 23:0-60
 @ ./src/app.js
 @ ./src/index.js

ERROR in /Users/ankur.parihar/workspace/github/visgl/deck.gl/modules/layers/src/scatterplot-layer/scatterplot-layer.js 159:23
Module parse failed: Unexpected token (159:23)
File was processed with these loaders:
 * ./node_modules/babel-loader/lib/index.js
 * ./node_modules/babel-loader/lib/index.js
 * ../../node_modules/source-map-loader/index.js
You may need an additional loader to handle the result of these loaders.
|         gl
|       } = this.context;
>       this.state.model?.delete();
|       this.state.model = this._getModel(gl);
|       this.getAttributeManager().invalidateAll();
 @ /Users/ankur.parihar/workspace/github/visgl/deck.gl/modules/layers/src/index.ts 28:0-84 28:0-84
 @ ./src/app.js
 @ ./src/index.js

ERROR in /Users/ankur.parihar/workspace/github/visgl/deck.gl/modules/core/src/effects/mask/mask-effect.js 167:48
Module parse failed: Unexpected token (167:48)
File was processed with these loaders:
 * ./node_modules/babel-loader/lib/index.js
 * ./node_modules/babel-loader/lib/index.js
 * ../../node_modules/source-map-loader/index.js
You may need an additional loader to handle the result of these loaders.
|         channelInfo = {
|           id,
>           index: this.channels.findIndex(c => c?.id === id),
|           layers: [],
|           layerBounds: [],
 @ /Users/ankur.parihar/workspace/github/visgl/deck.gl/modules/core/src/lib/effect-manager.ts 3:0-53 42:35-45
 @ /Users/ankur.parihar/workspace/github/visgl/deck.gl/modules/core/src/lib/deck.js
 @ /Users/ankur.parihar/workspace/github/visgl/deck.gl/modules/core/src/index.ts
 @ ./src/app.js
 @ ./src/index.js

ERROR in /Users/ankur.parihar/workspace/github/visgl/deck.gl/modules/aggregation-layers/src/utils/gpu-grid-aggregation/gpu-grid-aggregator.js 171:25
Module parse failed: Unexpected token (171:25)
File was processed with these loaders:
 * ./node_modules/babel-loader/lib/index.js
 * ./node_modules/babel-loader/lib/index.js
 * ../../node_modules/source-map-loader/index.js
You may need an additional loader to handle the result of these loaders.
|       resources
|     } = this.state;
>     gridAggregationModel?.delete();
|     allAggregationModel?.delete();
|     meanTransform?.delete();
 @ /Users/ankur.parihar/workspace/github/visgl/deck.gl/modules/aggregation-layers/src/index.ts 32:0-97 32:0-97
 @ ./src/examples/aggregation-layers.js
 @ ./src/examples/index.js
 @ ./src/app.js
 @ ./src/index.js

ERROR in /Users/ankur.parihar/workspace/github/visgl/deck.gl/modules/layers/src/column-layer/column-layer.js 172:23
Module parse failed: Unexpected token (172:23)
File was processed with these loaders:
 * ./node_modules/babel-loader/lib/index.js
 * ./node_modules/babel-loader/lib/index.js
 * ../../node_modules/source-map-loader/index.js
You may need an additional loader to handle the result of these loaders.
|         gl
|       } = this.context;
>       this.state.model?.delete();
|       this.state.model = this._getModel(gl);
|       this.getAttributeManager().invalidateAll();
 @ /Users/ankur.parihar/workspace/github/visgl/deck.gl/modules/layers/src/index.ts 29:0-69 29:0-69
 @ ./src/app.js
 @ ./src/index.js

ERROR in /Users/ankur.parihar/workspace/github/visgl/deck.gl/modules/layers/src/path-layer/path-layer.js 205:23
Module parse failed: Unexpected token (205:23)
File was processed with these loaders:
 * ./node_modules/babel-loader/lib/index.js
 * ./node_modules/babel-loader/lib/index.js
 * ../../node_modules/source-map-loader/index.js
You may need an additional loader to handle the result of these loaders.
|         gl
|       } = this.context;
>       this.state.model?.delete();
|       this.state.model = this._getModel(gl);
|       attributeManager.invalidateAll();
 @ /Users/ankur.parihar/workspace/github/visgl/deck.gl/modules/layers/src/index.ts 31:0-63 31:0-63
 @ ./src/app.js
 @ ./src/index.js

ERROR in /Users/ankur.parihar/workspace/github/visgl/deck.gl/modules/core/src/passes/layers-pass.ts 215:77
Module parse failed: Unexpected token (215:77)
File was processed with these loaders:
 * ./node_modules/babel-loader/lib/index.js
You may need an additional loader to handle the result of these loaders.
|   }
|   _getModuleParameters(layer, effects, pass, overrides) {
>     const moduleParameters = Object.assign(Object.create(layer.internalState?.propsInTransition || layer.props), {
|       autoWrapLongitude: layer.wrapLongitude,
|       // @ts-ignore
 @ /Users/ankur.parihar/workspace/github/visgl/deck.gl/modules/core/src/index.ts 41:0-62 41:0-62
 @ ./src/app.js
 @ ./src/index.js

ERROR in /Users/ankur.parihar/workspace/github/visgl/deck.gl/modules/core/src/lib/layer-extension.js 22:7
Module parse failed: Unexpected token (22:7)
File was processed with these loaders:
 * ./node_modules/babel-loader/lib/index.js
 * ./node_modules/babel-loader/lib/index.js
 * ../../node_modules/source-map-loader/index.js
You may need an additional loader to handle the result of these loaders.
| import { deepEqual } from '../utils/deep-equal';
| export default class LayerExtension {
>   props;
|   constructor(opts = {}) {
|     this.opts = opts;
 @ /Users/ankur.parihar/workspace/github/visgl/deck.gl/modules/core/src/index.ts 75:0-66 75:0-66
 @ ./src/app.js
 @ ./src/index.js

ERROR in /Users/ankur.parihar/workspace/github/visgl/deck.gl/modules/aggregation-layers/src/heatmap-layer/heatmap-layer.js 230:21
Module parse failed: Unexpected token (230:21)
File was processed with these loaders:
 * ./node_modules/babel-loader/lib/index.js
 * ./node_modules/babel-loader/lib/index.js
 * ../../node_modules/source-map-loader/index.js
You may need an additional loader to handle the result of these loaders.
|       updateTimer
|     } = this.state;
>     weightsTransform?.delete();
|     weightsTexture?.delete();
|     maxWeightTransform?.delete();
 @ /Users/ankur.parihar/workspace/github/visgl/deck.gl/modules/aggregation-layers/src/index.ts 31:0-72 31:0-72
 @ ./src/examples/aggregation-layers.js
 @ ./src/examples/index.js
 @ ./src/app.js
 @ ./src/index.js

ERROR in /Users/ankur.parihar/workspace/github/visgl/deck.gl/modules/layers/src/icon-layer/icon-layer.js 248:23
Module parse failed: Unexpected token (248:23)
File was processed with these loaders:
 * ./node_modules/babel-loader/lib/index.js
 * ./node_modules/babel-loader/lib/index.js
 * ../../node_modules/source-map-loader/index.js
You may need an additional loader to handle the result of these loaders.
|         gl
|       } = this.context;
>       this.state.model?.delete();
|       this.state.model = this._getModel(gl);
|       attributeManager.invalidateAll();
 @ /Users/ankur.parihar/workspace/github/visgl/deck.gl/modules/layers/src/index.ts 25:0-63 25:0-63
 @ ./src/app.js
 @ ./src/index.js

ERROR in /Users/ankur.parihar/workspace/github/visgl/deck.gl/modules/layers/src/solid-polygon-layer/solid-polygon-layer.js 301:24
Module parse failed: Unexpected token (301:24)
File was processed with these loaders:
 * ./node_modules/babel-loader/lib/index.js
 * ./node_modules/babel-loader/lib/index.js
 * ../../node_modules/source-map-loader/index.js
You may need an additional loader to handle the result of these loaders.
|     const regenerateModels = changeFlags.extensionsChanged || props.filled !== oldProps.filled || props.extruded !== oldProps.extruded;
|     if (regenerateModels) {
>       this.state.models?.forEach(model => model.delete());
|       this.setState(this._getModels(this.context.gl));
|       attributeManager.invalidateAll();
 @ /Users/ankur.parihar/workspace/github/visgl/deck.gl/modules/layers/src/index.ts 35:0-89 35:0-89
 @ ./src/app.js
 @ ./src/index.js

ERROR in /Users/ankur.parihar/workspace/github/visgl/deck.gl/modules/aggregation-layers/src/gpu-grid-layer/gpu-grid-layer.js 333:24
Module parse failed: Unexpected token (333:24)
File was processed with these loaders:
 * ./node_modules/babel-loader/lib/index.js
 * ./node_modules/babel-loader/lib/index.js
 * ../../node_modules/source-map-loader/index.js
You may need an additional loader to handle the result of these loaders.
|       } = weight;
|       maxMinBuffer.delete();
>       aggregationBuffer?.delete();
|     });
|     super.finalizeState();
 @ /Users/ankur.parihar/workspace/github/visgl/deck.gl/modules/aggregation-layers/src/index.ts 27:0-74 27:0-74
 @ ./src/examples/aggregation-layers.js
 @ ./src/examples/index.js
 @ ./src/app.js
 @ ./src/index.js

ERROR in /Users/ankur.parihar/workspace/github/visgl/deck.gl/modules/core/src/lib/picking/pick-info.js 36:57
Module parse failed: Unexpected token (36:57)
File was processed with these loaders:
 * ./node_modules/babel-loader/lib/index.js
 * ./node_modules/babel-loader/lib/index.js
 * ../../node_modules/source-map-loader/index.js
You may need an additional loader to handle the result of these loaders.
|   if (viewports.length > 1) {
|     // Find the viewport that contain the picked pixel
>     pickedViewport = getViewportFromCoordinates(pickInfo?.pickedViewports || viewports, {
|       x,
|       y
 @ /Users/ankur.parihar/workspace/github/visgl/deck.gl/modules/core/src/lib/deck-picker.js 25:0-96 155:19-38 235:14-29 338:13-32
 @ /Users/ankur.parihar/workspace/github/visgl/deck.gl/modules/core/src/lib/deck.js
 @ /Users/ankur.parihar/workspace/github/visgl/deck.gl/modules/core/src/index.ts
 @ ./src/app.js
 @ ./src/index.js

ERROR in /Users/ankur.parihar/workspace/github/visgl/deck.gl/modules/core/src/controllers/controller.ts 43:18
Module parse failed: Unexpected token (43:18)
File was processed with these loaders:
 * ./node_modules/babel-loader/lib/index.js
You may need an additional loader to handle the result of these loaders.
| };
| export default class Controller {
>   controllerState = null;
|   controllerStateProps = null;
|   _events = null;
 @ /Users/ankur.parihar/workspace/github/visgl/deck.gl/modules/core/src/index.ts 66:0-65 66:0-65
 @ ./src/app.js
 @ ./src/index.js

ERROR in /Users/ankur.parihar/workspace/github/visgl/deck.gl/modules/core/src/views/orbit-view.ts 43:21
Module parse failed: Unexpected token (43:21)
File was processed with these loaders:
 * ./node_modules/babel-loader/lib/index.js
You may need an additional loader to handle the result of these loaders.
| }
| class OrbitViewport extends Viewport {
>   static displayName = 'OrbitView';
|   constructor(props) {
|     const {
 @ /Users/ankur.parihar/workspace/github/visgl/deck.gl/modules/core/src/index.ts 61:0-58 61:0-58
 @ ./src/app.js
 @ ./src/index.js

ERROR in /Users/ankur.parihar/workspace/github/visgl/deck.gl/modules/geo-layers/src/tile-layer/tile-layer.js 66:23
Module parse failed: Unexpected token (66:23)
File was processed with these loaders:
 * ./node_modules/babel-loader/lib/index.js
 * ./node_modules/babel-loader/lib/index.js
 * ../../node_modules/source-map-loader/index.js
You may need an additional loader to handle the result of these loaders.
|   }
|   finalizeState() {
>     this.state.tileset?.finalize();
|   }
|   get isLoaded() {
 @ /Users/ankur.parihar/workspace/github/visgl/deck.gl/modules/geo-layers/src/index.ts 25:0-63 25:0-63
 @ ./src/examples/additional-layers.js
 @ ./src/examples/index.js
 @ ./src/app.js
 @ ./src/index.js

ERROR in /Users/ankur.parihar/workspace/github/visgl/deck.gl/modules/aggregation-layers/src/grid-aggregation-layer.js 84:33
Module parse failed: Unexpected token (84:33)
File was processed with these loaders:
 * ./node_modules/babel-loader/lib/index.js
 * ./node_modules/babel-loader/lib/index.js
 * ../../node_modules/source-map-loader/index.js
You may need an additional loader to handle the result of these loaders.
|       count.aggregationBuffer.delete();
|     }
>     this.state.gpuGridAggregator?.delete();
|     super.finalizeState();
|   }
 @ /Users/ankur.parihar/workspace/github/visgl/deck.gl/modules/aggregation-layers/src/contour-layer/contour-layer.js 28:0-61 66:42-62
 @ /Users/ankur.parihar/workspace/github/visgl/deck.gl/modules/aggregation-layers/src/index.ts
 @ ./src/examples/aggregation-layers.js
 @ ./src/examples/index.js
 @ ./src/app.js
 @ ./src/index.js
ℹ 「wdm」: Failed to compile.

@gyanender-singh-phonepe
Copy link
Author

@Pessimistress with Deck.gl version 8.6.8 it is working fine.

@Pessimistress
Copy link
Collaborator

v8.7.0 is when ColumnLayer added the flatShading feature, hence my request above to test ColumnLayer directly.

@cegonse
Copy link

cegonse commented Apr 26, 2024

We are facing the same issue in v8.9.34, I have tested on a Xiaomi MI 9T / Chrome for Android v124. Hexagon layer works correctly in desktop but fails to build the shader in mobile. The example in the docs (https://deck.gl/docs/api-reference/aggregation-layers/hexagon-layer) does not work.

I have attached some snapshots showcasing how it looks in mobile and desktop, the error in the mobile console, plus a code snapshot reproducing the failure.

Captura de pantalla 2024-04-26 a les 12 31 41 Captura de pantalla 2024-04-26 a les 12 32 01

3e58e56e-5dc9-4749-8269-1c60b568d988

hexagon-layer-bug.zip

@cegonse
Copy link

cegonse commented Apr 26, 2024

Captura de pantalla 2024-04-26 a les 13 59 41

Updating on the previous message, after updating to Deck 9.0.10 the issue persists

@Pessimistress
Copy link
Collaborator

@ankurparihar @cegonse Can you test https://codepen.io/Pessimistress/pen/RwOdxgP on your device?

@cegonse
Copy link

cegonse commented Apr 26, 2024

Screenshot_2024-04-26-21-19-47-423_com brave browser

@Pessimistress It seems to be working fine, great job. What was the fix for the layer?

Edit: nevermind just saw the associated pull request , thank you!

@ankurparihar
Copy link

Hi @Pessimistress

This is working on my device. Thanks for fixing this!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants