The user is in an 3D enviroment like a 3D game scenery. Many of the objects are controls that make common tasks. User can interact with this objects to make things like: edit a text, copy a file, start an calculator,...
User can create objects that represent links to other aplications, like windows icons. This aplications can be simple Linux executables or special Lince programs that make Lince API calls. The Lince API provide ways to programmer create and manipulate Lince aplication interface. The aplication interface can be: simple 2D controls, 3D controls or a complete new enviroment.
The initial enviroment can grow it self if the space is to small.
Some objects can react by enviroment stimulus. Acording each stimulus the object can have a distinct reaction. These objects are called agents and the set of reactions of each agent: behavior. The agents can be composed with each others by user or other agents to create more specialized agents. The agents can help user telling what to do next or making tasks. Agents can have a body, a complete new scenery or nothing.
If many machines in a network are running Lince, the user can go between them entering inside the remote machine scenery.
User is one agent, too, it can be in many places at same time. For this it only need switsh between the available bodys pressing a hot-key combination, for example.
The basic scenery engine is under construction in my other project: 3D Foundation Classes.
I think a portal engine for scenery rendering is nice because if the scenery is big there is no performace loose and is easy grow it as necessary.
2 - implement the communication between Lince aplications and the Lince engine.
3 - Agents implementation, user can compose agents.
Implementation of the dynamic behavior sytem.
The implementation can't follow this, extrictly, this order.
This project must end at the end of 1998.
When finished I will distribute Lince free under GNU-General Public License.