Overview
Explore the packages for a visual overview of primary packages, smaller packages, and exploratory modules.
luma.gl provides published, composable npm modules with stable and experimental APIs, alongside optional Arrow adapters and private deck.gl adapters under active development. Applications can choose the rendering, compute, and visualization functionality they need while checking the maturity of each package.
Use the API reference when you want the class-by-class reference pages for a specific module. If you are looking for conceptual guides or an introduction to how the pieces fit together, start in the API Guide and then come back here for the detailed type and method docs.
If you are looking for Model, start with @luma.gl/engine. The Model class lives in the engine module and is one of the main entry points for rendering in luma.gl.
| Module | Usage | Description |
|---|---|---|
@luma.gl/core | Required | The portable Device API, shader types, and WebGPU and WebGL2 implementations. |
@luma.gl/core/webgl | Core subpath | Device adapter implemented using the WebGL API. Enables creation of WebGL resources. |
@luma.gl/core/webgpu | Core subpath | Device adapter implemented using the WebGPU API. Enables creation of WebGPU resources. |
@luma.gl/engine | Recommended | A set of WebGPU/WebGL independent core 3D engine style classes built on top of @luma.gl/core. |
@luma.gl/anari | Experimental | ANARI-inspired retained scene objects, instanced rendering, lights, materials, and HDR. |
@luma.gl/shaders | Recommended | Reusable shader modules, portable shader assembly, and application-defined shader hooks. |
@luma.gl/shaders/glsl | Optional | GLSL assembler and assembly helpers. |
@luma.gl/shaders/wgsl | Optional | WGSL assembler, assembly helpers and interface scanning. |
@luma.gl/slang | Experimental (v10) | Optional TypeScript transpilation of a documented Slang shader subset to GLSL and WGSL. |
@luma.gl/engine/effects | Optional | Composable post-processing effects, screen-space lighting, and reusable shader-pass pipelines. |
@luma.gl/graph/gpu-simple-graph | Optional | Portable GPU evaluation. |
@luma.gl/graph | Experimental (v10) | GPU execution graphs, programs, and graph-based processing through explicit subpaths. |
@luma.gl/graph/arrow | Optional / Experimental | Arrow vector and table conversion, upload, readback, analytics and geospatial preparation. |
@luma.gl/engine/arrow | Optional / Experimental | Arrow geometry, rendering, text and splat adapters. |
@luma.gl/engine/text | Experimental | TextRenderer facade and caller-owned GPU text data. |
@luma.gl/engine/splats | Experimental | Gaussian splat rendering and caller-owned prepared GPU splat data. |
@luma.gl/engine/gltf | Optional | Standards-first glTF assets, physical materials, character animation, and lossless interchange. |
@luma.gl/core/test-utils | Optional | Test devices, null backend, and resource assertions. |
Select at least one adapter from the core backend subpaths when creating a device.
Start Here
@luma.gl/engineforModel,AnimationLoop, scenegraph helpers, and compute-oriented utilities.@luma.gl/anarifor experimental ANARI-inspired declarative scenes, retained rendering, and instancing.@luma.gl/coreforDevice, buffers, textures, shaders, render passes, andRenderPipeline.@luma.gl/shadersfor shader modules and shader assembly.@luma.gl/slangfor experimental Slang shader authoring on WebGL 2 and WebGPU, available from v10.@luma.gl/engine/effectsfor reusable image processing, bloom, and supported screen-space effects.@luma.gl/graph/gpu-simple-graphfor portable GPU evaluation;@luma.gl/graph/gpu-datafor shared GPU data primitives.@luma.gl/graphforGPUCommandGraph,GPUGraph, GPU tables, and graph-based processing.- GPGPU data for primitive
GPUData/GPUVectorAPIs, and Experimental GPU Tables forGPURecordBatch/GPUTableAPIs. @luma.gl/engine/textforTextRendererand GPU text data; use@luma.gl/engine/arrowfor Arrow text conversion.@luma.gl/engine/splatsfor experimental Gaussian splat rendering and caller-owned prepared GPU data.- Engine experimental utilities for controls, material plugins, textures, and WebXR helpers.
@luma.gl/graph/experimentalfor path/polygon models and flow/fluid simulations.@luma.gl/engine/gltffor standards-first glTF assets, physical materials, character animation, native extensions, and source-faithful.gltf/.glbinterchange.@luma.gl/core/webgland@luma.gl/core/webgpufor backend adapters used by@luma.gl/core.@luma.gl/core/webgl-constantswhen you need raw numeric WebGL enums.