everything i tried is expensive and riddled with limitations, but for smaller models it could work. since your scenes are static i don’t see why you not want to bake them, that is the only truly performant choice and will look better than anything that’s calculated runtime. if you still want to try, here are a few methods you can experiment with, they’re react but the shaders are plain three universal:
baked shadows: Threejs journey - CodeSandbox
contact shadows: Shoe configurator - CodeSandbox
dynamic lightmaps: Adaptive lightmaps - CodeSandbox
percent closer soft shadows: Soft shadows - CodeSandbox
faking soft shadows w/ ssao dialed up to 11: Performance scaling - CodeSandbox
low resolution + pointlights: Minecraft - CodeSandbox