AT Metadata for UI
------------------

The following are suggestions for how metadata could be added to an AT in order to provide a flexible UI that
allows for both lists and views (the latter also being able to function as a form). For enums icons which are
named in the form <label>.png would be optionally able to be displayed. The file format used here is known as
"structured I/O" and comes from the CIYAM project (https://github.com/ciyam/ciyam/blob/master/src/sio.cpp).

<enums/>
 <enum/>
  <name>playing_card
  <options>use_icons
  <items/>
   <item/>
    <value>1
    <label>clubs_ace
   </item>
   <item/>
    <value>2
    <label>clubs_two
   </item>
...
   <item/>
    <value>17
    <label>diamonds_ace
   </item>
   <item/>
    <value>18
    <label>diamonds_two
   </item>
...
  </items>
 </enum>
</enums>

<views/>
 <view/>
  <name>card
  <style>normal
  <actions>
  <options>runtime,no_edit
  <view_fields/>
   <view_field/>
    <label>card
    <value>0000007f
    <options>enum=playing_card
    <variety>byte
   </view_field>
   <view_field/>
    <label>selected
    <value>00000080
    <options>
    <variety>bool
   </view_field>
  </view_fields>
 </view>
</views>

<lists/>
 <list/>
  <view>card
  <style>normal
  <actions>shuffle=message:1,select=message:2
  <options>runtime
  <list_fields/>
   <list_field/>
    <label>card_1
    <extra>selected=00000080
    <address>00000000:0000007f
    <options>enum=playing_card
    <variety>byte
   </list_field>
   <list_field/>
    <label>card_2
    <extra>selected=00008000
    <address>00000000:00007f00
    <options>enum=playing_card
    <variety>byte
   </list_field>
...
  </list_fields>
 </list>
</lists>