We have many plans for extending Cichlid to be an even more powerful and more useful tool. Here's a quick snapshot of what we're looking forward to, in no particular order:
Cichlid is sorely lacking a decent user interface. Once we add some sort of UI abstraction layer, we'll probably use the GLUI or MUI interfaces, both of which are built on top of GLUT. We'll have to see what kind of quality and performance we get; layer, we may "upgrade" to some window-system-specific UI.
Offscreen rendering with Mesa is actually implemented, as far as scene generation and capture. What's really needed is a user interface for it; adding a user interface abstraction layer will allow us to create some sort of command-based user interface, so Cichlid can usefully be run from scripts, non-interactively.
Partial data updates -- "sending diffs", if you will -- are a must for any serious distributed application that has data sets of appreciable size.
We're not sure about the specifics yet, but we want to add a run-time option to tightly couple client activity with the server. This will allow things such as server "hints" about camera position, and animation generation that is time-independent, for non-realtime data.
We're thinking of allowing the server to provide some graphics, probably to be used as texture maps on a plane or some such. This would allow for things like using maps as a backdrop.
Currently, the only output method supported is the writing of bitmap files. Although Cichlid will render huge bitmaps if you want, it would be nice to have output in a vector format, since that can succinctly represent things in a resolution-independent manner. We don't know what format we'd use, though the first will probably be PostScript, since there is a library already written that can help.
It's Just Plain Annoying how, on every invocation of Cichlid, you have to futz with the camera and data placement to get things looking just as you want them. Currently, Cichlid doesn't have a mechanism to save and restore it's state from a file. Since it doesn't even have partial information, such as where the graphs are, it just calls a default routing that lines them all up in a row.