GeniusVentures / GeniusVentures/SGProcessingManager
Execute ordered multi-pass processing graphs
@itsafuu is already working on this.
Since Jul 28, 2026.
- Dominant language
- C++
- Stars
- 0
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Description
Problem
The processing schema declares an ordered passes list with pass-level inputs, outputs, models, shaders, and transforms. The current runtime does not execute that graph. Process() receives one ModelNode, loads one model and one input, invokes one processor, and returns.
This prevents general compute and GCS workflows that need several dependent stages, and it also prevents compute-driven rendering that requires several Vulkan stages.
Scope
- Execute every enabled pass in declared dependency order.
- Build and validate dependencies from pass input/output bindings.
- Support linear pipelines, branches, and merges.
- Store pass outputs as typed intermediate resources available to later passes.
- Detect missing producers, duplicate output names, incompatible bindings, and dependency cycles.
- Track pass-level state, progress, errors, hashes, and output artifacts.
- Stop or continue after a failed pass according to an explicit job policy.
- Preserve intermediate Vulkan resources when consecutive
COMPUTEorRENDERstages can reuse them safely. - Release intermediate resources when their final consumer completes.
Acceptance criteria
- A job with at least three dependent passes executes in the correct order and passes named outputs to later stages.
- Branching and merge tests produce stable results.
- Invalid and cyclic graphs fail validation before execution.
- Disabled passes are skipped without breaking valid downstream bindings.
- Pass-level progress and errors identify the exact failing pass.
Depends on the pass/input correctness work in issue #8.
Base implementation and review work on the branch consumed by SuperGenius/develop.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.