Describe InteractiveObjects here.
Basic Interaction
An easy "first level" of making 3d objects more interactive to users of TerAngreal:
Two new object types, interact:clickable and interact:actions. Clickable has a single "clicked" message. TerAngreal should display an alternate cursor when over that object, and a click sends a message to that object. Some possible optional fields might include modifiers (keys pressed). interact:actions stores a list of actions you can apply to its object. TerAngreal should display a menu when this object is selected (selected, not "clicked", in case the object is also a clickable). When an action is selected, a message is sent with that action (maybe with optional fields for modifiers?). Actions can have labels, long descriptions (for tooltips), icons, suggested keyboard shortcuts for the menu. They could trigger scripts on the server. The actions could be a tree, with submenus for nested children.