Skip to content

[Bug] Tile3DLayer with I3S loaders option doesn't work #9767

@sephilink

Description

@sephilink

Description

An error occurs using the Tile3DLayer with the loaders parameter but it works well with the deprecated loader parameter.

Uncaught (in promise) Error: 3DTileLoader: unknown type {"id

Flavors

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

Expected Behavior

The I3S layer loading properly, without error and as it is with the loader parameter

Steps to Reproduce

To reproduce the error

import { Tile3DLayer } from '@deck.gl/geo-layers';
import { I3SLoader } from '@loaders.gl/i3s';

export const useI3SLayer = () => {
  const layer = new Tile3DLayer({
    id: 'tile-3d-layer',
    data: 'any_url_to_test',
    //loader: I3SLoader as any, //works
    loaders: [I3SLoader], // BUG
  });

  return { layer }
}

I have tried with the latest versions of every tool, deckgl and loadergl but couldn't make it work with the loaders parameter.

Environment

  • Framework version: React 19
  • Browser: Chrome
  • OS: Mac, Windows
    Packages :
"@loaders.gl/core": "4.3.4",
"@loaders.gl/i3s": "^4.3.4",
"@deck.gl-community/editable-layers": "^9.1.1",
"@deck.gl-community/layers": "^9.1.1",
"@deck.gl/core": "^9.1.14",
"@deck.gl/extensions": "^9.1.14",
"@deck.gl/geo-layers": "^9.1.14",
"@deck.gl/layers": "^9.1.14",
"@deck.gl/mapbox": "^9.1.14",
"@deck.gl/mesh-layers": "^9.1.14",
"react": "^19.1.0",

Logs


parse-3d-tile.js:30 Uncaught (in promise) Error: 3DTileLoader: unknown type {"id
    at parse3DTile (parse-3d-tile.js:30:19)
    at parseTile (tiles-3d-loader.js:75:11)
    at Object.parse2 [as parse] (tiles-3d-loader.js:43:63)
    at parseWithLoader (parse.js:80:39)
    at async parse (parse.js:50:12)
    at async load (load.js:41:11)
    at async Tile3DLayer._loadTileset (tile-3d-layer.ts:202:25)
parse3DTile @ parse-3d-tile.js:30
parseTile @ tiles-3d-loader.js:75
parse2 @ tiles-3d-loader.js:43
parseWithLoader @ parse.js:80
await in parseWithLoader
parse @ parse.js:50
await in parse
load @ load.js:41
await in load
_loadTileset @ tile-3d-layer.ts:202
updateState @ tile-3d-layer.ts:121
_update @ layer.ts:990
_initialize @ layer.ts:932
_initializeLayer @ layer-manager.ts:362
_updateSublayersRecursively @ layer-manager.ts:326
_updateLayers @ layer-manager.ts:281
setLayers @ layer-manager.ts:202
updateLayers @ layer-manager.ts:214
_onRenderFrame @ deck.ts:1102
_renderFrame @ animation-loop.ts:362
redraw @ animation-loop.ts:236
_animationFrame @ animation-loop.ts:348
requestAnimationFrame
requestAnimationFramePolyfill @ request-animation-frame.ts:11
_requestAnimationFrame @ animation-loop.ts:326
start @ animation-loop.ts:195
await in start
Deck @ deck.ts:403
_onAddInterleaved @ mapbox-overlay.ts:127
onAdd @ mapbox-overlay.ts:78
addControl @ map.ts:829
(anonymous) @ use-control.ts:44
react_stack_bottom_frame @ react-dom-client.development.js:23953

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions