Toast Engine
Loading...
Searching...
No Matches
File List
Here is a list of all documented files with brief descriptions:
 docs
 examples
 async_compute
 
debris_simulation.cpp
 
debris_simulation.hpp
 editor
 Resources
 files
 lib
 src
 _detail
 
game.h
 
my_game.hpp
This is the entrypoint for your project
 engine
 src
 toast
 assets
 
animation.hpp
Keyframe animation asset (.tanim), imported from glTF
 
asset_field_access.hpp
Reflection accessor for assets::Handle<T> members
 
asset_manager.hpp
Maps URI schemes to filesystem roots and manages asset lifetime
 
asset_registry.hpp
 
assets.hpp
Public API for the asset management system
 
core_types.hpp
Base types for the asset system
 
curve.hpp
Spline curve asset using tinyspline
 
data.hpp
Typed data asset backed by schema-driven TOML
 
data_schema_codegen.hpp
Generates lua docs for scemas
 
data_value.hpp
Recursive typed value for schema-driven TOML data assets
 
gltf_importer.hpp
 
hdr_image.cpp
 
hdr_image.hpp
Decoding for high-dynamic-range images, used for imported environment maps
 
material.hpp
Material asset backed by TOML data
 
material_instance.hpp
Material instance asset
 
mesh.hpp
Represents 3D geometry data, can be read from a .tmesh binary file
 
pack.hpp
Read-side parser for the PACK v2 archive format produced by tools/asset_packer
 
prefab.hpp
 
schema.hpp
Used as "reflection data" for Data types
 
script.hpp
Lua source asset attached to nodes through Node::m_scripts
 
shader.hpp
Slang shader source asset, compiled to SPIR-V by the renderer's ShaderCache
 
texture.hpp
 
types.hpp
Concrete asset types for the Toast engine
 audio
 nodes
 
audio_ambience_volume.hpp
Randomly spawns one-shot audio events at positions inside the volume
 
audio_box_emitter.hpp
Box-shaped 3D audio emitter
 
audio_capsule_emitter.hpp
Capsule-shaped 3D audio emitter
 
audio_context.hpp
Handles loading and unloading of Audio Banks
 
audio_emitter.hpp
 
audio_emitter_3d.hpp
Point-source 3D emitter, positioned at the node's world origin
 
audio_emitter_base.hpp
Abstract base for all spatialized 3D audio emitters
 
audio_listener.hpp
A node that can listen to all the audio events
 
audio_snapshot_volume.hpp
Triggers an FMOD snapshot while listeners are inside the volume
 
audio_sphere_emitter.hpp
Sphere-shaped 3D audio emitter
 
audio_volume.hpp
 
music_player.hpp
Multi-track FMOD music player with crossfade and beat callbacks
 
assets.hpp
 
audio_bank.hpp
Raw binary .bank blob passed directly to FMOD
 
audio_bus.hpp
FMOD bus mixer channel, exposes runtime volume control
 
audio_event.hpp
TODO: Brief description of the file's purpose
 
audio_events.hpp
Engine events fired by MusicPlayer on beat, marker, and stop
 
audio_port.hpp
FMOD output port for routing audio to external hardware outputs
 
audio_snapshot.hpp
FMOD mixer snapshot that blends preset parameter states
 
audio_strings.hpp
TODO: Brief description of the file's purpose
 
audio_system.hpp
Singleton wrapping FMOD Studio, owns all active event instances
 
audio_vca.hpp
FMOD VCA for grouping volume control across multiple buses
 
nodes.hpp
Wrapper file with all node files
 events
 
defer.hpp
 
event.hpp
 
event.inl
 
listener.hpp
 
listener.inl
 
proto_event.hpp
FFI glue between native events and their protobuf
 
signal_types.hpp
 
signals.hpp
 
signals.inl
 
signals_events.hpp
 
thread-listener.hpp
 
thread-listener.inl
 input
 assets
 
haptic.hpp
Asset describing a controller haptic effect loaded from a .thaptic file
 
input_action.hpp
Asset describing a single input action and its binds
 
input_layout.hpp
Asset describing a set of actions grouped into layers
 
input_settings.hpp
Asset holding per-player input settings
 
action.hpp
Maps a group of binds to a function and a value
 
assets.hpp
 
bind.hpp
A bind maps one keycode to a set of triggers and per-bind modifiers
 
haptics_system.hpp
 
input_events.hpp
 
input_system.cpp
Implementation of the input system singleton
 
input_system.hpp
Owns all runtime input state and dispatches input events
 
keycodes.cpp
Implementation of the keycode parser
 
keycodes.hpp
 
modifier.hpp
Modifiers post-process a value in place before it reaches the action
 
parse_util.hpp
Small helpers shared by the TOML parsing paths of triggers, modifiers and binds
 
trackpad_math.hpp
Trackpad
 
trigger.hpp
Triggers turn a raw input sample into an action value and discrete events
 
value.hpp
Value type shared by triggers, modifiers and actionsg
 physics
 nodes
 
box_collider.hpp
 
capsule_collider.hpp
 
collider.hpp
 
dynamic_rigidbody.hpp
 
kinematic_rigidbody.hpp
 
rigidbody.hpp
 
sphere_collider.hpp
 
static_rigidbody.hpp
 
trigger.hpp
Overlap volume that reports bodies entering and leaving it
 
aabb.hpp
Axis-aligned bounds node
 
aabb_tree.hpp
TODO: Brief description of the file's purpose
 
accumulator.hpp
 
anchor_mask.hpp
TODO: Brief description of the file's purpose
 
assets.hpp
Asset types owned by the physics module
 
body.hpp
Body identifiers, creation data, and copied runtime state
 
broad_phase.hpp
Generates potentially colliding shape pairs
 
collision.hpp
Canonical collision-pair records shared by broad and narrow phases
 
collision_world.hpp
Read-only access to physics data used by collision detection
 
component_classification.hpp
TODO: Brief description of the file's purpose
 
constraint.hpp
TODO: Brief description of the file's purpose
 
contact_events.hpp
Physics contact lifecycle events
 
damage_command.hpp
The kinds of damage that break voxels
 
debris.hpp
Small voxel debris clusters
 
debris_simulation.hpp
Small voxel debris
 
destruction_material.hpp
Destruction properties for a voxel material
 
fracture.hpp
How much of a voxel volume a hit breaks
 
fracture_pattern.hpp
 
fracture_profile.hpp
How a material breaks: how the energy of a hit is spent and how coarse its cracks are
 
fracture_random.hpp
Deterministic randomness for destruction
 
fragment_extraction.hpp
 
hardness.hpp
Tiers of how hard a material is to break
 
layers.hpp
Collision layers
 
manifold.hpp
TODO: Brief description of the file's purpose
 
material_defaults.hpp
The values a material has when nothing sets them
 
narrow_phase.hpp
Generates contact manifolds for potentially colliding pairs
 
physics_material.hpp
TODO: Brief description of the file's purpose
 
physics_settings.hpp
 
raycast.hpp
Raycast Implmentation mostly from https://iquilezles.org/articles/intersectors/ and https://www.realtimerendering.com/intersections.html
 
shape.hpp
Shape identifiers, geometry, and runtime records
 
shape_query.hpp
 
shatter.hpp
Voronoi cracks
 
simulator.hpp
This class simulates all of the physics of the project
 
voxel_data_lock.hpp
TODO:
 
voxel_query.hpp
TODO: Brief description of the file's purpose
 
voxel_render.hpp
Read-only voxel render records
 
voxel_shape_data.hpp
Voxel data structures for physics system
 
voxel_smash.hpp
 reflect
 
reflect.hpp
 
reflect_event.hpp
[TODO: Brief description of the file's purpose]
 
reflect_node.hpp
 renderer
 passes
 
bloom_pass.cpp
 
bloom_pass.hpp
 
cluster_lighting_pass.cpp
 
cluster_lighting_pass.hpp
 
debris_pass.hpp
 
debug_pass.cpp
 
debug_pass.hpp
 
depth_prepass.cpp
 
depth_prepass.hpp
 
environment_pass.cpp
 
environment_pass.hpp
 
fxaa_pass.cpp
 
fxaa_pass.hpp
 
grid_pass.hpp
 
material_pass.hpp
 
perf_window.cpp
 
perf_window.hpp
 
reflection_probe_pass.cpp
 
reflection_probe_pass.hpp
 
shadow_pass.cpp
 
shadow_pass.hpp
 
skinning_pass.cpp
 
skinning_pass.hpp
 
ssao_pass.cpp
 
ssao_pass.hpp
 
ssr_pass.cpp
 
ssr_pass.hpp
 
taa_pass.cpp
 
taa_pass.hpp
 
tonemap_pass.cpp
 
tonemap_pass.hpp
 
traced_shadow_pass.cpp
 
traced_shadow_pass.hpp
 
voxel_pass.hpp
 
async_compute.cpp
 
async_compute.hpp
 
async_compute_task.cpp
 
async_compute_task.hpp
 
clustered_lighting_constants.hpp
 
compute_pass_base.hpp
 
cube_face_basis.hpp
 
cubemap_target.cpp
 
cubemap_target.hpp
 
debug_draw.hpp
 
depth_convention.hpp
 
descriptor_writer.cpp
 
descriptor_writer.hpp
 
editor_overlays.hpp
What the VoxelEditor asks the viewport to draw on top of the scene
 
frustum.hpp
 
gpu_sync.cpp
 
gpu_sync.hpp
 
gpu_timer.cpp
 
gpu_timer.hpp
 
hiz_pyramid.hpp
 
light_culling.cpp
 
light_culling.hpp
 
material_runtime.hpp
 
output_target_base.hpp
 
post_process_pass_base.hpp
 
post_process_settings.hpp
 
post_process_target.cpp
 
post_process_target.hpp
 
ray_tracing_scene.cpp
 
ray_tracing_scene.hpp
 
render_events.hpp
 
render_pass_base.hpp
 
renderer_settings.hpp
 
scene_descriptor_set.hpp
 
sdl_output_target.hpp
 
shader_cache.hpp
 
shader_compiler.cpp
 
shader_compiler.hpp
 
shader_layout.hpp
 
shader_reflection.cpp
 
shader_reflection.hpp
 
shadow_constants.hpp
Mirrored by shadow_depth.slang and mesh.slang
 
shadow_slots.cpp
 
shadow_slots.hpp
 
shared_texture_output_target.hpp
 
skinned_blas_pool.cpp
 
skinned_blas_pool.hpp
 
slang_vfs.hpp
 
spirv_entry_points.cpp
 
spirv_entry_points.hpp
 
vertex.hpp
 
vma.cpp
 
voxel_change_history.cpp
 
voxel_change_history.hpp
 
voxel_debug.hpp
 
voxel_gpu_storage.hpp
 
voxel_scene_patcher.cpp
 
voxel_scene_patcher.hpp
 
vulkan_common.hpp
 
vulkan_core.hpp
 
vulkan_debug.hpp
 
vulkan_mesh.hpp
 
vulkan_pipeline.hpp
 
vulkan_renderer.hpp
 
vulkan_resource_base.hpp
 
vulkan_sampler.cpp
 
vulkan_sampler.hpp
 
vulkan_swapchain.hpp
 
vulkan_texture.cpp
 
vulkan_texture.hpp
 scripting
 
asset_proxy.hpp
Lua-side proxy for an asset handle, registered as "Asset" in Lua
 
lua_callback.hpp
The only sanctioned way for C++ to keep a Lua function
 
lua_event.hpp
Lua event registration and binding for Toast events
 
lua_signal.hpp
 
lua_state.hpp
Pool of independent Lua interpreters
 
lua_types.hpp
Small value types registered as Lua usertypes
 
lua_util.hpp
Small shared helpers for entering Lua safely
 
lua_value_codec.hpp
Converts exported Lua script variable values to/from the engine's text encoding
 
node_proxy.hpp
Lua-side proxy for a toast::Node
 
script_context.hpp
Tracks the script that is executing on the current thread
 
script_dispatch.hpp
Queue of Lua work that could not run right away because its interpreter was busy
 
script_runtime.hpp
Per-node Lua script execution environment
 
script_schema.hpp
Description of a script's exported variables for the inspector
 
signal_proxy.hpp
 
ui_binds_proxy.hpp
Lua handle for a Panel data binds
 settings
 
settings.hpp
 ui
 assets
 
color_scheme.hpp
Maps color names to RGBA values for UI styling and text formatting
 
font.hpp
Raw .ttf asset passed to RmlUi
 
localization.hpp
CSV-backed localization tables
 
ui_element.hpp
Raw .rml asset
 
ui_image.hpp
Raw .tga image used for UI
 
ui_style.hpp
Raw .rcss style sheet asset
 nodes
 
panel.hpp
Viewport-space UI panel
 
panel_3d.hpp
World-space UI panel
 
panel_context.hpp
Holds long-lived global UI assets
 
panels.hpp
 render
 
rmlui_renderer_vk.h
 
shaders_compiled_spv.h
 
ui_pass.hpp
Viewport-space UI render pass
 
world_ui_pass.hpp
Draws Panel3D output textures as quads in world space, depth-tested unless the panel is always on top
 
assets.hpp
Aggregate header for the UI asset types
 
csv.hpp
Minimal CSV reader/writer
 
document_preprocess.hpp
Prepares .rml text before it reaches RmlUi
 
localization_apply.hpp
Applies localized image references to a loaded document
 
text_format.hpp
${} inline formatting for localized text
 
tga_decode.hpp
Minimal TGA decoder for UI images
 
ui_binds.hpp
Panel data model owner, scripting shit
 
ui_event_listener.hpp
Routes inline on*="Fn()" handlers to node methods and Lua scripts
 
ui_file_interface.hpp
Routes RmlUi file requests through the asset manager VFS
 
ui_input.hpp
Routes window input events to the UI panels
 
ui_key_map.hpp
SDL keycode and modifier translation for RmlUi
 
ui_system.hpp
Singleton owning the RmlUi library
 
ui_system_interface.hpp
RmlUi system hooks
 voxel
 assets
 
vox_import.hpp
 
vox_intermediates.hpp
 
voxel_model.hpp
 
voxel_palette.hpp
 nodes
 
carve_volume.hpp
A volume that empties a ProceduralVoxel
 
fill_volume.hpp
A volume that adds voxels to a ProceduralVoxel
 
paint_volume.hpp
A volume that recolors a ProceduralVoxel
 
procedural_voxel.hpp
Voxel shapes built from an ordered list of volumes
 
voxel.hpp
Common base of every voxel node
 
voxel_bucket.hpp
A flood fill inside a ProceduralVoxel
 
voxel_group.hpp
Keeps pieces of a ProceduralVoxel together
 
voxel_mesh.hpp
A voxel model inside a ProceduralVoxel
 
voxel_node.hpp
Frontend for a Voxel node
 
voxel_node_utils.hpp
Helpers the voxel nodes share, not part of the API
 
voxel_piece.hpp
Base of everything a ProceduralVoxel builds itself from
 
voxel_volume.hpp
A box of voxels inside a ProceduralVoxel
 
brick.hpp
 
brick_pool.hpp
 
connectivity.hpp
 
destruction_event.hpp
Event sent when voxels get destroyed
 
gpu_layout.hpp
 
mass_accumulator.hpp
 
palette.hpp
 
procedural_pool.hpp
Bricks for the grids ProceduralVoxel pieces draw into
 
ray_march.hpp
 
runtime_pool.hpp
 
stamp.hpp
 
surface.hpp
 
volume_bounds.hpp
 
voxel_constants.hpp
 
voxel_edit.hpp
Functions that allow the editing of Voxel Volumes
 
voxel_volume.hpp
 window
 
base_window.hpp
Interface for the Window class
 
sdl_window.hpp
Wrapper around the SDL library
 
window_events.hpp
 world
 
ambient_light.hpp
TODO: Brief description of the file's purpose
 
animation_player.hpp
Plays a clip from a .tanim asset onto the nodes it targets
 
box.hpp
Pseudo shared pointer for Nodes
 
box.inl
 
camera.cpp
 
camera.hpp
TODO: Brief description of the file's purpose
 
camera_controller.hpp
 
camera_events.hpp
 
control_box.hpp
Control block for the pseudo shared pointer Box<Node>
 
directional_light.hpp
TODO: Brief description of the file's purpose
 
editor_camera.hpp
 
gizmo_layout.hpp
Geometry + hit-test constants shared between DebugPass (renders the gizmos) and Workspace (hit-tests/drags them)
 
icontroller.hpp
Hidden base node for every input controller
 
irradiance_volume.hpp
A grid of baked irradiance probes; the diffuse half of global illumination
 
light.hpp
Base light node; registers with the renderer so it can be collected into the per-frame light list
 
mesh_node.hpp
Scene-graph node that draws an assets::Mesh
 
node.hpp
Base object type for the scene graph
 
node_3d.hpp
Node with 3D spatial transforms
 
node_owner.hpp
 
play_workspace.hpp
Ticking clone of a Workspace used by the editor's play mode
 
player_controller.hpp
Controller node driven by a human player
 
point_light.hpp
TODO: Brief description of the file's purpose
 
post_process_volume.hpp
Per-level post-process grading, as a node an artist places in the scene
 
reflection_probe.hpp
Localised reflection volume; registers with the renderer so it can be collected per frame
 
spotlight.hpp
TODO: Brief description of the file's purpose
 
state_machine.hpp
 
tick_scheduler.hpp
Dependency-graph tick scheduling shared by World and PlayWorkspace
 
tree_lock.hpp
Access to the shape of an owner's node tree from more than one thread
 
volume.hpp
Generic cubic volume
 
wave_executor.hpp
Runs a plan of jobs on the thread pool, one interpreter per job
 
workspace.hpp
 
workspace_events.hpp
 
workspace_history.hpp
 
world.hpp
 
world_events.hpp
Events that allow client code to interact with the World class
 
world_test_access.hpp
 
application.hpp
 
crash_handler.hpp
The reporter runs out of process since after a crash the heap, loader and locks here may be unusable
 
engine.hpp
 
engine_defs.hpp
Engine-wide definitions and helper macros for cross-platform compatibility
 
export.hpp
 
hash.hpp
 
log.hpp
Public logging interface for the engine
 
logger.hpp
Internal log delivery system
 
profiler_sections.hpp
Tracy sections marking whether the engine is in the editor, playing or simulating
 
project_settings.hpp
 
test_nodes.hpp
 
thread_pool.hpp
Thread pool implementation for parallel task execution
 
time.hpp
Controls the time of the application
 
uid.hpp
Unique identifier for everything that exists in our engine
 
uri_handler.hpp
Handles URI parsing and path resolution for asset, artwork, and node protocols
 
pch.h