State Attribute: visual-input

Problem space: top-ps

This attribute contains the input from vision, in particular, all of the objects that are inside the fovea. Features which are outside the fovea will appear instead on the state's ^visual-input-peripheral attribute. These features are structured very closely after those in Mark Wiesmeyer's thesis work (An Operator-Based Model of Human Covert Visual Attention).

Substructure of the attribute:

(<top-state> ^visual-input <f>)
  (<f> ^type << shape color page ... >>
       ^value <any>
       ^loc-x <num1>
       ^loc-y <num2>
       ^loc-z unknown
       ^relpos << ul l dl u c d ur r dr >>
       ^marked << no yes >>)
The value of the ^type attribute determines to a large degree the possible values of the ^value attribute. If it is a color, it must be (currently) either black or white. If it is a shape, it should be a word or one of the indicators of special features:
%unknown
type not recognized
%pcross
page crossout
%wcross
word crossout
%underline
an underline or fill-in blank
%h-edge
horizontal page edge
%v-edge
vertical page edge
The ^marked attribute is a reflection of whether or not the feature has been attended to.

The ^loc-x and ^loc-y gives the location (in an object-centered coordinate system) of the feature. (The Z location was made available in case it should become useful later.) The ^relpos attribute gives the relationship of this location to the spotlight of visual attention.

Features which have not yet been attended to will only have available the ^type, ^relpos, and ^marked attributes.

Implementation of input function: The creation of the structure is handled by vision.c, but the actual placement of the attribute on the top state occurs as a result of the InputField function in inputfield.c