Raven Engine v0.1
A modern 3D Game Engine
Loading...
Searching...
No Matches
Raven Namespace Reference

Namespaces

namespace  Colors
namespace  FileDialogs
namespace  Filesystem
namespace  Hardware
namespace  Key
namespace  MemoryTracker
namespace  Mouse
namespace  Physics
namespace  ReflectionUtils
namespace  Script
namespace  ShaderResource
namespace  Theme
namespace  UI
namespace  Utils
namespace  VulkanContext
namespace  Win32Helpers

Classes

struct  Allocation
 Represents a single allocation record. More...
struct  AllocatorTraits
 Compile-time traits for determining allocation strategy of T. More...
struct  always_false
 Helper type that always yields false, used for static assertions in templates. More...
class  AmbientOcclusionPass
 Horizon-Based Ambient Occlusion (HBAO) screen-space pass. More...
struct  ApplicationSpecification
 Holds initial configuration for the Application. More...
class  ArgParser
struct  AssetKey
class  AssetManager
class  AssetManagerBase
struct  AssetMeta
struct  AssetSharedCache
struct  AssetUniqueCache
class  Audio
struct  AudioDeviceInfo
struct  AudioSettings
class  AudioSys
struct  BodyTransform
 Position and orientation of a physics body, expressed in world space. More...
struct  Buffer
 A simple container for a raw memory buffer. More...
struct  BufferElement
 Describes a single element in a vertex buffer layout. More...
struct  CacheKey
 Determines the cache key type for a given callable and parameter tuple. More...
class  Camera
 Base class for camera implementations. More...
struct  CameraComponent
 Runtime camera component used by the scene renderer. More...
struct  CameraComponentData
 Serializable data describing camera configuration. More...
struct  CameraGPU
struct  ChunkInfo
class  ComponentBase
 Abstract base class for all components. More...
struct  ComponentData
 Aggregates optional component data for serialization. More...
class  ComponentStorage
 Stores component data for a specific component type. More...
class  ComputePass
struct  ComputePassSpecification
class  ComputePipeline
struct  ComputePipelineSpecification
class  ConfigurationManager
 Singleton manager for application configuration files. More...
class  ConsoleHandler
 Handler that writes log messages to the console. More...
struct  ContainedTypeRegistrar
 Base template for recursive contained-type registration. More...
struct  ContainedTypeRegistrar< std::array< T, N > >
 Registers the element type of a std::array. More...
struct  ContainedTypeRegistrar< std::unordered_map< T, N > >
 Registers the key and mapped types of a std::unordered_map. More...
struct  ContainedTypeRegistrar< std::vector< T > >
 Registers the element type of a std::vector. More...
struct  DataChunk
class  DeferredExecutionQueue
 Manages deferred execution of callbacks. More...
class  DescriptorSetManager
 Manages Vulkan descriptor sets for a given render pass specification. More...
struct  DirectionalLightComponent
 Represents a directional (sun-like) light source. More...
struct  DirectionalLightGPU
 GPU-side directional light data uploaded to the geometry pass UBO. More...
class  DXCIncludeHandler
class  EditorCamera
struct  EditorResources
class  Entity
 Lightweight wrapper for manipulating a single entity within the ECS. More...
struct  EntityData
 Data structure representing an entity for serialization. More...
struct  Event
 Base event data container. More...
struct  EventQueue
 Fixed-size, frame-based event queue. More...
struct  EventSlot
 Fixed-size container for a single event. More...
class  Expected
 Template representing either a valid value or an error. More...
class  FileHandler
 Handler that writes log messages to a file. More...
struct  FileMeta
class  FixedFunction
 Type-erased callable wrapper with small buffer optimization (SBO). More...
class  FixedFunction< R(Args...), StorageSize >
struct  FMTChunk
class  Formatter
 Utility for formatting log messages with level and timestamp. More...
class  Framebuffer
 Abstract interface for framebuffer management. More...
struct  FramebufferAttachmentSpecification
 Defines a collection of texture attachments for a framebuffer. More...
struct  FramebufferSpecification
 Configuration settings for creating or resizing a framebuffer. More...
struct  FramebufferTextureSpecification
 Describes a single texture attachment in a framebuffer. More...
class  Framework
 Core application manager handling initialization, update loop, rendering, and shutdown. More...
class  function_cache
 Memoization wrapper for a stateless callable. More...
struct  function_traits< ReturnType(*)(Args...)>
 Specialization of function_traits for raw function pointers. More...
struct  function_traits< ReturnType(ClassType::*)(Args...) const >
 Specialization of function_traits for const (non-mutable) lambdas and functors. More...
struct  function_traits< ReturnType(ClassType::*)(Args...)>
 Specialization of function_traits for mutable lambdas and functors. More...
class  GeometryPass
 Forward+ geometry pass; the primary shading stage of the Illumine pipeline. More...
struct  GPUPointLight
 GPU-side point light descriptor. Layout must match the HLSL struct exactly (16-byte aligned). More...
class  GPUQuery
class  GPURegion
struct  GPUSpotLight
 GPU-side spot light descriptor (reserved for post-v0.1 implementation). More...
struct  GPUTimeSpan
struct  has_type_in_tuple
 Checks whether a type T appears anywhere in a std::tuple type list. More...
struct  HBAOSettings
 Configuration for the Horizon-Based Ambient Occlusion (HBAO) pass. More...
class  Ignite
 Entry point for the Ignite scripting module. More...
class  IllumineRenderer
 Static facade for all renderer operations. More...
class  Image2D
 Abstract interface representing a GPU image resource.Defines lifecycle management, resizing, and query functions for images. More...
struct  ImageSpecification
 Describes the properties required to create or configure an Image2D resource. More...
class  ImGuiRenderer
 Interface for ImGui rendering backend implementations. More...
class  IndexBuffer
 Interface representing an index buffer resource. More...
class  Input
 Provides static methods to query keyboard and mouse state. More...
struct  InputContext
class  IrradiancePass
 Convolves an environment cubemap into a diffuse irradiance map for IBL. More...
class  Job
 Represents a job that encapsulates a task to be executed. More...
class  JobQueue
 A thread-safe queue for enqueuing and dequeuing jobs. More...
struct  KeyPressedEvent
 Event fired when a keyboard key is pressed. More...
struct  KeyReleasedEvent
 Event fired when a keyboard key is released. More...
class  LightCullPass
 Forward+ tile-based light culling compute pass. More...
struct  LightCullSettingsData
 Per-dispatch settings for the light culling compute shader. More...
struct  LightEnvironment
 Aggregated light data uploaded as a single SSBO each frame. More...
struct  LightSpaceData
 GPU-side light-space transform uploaded to the geometry pass. More...
struct  LineVertex
struct  LoadedModule
 Metadata for a loaded script DLL and its shadow copy. More...
class  Logger
 Central logging facility for the Raven engine. More...
struct  LogSettings
class  MalevolentAllocator
 Fixed-size chunk pool allocator. More...
class  Material
 Abstract interface for material resource binding. More...
struct  MaterialAsset
 Serializable description of a material. More...
struct  MaterialHandle
 Opaque handle referencing a material in the registry. More...
class  MaterialRegistry
 Central manager for material lifetimes. More...
class  MemoryManager
 Central singleton for managing engine memory allocators. More...
class  Mesh
 Interface representing a 3D mesh resource. More...
struct  MeshAssetData
 Serializable mesh reference. More...
struct  MeshVertex
 Vertex structure used for the Mesh's representation. More...
struct  MouseButtonPressedEvent
 Event fired when a mouse button is pressed. More...
struct  MouseButtonReleasedEvent
 Event fired when a mouse button is released. More...
struct  MouseMovedEvent
 Event fired when the mouse cursor moves. More...
struct  MouseScrolledEvent
 Event fired when the mouse wheel is scrolled. More...
class  PanelHandler
 Handler that writes log messages to a Panel in the UI. More...
struct  PendingEntry
 Intrusive linked-list node for a single deferred type registration. More...
struct  PendingLifecycleEntry
struct  PendingLifecycleList
 Singly-linked list of all pending lifecycle registrations in the DLL. More...
struct  PendingMemberEntry
 Intrusive linked-list node for a single deferred member registration. More...
struct  PendingMemberRegistration
 Static-init helper that records a single reflected member variable. More...
struct  PendingMemberRegistrationList
 Singly-linked list of all pending member registrations in the DLL. More...
struct  PendingRegistration
 Static-init helper that records a script class for type and lifecycle registration. More...
struct  PendingRegistrationList
 Root pending list. Flushing this also flushes members and lifecycles. More...
struct  PhysicsConfiguration
 Global configuration for the Pulsar physics runtime. More...
class  PhysicsWorld
 Owns and drives a single Jolt physics simulation scene. More...
class  Pipeline
 Abstract interface for managing a rendering pipeline. More...
struct  PipelineSpecification
 Configuration parameters to describe a rendering pipeline. More...
struct  PipelineStatistics
 Holds GPU statistics gathered from pipeline execution. More...
struct  PointLightComponent
 Omnidirectional light source with attenuation. More...
class  Prepass
 Depth and view-space normals prepass. More...
class  Project
 Represents an active project including configuration and directory management. More...
struct  ProjectConfig
 Holds basic configuration data for a project. More...
class  ProjectSerializer
 Handles serialization and deserialization of Project configurations. More...
class  Pulsar
 Singleton facade for the Pulsar physics runtime. More...
struct  PushConstant
struct  QuadVertex
class  QueueFamilyIndices
 Holds the indices of Vulkan queue families used for graphics and presentation. More...
class  Ref
 Intrusive reference-counted smart pointer. More...
class  RefCounted
 Base class for intrusive reference-counted objects. More...
struct  RegisterMember
 Register a member variable for reflection. More...
struct  RegisterType
class  Registry
 Central manager for component registration and entity-component mapping. More...
class  RenderCommandBuffer
class  RenderCommandQueue
class  Renderer2D
struct  Renderer2DData
class  RendererAPI
 Core abstraction for GPU rendering operations. More...
struct  RendererConfig
 Configuration options controlling renderer behavior at startup. More...
struct  RendererData
 Runtime statistics and shared renderer resources. More...
struct  RendererFeatures
 Toggleable renderer features controlled from the editor settings panel. More...
class  RenderPass
 Interface representing a GPU render pass abstraction. More...
struct  RenderPassInput
 Describes a single input resource for a render pass, including type, binding indices, and resource handles. More...
struct  RenderPassSpecification
 Holds the essential configuration for a RenderPass. More...
class  RenderResourceRegistry
 Manages shader hot-reload subscriptions and coordinates pipeline/renderpass rebuilds. More...
struct  RIFFChunk
struct  RigidBodyComponent
 Physics body descriptor used for simulation. More...
struct  RigidBodyDesc
 Full description used to construct a rigid body and its collider. More...
class  Scene
 Owns all entities and drives their lifecycle, physics, and rendering for one scene. More...
class  SceneCamera
 Runtime camera attached to a scene entity via CameraComponent. More...
struct  SceneData
 Top-level structure representing the entire scene data. More...
class  SceneRenderer
 Orchestrates the full Illumine render pipeline for a single scene. More...
class  SceneSerializer
 Serializes and deserializes a Scene to/from disk. More...
struct  SchemaInfo
class  Scope
 Exclusive-ownership smart pointer. More...
struct  ScopedBuffer
 A wrapper around Buffer that ensures automatic release of memory when it goes out of scope. More...
class  ScopedTimer
 Scoped RAII timer that automatically records and stores timing data. More...
class  ScopeWithAllocator
 Scoped smart pointer that uses a specific allocator. More...
class  ScriptBase
 Abstract base class for all user-authored native scripts. More...
struct  ScriptComponent
 Binds a runtime script instance to an entity. More...
struct  ScriptContext
struct  ScriptFieldSerializer
 Converts reflected script fields between their in-memory representation and a string form. More...
struct  ScriptLifecycle
 Factory and destructor callbacks for a single registered script type. More...
class  ScriptRegistry
 Singleton that owns all loaded script DLLs and their type registrations. More...
class  ScriptRuntime
 Drives the per-frame lifecycle of all native scripts within a scene. More...
struct  Semaphores
class  Shader
 Represents a complete shader composed of multiple shader stage modules. More...
struct  ShaderBuffer
 Represents a shader buffer (e.g., uniform or constant buffer). More...
class  ShaderLibrary
 Manages a collection of shaders for efficient reuse and lookup. More...
class  ShaderModuleHandle
 Represents a single shader stage module within a Shader. More...
struct  ShaderResourceDeclaration
 Declares any shader resource including buffers and textures. More...
struct  ShaderSettingsData
 Per-draw shader knobs uploaded to the geometry pass settings UBO. More...
class  ShadowPass
 Renders a depth-only shadow map from the scene's directional light. More...
struct  ShadowSettings
 Configuration for the directional light shadow map pass. More...
class  SkyboxPass
 Renders the environment cubemap as a background skybox. More...
struct  SkylightComponent
 Image-based lighting environment component. More...
struct  SkylightData
 Serializable skylight configuration. More...
struct  SkylightGPU
 GPU-side skylight data uploaded to the geometry pass UBO. More...
struct  Slot
class  StackAllocator
 Stack-based allocator for objects of type T. More...
struct  StaticMeshComponent
 Holds a reference to a static renderable mesh. More...
struct  StaticMeshSubmission
 Represents a static mesh draw submission. More...
class  StorageBuffer
 Represents a GPU storage buffer for shader constant data.Provides an interface to create uniform buffers and update their contents. Designed to be implemented by backend-specific subclasses. More...
struct  SubMesh
 Represents a contiguous section of the mesh data inside the merged buffers. More...
class  Swapchain
 Abstract interface for the platform-specific swapchain. More...
struct  SystemHolder
 Holds all necessary data for managing a system instance. More...
class  SystemManager
 Manages the registration, update, and shutdown of systems. More...
struct  SystemVTable
 A static vtable holding function pointers for system operations. More...
struct  TagComponent
 Simple tag to name or identify an entity. More...
class  Texture
 Abstract interface representing a texture resource. More...
class  Texture2D
 Factory and concrete interface for 2D textures. More...
class  TextureCube
struct  TextureCubeFaces
 Paths to the six faces of a cubemap, in Vulkan order: +X, -X, +Y, -Y, +Z, -Z. More...
struct  TextureCubeSpecification
 Specification for creating a TextureCube resource. More...
struct  TextureSlot
 Lightweight descriptor of a texture binding inside a material. More...
struct  TextureSpecification
 Defines the properties and intended usage of a texture. More...
class  ThreadPool
 A thread pool for scheduling and executing jobs in parallel. More...
struct  TileInfoData
 Tile info uploaded to the geometry pass for Forward+ light list indexing. More...
class  Time
 Global static time utility for frame-based timing. More...
class  Timer
 High-resolution manual stopwatch. More...
struct  TimerData
 Stores metadata for recorded timing sessions. More...
class  Timestep
 A class representing a time step. More...
struct  ToneMapData
 Configuration for the HDR -> LDR tone mapping pass. More...
class  ToneMapPass
 Converts the HDR geometry output to a displayable LDR image. More...
struct  TransformComponent
 Represents position, rotation, and scale of an entity. More...
class  Translation
struct  TypeCategoryTrait
struct  TypeCategoryTrait< bool >
struct  TypeCategoryTrait< Crux::vec2 >
struct  TypeCategoryTrait< Crux::vec3 >
struct  TypeCategoryTrait< Crux::vec4 >
struct  TypeCategoryTrait< double >
struct  TypeCategoryTrait< float >
struct  TypeCategoryTrait< int >
struct  TypeCategoryTrait< std::string >
struct  TypeCategoryTrait< u32 >
struct  TypeData
 Metadata about a type. More...
class  TypeID
 A unique identifier for a type. More...
class  TypeRegistry
 Global runtime type registry for Raven Engine. More...
class  UIManager
 Manages UI lifecycle, panels, and rendering for both editor and runtime. More...
struct  UIPanelContext
 Context passed to UI panel callbacks during rendering. More...
class  UniformBuffer
 Represents a GPU uniform buffer for shader constant data.Provides an interface to create uniform buffers and update their contents. Designed to be implemented by backend-specific subclasses. More...
class  UUID
 A class representing a Universally Unique Identifier (UUID). More...
class  UUIDGenerator
 Centralized generator for 64-bit tagged UUIDs. More...
struct  VariableData
 Metadata describing a reflected member variable. More...
class  VariableID
 Identifier for reflected member variable types. More...
class  VersionManager
class  VertexBuffer
 Represents a GPU vertex buffer.Used to store vertex data for rendering. The class provides a factory method to create vertex buffers from raw data. More...
class  VertexBufferLayout
 Represents the layout of vertex buffer elements in memory. More...
class  VulkanCommandBuffer
 Vulkan-specific implementation of a RenderCommandBuffer. More...
class  VulkanCommandPool
 Wrapper around a Vulkan command pool. More...
class  VulkanComputePass
class  VulkanComputePipeline
class  VulkanDevice
 Manages Vulkan physical and logical device selection and creation. More...
class  VulkanFramebuffer
 Vulkan implementation of the Framebuffer abstraction. More...
class  VulkanGPUQuery
 Vulkan implementation of GPU timestamp query profiling. More...
class  VulkanImage2D
 Vulkan implementation of a 2D image resource. More...
struct  VulkanImageInfo
 Holds Vulkan-specific handles related to an image. More...
class  VulkanImGuiRenderer
 ImGui renderer implementation using Vulkan backend. More...
class  VulkanIndexBuffer
 Vulkan implementation of an index buffer. More...
class  VulkanMaterial
 Vulkan-specific material resource binder. More...
class  VulkanMesh
 Vulkan-specific implementation of a Mesh. More...
class  VulkanPipeline
 Vulkan implementation of the rendering Pipeline abstraction. More...
class  VulkanRenderer
 Vulkan implementation of the RendererAPI interface. More...
class  VulkanRenderPass
 Vulkan-specific implementation of a RenderPass. More...
class  VulkanShader
 Represents a Vulkan shader, managing modules, reflection data, and descriptor sets. More...
class  VulkanShaderCompiler
 Manages compilation and reflection of Vulkan-compatible SPIR-V shaders from HLSL sources. More...
class  VulkanShaderModuleHandle
class  VulkanStorageBuffer
 Vulkan-specific StorageBuffer implementation. More...
class  VulkanSwapchain
 Holds semaphores used for synchronizing image acquisition and rendering. More...
class  VulkanTexture2D
 Vulkan-specific 2D texture implementation. More...
class  VulkanTextureCube
 Vulkan implementation of a cubemap texture. More...
class  VulkanUniformBuffer
 Vulkan-specific UniformBuffer implementation. More...
class  VulkanVertexBuffer
 Vulkan backend implementation of a vertex buffer. More...
class  Window
 Class representing a window. More...
struct  WindowCloseEvent
 Event fired when the user requests the window to close. More...
struct  WindowProps
 Struct to hold window properties. More...
struct  WindowResizeEvent
 Event fired when a window is resized. More...
class  Worker
 Background thread that fetches and executes jobs from a JobQueue. More...

Concepts

concept  DerivedFrom
 Concept to check if T is derived from Base.
concept  RTApp
 Concept to check if T is a Raven application type.
concept  POD
 Concept to check if T is a Plain Old Data (POD) type.
concept  Invocable
 Concept to check if T is invocable (i.e., can be called with no arguments and return void).
concept  Arithmetic
 Concept to check if T supports basic arithmetic operations (+, -, *, /).
concept  Streamable
 Concept to check if T can be streamed to an ostream (i.e., supports '<<' operator).
concept  Iterable
 Concept to check if T is iterable (supports begin() and end()).

Typedefs

using max_align = cwstl::types::f64
using generic_ptr = void*
 Generic pointer to any object.
using uptr = u64
 Unsigned integer type capable of storing a pointer address on 64-bit.
using ComponentID = UUID
using KeyCode = u16
using MouseCode = u8
 Typedef for unsigned 8-bit integer used to represent mouse button codes.
using JobQueueType = JobQueue<Job>
 Alias for a JobQueue containing Raven::Job instances.
using RenderCommandFn = void (*)(void*)

Enumerations

enum class  UUIDTag : u8 {
  Entity = 0x1 , Asset = 0x2 , Scene = 0x3 , Component = 0x4 ,
  General = 0xF
}
 Defines the high-level category for generated UUIDs. More...
enum class  ErrorCode : u8 {
  ErrorCode::SUCCESS = 0 , ErrorCode::FILE_NOT_FOUND = 1 , ErrorCode::OUT_OF_MEMORY = 2 , ErrorCode::INVALID_INPUT = 3 ,
  ErrorCode::FATAL_ERROR = 4 , ErrorCode::OBJECT_MOVED = 5 , ErrorCode::OBJECT_NOT_FOUND = 6
}
 Symbolic status codes for Raven engine operations. More...
enum class  EventType : u8 {
  None = 0 , WindowResize , WindowClose , KeyPressed ,
  KeyReleased , MouseMoved , MouseScrolled , MouseButtonPressed ,
  MouseButtonReleased
}
 Enumerates all distinct event types recognized by the engine. More...
enum  EventCategory : u8 {
  None = 0 , EventCategoryApplication = 1 << 0 , EventCategoryInput = 1 << 1 , EventCategoryKeyboard = 1 << 2 ,
  EventCategoryMouse = 1 << 3 , EventCategoryMouseButton = 1 << 4
}
 Bitmaskable flags that group related event types. More...
enum class  LogLevel : u8 {
  LogLevel::MEMORY = 0 , LogLevel::DEBUG = 1 , LogLevel::INFO = 2 , LogLevel::WARNING = 3 ,
  LogLevel::ERROR = 4 , LogLevel::CRITICAL = 5
}
 Severity levels for log messages. More...
enum class  AllocatorType { AllocatorType::None , AllocatorType::Stack , AllocatorType::Malevolent }
 Types of allocators supported by ScopeWithAllocator. More...
enum class  TypeCategory : u8 {
  TypeCategory::Unknown = 0 , TypeCategory::Bool , TypeCategory::Int , TypeCategory::UInt ,
  TypeCategory::Float , TypeCategory::Double , TypeCategory::Vec2 , TypeCategory::Vec3 ,
  TypeCategory::Vec4 , TypeCategory::String , TypeCategory::Object
}
 Stores the category of a Reflected type. Used for display and conversion between scripting and UI. More...
enum class  AssetOwnership : u16 { Unknown , Engine , Project }
enum class  AssetType : u16 { Unknown , Texture , TextureCube , Mesh }
enum class  AssetPolicy : u16 { Shared , Unique }
enum class  InputType : uint8_t {
  InputType::UniformBuffer , InputType::StorageBuffer , InputType::Image , InputType::Sampler ,
  InputType::SampledImage
}
 Defines types of inputs that can be bound to descriptor sets. More...
enum class  ShaderDataType {
  ShaderDataType::None = 0 , ShaderDataType::Float , ShaderDataType::Float2 , ShaderDataType::Float3 ,
  ShaderDataType::Float4 , ShaderDataType::Mat3 , ShaderDataType::Mat4 , ShaderDataType::Int ,
  ShaderDataType::Int2 , ShaderDataType::Int3 , ShaderDataType::Int4 , ShaderDataType::Bool
}
 Enumerates common shader data types for vertex attributes. More...
enum class  FramebufferBlendMode {
  FramebufferBlendMode::None = 0 , FramebufferBlendMode::OneZero , FramebufferBlendMode::SrcAlphaOneMinusSrc , FramebufferBlendMode::Additive ,
  FramebufferBlendMode::Zero_SrcColor
}
 Defines blending modes used when compositing framebuffer outputs. More...
enum class  AttachmentLoadOp : u8 { AttachmentLoadOp::Inherit = 0 , AttachmentLoadOp::Clear = 1 , AttachmentLoadOp::Load = 2 , AttachmentLoadOp::DontCare = 3 }
 Specifies load operations for framebuffer attachments at render pass start. More...
enum class  VSyncModes : u8 { VSyncModes::Off = 0 , VSyncModes::On = 1 }
 Specifies vertical synchronization modes for frame presentation. More...
enum class  ImageFormat : u8 {
  ImageFormat::RGBA8 , ImageFormat::RGBA8_UNORM , ImageFormat::BGRA8_SRGB , ImageFormat::BGRA8_UNORM ,
  ImageFormat::RGBA16F , ImageFormat::RGBA32F , ImageFormat::DEPTH32STENCIL8 , ImageFormat::DEPTH32F
}
 Defines formats for images and textures. More...
enum class  ColorSpace : u8 { ColorSpace::SRGB_NONLINEAR , ColorSpace::DisplayP3 , ColorSpace::AdobeRGB , ColorSpace::Rec2020 }
 Enumerates color spaces used in rendering. More...
enum class  SamplerMode : u8 {
  Repeat = 0 , RepeatMirror = 1 , ClampToEdge = 2 , ClampToBorder = 3 ,
  ClampToEdgeMirror = 4
}
enum  ImageUsage : u8 {
  ColorAttachment = 1 << 0 , DepthStencilAttachment = 1 << 1 , Sampled = 1 << 2 , Storage = 1 << 3 ,
  TransferSrc = 1 << 4 , TransferDst = 1 << 5 , Texture = 1 << 6 , HostRead = 1 << 7
}
 Flags describing intended usage of images. More...
enum class  ResourceState : u8 {
  Undefined = 0 , ColorAttachment , DepthStencilAttachment , ShaderRead ,
  StorageRead , StorageWrite , TransferSrc , TransferDst ,
  Present
}
enum class  ImageLayout {
  ImageLayout::Undefined = 0 , ImageLayout::General = 1 , ImageLayout::ColorAttachmentOptimal = 2 , ImageLayout::DepthStencilAttachmentOptimal = 3 ,
  ImageLayout::DepthStencilReadOnlyOptimal = 4 , ImageLayout::ShaderReadOnlyOptimal = 5 , ImageLayout::TransferSrcOptimal = 6 , ImageLayout::TransferDstOptimal = 7 ,
  ImageLayout::PreInitialized = 8 , ImageLayout::DepthAttachmentOptimal = 9
}
 Specifies image layouts for Vulkan synchronization. More...
enum class  CompositeAlpha : u8 { CompositeAlpha::Opaque , CompositeAlpha::PreMultiplied , CompositeAlpha::PostMultiplied , CompositeAlpha::Inherit }
 Alpha compositing modes for swapchain images. More...
enum class  ShaderStage : u8 { ShaderStage::Vertex , ShaderStage::Fragment , ShaderStage::Compute }
 Shader stages relevant for pipeline configuration. More...
enum class  PrimitiveTopology : u8 {
  PrimitiveTopology::None = 0 , PrimitiveTopology::Points , PrimitiveTopology::Lines , PrimitiveTopology::Triangles ,
  PrimitiveTopology::LineStrip , PrimitiveTopology::TriangleStrip , PrimitiveTopology::TriangleFan
}
 Defines the type of primitives to assemble from vertex data. More...
enum class  DepthCompareOperator : u8 {
  DepthCompareOperator::None = 0 , DepthCompareOperator::Never , DepthCompareOperator::NotEqual , DepthCompareOperator::Less ,
  DepthCompareOperator::LessOrEqual , DepthCompareOperator::Greater , DepthCompareOperator::GreaterOrEqual , DepthCompareOperator::Equal ,
  DepthCompareOperator::Alyways
}
 Comparison operators for depth testing. More...
enum class  CullMode : u8 { None = 0 , Front , Back , FrontBack }
enum class  BodyMotionType : u8 { BodyMotionType::Static , BodyMotionType::Dynamic , BodyMotionType::Kinematic }
 Motion classification for a rigid body. More...
enum class  ColliderShape : u8 { ColliderShape::Box , ColliderShape::Sphere , ColliderShape::Capsule }
 Primitive collision shape types supported by PhysicsWorld::CreateShape. More...

Functions

template<typename T>
ConvertFromString (const std::string &str)
 Primary template for ConvertFromString: triggers compile-time error if instantiated.
template<>
int ConvertFromString< int > (const std::string &str)
 Convert string to int.
template<>
float ConvertFromString< float > (const std::string &str)
 Convert string to float.
template<>
double ConvertFromString< double > (const std::string &str)
 Convert string to double.
template<>
bool ConvertFromString< bool > (const std::string &str)
 Convert string to bool.
template<>
std::string ConvertFromString< std::string > (const std::string &str)
 Identity conversion for std::string.
template<>
i8 ConvertFromString< i8 > (const std::string &str)
 Convert string to int8.
template<>
u8 ConvertFromString< u8 > (const std::string &str)
 Convert string to u8.
template<>
i16 ConvertFromString< i16 > (const std::string &str)
 Convert string to i16.
template<>
u16 ConvertFromString< u16 > (const std::string &str)
 Convert string to u16.
template<>
u32 ConvertFromString< u32 > (const std::string &str)
 Convert string to u32.
template<>
i64 ConvertFromString< i64 > (const std::string &str)
 Convert string to i64.
template<>
u64 ConvertFromString< u64 > (const std::string &str)
 Convert string to u64.
template<>
const char * ConvertFromString< const char * > (const std::string &str)
 Convert string to C-string pointer.
template<typename T>
std::string ConvertToString (const T &value)
 Primary template for ConvertToString: triggers compile-time error if instantiated.
template<>
std::string ConvertToString< int > (const int &value)
 Convert int to string.
template<>
std::string ConvertToString< float > (const float &value)
 Convert float to string.
template<>
std::string ConvertToString< double > (const double &value)
 Convert double to string.
template<>
std::string ConvertToString< bool > (const bool &value)
 Convert bool to string ("true"/"false").
template<>
std::string ConvertToString< std::string > (const std::string &value)
 Identity conversion for std::string.
template<>
std::string ConvertToString< i8 > (const i8 &value)
 Convert int8 to string.
template<>
std::string ConvertToString< u8 > (const u8 &value)
 Convert u8 to string.
template<>
std::string ConvertToString< i16 > (const i16 &value)
 Convert i16 to string.
template<>
std::string ConvertToString< u16 > (const u16 &value)
 Convert u16 to string.
template<>
std::string ConvertToString< u32 > (const u32 &value)
 Convert u32 to string.
template<>
std::string ConvertToString< i64 > (const i64 &value)
 Convert i64 to string.
template<>
std::string ConvertToString< u64 > (const u64 &value)
 Convert u64 to string.
template<>
std::string ConvertToString< const char * > (const char *const &value)
 Convert C-string pointer to std::string.
void SetEditorMode (bool enabled)
bool IsEditor ()
template<RTApp App>
int Main (int argc, char **argv)
template<typename T>
const SystemVTableGetSystemVTable ()
 Retrieves a static vtable for the specified system type T.
template<typename T>
constexpr cwstl::types::usize AlignOf () noexcept
 Compile-time query of a type's alignment requirement.
template<typename EventT, typename Func>
constexpr bool Dispatch (EventSlot &slot, Func &&func) noexcept
 Type-safe dispatcher for event instances.
const char * operator""_loc (const char *str, usize)
template<typename T, typename... Args>
ScopeWithAllocator< T > CreateScopeWithAllocator (usize objectCount, Args &&... args)
 Creates a ScopeWithAllocator using default allocator selection.
template<typename T, typename Allocator, typename... Args>
ScopeWithAllocator< T > CreateScopeWithAllocator (Allocator *allocator, Args &&... args)
 Creates a ScopeWithAllocator with explicit allocator.
void Trim (std::string &str)
 Removes leading and trailing whitespace from a string.
void Trim (std::wstring &str)
 Removes leading and trailing whitespace from a wstring.
std::string ToLower (std::string_view str)
 Converts a string view to lowercase.
const char * strcasestr (const char *haystack, const char *needle) noexcept
 Performs a case-insensitive substring search.
bool ResolveWorkingDirectory (const std::string &dirPath)
 Resolves the path to the working directory.
template<typename Enum, typename T, usize N>
constexpr T Lookup (Enum value, const std::array< T, N > &mapping)
 Lookup helper template for enum-to-value mappings.
void vkCheck (VkResult result, const char *function, int line)
 Checks a Vulkan API call result and logs errors if any.
VkDebugUtilsMessengerCreateInfoEXT CreateDebugUtilsMessengerCreateInfo ()
 Helper to initialize a VkDebugUtilsMessengerCreateInfoEXT structure.
VkResult CreateDebugUtilsMessengerEXT (VkInstance instance, const VkDebugUtilsMessengerCreateInfoEXT *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkDebugUtilsMessengerEXT *pDebugMessenger)
 Wrapper to create a Vulkan debug utils messenger.
void DestroyDebugUtilsMessengerEXT (VkInstance instance, VkDebugUtilsMessengerEXT debugMessenger, const VkAllocationCallbacks *pAllocator)
 Wrapper to destroy a Vulkan debug utils messenger.
u32 FindMemoryType (VkPhysicalDevice device, u32 typeFilter, VkMemoryPropertyFlags properties)
 Finds a suitable memory type for Vulkan resource allocation.
void SetVulkanObjectName (VkDevice device, uint64_t handle, VkObjectType type, const char *name)
void BeginGPURegion (VkCommandBuffer cmd, const char *name, const float color[4]=nullptr)
void EndGPURegion (VkCommandBuffer cmd)
void NameBuffer (VkDevice device, VkBuffer b, const char *n)
void NameImage (VkDevice device, VkImage i, const char *n)
void NameImageView (VkDevice device, VkImageView v, const char *n)
void NamePipeline (VkDevice device, VkPipeline p, const char *n)
void NameRenderPass (VkDevice device, VkRenderPass r, const char *n)
void NameFramebuffer (VkDevice device, VkFramebuffer f, const char *n)
void NameDescriptorSet (VkDevice device, VkDescriptorSet s, const char *n)
void NameDescriptorSetLayout (VkDevice device, VkDescriptorSetLayout l, const char *n)
constexpr VSyncModes ToVSyncMode (u8 value)
 Converts raw byte value to a valid VSyncModes enum.
ImageUsage operator| (ImageUsage a, ImageUsage b)
 Bitwise OR operator for ImageUsage flags.
ImageUsage operator& (ImageUsage a, ImageUsage b)
 Bitwise AND operator for ImageUsage flags.
Bitwise operators for EventCategory
constexpr EventCategory operator| (EventCategory lhs, EventCategory rhs) noexcept
 Binary OR for combining event categories.
constexpr EventCategory operator& (EventCategory lhs, EventCategory rhs) noexcept
 Binary AND for intersecting event categories.
constexpr EventCategory operator^ (EventCategory lhs, EventCategory rhs) noexcept
 Binary XOR for toggling event category bits.
constexpr EventCategory operator~ (EventCategory rhs) noexcept
 Bitwise NOT for inverting all bits.
constexpr EventCategoryoperator|= (EventCategory &lhs, EventCategory rhs) noexcept
 OR assignment for combining event categories in-place.
constexpr EventCategoryoperator&= (EventCategory &lhs, EventCategory rhs) noexcept
 AND assignment for masking event categories in-place.
constexpr EventCategoryoperator^= (EventCategory &lhs, EventCategory rhs) noexcept
 XOR assignment for toggling bits in-place.

Variables

constexpr u64 kTagBits = 4
 Number of bits reserved for the tag portion of the UUID.
constexpr u64 kTagShift = 64 - kTagBits
 Bit position shift to place the tag in the upper bits of the 64-bit value.
constexpr usize MaxEventPayloadSize = 16
 Maximum payload size of an event in bytes.
constexpr u32 MaxEventsPerFrame = 128
 Maximum number of events that can be queued per frame.
constexpr u32 FORWARD_PLUS_TILE_SIZE = 16
 Screen-space tile size in pixels (width and height).
constexpr u32 MAX_LIGHTS_PER_TILE = 256
 Maximum number of lights that may affect a single tile.
constexpr u32 MAX_LIGHTS = 4096
 Maximum number of point lights in a single scene.
ScriptContext s_Context

Typedef Documentation

◆ ComponentID

Unique identifier type for component types.

◆ generic_ptr

using Raven::generic_ptr = void*

Generic pointer to any object.

◆ JobQueueType

Alias for a JobQueue containing Raven::Job instances.

◆ KeyCode

using Raven::KeyCode = u16

◆ max_align

using Raven::max_align = cwstl::types::f64

◆ RenderCommandFn

using Raven::RenderCommandFn = void (*)(void*)

◆ uptr

using Raven::uptr = u64

Unsigned integer type capable of storing a pointer address on 64-bit.

Enumeration Type Documentation

◆ AssetOwnership

enum class Raven::AssetOwnership : u16
strong
Enumerator
Unknown 
Engine 
Project 

◆ AssetPolicy

enum class Raven::AssetPolicy : u16
strong
Enumerator
Shared 
Unique 

◆ AssetType

enum class Raven::AssetType : u16
strong
Enumerator
Unknown 
Texture 
TextureCube 
Mesh 

◆ CullMode

enum class Raven::CullMode : u8
strong
Enumerator
None 
Front 
Back 
FrontBack 

◆ EventCategory

Bitmaskable flags that group related event types.

Categories allow systems to filter or broadly match event groups. Can be combined using bitwise operations.

Enumerator
None 

No category.

EventCategoryApplication 

Application-level events (window, lifecycle).

EventCategoryInput 

Generic input-related events.

EventCategoryKeyboard 

Keyboard-specific events.

EventCategoryMouse 

Mouse motion events.

EventCategoryMouseButton 

Mouse button events.

◆ EventType

enum class Raven::EventType : u8
strong

Enumerates all distinct event types recognized by the engine.

These are used to identify specific kinds of events for dispatch and handling.

Enumerator
None 

No event.

WindowResize 

Window resized.

WindowClose 

Window close requested.

KeyPressed 

Keyboard key pressed.

KeyReleased 

Keyboard key released.

MouseMoved 

Mouse moved.

MouseScrolled 

Mouse wheel scrolled.

MouseButtonPressed 

Mouse button pressed.

MouseButtonReleased 

Mouse button released.

◆ ResourceState

enum class Raven::ResourceState : u8
strong
Enumerator
Undefined 
ColorAttachment 
DepthStencilAttachment 
ShaderRead 
StorageRead 
StorageWrite 
TransferSrc 
TransferDst 
Present 

◆ SamplerMode

enum class Raven::SamplerMode : u8
strong
Enumerator
Repeat 
RepeatMirror 
ClampToEdge 
ClampToBorder 
ClampToEdgeMirror 

◆ UUIDTag

enum class Raven::UUIDTag : u8
strong

Defines the high-level category for generated UUIDs.

The top 4 bits of each 64-bit identifier are reserved to represent the tag. This enables type-safe distinction between different ID domains (entities, assets, scenes, etc.).

Enumerator
Entity 

Tag for game entities.

Asset 

Tag for game assets (textures, meshes, etc.).

Scene 

Tag for scene or level identifiers.

Component 

Tag for component instances.

General 

Tag for miscellaneous or custom UUIDs.

Function Documentation

◆ AlignOf()

template<typename T>
cwstl::types::usize Raven::AlignOf ( )
constexprnoexcept

Compile-time query of a type's alignment requirement.

Template Parameters
TType to inspect.
Returns
Alignment in bytes of type T.
Note
Wraps the builtin alignof for consistent usage.

◆ BeginGPURegion()

void Raven::BeginGPURegion ( VkCommandBuffer cmd,
const char * name,
const float color[4] = nullptr )
inline

◆ ConvertFromString()

template<typename T>
T Raven::ConvertFromString ( const std::string & str)
inline

Primary template for ConvertFromString: triggers compile-time error if instantiated.

Template Parameters
TThe target type to convert to.
Parameters
strInput string.

◆ ConvertFromString< bool >()

template<>
bool Raven::ConvertFromString< bool > ( const std::string & str)
inline

Convert string to bool.

Returns true if the lowercase string is "true" or equals "1".

◆ ConvertFromString< const char * >()

template<>
const char * Raven::ConvertFromString< const char * > ( const std::string & str)
inline

Convert string to C-string pointer.

Warning
Returns pointer to internal static string; subsequent calls overwrite it.

◆ ConvertFromString< double >()

template<>
double Raven::ConvertFromString< double > ( const std::string & str)
inline

Convert string to double.

◆ ConvertFromString< float >()

template<>
float Raven::ConvertFromString< float > ( const std::string & str)
inline

Convert string to float.

◆ ConvertFromString< i16 >()

template<>
i16 Raven::ConvertFromString< i16 > ( const std::string & str)
inline

Convert string to i16.

◆ ConvertFromString< i64 >()

template<>
i64 Raven::ConvertFromString< i64 > ( const std::string & str)
inline

Convert string to i64.

◆ ConvertFromString< i8 >()

template<>
i8 Raven::ConvertFromString< i8 > ( const std::string & str)
inline

Convert string to int8.

◆ ConvertFromString< int >()

template<>
int Raven::ConvertFromString< int > ( const std::string & str)
inline

Convert string to int.

◆ ConvertFromString< std::string >()

template<>
std::string Raven::ConvertFromString< std::string > ( const std::string & str)
inline

Identity conversion for std::string.

◆ ConvertFromString< u16 >()

template<>
u16 Raven::ConvertFromString< u16 > ( const std::string & str)
inline

Convert string to u16.

◆ ConvertFromString< u32 >()

template<>
u32 Raven::ConvertFromString< u32 > ( const std::string & str)
inline

Convert string to u32.

◆ ConvertFromString< u64 >()

template<>
u64 Raven::ConvertFromString< u64 > ( const std::string & str)
inline

Convert string to u64.

◆ ConvertFromString< u8 >()

template<>
u8 Raven::ConvertFromString< u8 > ( const std::string & str)
inline

Convert string to u8.

◆ ConvertToString()

template<typename T>
std::string Raven::ConvertToString ( const T & value)
inline

Primary template for ConvertToString: triggers compile-time error if instantiated.

Template Parameters
TThe source type to convert from.
Parameters
valueInput value.

◆ ConvertToString< bool >()

template<>
std::string Raven::ConvertToString< bool > ( const bool & value)
inline

Convert bool to string ("true"/"false").

◆ ConvertToString< const char * >()

template<>
std::string Raven::ConvertToString< const char * > ( const char *const & value)
inline

Convert C-string pointer to std::string.

◆ ConvertToString< double >()

template<>
std::string Raven::ConvertToString< double > ( const double & value)
inline

Convert double to string.

◆ ConvertToString< float >()

template<>
std::string Raven::ConvertToString< float > ( const float & value)
inline

Convert float to string.

◆ ConvertToString< i16 >()

template<>
std::string Raven::ConvertToString< i16 > ( const i16 & value)
inline

Convert i16 to string.

◆ ConvertToString< i64 >()

template<>
std::string Raven::ConvertToString< i64 > ( const i64 & value)
inline

Convert i64 to string.

◆ ConvertToString< i8 >()

template<>
std::string Raven::ConvertToString< i8 > ( const i8 & value)
inline

Convert int8 to string.

◆ ConvertToString< int >()

template<>
std::string Raven::ConvertToString< int > ( const int & value)
inline

Convert int to string.

◆ ConvertToString< std::string >()

template<>
std::string Raven::ConvertToString< std::string > ( const std::string & value)
inline

Identity conversion for std::string.

◆ ConvertToString< u16 >()

template<>
std::string Raven::ConvertToString< u16 > ( const u16 & value)
inline

Convert u16 to string.

◆ ConvertToString< u32 >()

template<>
std::string Raven::ConvertToString< u32 > ( const u32 & value)
inline

Convert u32 to string.

◆ ConvertToString< u64 >()

template<>
std::string Raven::ConvertToString< u64 > ( const u64 & value)
inline

Convert u64 to string.

◆ ConvertToString< u8 >()

template<>
std::string Raven::ConvertToString< u8 > ( const u8 & value)
inline

Convert u8 to string.

◆ CreateScopeWithAllocator() [1/2]

template<typename T, typename Allocator, typename... Args>
ScopeWithAllocator< T > Raven::CreateScopeWithAllocator ( Allocator * allocator,
Args &&... args )

Creates a ScopeWithAllocator with explicit allocator.

Template Parameters
TThe type to allocate.
AllocatorThe allocator type.
Parameters
allocatorPointer to allocator instance.
argsConstructor arguments.
Returns
ScopeWithAllocator<T> managing the new object.

◆ CreateScopeWithAllocator() [2/2]

template<typename T, typename... Args>
ScopeWithAllocator< T > Raven::CreateScopeWithAllocator ( usize objectCount,
Args &&... args )

Creates a ScopeWithAllocator using default allocator selection.

Chooses Stack or Pool allocator based on AllocatorTraits<T>.

Template Parameters
TThe type to allocate.
Parameters
objectCountNumber of elements for pool or stack size heuristic.
argsConstructor arguments.
Returns
ScopeWithAllocator<T> managing the new object.

◆ Dispatch()

template<typename EventT, typename Func>
bool Raven::Dispatch ( EventSlot & slot,
Func && func )
constexprnoexcept

Type-safe dispatcher for event instances.

Template Parameters
EventTThe specific event type to dispatch to.
FuncCallable type accepting (EventT&).
Parameters
slotThe EventSlot instance to check and possibly dispatch.
funcThe callable to invoke if e matches EventT.
Returns
True if dispatched (event matched and callable invoked), otherwise false.
Note
This system avoids dynamic dispatch by using static type comparison (EventT::StaticType()) instead of virtual functions.

◆ EndGPURegion()

void Raven::EndGPURegion ( VkCommandBuffer cmd)
inline

◆ IsEditor()

CORE_API bool Raven::IsEditor ( )

◆ Lookup()

template<typename Enum, typename T, usize N>
T Raven::Lookup ( Enum value,
const std::array< T, N > & mapping )
constexpr

Lookup helper template for enum-to-value mappings.

Template Parameters
EnumEnum type.
TMapped type.
NSize of the mapping array.
Parameters
valueEnum value to map.
mappingArray mapping enum values to T.
Returns
constexpr T Mapped value.

◆ Main()

template<RTApp App>
int Raven::Main ( int argc,
char ** argv )

◆ NameBuffer()

void Raven::NameBuffer ( VkDevice device,
VkBuffer b,
const char * n )
inline

◆ NameDescriptorSet()

void Raven::NameDescriptorSet ( VkDevice device,
VkDescriptorSet s,
const char * n )
inline

◆ NameDescriptorSetLayout()

void Raven::NameDescriptorSetLayout ( VkDevice device,
VkDescriptorSetLayout l,
const char * n )
inline

◆ NameFramebuffer()

void Raven::NameFramebuffer ( VkDevice device,
VkFramebuffer f,
const char * n )
inline

◆ NameImage()

void Raven::NameImage ( VkDevice device,
VkImage i,
const char * n )
inline

◆ NameImageView()

void Raven::NameImageView ( VkDevice device,
VkImageView v,
const char * n )
inline

◆ NamePipeline()

void Raven::NamePipeline ( VkDevice device,
VkPipeline p,
const char * n )
inline

◆ NameRenderPass()

void Raven::NameRenderPass ( VkDevice device,
VkRenderPass r,
const char * n )
inline

◆ operator""_loc()

const char * Raven::operator""_loc ( const char * str,
usize  )
inline

◆ operator&()

EventCategory Raven::operator& ( EventCategory lhs,
EventCategory rhs )
inlineconstexprnoexcept

Binary AND for intersecting event categories.

◆ operator&=()

EventCategory & Raven::operator&= ( EventCategory & lhs,
EventCategory rhs )
inlineconstexprnoexcept

AND assignment for masking event categories in-place.

◆ operator^()

EventCategory Raven::operator^ ( EventCategory lhs,
EventCategory rhs )
inlineconstexprnoexcept

Binary XOR for toggling event category bits.

◆ operator^=()

EventCategory & Raven::operator^= ( EventCategory & lhs,
EventCategory rhs )
inlineconstexprnoexcept

XOR assignment for toggling bits in-place.

◆ operator|()

EventCategory Raven::operator| ( EventCategory lhs,
EventCategory rhs )
inlineconstexprnoexcept

Binary OR for combining event categories.

◆ operator|=()

EventCategory & Raven::operator|= ( EventCategory & lhs,
EventCategory rhs )
inlineconstexprnoexcept

OR assignment for combining event categories in-place.

◆ operator~()

EventCategory Raven::operator~ ( EventCategory rhs)
inlineconstexprnoexcept

Bitwise NOT for inverting all bits.

◆ SetEditorMode()

CORE_API void Raven::SetEditorMode ( bool enabled)

◆ SetVulkanObjectName()

void Raven::SetVulkanObjectName ( VkDevice device,
uint64_t handle,
VkObjectType type,
const char * name )
inline

Variable Documentation

◆ FORWARD_PLUS_TILE_SIZE

u32 Raven::FORWARD_PLUS_TILE_SIZE = 16
constexpr

Screen-space tile size in pixels (width and height).

◆ kTagBits

u64 Raven::kTagBits = 4
constexpr

Number of bits reserved for the tag portion of the UUID.

◆ kTagShift

u64 Raven::kTagShift = 64 - kTagBits
constexpr

Bit position shift to place the tag in the upper bits of the 64-bit value.

◆ MAX_LIGHTS

u32 Raven::MAX_LIGHTS = 4096
constexpr

Maximum number of point lights in a single scene.

◆ MAX_LIGHTS_PER_TILE

u32 Raven::MAX_LIGHTS_PER_TILE = 256
constexpr

Maximum number of lights that may affect a single tile.

◆ MaxEventPayloadSize

usize Raven::MaxEventPayloadSize = 16
constexpr

Maximum payload size of an event in bytes.

This defines the maximum size of the memory block used to store any trivially copyable event in an EventSlot. Events larger than this will trigger a static_assert.

◆ MaxEventsPerFrame

u32 Raven::MaxEventsPerFrame = 128
constexpr

Maximum number of events that can be queued per frame.

Ensures deterministic memory usage and prevents heap allocations.

◆ s_Context

ScriptContext Raven::s_Context