| name | frame-graph-ron-ordering-authoritative |
| description | When Titan frame-graph pass-ordering validation rules conflict with RON config files, RON configs are the authoritative source — fix the validation rule to match the RON |
| source | auto-skill |
| extracted_at | 2026-06-15T20:25:00.000Z |
Frame-graph RON configs are authoritative for pass ordering
When adding ordering validation rules to Titan's frame-graph builder
(titan-rendering-frame-graph/src/lib.rs), the RON config files
(crates/titan-rendering-frame-graph/configs/pipeline_*.ron) are the
source of truth for pass ordering.
Rule: If a new validation rule contradicts an existing RON config,
fix the validation rule, not the RON. The RONs are the committed,
working pipeline configurations — validation exists to enforce them,
not to redefine them.
Why: During VSM Phase 2, the plan specified that StratumVisibleLightHash
must precede StratumVsmRasterize. But both High-tier RONs had
StratumVsmRasterize BEFORE StratumVisibleLightHash. The RONs were
correct — VSM rasterize writes the physical pool depth that shading
eventually reads, so it must complete before the light-hash gates
shading. The validation rule was fixed to match the RONs.
How to apply: Before adding a frame-graph ordering rule:
- Read the relevant RON config files to verify the actual ordering
- If the plan/spec ordering contradicts the RON, stop and reconcile
- The RON wins unless there's a demonstrated bug in the RON ordering
- Update the validation rule AND any test fixtures to match the RON
Catch the conflict early: Ordering conflicts surface as test
failures in cargo test -p titan-rendering-frame-graph --lib. If a
new validation rule causes existing tests to fail, the RON configs
(or test fixtures derived from them) disagree with the rule.