Based on my experience using PSoC6 (although via PSoC Creator IDE) it too works off the principle of having to compile for each core, whereby you can instruct one core to remain in deep sleep throughout. You also define which core to handle the bootloader. Thus for mbed it would be nice to have a new CLI compile/link command which handles all this for you to make life easier to compile both cores.
I think my take on other platforms is that in all cases for application layer, the sync/async coordination and data transfer between cores is handled though software library (I believe PSoC Creator library uses shared memory addressed to exchange data too - in this case it would have to be a via the ext flash on the Pico, which is slower than RAM… or maybe you could use DMA somehow).
The question I’m putting forward is whether it’s worth the effort to create one mbed API library (as a core library) which could work for any platform (such as a RPC API library, for example with sync/async features) or whether it’s better just (or only viable) to develop libraries on platform by platform basis (i.e. one for Pico, one for PSoC, one for STM etc.)