autoloader is an object of references to web components that HAX should load the definitions of once it's done bootstrapping. Here's a basic example with the steps as to what HAX does with this information
There are a few different ways you can declare references to the autoloader schema. Here is a simple example of all three common forms an then we'll explain each.
The most common method of import is simply "tag-name": "location-of-tag.js" . You'll see this for importing anything that's been published WITH static get haxProperties . You can also use this to add your own published / built elements that have their own haxProperties.
This is basically just to enable future support for defining capabilities at run time. It could also be used to issue an element but not actually import anything (so "whatever": { "import": ""} ). This is because possibly other logistics of your CMS / application are in charge of WHEN this definition gets imported.
This is the most powerful but also most verbose. This allows you to potentially import someone else's element that DOES NOT have haxSchema defined, and then define it yourself on the fly! This means you can leverage community elements and supply their wiring to talk to HAX based on your own mental model. This allows wiring up anything to HAX, but also the performance benefit of potentially building a design library but not including references to the static get haxProperties in your class for the element.