# Docs


- **Getting Started**
- [Overview](/docs): A minimal foundation for Three.js projects — bootstrap, lifecycle, and a unified component model.
- [Why it exists](/docs/why): The problems three-start solves — boilerplate, no model for logic, fragmented community code, and why this isn't R3F.
- [Installation](/docs/installation): How to install three-start and its peer dependencies.
- [Quick Start (B)](/docs/quick-start): Three core concepts of three-start in five minutes — components, modules, and lifecycle control.
- [Quick Start (A)](/docs/quick-start-v2): Three core concepts of three-start in one cohesive example — components, modules, lifecycle control.

- **Guides & Concepts**
- [Components](/docs/core-guides/components): Patterns for extending Object3DBehaviour — what to override, what's available inside, and how to wire components together.
- [Modules](/docs/core-guides/writing-modules): Patterns for extending ContextModule — global systems registered before start() that components and other modules can read.
- [Context](/docs/core-guides/context): What's on the context and how to use it from components, modules, or top-level code.
- [Lifecycle](/docs/core-guides/lifecycle): When components and modules become active, when their render loop event methods tick, when they're destroyed — and the order it all happens in.
- [setActive](/docs/core-guides/set-active): Activate and deactivate objects and their subtrees — own and effective active state, with cascade through the hierarchy.
- [TypeScript](/docs/core-guides/typescript): Module registry augmentation, typed events, typed component access, and other patterns for getting full type safety out of three-start.

- **Separator**
- API Reference
  - [ThreeStart](/docs/api/three-start): The entry point. Bootstraps the scene, registers modules, and wires everything together.
  - [ThreeContext](/docs/api/three-context): The shared runtime for a scene — renderer, camera, loop, events, and modules.
  - [Object3DBehaviour](/docs/api/object3d-behaviour): Base class for all components. Extend it, override lifecycle methods, attach to any Object3D.
  - [ContextModule](/docs/api/context-module): Base class for global systems — input, physics, assets, audio. Same lifecycle as components, accessible from anywhere.
  - [TypedEmitter](/docs/api/typed-emitter): Lightweight typed event emitter base class. Used by ThreeContext, ContextModule, and Object3DBehaviour.
  - [Operations](/docs/api/operations): Top-level imperative functions for adding components, querying them, toggling activation, and destroying objects.
- Advanced
  - [Internals](/docs/advanced/internals): Technical reference for maintainers/contributors. Covers state, lifecycle phases, the bootstrap gate, and ordering guarantees provided by the core.