; engawa-wgpu effect catalog — bloom (multi-node: threshold →
; separable gaussian blur (horizontal + vertical) → additive
; composite). One shared BloomParams uniform across all four
; nodes; the blur axis is baked per-material.
;
; params-size is the bind contract for the params uniform —
; tests/catalog_matrix.rs reads this file and asserts
; size_of::<BloomParams>() matches.

(defeffect bloom
  (priority 300)
  (params-size 32)
  (params-resource "bloom:params")
  (nodes
    (node bloom:threshold (input "scene") (output "bloom:bright"))
    (node bloom:blur-h (input "bloom:bright") (output "bloom:blur-h"))
    (node bloom:blur-v (input "bloom:blur-h") (output "bloom:blur-v"))
    (node bloom:composite (input "scene" "bloom:blur-v") (output "out"))))
