FWIW - I agree with you, that it would be beneficial to break away from the Arduino avr architecture designation, and then maybe split up
the Teensy Arduino install into 2 or maybe 3 different installs (AVR, Teensy 3.x, Teensy 4.x), should 3.x and 4.x be split? Not sure.
It would be nice, to be able to mark library properties to say it only runs on Teensy 4.x or 3.x...
Source compatibility with Avr boards like UNO? Good questions. Even Arduino is not doing a very good job of this.
For example, they do not appear to be overly concerned about making the UNO R4 compatible with the UNO R3... But at least in the past it has probably been a net positive for PJRC to have that compatibility.
If Paul were to agree to split it up (Or simply change to different architecture designation), my guess is that it will be lot of work,
and would take a while for things to be fixed. And it will probably cause some form of ripple effect. Things like:
a) If multiple board types, which libraries, go with which types. Do you also then take the opportunity to maybe embrace the library manager, and reduce the number of actual libraries that are installed?
b) What the actual split should be? Do you reorganize the source files on Github? and/or do you have release scripts that do this? Like how Arduino does MBED? That is their development setup is, that all of the MBED boards are one project, but their release scripts are such that many of the boards, like GIGA are shown individually in the board manager...
c) Fix up all of the things, that are installed by the board manager (or Teensyduino)... That is are the libraries marked with architecture.
d) update the documentation on PJRC, like how to install...
All of the above maybe can be fully contained by Paul, but where it could get tricky, are things like:
a) How many libraries are out there, that might do things like, check for Architecture == AVR and TeensyDuino and then
check for KinetisK/L or IMXRT ... How do they need to be updated? In the end would probably be cleaner, but... What do you do when there are
libraries that are no longer actively maintained?
b) What impact if any on other tools/setups? PlatformIO, Visual Micro? ...
The real question is, is this something that Paul believes that would be beneficial enough to PJRC to spend his time doing it?