searches the current version of every section · esc to close

Viewing this section as of v0.1.40 (tagged 2026-04-04). Go to current →

31 User and User Interface

#todo

A user is an being that must own or have access to an interface, and may have an inventory. Concretely, users include, but are not limited to, human beings, other intelligent beings, programs.

Interface

An interface is the input from a user to space and output to a user from space. The input from a user is a set of events that can trigger a set of corresponding functions known as interactions that changes the space. The output to a user is what user experienced from the space.

Camera

Each user may be associated with a camera. The camera can be moved in response to interface interactions and serves as the user’s primary visual viewport.

External interface

There are predefined sets of external interfaces commonly available on different platforms:

  • Desktop:
    • Mouse click (left or right) (at a place)
    • Mouse drag (along a path)
    • Keyboard input (with some characters)
  • Mobile:
    • Single tap and multi-tap (at places)
    • long tap (at a place)
    • Tap and drag (along a path)
    • On-screen keyboard input (with some characters)
  • System / Null users:
    • System interface: may monitor user-defined events occurring in the space or inventory as interfaces.
    • A null user is a system user that is implemented in a non-explicit way.

Avatar interface

The avatar interface has two layers: the control layer and the avatar layer.

The control layer is the external interface. When triggered, it calls an interaction function to control the avatar and perform a behavior.

The avatar’s behavior then acts as an interface in the avatar layer. Common behaviors include:

  • Moving (towards a direction or along a path)
  • Standing (at a location)
  • Engaging (with an object, self, or another avatar, may with options)

Inventory

An inventory is a list of items associated with a user. It represents the set of artifacts currently held by the user.

An inventory may include special slots that are monitored by system users. These are sometimes referred to as equipment slots or state slots.

In implementation, inventory elements may correspond to items or tokens stored in a user's wallet, or to contextual contents such as a backpack.

Item

Items are typically Artifact objects, but may be any object. They can also be monitored by system users.