I haven't finished this chapter yet, but I'll have to stop right now and just wanted to point out two mistakes before I forget about them:
1 - You never explained smoothstep in the 2d outline chapter. You mention it togeter with clamp, min, max, and other methods, but you neves used it in the code or explained what it does.
2 - There is no dissolve_color variable in the code, at least not until this point:
EMISSION = vec3(emission_value * emission_amount * dissolve_color.rgb);
I changed it to emission_color and it seems to be working. The "burned" parts are not transparent yet but they take the color that I set in "emission_color" on the editor, but I had to stop around here for now.
Thank you very much for pointing these out, adding them to the team's todo right now.