Commands
Participant to Bubble
INJECT REQUEST/RESPONSE: participant puts a new object into a bubble
- contains object id, owner id, url to content description, initial state payload, payload dialect, rough physical bounds, awareness bounds, position, orientation
MODIFY REQUEST/RESPONSE: participant modifies injected data; this will have several forms allowing updates of various attributes of the object without having to send the whole thing; anything in the INJECT may be updated
- includes a time field indicating when the update is to take place; client software may use this to animate motion
EJECT REQUEST/RESPONSE: participant removes her object
INTERACT REQUEST/RESPONSE: send a message payload to someone else's object
- interaction with others object: contains source participant id, optional source object id, target object id, target participant id and message payload
EXAMINE REQUEST/RESPONSE: request complete information about an object
- contains participant id, object id of object one wishes to examine
Bubble to Bubble
ATTACH REQUEST/RESPONSE: Bubble requests attachment to another bubble.
DETACH REQUEST/RESPONSE: Bubble requests detachment another bubble.
HANDOVER REQUEST/RESPONSE: Object is handed over from one bubble to another.
Events
Participant to Bubble, Bubble to Bubble and Bubble to Participant
ACTION : Object acts in a way which does not affect other objects.
- contains id of owner participant, id of object doing the acting, message payload
Bubble to Participant and Bubble to Bubble
PERCEPTION: An object has been perceived for the first time, examined, or modified.
- contains participant id, object id, time to complete
- various forms will contain various attributes of the object; anything in the initial inject may be modified
Note that the bubble server is expected to keep one state payload for each object; this starts with the initial state payload of the INJECT command, and gets replaced every time a MODIFY command sends a new state payload for the object; this latest state payload is what gets transmitted via the EXAMINATION event after EXAMINE event.
DISAPPEARANCE: Object has disappeared for some other reason than EJECTION.
INJECTION: An object has been injected. Contents the same as inject command.
MODIFICATION: An object has been modified. Contents the same as inject command. Variant of the PERCEPTION event.
EJECTION: An object has been ejected. Contains the same eject.
INTERACTION: Participant and object or two objects have interacted.
- contains id of participant doing the interacting, optional id of participant's object doing the interacting, id of your object, message payload
EXAMINATION: Participant has requested explicitly all information about an object. Variant of the PERCEPTION event.
HANDOVER: Object has been handed over from one bubble to another.
SYNCHRONIZATION BEGIN/END: Bubble starts sending perceptions of all objects in range of the peer.
- Typically done on client join or bubble link. Contains approximate number of object perceptions to be sent for progress estimation.