UI Specification

Last modification on 2019-01-29

Introduction

This document provides an overview of the user interface. It is very brief as the majority of the interface is specified more in depth in the keyboard and graphics specifications.

Key Terms and Concepts

TermDescription
Command promptAn area where commands can be entered into the simulation
CommandsMessages sent to the simulation to affect it's behaviour or cause an action, such as creating new agents
HJKLA method of directionally navigating using the keyboard
Insert modeA mode in which key presses are entered as text into the command prompt
Interface barBoth the status area and the command prompt area of the user interface
Key bindsShortcuts for performing various commands
ModeThe state the user interface is in. Affects how key presses are handled
Normal modeA mode where key presses are registered normally, as keyboard shortcuts
Select modeA mode which allows the selection of areas on the screen

Overview

The user interface is split into two main sections: the simulation section which take up the majority of the screen, and the interface bar along the bottom. This consists of the mode indicator and the command prompt

The user is able to interface with the simulation via various Vim inspired key binds, for example, hitting the ":" key will put the user into insert mode. Hitting Esc will return the user back into normal mode. For more information on all the key bindings, please see the keyboard specification document.

Modes

The user interface allows for three different modes: Insert mode, select mode, or normal mode, which are explained below:

Layout

Below in figure 1. is an illustration of the user interface with an explanation of each component:

Graphics[1]
 
 Mode[2]  Command prompt[3] 
Figure 1. UI Illustration
Components:
  1. Graphics: This is where the simulation will be displayed
  2. Mode indicator: This is where the current mode the UI is in will be displayed
  3. Command prompt: This is where the user is able to enter commands to interact with the simulation.