Status: ✓ Working ⌛ In Progress ○ Planned … Future

Core Engine

The fundamental systems that every Nova-3D application depends on.

✓ Working

Context & Subsystems

The Nova3D::Context is the top-level owner of all engine subsystems. Create one context per application.

✓ Working

Engine & Main Loop

Nova3D::Engine manages initialization, the update loop, and shutdown. Override Application::Start() to enter the game.

✓ Working

Application Base Class

Subclass Nova3D::Application and override Start(), Update(), and Stop() to implement game logic.

✓ Working

Logging

Nova3D::Log provides engine-level logging for debug output and diagnostics.

Scene System

A hierarchical scene graph for organizing 3D worlds.

✓ Working

Scene

Nova3D::Scene is the root of the scene graph. It owns all nodes and provides factory methods for creating them.

✓ Working

Nodes

Nova3D::Node represents a spatial entity in the scene. Nodes have positions, rotations, scales, and parent-child relationships.

✓ Working

Components

Nova3D::Component is the base for all logic and visual elements attached to nodes. Add components to nodes to give them behavior.

○ Planned

Scene Serialization

Save and load scenes from files. Not yet implemented; planned for a later stage when the API stabilizes.

Rendering

3D rendering through a clean abstraction over the internal backend.

✓ Working

Renderer

Nova3D::Renderer is the rendering subsystem. Handles viewport management and drawing the scene.

✓ Working

Camera

Nova3D::Camera is a component that defines the view. Attach it to a node to set view and projection matrices.

⌛ In Progress

Meshes & Geometry

Static mesh rendering is partially working through the internal backend. A clean public mesh API is in progress.

○ Planned

Materials

A material system for surfaces, textures, and shaders. Planned when the rendering layer matures.

○ Planned

Lights

Directional, point, and spot lights. Planned as part of the material and rendering system.

○ Planned

Viewport

Multiple viewport support. The Nova3D::Graphics::Viewport header is present; full implementation is planned.

Input

Unified input handling across platforms.

✓ Working

Keyboard & Mouse

Nova3D::Input provides keyboard and mouse input through a unified interface backed by SDL3.

○ Planned

Gamepad / Controller

Gamepad and controller support planned via SDL3. Not yet exposed in the public API.

○ Planned

Touch Input

Touch input for Android and web targets. Planned when platform support matures.

Future Systems

Systems planned for later stages of development. Not yet started.

… Future

Audio

3D spatial audio and sound effects. Planned for a later phase after core rendering and scene systems stabilize.

… Future

Physics

Rigid body physics, collision detection, and basic simulation. Planned as a component-based system.

… Future

Animation

Skeletal and keyframe animation for characters and objects. Will be added when a game prototype needs it.

… Future

Resource Cache

Asset loading and caching for textures, models, sounds, and other resources.

… Future

Scripting

An optional scripting layer for game logic. Engine must first stabilize before a scripting integration is practical.

… Future

Editor / Tools

Scene editor and tooling support. A long-term goal after the runtime engine is more mature.

Platform Support

Target platforms planned for Nova-3D.

Desktop

✓ Working

Linux, Windows, and macOS. Built with CMake and tested on Linux and Windows.

Android

⌛ In Progress

Android build infrastructure is present in the repository. Full Android support is being validated.

Web (Emscripten)

○ Planned

Web builds via Emscripten / WebAssembly are planned. The CMake infrastructure includes early web support stubs.