 |
Home | Changes | Index | Search | Go
Currently all LG3D? desktop applications run within the Display Server. This is bad for a number of reason's not
least of which is it opens the door for applications to crash the users desktop.
The client Scene Graph API is architected to allow implementation of a full client/server system. The current design
under discussion is to have applications build a UI scene graph and then pass the graph to the lg3d display server for
execution. The client and UI would then communicate by sending and receiving events. The primary advantage of this design is
that the UI is running in the display server so it can quickly react to the user without requiring a roundtrip to the
application itself. Obviously there are security considerations in such an architecture, most imporantly the system can not
allow the application to provide arbitrary code for execution in the display server. The current design calls for the scenegraph
itself to encapsulate all animations in an animation description (in XML) that is executed by the animation server. The system
can later be enhanced to run user supplied code in a strictly controlled sandbox if required.
The wire protocol for this architecture is still under discussion. One possibility is to describe the graph in XML with the
geometry and texture information as binary blocks within the XML for efficiency.
|