Handbook · Categories and classes

Categories and classes

Where in the UI. Structure tab. Use the mode buttons Template, Categories, Expressions, and Classes. Category definitions and properties live on Categories; class packages live on Classes; attach a category or class to an element on Template.

Categories are named bags of properties you can assign to items. Classes are reusable packages of categories plus lifecycle/API scripts.

Hierarchy

A category may have a parent. Assigning a child includes every ancestor property. Children should declare only new fields. Empty categories are allowed as folders.

Bindings to a property must use the category id that owns that property — not the child’s id — even if the user assigned the child. The editor pickers usually fill this in; JSON edits often get it wrong.

Category flags

Property knobs

Every property has a type (text, enum, table, …), optional default, min/max/pattern, aiLookup (include in AI item fill), scriptWritable (scripts may write), and light UI hints. Tables need a column schema. table is a bounded ring (CTBL). fileTable is CSV parts without a row cap.

Classes

A class is a reusable package. Switch Structure to Classes to author it. You can add:

On the Template canvas, attach a class to an element with Class ref. To run a class-exported script from a wire, use Class API Call rather than copying the script onto every element.