Extend the TypeInfo class to handle all sent info

Registered by Erik Ogenvik

Currently the TypeInfo class only contains information on the type hierarchy. However, all type info is sent from the server, including default attributes. The TypeInfo class should therefore be extended to also provide methods for inspecting this data. This will make it easier for authoring tools, since they can use this data when creating new entities.

Another possible advantage could be that entities on the server that use default values, for example the default bbox, doesn't send this to the client unless it has been changed, depending on the client using the bbox set in the type info. This would save some bandwidth.

Blueprint information

Status:
Complete
Approver:
Al Riddoch
Priority:
Undefined
Drafter:
Erik Ogenvik
Direction:
Needs approval
Assignee:
Erik Ogenvik
Definition:
Approved
Series goal:
None
Implementation:
Implemented
Milestone target:
None
Started by
Al Riddoch
Completed by
Erik Ogenvik

Related branches

Sprints

Whiteboard

I think the most valuable aspect of this is in the use of default values for attributes defined in the class, and removing the need to send values for these attributes on the instances unless they have been overriden. As cyphesis uses the same model for attributes internally when handling this AI, a switch to a model where Sight operations only include data about instance attributes would safe massively on memory usage and processor load of the server. /al

I've created another blueprint, dependent on this, for the a little more complex task of making sure that only attributes that are changed are transferred. The main reason why I want to separate them is that I think that the latter task is quite large, and my main concern currently is getting entity persistence to work. With this blueprint implemented it's very, very easy to quickly create or alter the world from Ember, but without proper entity persistence all the work one would put into crafting a world would be lost whenever the server either is restarted or crashed. /erik

Moving this discussion to the specification URL on the wiki. /al

(?)

Work Items

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.