Rabbet is a from-scratch C++ 3D game engine with a sparse-set entity-component system, versioned entity handles, dense component pools, and a system-and-resource runtime. Its OpenGL 4.1 renderer provides a forward path with metallic-roughness PBR, a Phong fallback, lighting and shadow maps, emissive surfaces, optional image-based lighting, post-processing, CPU particles, and heightmap or noise terrain.
The Forge editor provides a dockable ImGui workspace around a render-to-texture viewport, asset thumbnails, hierarchy reparenting, click-to-pick, snapping gizmos, and Play/Pause/Step/Stop controls that snapshot and restore scenes. Assets use stable UUIDs and .import sidecars; models, textures, audio, materials, shaders, prefabs, and scenes are supported, with scenes stored as readable JSON. Lua behaviors run through sol2 with live hot-reload and inspector-editable fields, while physics uses Jolt rigidbodies and audio uses miniaudio.
The repository includes the engine, editor, examples, and tests, including the Orb Hunt demo game. It uses CMake 3.24 or later and a C++20 compiler, supports macOS and Linux, fetches pinned dependencies during configuration, and is licensed under Apache License 2.0.