In The Scene

Cloudbased 3D modeling with semantic search (working prototype)
Experience
Threading
Event Queue
Asynchronous Input/Output
Protocol design
Pattern matching
Graph theory
Client/server application
XML to 3D Object codec
3D Graphics
3D GUI Design
Technologies
C++
boost
pthread
asio
Ogre3D
Summary
The user uses a browser/editing client to visit a 3D model server.

A client can modify a complex shape on the server;

It can attach and remove basic 3D shapes (spheres, cubes, etc.) to other shapes, as children.
It can move/rotate/stratch these basic shapes and the shapes that are attached to them as children.
It can change the colour of a basic shape
It can change the type of a basic shape
It can add/edit/remove tags on basic shapes

As a shape grows and children get added to children, the shape forms branches. These branches can contain tags

A client can request the server to search for branches with shapes that have similar tags, that are connected in a similar way. This is a very basic form of semantic pattern matching.

To find this pattern it is necessary to have a data set in which to find matches. Each server has a set of neighbor servers for this purpose. Neighbors and neighbors of neighbors are searched. Again, a client can edit the server's set of neighbor servers.

In short; InTheScene allows users to edit 3D models stored online, and use pattern matching on tag trees to search for work of other users.