How aframevr/aframe works
A-Frame is a browser framework for authoring declarative 3D, AR, and VR scenes in HTML and extending them with JavaScript components. The main workflow is loading the framework, turning scene and entity markup into component-driven objects, and rendering an interactive experience; built-in geometry, materials, models, input controls, and WebXR broaden that workflow. The README documents the inspector and AR/VR support. The graph uses the tree and sampled entry, entity, scene, and controller sources; unsampled subsystem links are omitted where call ownership is unclear.
Main entry points: src/index.js A-Frame Entry · a-scene.js Scene Element · components/index.js Built-in Components · primitives.js HTML Primitives
Components 18
Scene Authoring
- HTML Primitives
src/extras/primitives/primitives.js - Asset Elements
src/core/a-assets.js - Primitive Definitions
src/extras/primitives/primitives/a-gltf-model.js
Entity Runtime
- A-Frame Entry
src/index.js - Scene Element
src/core/scene/a-scene.js - Entity Element
src/core/a-entity.js - Component System
src/core/component.js - Runtime Systems
src/systems/index.js
Scene Features
- Built-in Components
src/components/index.js - Geometry Registry
src/geometries/index.js - Scene Utilities
src/components/scene/inspector.js - Controller Input
src/components/generic-tracked-controller-controls.js
Rendering
- Shader Registry
src/shaders/index.js
Platform I/O
- WebXR Runtime
src/systems/webxr.js
Other components
- Scene Author
- Rendered Experience
- three.js Engine
- Browser APIs
Connections 24
- Scene Author → A-Frame Entry: loads framework
- Scene Author → HTML Primitives: authors markup
- A-Frame Entry → Component System: registers components
- A-Frame Entry → Built-in Components: registers features
- A-Frame Entry → Geometry Registry: registers geometry
- A-Frame Entry → Shader Registry: registers shaders
- A-Frame Entry → Runtime Systems: registers systems
- A-Frame Entry → Scene Element: exposes scene
- A-Frame Entry → HTML Primitives: registers primitives
- HTML Primitives → Entity Element: creates entities
- Scene Element → Entity Element: inherits runtime
- Entity Element → Component System: initializes components
- Scene Element → Runtime Systems: uses systems
- A-Frame Entry → Asset Elements: registers assets
- A-Frame Entry → Primitive Definitions: loads model primitive
- Scene Element → Browser APIs: sets up canvas
- Scene Element → three.js Engine: creates renderer
- Runtime Systems → three.js Engine: configures rendering
- Built-in Components → Controller Input: registers controls
- Built-in Components → Scene Utilities: registers inspector
- Scene Element → WebXR Runtime: uses WebXR system
- WebXR Runtime → Browser APIs: requests XR APIs
- three.js Engine → Rendered Experience: renders scene
- Browser APIs → Rendered Experience: presents experience