Quick answer: Godot 4 transparent canvas items showing z-fight on overlapping? Default sort order is enter-tree; explicit z_index per item.

Two transparent particle systems; overlapping; flicker between front and back.

Set z_index

Per item; explicit order. No z-fight.

Or use show_behind_parent

Force one behind the other; explicit; predictable.

Layer-based sorting

Different CanvasLayers; CanvasLayer ordering wins over z_index.

“Sort order is implicit by default. Explicit beats implicit.”

For complex 2D, the explicit z_index convention is project-defining. Document.

Related reading