enginerenderer 0.0.1

A zero-dependency offline rendering engine in pure Rust — CPU path tracing, BVH acceleration, 16-band spectral rendering, PBR materials, animation & video export.
Documentation
<div align="center">

# 🗂️ EngineRenderer Tree

Project structure overview and module map.

</div>

## 🌲 Project Overview

```text
EngineRenderer/
├── .github/
│   └── workflows/
│       ├── ci-arm.yml
│       └── ci-x86.yml
├── Cargo.toml
├── Cargo.lock
├── ReadMe.md
├── quickstart.md
├── ChangeLog.md
├── CONTRIBUTING.md
├── License
├── arborescence.md
├── benches/
│   ├── android_gpu.rs
│   ├── desktop_gpu.rs
│   ├── parsers.rs
│   └── run_android_bench.sh
├── examples/
│   ├── gpu_render_demo.rs
│   ├── gpu_render_heavy.rs
│   └── gpu_window.rs
├── fpstests/
│   ├── aarch64-linux-android.md
│   └── x86_64-unknown-linux-gnu.md
├── src/
│   ├── main.rs
│   ├── lib.rs
│   ├── generator.rs
│   ├── realtime.rs
│   ├── api/
│   │   ├── mod.rs
│   │   ├── display.rs
│   │   ├── loaders.rs
│   │   ├── rendering.rs
│   │   ├── ai/
│   │   ├── animation/
│   │   ├── camera/
│   │   ├── engine/
│   │   ├── materials/
│   │   ├── objects/
│   │   ├── scenes/
│   │   └── types/
│   ├── core/
│   │   ├── mod.rs
│   │   ├── animation/
│   │   ├── coremanager/
│   │   │   ├── mod.rs
│   │   │   ├── audio_device.rs
│   │   │   ├── audio_manager.rs
│   │   │   ├── camera_manager.rs
│   │   │   ├── config_manager.rs
│   │   │   ├── engine_manager.rs
│   │   │   ├── hot_reload.rs
│   │   │   ├── hrtf.rs
│   │   │   ├── input_manager.rs
│   │   │   ├── lod_manager.rs
│   │   │   ├── mixer.rs
│   │   │   ├── netcode.rs
│   │   │   ├── network_manager.rs
│   │   │   ├── resource_manager.rs
│   │   │   ├── reverb.rs
│   │   │   └── time_manager.rs
│   │   ├── debug/
│   │   ├── ecs/
│   │   │   ├── mod.rs
│   │   │   ├── component.rs
│   │   │   ├── entity.rs
│   │   │   ├── system.rs
│   │   │   └── world.rs
│   │   ├── engine/
│   │   ├── input/
│   │   ├── scheduler/
│   │   ├── scripting/
│   │   │   ├── mod.rs
│   │   │   ├── bytecode.rs
│   │   │   ├── compiler.rs
│   │   │   └── vm.rs
│   │   └── simulation/
│   └── utils/
│       ├── mod.rs
│       └── terminal_mode/
├── tests/
│   ├── android_benchmark_contract.rs
│   ├── android_gpu_backend.rs
│   ├── diagnose_smoke.rs
│   ├── engine_api_basics.rs
│   ├── generator_request.rs
│   ├── gpu_raytracer_smoke.rs
│   ├── material_catalog.rs
│   ├── math_utils.rs
│   ├── output_format.rs
│   ├── realtime_profiles.rs
│   ├── render_request_clamp.rs
│   ├── render_request_presets.rs
│   ├── run_android_tests.sh
│   ├── scene_descriptor_robustness.rs
│   └── workspace_render_validation.rs
```

## 🧭 Main Directory Roles

- src/api: High-level API for building scenes, materials, cameras, animation, and AI integration.
- src/core: Internal engine systems (rendering, physics, simulation, scheduler, managers, ECS, scripting VM).
- src/core/ecs: Entity/Component/System core with sparse-set `TypedStorage` and `ComponentRegistry`.
- src/core/scripting: Stack-based scripting VM (`Vm`), bytecode (`Opcode`, `Instruction`), and `ScriptRunner`.
- src/core/coremanager: Engine-wide managers including `HotReloader` for script hot reload.
- src/utils: Utility layer, including the interactive terminal mode.
- benches/: Criterion-style benchmark binaries for desktop and Android GPU paths.
- examples/: Standalone GPU render and windowing demos.
- fpstests/: Per-target realtime FPS measurement reports.
- .github/workflows: CI pipelines for x86 and ARM architectures.

## 🚪 Entry Points

- src/main.rs: CLI dispatcher — routes `video`, `run`, interactive, and other commands.
- src/lib.rs: Public library exports.
- src/generator.rs: Generic video/animation rendering (CLI `video` mode).
- src/realtime.rs: Realtime preview mode (CLI `run` mode).
- src/api/loaders.rs: Mesh/scene loaders (OBJ, glTF, `.scene`).
- src/api/rendering.rs: Public rendering entry points.
- src/api/engine/diagnostics.rs: Hardware diagnostics and compute environment API.