21 FEB 2026

rahulmnavneeth

reference

homedocs

Module-level technical reference for the Master of Puppets engine. Each page documents the contract, types, and implementation details for one subsystem.

Modules

ModuleSourceDescription
API Contractsinclude/mop/*.hPublic function preconditions and postconditions
RHIsrc/rhi/Render hardware interface abstraction
Mathsrc/math/Vector and matrix operations
Viewport Coresrc/core/Scene management and render orchestration
Light Systemsrc/core/light.cMulti-light shading and light indicators
Input / Eventssrc/interact/input.cInteraction state machine and event system
Gizmosrc/interact/gizmo.cTRS manipulation handles
Camerasrc/interact/camera.cOrbit camera (pan, zoom, orbit, move)
Camera Querysrc/query/camera_query.cCamera state snapshot and ray generation
Overlaysrc/core/overlay.cBuilt-in and custom rendering overlays
Displaysrc/core/display.cWireframe, normals, bounds visualization
Picking(cross-cutting)Object-ID buffer picking system
Software Rasterizersrc/rasterizer/Shared software rasterization
CPU Backendsrc/backend/cpu/CPU backend (delegates to rasterizer)
OpenGL Backendsrc/backend/opengl/OpenGL 3.3 core backend (contract)
Vulkan Backendsrc/backend/vulkan/Vulkan 1.0 headless backend
Material Systeminclude/mop/material.hPBR-inspired material descriptor
Vertex Formatsrc/core/vertex_format.cFlexible vertex attributes
Loadersrc/loader/OBJ and binary .mop mesh loading
Querysrc/query/query.cRead-only mesh introspection
Snapshotsrc/query/snapshot.cZero-copy scene iteration
Spatialsrc/query/spatial.cAABB, frustum culling, raycasting
Undo / Redosrc/interact/undo.cTransform history stack
Pipeline Hookssrc/core/viewport.cCustom render pass injection
Particle Systemsrc/subsystem/particle.cEmitters, presets, billboard rendering
Water Surfacesrc/subsystem/water.cProcedural sine-wave animation
Post-Processingsrc/subsystem/postprocess.cGamma, tonemapping, vignette, fog
Configurationsrc/config/config.cOptional Lua configuration
Loggingsrc/util/log.cLog levels, callbacks, macros
Profilingsrc/util/profile.cFrame timing statistics
Binary Formatsrc/loader/mop_loader.c.mop binary mesh format specification