The SmallCAVEtalk project's goal is exactly what you might guess: to get the VisualWorks Smalltalk development environment to work inside the CAVE. This will allow developers to use the debugging and simultaneous run and code features of Smalltalk with the visualization capibilities of the CAVE. The project is being implemented using VisualWorks Smalltalk 5i.4 and C++.
A picture goes here soon.
The biggest development issue encountered so far is the way in wich the CAVE libraries interact with the code that runs them. One of the first things that happen in a CAVE program is a fork of the calling process into several other processes. This action would have an essentially undefined action on the Smalltalk image, and, more than likely, would result in the consumption of all available RAM on the CAVE system. The solution is to have a small C++ CAVE program accept OpenGL drawing commands from Smalltalk. The C++ program then communicates these commands to the drawing processes created by the CAVE libraries. All of this can be accomplished using VW Smalltalk's external interface functionality.
Past projects: HyperTetris and a Lorenz Mask in Java 3D