[...]
a gaussian blur is basicly nothing more then moving your screentexture (alpha is zbuffer) into every direction by X Units (0.001 will do) and giving these directions different weights via multiply
so your nodes should look like this (from right to left, not from left to right how i'm writing)
texture coordinate > add with (0,001;0) > plugged into the UVs of your scene texture> divide by your zdepth value, (you should test that value) > multiply by (1)
this will offset the uvs of your scene textures zbuffer by 0,001 into X direction
now what you need to do is, do that into all 8 directions and add all this together with the initial scene texture, so it looks like
scenetextures alpha > divide by (your zbuffer value) > add with:
(here comes the part from before)
texture coordinate > add with (
0,001 ; 0) > plugged into the UVs of your scene texture> divide by your zdepth value, (you should test that value) > multiply by (1) > add with
texture coordinate > add with (
0,001 ; 0,001) > plugged into the UVs of your scene texture> divide by your zdepth value, (you should test that value) > multiply by (1) > add with
texture coordinate > add with (
0 ; 0,001) > plugged into the UVs of your scene texture> divide by your zdepth value, (you should test that value) > multiply by (1) > add with
texture coordinate > add with (
0 ; -0,001) > plugged into the UVs of your scene texture> divide by your zdepth value, (you should test that value) > multiply by (1) > add with
texture coordinate > add with (
-0,001 ; 0,001) > plugged into the UVs of your scene texture> divide by your zdepth value, (you should test that value) > multiply by (1) > add with
texture coordinate > add with (
0,001 ; - 0,001) > plugged into the UVs of your scene texture> divide by your zdepth value, (you should test that value) > multiply by (1) > add with
texture coordinate > add with (
-0,001 ; -0,001) > plugged into the UVs of your scene texture> divide by your zdepth value, (you should test that value) > multiply by (1) > add with
texture coordinate > add with (
-0,001 ; 0) > plugged into the UVs of your scene texture> divide by your zdepth value, (you should test that value) > multiply by (1) >
all this added together will gve you a hell of a bright image, but divided by the sum all multiplyvalues you'll get a blurred version of your image/zbuffer (depending on if you'd use the alpha of the scene texture or not)
now divide a scenetexture (in this case the alpha) by that blurred image and you'll get some sort of outline, all you need to do next ist tweak it, power it up, clamp it, whatever, until it looks good to you.
to have better control about the outline i added a multiplyvalue into all fomulars connected to the (add with (
X ; Y)) part so its Multiplyvalue*(add with (
X ; Y)) so the offset can be controlled by just one Node also i added more fancy stuff like the outline getting thinner by distance etc but that's not of your concern right now ^^
try to understand what i did, all in all it's just basic math, no fancy stuff, just adds, multiplies and divisions, otherwise i might not have understood it

sounds more complicated then it is
what it does in the end is blur the zbuffer and check the difference of the blurred and the normal image, it's not really super detailed[...]