mittens_engine/engine/ecs/system/
mod.rs1pub mod action_system;
2pub(crate) mod animation_keyframe_evaluator;
3pub(crate) mod animation_scheduler;
4pub mod animation_system;
5pub mod armature_visualization_system;
6pub mod asset_system;
7pub mod audio_decode;
8pub mod audio_decode_thread;
9pub mod audio_graph_compiler;
10pub mod audio_sample_format_convert;
11pub mod audio_system;
12pub(crate) mod audio_system_fundsp;
13pub mod avatar_body_yaw_system;
14pub mod avatar_control_system;
15pub mod bone_mapping_system;
16pub mod bounds_system;
17pub mod bvh_system;
18pub mod camera_system;
19pub mod clipping_system;
20pub mod clock_system;
21pub mod collision_system;
22pub mod cursor_3d;
23pub mod data_renderer_system;
24pub mod editor;
25pub mod editor_inspector_system;
26pub(crate) mod editor_inspector_system_stopgap_mms_adapter;
27pub mod editor_paint_system;
28pub mod editor_paint_system_state_manager;
29pub mod editor_scene_hit;
30pub mod editor_system;
31pub mod fit_bounds_system;
32pub mod gesture_system;
33pub mod gizmo_system;
34pub mod gltf_bounds_visualization_system;
35pub mod gltf_system;
36pub mod grid_system;
37pub mod http_client_system;
38pub mod http_server_system;
39pub mod ik;
40pub mod ik_system;
41pub mod input_system;
42pub mod input_xr_gamepad_system;
43pub mod kinetic_response_system;
44pub mod layout;
45pub mod light_system;
46pub mod mirror_system;
47pub mod model;
48pub mod music_system;
49pub mod object_placement_preview;
50pub mod openxr_system;
51pub mod paint_placement;
52pub mod panel_system;
53pub mod pipeline_system;
54pub mod pointer_system;
55pub mod pose_capture_system;
56pub mod raycast_system;
57pub mod render_to_texture_system;
58pub mod renderable_system;
59pub mod renderer_stats_system;
60pub mod router_system;
61pub mod scroll_system;
62pub mod secondary_motion_system;
63pub mod selection_system;
64pub mod skinned_mesh_system;
65pub mod system_world;
66pub mod text_input_system;
67pub mod text_system;
68pub mod texture_system;
69pub mod transform_stream_system;
70pub mod transform_system;
71pub mod transition_system;
72pub mod vr_types;
73
74pub use animation_system::AnimationSystem;
75pub use armature_visualization_system::ArmatureVisualizationSystem;
76pub use asset_system::AssetSystem;
77pub use audio_system::AudioSystem;
78pub use avatar_body_yaw_system::AvatarBodyYawSystem;
79pub use avatar_control_system::AvatarControlSystem;
80pub use bvh_system::BvhSystem;
81pub use camera_system::{Camera3D, CameraHandle, CameraSystem};
82pub use clipping_system::ClippingSystem;
83pub use clock_system::{ClockDriver, ClockSystem};
84pub use collision_system::CollisionSystem;
85pub use cursor_3d::Cursor3dSystem;
86pub use data_renderer_system::{
87 DataRendererSystem, DetailRendererSpec, ItemRendererSpec, RendererSpec, UiDetailItem, UiItem,
88 UiItemKind,
89};
90pub use editor::EditorContextSystem;
91pub use editor_inspector_system::EditorInspectorSystem;
92pub use editor_paint_system::EditorPaintSystem;
93pub use editor_system::EditorSystem;
94pub use fit_bounds_system::FitBoundsSystem;
95pub use gesture_system::{GestureState, GestureSystem};
96pub use gizmo_system::TransformGizmoSystem;
97pub use gltf_bounds_visualization_system::GltfBoundsVisualizationSystem;
98pub use gltf_system::GLTFSystem;
99pub use grid_system::GridSystem;
100pub use http_client_system::HttpClientSystem;
101pub use http_server_system::HttpServerSystem;
102pub use ik::HeadPoseBodyXzFollowSystem;
103pub use ik_system::IKSystem;
104pub use input_system::InputSystem;
105pub use input_xr_gamepad_system::InputXRGamepadSystem;
106pub use kinetic_response_system::KineticResponseSystem;
107pub use layout::LayoutSystem;
108pub use light_system::LightSystem;
109pub use mirror_system::MirrorSystem;
110pub use music_system::MusicSystem;
111pub use openxr_system::OpenXRSystem as XrSystem;
112pub use pipeline_system::PipelineSystem;
113pub use pointer_system::{PointerActivations, PointerSystem, PointerTopologyContext};
114pub use pose_capture_system::PoseCaptureSystem;
115pub use raycast_system::RayCastSystem;
116pub use render_to_texture_system::RenderToTextureSystem;
117pub use renderable_system::RenderableSystem;
118pub use renderer_stats_system::RendererStatsSystem;
119pub use router_system::RouterSystem;
120pub use scroll_system::ScrollingSystem;
121pub use secondary_motion_system::SecondaryMotionSystem;
122pub use selection_system::SelectionSystem;
123pub use skinned_mesh_system::SkinnedMeshSystem;
124pub use system_world::SystemWorld;
125pub use text_input_system::TextInputSystem;
126pub use text_system::TextSystem;
127pub use texture_system::TextureSystem;
128pub use transform_stream_system::TransformStreamSystem;
129pub use transform_system::TransformSystem;
130pub use transition_system::TransitionSystem;
131pub use vr_types::{XrGamepadState, XrHandGamepadState, XrInputState};
132
133use super::World;
134use crate::engine::graphics::VisualWorld;
135use crate::engine::user_input::InputState;
136
137pub trait System: std::fmt::Debug {
141 fn tick(
142 &mut self,
143 world: &mut World,
144 visuals: &mut VisualWorld,
145 input: &InputState,
146 dt_sec: f32,
147 );
148}