VisibleThing extends Accessible, CanBeSynced, Changeable, ContainsFunctions, ContainsOperations, ContainsValues, ContainsWires, GeneratedElement, GeneratesElements, NamedElement, WireDestination, WireSource

An interface element that may be rendered to the user.

A VisibleThing is the abstract type for interface modelling, and may directly contain other VisibleThings as its children. All VisibleThings may be rendered to a user. When a VisibleThing is rendered to a user, all children VisibleThings must also be rendered in order according to their renderOrder. A VisibleThing that is currently hidden must not be rendered until that VisibleThing is subsequently shown. The name of the VisibleThing may be used as a label for the rendered element.

All VisibleThings define the hide, show, init and update Operations, which are implemented as BuiltinOperations. All VisibleThings also define the empty and notEmpty Predicates, which are implemented as BuiltinPropertys.


Direct subtypes:

All subtypes: Toggle


Implementation Notes

Inference Rules



Inherited Attributes


Inherited Children



Inherited References


Inherited Extensions