Inputs
The Aura layer contract — what each input plug expects and what it does with it.
Aura takes up to four TOP inputs. Only the first is required — each one added unlocks a feature tier.
| Input | Content | Unlocks |
|---|---|---|
| 1 — Scene | Your composited layers, premultiplied | Emission from bright pixels |
| 2 — Occlusion | Grayscale blocker mask | Shadows independent of alpha |
| 3 — Emission override | RGB emission map, in nits | Emitters that aren't visible |
| 4 — Normal | 2D normal map | Directional response on surfaces |
The one rule: premultiplied alpha
Aura derives occlusion from input 1's alpha when no input 2 is wired. Straight (unpremultiplied) sources read as glowing halos around every edge.
If halos appear around composited elements, the source is straight alpha — drop a Premultiply TOP in front, or wire a real occlusion mask into input 2.
Emission without visibility
Input 3 answers the common request "light from off-screen": paint emitters into the override map and they cast without being drawn.
# noise TOP → level TOP (drives intensity) → input 3
op('aura1').par.emissionscale.expr = "1.0 + op('noise_fire')['chan1'] * 0.4"Normal maps (input 4) are the cheapest large upgrade: characters rendered from a 3D DCC with a normal AOV pick up directional 2D light that tracks their forms — the flat-sticker look disappears.