Most core assets are now loaded with ‘Features’. The asset mechanism still exists but many core assets either no longer exist or are no longer registered.
One of the lesser publicised quirks of v9 is that scripts and other assets are now loaded as ‘Features’. Each feature pulls in a bunch of related scripts and css (like pulling in an asset set in v8).
Blocks do this by declaring the controller with an interface and a method that returns a list of features to load. Overall quite neat, except the class declaration makes it impossible to code a block controller backward compatible with v8.
class Controller extends BlockController implements
F…