Math solution for soft shadows

Hello all ,i am familiar with threejs and with contact shadow and dynamic, baking…
but i have a lot of objects in my scene and all of those types are not fit either of performance issue , or size issue (if i want to bake a texture of each object, cuz there an intro animation for each object so i cannot bake all shadows in one plane ), so maybe can i use on befor compile to add some fake shadoe to each obj??? i mean i saw a lot of shaders on shadertoy like this Shader - Shadertoy BETA
Shader - Shadertoy BETA
can we make something familiar ??
Thanks alot!!

you could check out contact shadows, there is a demo in the examples. you can now limit the frames it renders, for instance, 1, and it’s practically baked in from that moment on. or you let it run but then it starts to get expensive again bc it has to render the scene twice. looks like this: Backdrop and cables - CodeSandbox

from what i have seen there is no easy way to get soft shadows.