Maybe a bit premature to mark as solved?
Now PIO seems to have lost all knowledge of Arduino when testing with a basic blink example.
Ok… I have found numerous corruptions (zero-length files) in the frameworks folders for PIO.
I have reloaded all the frameworks and now my projects appear to compile without the hundreds of previous errors.
My problems might be resolved (I’ll see if there are other problems that occur through the dev/rel workflow)
But as yet I don’t think anyone has identified the ‘root cause’ that has impacted many in the last 24-36 hours.