Versão: 1.1.0
Status: Alpha (Pré-produção)
Última Atualização: 2026-04-14
Mantido por: Codex Studio Guild
| Documento | Descrição | Link |
|---|---|---|
| MASTER.md (este) | Documentação unificada completa | — |
| ROADMAP.md | Roadmap das 6 fases de desenvolvimento | docs/ROADMAP.md |
| SPECS.md | Regras e padrões de desenvolvimento | docs/SPECS.md |
| architecture_specs.md | Especificações técnicas detalhadas | docs/architecture_specs.md |
docs/
├── README.md # Este índice (redireciona para MASTER.md)
├── MASTER.md # Documentação unificada (este arquivo)
├── ROADMAP.md # Roadmap de desenvolvimento
├── SPECS.md # Regras e padrões
├── memory_model.md # Especificações de memória
├── architecture_specs.md # Especificações técnicas
├── architecture/
│ ├── core.md # 🔧 Módulo Core
│ └── memory.md # 🔧 Módulo Memory
├── containers/
│ └── vector.md # 🔧 Módulo Containers
├── math/
│ └── vectors.md # 🔧 Módulo Math
├── api/
│ └── README.md # 📖 Referência da API
├── fase2/ # 📐 Documentação Fase 2 — Concorrência
│ ├── README.md
│ ├── timer.md
│ ├── job-system.md
│ ├── game-loop.md
│ ├── input.md
│ └── debug.md
├── fase3/ # 📐 Documentação Fase 3 — RHI & 2D
│ ├── README.md
│ ├── rhi.md
│ ├── batch-renderer.md
│ ├── camera.md
│ ├── asset-manager.md
│ └── caf-format.md
├── fase4/ # 📐 Documentação Fase 4 — ECS & Sistemas
│ ├── README.md
│ ├── ecs.md
│ ├── scene.md
│ ├── events.md
│ ├── audio.md
│ ├── animation.md
│ ├── physics.md
│ └── ui.md
├── fase5/ # 📐 Documentação Fase 5 — Transição 3D
│ ├── README.md
│ ├── 3d-math.md
│ ├── mesh-loading.md
│ ├── spatial-partitioning.md
│ ├── camera3d.md
│ └── skeletal-animation.md
├── fase6/ # 📐 Documentação Fase 6 — Caffeine Studio IDE
│ ├── README.md
│ ├── embedded-ui.md
│ ├── scene-editor.md
│ ├── asset-pipeline.md
│ └── scripting.md
└── reviews/
└── PHASE1_REVIEW.md # 📝 Reviews
Fase 0: Setup & Docs █████████████████ 100% ✅ COMPLETO
Fase 1: Fundação Atômica █████████████████ 100% ✅ COMPLETO
Fase 2: Concorrência ░░░░░░░░░░░░░░░ 0%
Fase 3: RHI & 2D ░░░░░░░░░░░░░░░ 0%
Fase 4: ECS & Sistemas ░░░░░░░░░░░░░░░ 0%
Fase 5: Transição 3D ░░░░░░░░░░░░░░░ 0%
Fase 6: Caffeine Studio IDE ░░░░░░░░░░░░░░░ 0%
Para detalhes completos, consulte
ROADMAP.md.
| Módulo | Arquivo | Namespace | RFs |
|---|---|---|---|
| Overview | fase2/README.md |
— | RF2.1–RF2.10 |
| Timer | fase2/timer.md |
Caffeine::Core |
RF2.1 |
| Job System | fase2/job-system.md |
Caffeine::Threading |
RF2.2, RF2.3 |
| Game Loop | fase2/game-loop.md |
Caffeine::Core |
RF2.4, RF2.5 |
| Input | fase2/input.md |
Caffeine::Input |
RF2.6, RF2.7 |
| Debug Tools | fase2/debug.md |
Caffeine::Debug |
RF2.8–RF2.10 |
| Módulo | Arquivo | Namespace | RFs |
|---|---|---|---|
| Overview | fase3/README.md |
— | RF3.0–RF3.9 |
| RHI | fase3/rhi.md |
Caffeine::RHI |
RF3.1, RF3.2 |
| Batch Renderer | fase3/batch-renderer.md |
Caffeine::Render |
RF3.3, RF3.4 |
| Camera 2D | fase3/camera.md |
Caffeine::Render |
RF3.5 |
| Asset Manager | fase3/asset-manager.md |
Caffeine::Assets |
RF3.6, RF3.7 |
| CAF Format | fase3/caf-format.md |
Caffeine::Assets |
RF3.8, RF3.9 |
| Módulo | Arquivo | Namespace | RFs |
|---|---|---|---|
| Overview | fase4/README.md |
— | RF4.1–RF4.11 |
| ECS | fase4/ecs.md |
Caffeine::ECS |
RF4.1, RF4.2 |
| Scene | fase4/scene.md |
Caffeine::Scene |
RF4.3, RF4.4 |
| Events | fase4/events.md |
Caffeine::Events |
RF4.5 |
| Audio | fase4/audio.md |
Caffeine::Audio |
RF4.6 |
| Animation | fase4/animation.md |
Caffeine::Animation |
RF4.7 |
| Physics 2D | fase4/physics.md |
Caffeine::Physics2D |
RF4.8, RF4.9 |
| UI System | fase4/ui.md |
Caffeine::UI |
RF4.10, RF4.11 |
| Módulo | Arquivo | Namespace | RFs |
|---|---|---|---|
| Overview | fase5/README.md |
— | RF5.1–RF5.6 |
| 3D Math | fase5/3d-math.md |
Caffeine::Math |
RF5.1 |
| Mesh Loading | fase5/mesh-loading.md |
Caffeine::Assets |
RF5.2, RF5.3 |
| Spatial Partitioning | fase5/spatial-partitioning.md |
Caffeine::Spatial |
RF5.4, RF5.6 |
| Camera 3D | fase5/camera3d.md |
Caffeine::Render |
RF5.5 |
| Skeletal Animation | fase5/skeletal-animation.md |
Caffeine::Animation |
RF5.7 |
| Módulo | Arquivo | Namespace | RFs |
|---|---|---|---|
| Overview | fase6/README.md |
— | RF6.1–RF6.6 |
| Embedded UI | fase6/embedded-ui.md |
Caffeine::Editor |
RF6.1, RF6.2, RF6.6 |
| Scene Editor | fase6/scene-editor.md |
Caffeine::Editor |
RF6.3, RF6.4 |
| Asset Pipeline | fase6/asset-pipeline.md |
Caffeine::Tools |
RF6.5 |
| Scripting | fase6/scripting.md |
Caffeine::Script |
RF6.6 |
| Módulo | Arquivo Header | Documentação Arquitetura | Referência API |
|---|---|---|---|
| Core | src/core/Types.hpp |
docs/architecture/core.md |
§1.1 |
src/core/Platform.hpp |
|||
src/core/Compiler.hpp |
|||
src/core/Assertions.hpp |
|||
| Memory | src/memory/Allocator.hpp |
docs/architecture/memory.md |
§1.2 |
src/memory/LinearAllocator.hpp |
docs/memory_model.md |
||
src/memory/PoolAllocator.hpp |
|||
src/memory/StackAllocator.hpp |
|||
| Containers | src/containers/Vector.hpp |
docs/containers/vector.md |
§1.3 |
src/containers/HashMap.hpp |
|||
src/containers/StringView.hpp |
|||
src/containers/FixedString.hpp |
|||
| Math | src/math/Vec2.hpp |
docs/math/vectors.md |
§1.4 |
src/math/Vec3.hpp |
|||
src/math/Vec4.hpp |
|||
src/math/Mat4.hpp |
|||
src/math/Math.hpp |
- ROADMAP.md — Roadmap completo das 6 fases
- SPECS.md — Regras e padrões de desenvolvimento
- architecture_specs.md — Especificações técnicas detalhadas
- memory_model.md — Modelo de memória completo
| Módulo | Arquitetura | Containers | API |
|---|---|---|---|
| Core | architecture/core.md |
— | api/README.md |
| Memory | architecture/memory.md |
— | api/README.md |
| Containers | containers/vector.md |
containers/vector.md |
api/README.md |
| Math | math/vectors.md |
math/vectors.md |
api/README.md |
Os testes estão localizados em tests/ e cobrem:
| Arquivo | Cobertura |
|---|---|
tests/test_core.cpp |
8 testes (Types, Platform, Compiler, Assertions) |
tests/test_allocators.cpp |
16 testes + 3 stress tests |
tests/test_containers.cpp |
14 testes + 1 stress test |
tests/test_math.cpp |
18 testes |
Caffeine.hpp
│
├── Core (types, platform, assertions)
│ └── Dependency: NONE (base)
│
├── Memory (allocators)
│ └── Dependency: Core
│
├── Containers (Vector, HashMap, String)
│ └── Dependency: Core, Memory (optional)
│
├── Math (Vec2, Vec3, Vec4, Mat4, Quat)
│ └── Dependency: Core
│
│── [Fase 2] Threading, Core Runtime
│ ├── Timer → Core
│ ├── Job System → Core, Threading
│ ├── Game Loop → Timer, Job System
│ ├── Input → Core, Events (Fase 4)
│ └── Debug Tools → Core, Containers
│
├── [Fase 3] RHI & Rendering
│ ├── RHI → Core, Math
│ ├── Batch Renderer → RHI, Math, Containers
│ ├── Camera 2D → Math
│ ├── Asset Manager → Core, Containers, Threading
│ └── CAF Format → Asset Manager
│
├── [Fase 4] ECS & Game Systems
│ ├── ECS → Core, Memory, Containers
│ ├── Scene Manager → ECS, Asset Manager
│ ├── Events → Core, Containers
│ ├── Audio → Asset Manager, ECS
│ ├── Animation → ECS, Asset Manager
│ ├── Physics 2D → ECS, Math
│ └── UI System → RHI, Input, Events
│
├── [Fase 5] 3D Extension
│ ├── 3D Math → Math (Vec3, Mat4, Quat)
│ ├── Mesh Loading → Asset Manager, RHI
│ ├── Spatial / Octree → Math, Physics 2D
│ ├── Camera 3D → 3D Math
│ └── Skeletal Anim → Animation, ECS, 3D Math
│
└── [Fase 6] Caffeine Studio IDE
├── Embedded UI → RHI, Debug Tools, Asset Manager
├── Scene Editor → ECS, Scene, Embedded UI, RHI
├── Asset Pipeline → Asset Manager, CAF Format (CLI tool)
└── Scripting → ECS, Input, Events, Debug Tools
- Consultar ROADMAP: Verificar статус da fase em
ROADMAP.md - Consultar SPECS: Ler regras em
SPECS.md - Implementar: Criar código em
src/ - Documentar: Atualizar documentação correspondente
- Testar: Garantir que testes passem em CI
- Code Review: Pull Request com aprovação
- Antes de codificar: Spec deve existir em
docs/faseN/(ex:docs/fase2/job-system.md) - Sincronia: Código e docs no mesmo commit
- Clareza: Se explicação > código, simplificar
- AGNOSTICISM: Toda spec deve prever 2D e 3D
Checklist completo:
SPECS.md§Checklist de Documentação
- Data-Oriented Design — Richard Fabian
- Game Programming Patterns — Robert Nystrom
- Game Engine Architecture — Jason Gregory
- flecs — ECS archetype-based
- EnTT — ECS patterns
- Jolt Physics — Job System
#include <Caffeine.hpp>
// Agora disponíveis:
// - Tipos: Caffeine::u32, Caffeine::f32, etc.
// - Containers: Caffeine::Vector<T>, Caffeine::HashMap<K,V>, etc.
// - Math: Caffeine::Vec2, Caffeine::Mat4, etc.
// - Memory: Caffeine::LinearAllocator, etc.☕ Caffeine: Because great games are built on strong code and a lot of coffee.