meridian_task_core/lib.rs
1//! Job graph scheduler: worker threads, dependency tracking and work stealing for parallel frame execution.
2
3/// A unit of frame work with declared dependencies (see docs/threading-model.md).
4#[derive(Debug, Clone, Default)]
5pub struct Job {
6 pub name: &'static str,
7}
8
9/// A dependency-ordered set of jobs for one frame.
10#[derive(Debug, Clone, Default)]
11pub struct JobGraph {
12 pub jobs: Vec<Job>,
13}
14
15/// Runs a `JobGraph` across worker threads with work stealing.
16#[derive(Debug)]
17pub struct Scheduler {
18 pub worker_count: usize,
19}