How babylonjs/babylon.js works
Babylon.js is a TypeScript 3D engine and extensible runtime. The README’s example gives the principal workflow: an application creates an engine for a canvas, builds a scene with a camera, light, and meshes, then runs a render loop that renders the scene. The repository also contains substantial rendering, animation, audio, and addon systems. Relationships below are limited to those explicit in the README or sampled source references; many modules were not inspected, so their internal wiring is not inferred.
Main entry points: abstractEngine.pure.ts Engine · IPipelineContext.ts Pipeline context · scene.pure.ts Scene · webGLPipelineContext.ts WebGL backend
Components 21
Scene authoring
- Scene
packages/dev/core/src/scene.pure.ts - Render loop
packages/dev/core/src/Engines/abstractEngine.pure.ts
Rendering engine
- Engine
packages/dev/core/src/Engines/abstractEngine.pure.ts - Effects
packages/dev/core/src/Materials/effect.pure.ts - Pipeline context
packages/dev/core/src/Engines/IPipelineContext.ts - WebGL backend
packages/dev/core/src/Engines/WebGL/webGLPipelineContext.ts - WebGPU backend
packages/dev/core/src/Engines/WebGPU/webgpuPipelineContext.ts - Native backend
packages/dev/core/src/Engines/Native/nativePipelineContext.ts - GPU buffers
packages/dev/core/src/Buffers/dataBuffer.ts - Textures
packages/dev/core/src/Materials/Textures/internalTexture.ts
Scene capabilities
- Cameras
packages/dev/core/src/Cameras/camera.ts - Lights
packages/dev/core/src/Lights - Meshes
packages/dev/core/src/Meshes - Animations
packages/dev/core/src/Animations/animation.ts - Audio
packages/dev/core/src/Audio/audioEngine.ts
Runtime addons
- Navigation
packages/dev/addons/src/navigation - Atmosphere
packages/dev/addons/src/atmosphere/atmosphere.ts - HTML meshes
packages/dev/addons/src/htmlMesh/htmlMesh.ts - MSDF text
packages/dev/addons/src/msdfText/textRenderer.ts
Other components
- Application developer
- Canvas
Connections 13
- Application developer → Engine: creates
- Canvas → Engine: initializes
- Application developer → Scene: creates
- Application developer → Cameras: creates
- Application developer → Lights: creates
- Application developer → Meshes: creates
- Application developer → Render loop: starts
- Render loop → Engine: runs on
packages/dev/core/src/Engines/abstractEngine.pure.ts - Render loop → Scene: renders
packages/dev/core/src/Engines/abstractEngine.pure.ts - WebGL backend → Pipeline context: implements
packages/dev/core/src/Engines/WebGL/webGLPipelineContext.ts - WebGPU backend → Pipeline context: implements
packages/dev/core/src/Engines/WebGPU/webgpuPipelineContext.ts - Native backend → Pipeline context: implements
packages/dev/core/src/Engines/Native/nativePipelineContext.ts - Engine → Textures: uses
packages/dev/core/src/Engines/abstractEngine.pure.ts