Repository navigation
Codebase Statistics
Comprehensive metrics and analysis of the SparkEngine codebase, generated from
the exact tracked source tree.
This source inventory is not readiness evidence. The stable-v1 Windows 11
x64 profile remains blocked and uncertified in docs/site/readiness.json.
| Section | Lines |
|---|---|
| SparkEngine/Source | 352133 |
| SparkEditor/Source | 111945 |
| GameModules | 166028 |
| External services | 12926 |
| Asset pipeline | 3231 |
| Tests | 283090 |
| SparkConsole/src | 1866 |
| SparkShaderCompiler/src | 847 |
| Total C++ (excl. ThirdParty) | ~957572 |
| Category | Count |
|---|---|
| Header files (.h/.hh/.hpp/.hxx/.inl) | 1291 |
| Implementation files (.c/.cc/.cpp/.cxx/.mm) | 2032 |
| HLSL shader files | 44 |
| GLSL shader files | 14 |
| AngelScript files (.as) | 1 |
| Test-bearing implementation files (.cpp/.mm) | 744 |
| Wiki pages (.md) | 206 |
Graphics contains 125853 lines, or 35% of SparkEngine/Source. This is a source-inventory measurement, not runtime coverage or support evidence.
| Subsystem | Lines | % of Source |
|---|---|---|
| Graphics | 125853 | 35.7% |
| Engine (all subsystems) | 100268 | 28.4% |
| Utils | 48782 | 13.8% |
| Core | 32251 | 9.1% |
| Physics | 11142 | 3.1% |
| Audio | 6961 | 1.9% |
| Input | 3968 | 1.1% |
| SceneManager | 4842 | 1.3% |
| Enums | 1025 | 0.2% |
| Game | 2153 | 0.6% |
| Camera | 999 | 0.2% |
| Subsystem | Lines |
|---|---|
| Networking | 18859 |
| AI | 13693 |
| ECS | 8814 |
| Gameplay | 8285 |
| Scripting | 8189 |
| Animation | 6959 |
| SaveSystem | 4350 |
| UI | 2711 |
| Modding | 2654 |
| Streaming | 2236 |
| Editor | 1737 |
| Cinematic | 1652 |
| World | 1604 |
| Persistence | 1590 |
| Dialogue | 1485 |
| 2D | 1015 |
| Replay | 959 |
| Coroutine | 841 |
| Localization | 651 |
| Destruction | 591 |
| Tween | 579 |
| Mobile | 452 |
| Loading | 386 |
| Physics | 377 |
| VR | 329 |
| Events | 8 |
| Metric | Count |
|---|---|
Concrete component-group headers (Engine/ECS/Components/*Components.h) |
17 |
| Struct declarations in those headers | 81 |
| ECS systems | 27 |
| Execution order | Physics → Animation → AI → Audio → Lifecycle → Render |
Component provenance: this declaration inventory scans only the concrete
*Components.h files and matches whitespace-tolerant struct declarations.
It does not measure registration, runtime use, support, or readiness.
| Metric | Count |
|---|---|
*Panel.h class inventory |
64 |
| Total editor lines | 111945 |
| Metric | Count |
|---|---|
| Test files | 744 |
| TEST() definitions | 8649 |
| Configured sanitizer workflow lanes | ASan + UBSan + LSan + TSan + MSan |
| Metric | Count |
|---|---|
| CMake option() declarations | 35 |
| ENABLE_* feature toggles | 24 |
| Game modules | 11 |
| SDK public headers | 39 |
| Documented build compiler paths | MSVC v143/v145, GCC 13+, Clang 17+, Apple Clang, MinGW-w64 |
| Platforms | Windows, Linux, macOS (experimental) |
ThirdParty/dependencies.lock is the authoritative manifest. This selected
inventory is implementation evidence, not support certification.
| Library | Path | Purpose |
|---|---|---|
| Dear ImGui | ThirdParty/UI/imgui |
Immediate-mode GUI |
| EnTT | ThirdParty/ECS/entt |
Entity Component System |
| Jolt Physics | ThirdParty/Physics/JoltPhysics |
Physics engine |
| AngelScript | ThirdParty/Scripting/angelscript-mirror |
Scripting VM |
| miniz | ThirdParty/Utils/miniz |
Compression |
| Recast Navigation | ThirdParty/AI/recastnavigation |
NavMesh pathfinding |
| SDL2 | ThirdParty/SDL2 |
Experimental non-Windows window/input path |
| tinyobjloader | ThirdParty/Utils/tinyobjloader |
OBJ import |
| stb_image | ThirdParty/Utils/stb |
Image import |
| cgltf | ThirdParty/Utils/cgltf |
glTF import |
| miniaudio | ThirdParty/Audio/miniaudio |
Linked XAudio2-stub implementation surface; not the active audio-factory fallback |
| nlohmann/json | ThirdParty/Utils/json |
JSON parsing when available |
| tinyexr | ThirdParty/Utils/tinyexr |
EXR import |
| zstd | ThirdParty/Utils/zstd |
Compression path |
| VulkanMemoryAllocator | ThirdParty/VulkanMemoryAllocator |
Experimental Vulkan allocation path |
| glad | ThirdParty/glad |
Experimental OpenGL loader |
| File | Lines |
|---|---|
CrashHandler.cpp |
2919 |
OpenGLDevice.cpp |
2588 |
NetworkConnection.cpp |
2500 |
ModuleManager.cpp |
2223 |
D3D11Device.cpp |
2139 |
VulkanDevice.cpp |
1983 |
SaveSystem.cpp |
1847 |
D3D12Device.cpp |
1802 |
AngelScriptEngine.cpp |
1755 |
GameplayLifecycleShared.cpp |
1732 |
| File | Lines |
|---|---|
RenderGraph.h |
1427 |
Telemetry.h |
1424 |
GraphicsEngine.h |
1368 |
JsonUtils.h |
1365 |
NetworkManager.h |
1272 |
OnlineServices.h |
1225 |
EngineSettings.h |
1149 |
DataTableSystem.h |
948 |
SaveSystem.h |
939 |
AngelScriptEngine.h |
905 |
| File | Lines |
|---|---|
EditorUI.cpp |
3270 |
ProjectManager.cpp |
2490 |
BuildPipeline.cpp |
1881 |
CollaborativeEditSession.cpp |
1773 |
ProjectSettingsPanel.cpp |
1726 |
VisualScriptPanel.cpp |
1703 |
PerformanceProfiler.cpp |
1688 |
GameViewPanel.cpp |
1616 |
HierarchyPanel.cpp |
1567 |
InspectorPanel.cpp |
1481 |
| Type | Count | Location |
|---|---|---|
| HLSL shaders | 44 |
Shaders/HLSL/ (includes Compute, MeshShaders, RayTracing) |
| GLSL shaders | 14 | Shaders/GLSL/ |
| Compiled bytecode (.cso) | varies | Shaders/Compiled/ |
- Architecture Overview — Engine design and structure
- Codebase Health — System maturity status and known gaps
- Testing — Test suite details and CI integration
- Build System and CMake Modules — Build configuration
Published from 614bca17b41e. Edit the canonical source in wiki/.
- Documentation
- Docs route
- Wiki index
- Guides
- Tutorials
- Samples
- Examples
- API Reference
- API route
- Reference
- Build Guide
- Dependencies
- FAQ
- Changelog
- Roadmap
- Contributing
- Code of Conduct
- Home
- FAQ
- Getting Started
- Quick-Start Tutorial
- Making Your First Game
- Making Your First Multiplayer Game
- Artist Workflow Guide
- Editor Walkthrough
- Migration Guide
- How SparkEngine Works
- Architecture Overview
- Engine Architecture Flowchart
- Creating a Game Module
- Game Modules (catalog)
- Entity Component System
- Rendering and Graphics
- Physics
- Cloth Simulation
- Audio
- Input System
- Camera System
- Scripting with AngelScript
- Visual Scripting
- AI and Navigation
- Animation
- 2D Systems
- Networking
- Dedicated Server
- Multiplayer Quick Start
- Area Server Architecture
- Scene Management
- Large World Support
- Collaborative Editing
- Coroutine System
- Event System
- Event Response System
- Job System
- UI System
- UI Layout Extensions
- Localization
- Dialogue System
- Destruction System
- Replay System
- Achievement System
- Loading System
- Mod System
- Content Delivery
- Tween System
- Memory Integrity
- Gameplay Systems
- Terrain and Procedural Generation
- Save System
- Persistence System
- Day Night Cycle and Weather
- Cinematic Sequencer
- Runtime Prefabs
- SparkEditor
- Editor Tutorials
- SparkConsole
- SparkDaemon
- Shader Pipeline
- Asset Pipeline
- Asset Validation
- Asset Migration
- Game Packaging
- Online Services
- DataTable System
- Loot and Crafting System
- CSG System
- Font System
- Timer Manager
- Movie Render Pipeline
- HLOD and World Partition
- Remote Debug System
- Selection Manager
- Asset Dependency Graph
- Editor Automation
- File Watcher
- Project Templates
- System Requirements
- VR Support
- Mobile Platform
- Accessibility
- Platform Input
- Platform Certification
- Cross-Compilation: Wine Testing
- RHI Abstraction Layer
- D3D11 Backend
- D3D12 Backend
- Vulkan Backend
- OpenGL Backend
- Metal Backend
- DXR Raytracing
- Hybrid Ray Tracing
- Upscaling (DLSS/FSR)
- Render Graph
- Shader Graph
- GPU Particles
- GPU-Driven Rendering
- Volumetric Fog
- Volumetric Clouds
- Global Illumination
- Virtual Texturing
- Water Rendering
- Clustered Lighting
- Material System
- Post-Processing
- Shadow System
- Particle System
- Decal System
- Sky and Atmosphere
- Foliage System
- Mesh Shaders
- Neural Rendering
- Configuration Reference
- Performance Tips
- Benchmark Framework
- Threading Model
- Fuzz Policy and Parser Security
- Memory Safety
- Memory Management Patterns
- Build System and CMake Modules
- Profiler and Debugging
- Performance Profiling Guide
- Telemetry System
- Crash Reporting
- Golden Image Testing
- Utilities
- Testing
- Fuzz Policy and Parser Security
- Codebase Statistics
- Codebase Health
- Error Handling Patterns
- Hot Reload Overview
- Troubleshooting
- Contributing
- Workflow Patterns
- Build Optimizations
- CI Reproducible Builds
- CI Controlled-Failure Rehearsal
- Release Publication Stages
- Session Handoff 2026-09-27
- GitHub API and PR Checks
- Git Rebase Conflicts
- Clang-Format
- Code Quality Violations
- AI Bloat Pattern
- MinGW + Wine Cross-Compilation
- Live Editor Testing
- Engine & Renderer Landscape
- DuetOS Portability Catalog
- Five-Engine Analysis
- Eleven-Engine Analysis
- ThorVG / Unity Graphics Analysis
- Advanced Techniques Catalog
- Third-Party Library Evaluation
- Engine Viability Evaluation
- Engine Feature Recommendations
- Project Recommendations
- Mac Compatibility Analysis
- Codebase Observations
- Codebase Bloat Audit
- Test Suite Audit
- Documentation Coverage Audit
- ThirdParty Dependencies Audit
- Load Test Baseline
- Gameplay Systems Status
- SparkGame Module Status
- Stub and Abandoned Features
- Memory Integrity System
- Memory Safety Evaluation
- Hardware Acceleration Systems
- Jolt Physics Integration
- GPU/CPU Separation Plan
- Daemon Services Architecture
- Online Service Boundary
- Server Operations Runbook
- Reflection & Polymorphism Refactoring Plan
- SparkBuild In-Tree
- Wine No-JobSystem Breakthrough
- Wine Role and Fallback Tiers