| 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 | |