/** * @nika-js/onlymap/deck — the bundled deck.gl escape hatch. * * OnlyMapJS bundles deck.gl (zero runtime deps). A custom layer registered * with `OmMap.registerLayer({ deckClass })` is constructed by the BUNDLED * Deck — if that class extends a consumer-installed `@deck.gl/*` copy, it * belongs to a different class hierarchy (two `Layer` base classes, two * luma.gl runtimes) and breaks inside the core's LayerManager. Build shims * on THESE re-exports instead: they are the same class objects the core * renders with. * * The values come from the root entry through a package self-reference * (external in the dist build, the react-subpath pattern), so the consumer's * bundler shares one core instance between both entries — class identity is * structural, not luck. Types re-exported from @deck.gl/core are erased at * build; consumers who typecheck against them need @deck.gl/core installed * (dev-only), same as the core's own published .d.ts files. * * import { CompositeLayer, TileLayer, BitmapLayer } from "@nika-js/onlymap/deck"; * class MyRasterLayer extends CompositeLayer { ... } * OmMap.registerLayer({ type: "MyRasterLayer", deckClass: MyRasterLayer, props: [...] }); * * Register before inserting the manifest (module top level): registering a * type after mount does not retrigger reconciles — an unknown-type layer is * warn-skipped until the next DOM mutation. */ export { Layer, CompositeLayer, LayerExtension, WebMercatorViewport, COORDINATE_SYSTEM, GeoJsonLayer, ScatterplotLayer, IconLayer, BitmapLayer, TileLayer, Tile3DLayer, SimpleMeshLayer, ScenegraphLayer, } from "@nika-js/onlymap"; export type { LayerProps, CompositeLayerProps, DefaultProps, UpdateParameters, PickingInfo, LayersList } from "@deck.gl/core";