User defined components
The biggest difference between Catacomb 2 and Catacomb 3 is that in version 3 the user (rather than the developer) can decide what types of things can be modeled and how they are represented.
Of course, unless you can write numerical software, you still can't run them, but this isn't as serious as it sounds. A large part of developing a good model is in the structure and documentation, rather than in the code iteself. Once you've created the specification, the rest really is "just programming" - unlike almost any other task in biological modeling.
You access component definitions with the "components" tab (top left, replacing the "models" panel). On the left is the workspace showing your components folder with folders and files. Each file is an XML file specifying how a particular type of model is represented or run. You can add folders and create new files with the right-click menu on this tree.
As well as folders, there are three types of file you can create:
to come - screenshots
The best way to edit a component definition is through the assembly editor. Components are stored as tables, just like models themselves and edited with the same components as for models, though with different schemas of course.
A component has the usual tag and info fields for its documentation, and then three sets containing fields, plugs and sockets as well as a drawing to be used for its icon. These are all accessible on the tear-off bar and you don't have to worry about putting them in the right lists. To add a field, just drag one of the fields on and set its parameters. Each field is separately documented within catacomb itself.
The editor shows a highlighted region with a dotted inner region. This is the part of the diagram that will be used for the icon of this component. You can design the icon by dragging shapes onto this region. Whatever is in the square sill become part of the icon. Not all components really need icons: if the user is unlikely ever to view a set containing the component in the diagram editor, then the icon probably doesn't matter.
Plugs and sockets are at the far left of the tear-off bar. You can position these on the icon of the component to indicate how models based on this component it can be connected to other models. There are a number of parameters associated with plugs and sockets - see the on-line documentation. The most important one is to specify what type of content flows through the connection. For each plug or socket you specify a conveyable. Then when the user makes a model, a plug of one type can only be connected to a socket of the same type.
For a component to be accessible as a standalone model (presented in the "new model" menu) click the standalone checkbox.
This is like editing types, except for the diagram view that shows all the plugs and sockets together - [needed: screenshot and explanation].