Inventory Functional Spec
The Functional Spec explains how a user interacts with a feature, and what results they can expect from the feature. Ideally, the UI will indicate what the user can expect to happen next. Use screenshots when appropriate.
General Description
What does this feature do? Allows the user to store items.
Interface Requirements
How does the user use/activate this feature? Clicking the Inventory button or hitting ctrl-i.
Performance Requirements
Will this feature affect:
- Client FPS? YES. Large inventories take longer to draw. (perhaps this is fixed)
- Simulator FPS? YES. Inventory is fetched from dataserver on the Simulator, so it may have a small effect on Simulator performance.
- Database? YES. The dataserver fetches inventor from the Database.
- Asset server? YES. Rezzing items reads from the Asset server. Creating invetory items writes to the Asset server.
- Network load? YES. The inventory structure must be streamed to you. Rezzed or opened items must be streamed to you. Uploaded items must be streamed to the asset server.
- Any other system? NO.
Design Constraints
- Will this feature be unavailable on certain hardware? NO
- Is this feature consistent (similar look & feel) with other features? PARTIAL. Inventory has it's own Menu which is not accessible from the keyboard.
- Is this feature well integrated (accessible when you need it, and in the place(s) you expect to find it)? YES
- Is this feature discoverable (newbie friendly)? PARTIAL. There's room for improvement.
- Is this feature Safe, Predictable, and Responsive? YES.
Feature Dependencies
- Features that this feature will affect
Attachments, Rezzing objects
- Features that affect this feature
Upload Assets, Focus, Take, Take Copy
Security risks
- Does this feature give access to something it should not?
NO
Feature Rules
The rules of the feature, organized in order of precedence. (eg. Rule 1 supersedes Rule 2, which supersedes Rule 3)
Object taken or returned into inventory go into their previous folder. Returned object that have no previous folder will be put in the Lost and Found folder.
Accepted or uploaded assets of a certain type (eg. Clothing, Script, Animation) will go into a system folder of the same type.
Accepted categories will go into the Inventory folder.
Feature Usage
When appropriate, the feature will be laid out in chronological order, or in the order they are most likely to be used. (eg. Create a group, then add members, then deed land, ... kick members, leave group)
Inventory
Creating
item goes into particular folder
Modifying items
Property panel
Managing inventory (or drag and drop behavior)
Opening Dragging
dragging over closed folders auto opens them. folder will close again after drop.
after dropping in an open folder
dragging onto scroll bars will scroll the inv [no longer works?]
dragging onto "recent items tab will open the recent items tab" [bug?]
scrolling
Rezing
Taking into inv
item goes into previous folder
else item goes into Objects folder
Returned items go to the folder they were rezzed from. If the object never had a folder or that folder has been deleted, object is put "Lost and Found" folder.
Window behavior when receiving inventory
received item from person or script
received auto-open item from person or script
received category from person or script
received group notice attachment
Accepting and declining inventory
Accepting inv item Declining inv item Same for items received while offline
Accepting auto-openning inv item
Declining auto-openning inv item
Same for items received while offline
Accepting inv category Declining inv category Same for items received while offline
While in busy mode
From muted person or item
From muted group
Inventory behavior
Finding
Sorting
Opening folders
Metrics
Speed - how fast the inventory loads
Reponsiveness (time between clicking/dragging an inventory item to ground and the cursor switching from "not" to "allow drop")(this time seems to be increasing - may be related to sim data server load)
Accuracy
Clearing
keyboard navigation
ctrl-I toggles inventory open / closed (should it do anything other than hide it? close or open any folders?)
focus should be in the search field by default when inventory is opened
Inventory search.
search for item
press return, where does focus go?
press up and down arrow keys, where does focus go?
press up and down arrow keys while search is loading & searching your inv, where does focus go?
press right and left arrow keys opens and closes folders
press tab
Visible item search
cursor is in inventory tree area of inventory window
type an item name
first item matching will be highlighted
1 second(?) typing timeout
Selecting multiple items
Attaching items Context menu
Drag and drop item on avatar. Drag and drop category on avatar (see some other test script?)
Inventory searching
Library folders
Recent items tab
sorting filters