In reply to Andrew.

Im my impression option 1. is done since more than two years with rapidly evolving block editor in core - besides the maintained “forever” part. Core updates nowadays often simply break compatibility in block related functions and shifts the neverending maintenance to third party theme and plugin authors to sort it out.

You are right, this approach is really not how better software is built.