2023-08-22 20:28:35 -04:00
..
2018-02-14 08:15:10 -08:00
2020-04-16 10:30:22 -04:00
2020-04-16 10:30:22 -04:00
2020-04-16 10:30:22 -04:00
2020-04-16 10:30:22 -04:00

RFCs and Roadmaps (luma.gl)

Implementation of non-trivial new luma.gl features should typically be started off with the creation of an RFC (Request for Comments). For more details see RFC Guidelines .

Roadmaps

Writeups of directions in major areas of interest

Roadmap Description
Shadertools shader module system roadmap
GPGPU gpgpu roadmap
Effects Gradually build out our shader stack
Scenegraph and Loaders Improved scenegraph and loader support

Longer-Terms RFCs

These are early ideas not yet associated with any release

RFC Author Status Description
WIP/Draft
Automatic Shader Module Injection @ibgreen Draft Replace functions and inject attributes in shaders
Automatic Shader Module Injection @ibgreen Draft Automatically recompile shader modules when "props" are updated.
Automatic Shader Module Injection @ibgreen Draft Automatically inject code required by a shader module
Dist Size Reduction @ibgreen Draft Reduce luma.gl impact on app bundle size

v7.1 RFCs

RFC Author Status Description
Hiearchical Animation Timeline @tsherif Implemented Timeline management system for animations
Animation Key Frame Management @tsherif Approved Key frame management system for animations
Shader Module Code Injection @tsherif Approved Structure code injection mechanism for shader modules

v7.0 RFCs

RFC Author Status Description
luma.gl Module Structure @ibgreen Partially Implemented Outlines module structure to be used in monorepo transition. Implementeation continues from v6.2.
glTF2 support @ibgreen Draft Proposes a multi-step approach to full glTF2 support.
Framebuffer/Texture API cleanup @ibgreen Draft API changes to improve tree-shakeability of the big Texture and Framebuffer classes.
Off-Thread (aka Off-Screen) Rendering @pessimistress Experimental Use the new Off-Screen API to enable WebGL to run in a separate thread. Still requires browser flag.

v6.2 RFCs

RFC Author Status Description
luma.gl Module Structure @ibgreen Partially Implemented Outlines module structure to be used in monorepo transition.
Floating Point Textures in Transforms @1chandu Review Floating Point Texture Support in Transform class
WebGL1 Support for Transforms @1chandu Review Use render to texture and float packing to emulate transform feedback under WebGL1

v6.1 RFCs

RFC Author Status Description
Multipass Rendering @ibgreen Implemented Multipass rendering system for postprocessing effects and advanced rendering
New Loaders Module @ibgreen Implemented New loaders.gl submodule collecting framework-agnostic, thread-capable 3D format loaders. Note: The loaders have been moved to a separate repository

v6.0 RFCs

RFC Author Status Description
Centralize Attribute Management in VertexArray @ibgreen Implemented Move attribute management to VertexArray
Portable GLSL 3.00 Shader Modules @ibgreen Implemented "Transpile" GLSL 3.00 to 1.00 and vice versa.
Shader Fragment Injection @ibgreen Implemented Enables short fragments of code to be injected into existing shaders

v5.2 RFCs

RFC Author Status Description
New Transform Class @1chandu Implemented Simpler API for TransformFeedback

v5.0 RFCs

Release Focus: Address any WebGL2 issues from 4.0.

RFC Author Status Description
Break out Math Module @ibgreen Implemented Break out luma.gl math module

v4.0 RFCs

Version 4.0 focused on:

  • Exposing the complete WebGL2 API
  • Adding WebGL state management
  • Shader module support
  • Completing documentation

v3.0 RFCs

Version 3.0 focused on improving luma.gl documentation