You're worried about nostr fragmenting. I am too.
A big worry of mine is a JavaScript-based P2P nostr taking off before a JavaScript-free nostr takes off. That could lead to fragmentation that's really hard to fix.
We can split paths without fragmenting so badly if the path splits like this -
1. The web-compatibility-focused, semi-centralized JavaScript-and-relay-server-based branch
2. The pure-decentralization-focused, P2P JavaScript-free branch
These 2 branches can just talk to each other, translate nostr:nevents between each other's formats, and be useful enough at different times to be worth the tradeoff, without it becoming too much of a clusterheck to patch it all together and keep clients and users "near" other clients and users.