Yes, this shape thing is a good method to deal with it as a blueprint.

During work today I thought that your code can easily be used as a fake projection script. For example when you want to add blood splatters on a non.planar surface you could have a grid (lets say 5x5) with the blood splatter as skin and then you apply it easily. It is not a real decal substitution (since it is a very dirty workaround), but a great deal for now.