Documentation
    Preparing search index...

    Type Alias RenderGraphIssueCode

    RenderGraphIssueCode: "feedback" | "order" | "unwritten" | "opaque"

    What RenderGraph.validate can find (§63's "pass dependencies").

    String literals rather than an enum, matching RendererBackend and TransformAuthority: they serialize, log, and compare as themselves.

    • "feedback" — the pass samples the target it is drawing into. Reading and writing one surface in a single pass is undefined behaviour on every backend, so R-4's rule is that the sample is refused rather than attempted; what the author gets instead depends on the pipeline (the WebGL backend drops a sprite draw entirely, and draws a surface material untextured), and in no case is it the picture that was authored. Ping-pong between two targets.
    • "order" — the pass samples a target that only a later enabled pass writes. The frame draws stale contents: whatever the previous frame left, or transparent black on the first one. This is the inter-pass rule the graph exists to enforce; move the producer earlier.
    • "unwritten" — the pass samples a target no enabled pass writes. Either the producer is missing, or it is disabled (§63's enable/disable toggled a producer off but not its consumer). A warning rather than an error: the first frame of a ping-pong legitimately samples an uninitialised target, which R-4 defines as transparent black.
    • "opaque" — the pass is a CustomRenderPass; the graph cannot see what it samples and has skipped every resource check for it. Informational, and the reason an all-custom graph does not get to report zero issues.