Hi -
I've been working a little more on the "programming tools in Croquet"
idea, and thought folks on the list might be interested to see an
update. At Ralph Johnson's suggestion, the first thing I've been
working on is a "Croquet-aware inspector" - running in local Squeak
but with effect on the shared island.
I've just uploaded a start at it. It's in the "CroquetAwareTools"
Monticello package at "
http://www.squeaksource.com/SocRecording".
Here are the version notes:
A Croquet-aware Inspector and sample tools to try it. Use
CroquetParticipantWithTools openDemoMaster
to start a master router for the demo world, and
CroquetParticipantWithTools openDemoParticipant
to join a master running on the same network.
Clicking on the cube or sphere will bring up an inspector. The
inspector
is local to the image where the click originated, but changes in it
affect the shared
world. Try, e.g., saying
self radius: self radius * 1.1
in the sphere inspector, or accepting a new value of "false" for
visible.
This works by overriding a few methods in Inspector to send
appropriate messages to a Croquet TFarRef. I chose to do this instead
of using a simple proxy around the far ref because it seemed simpler
- and because Inspector relies on sending #class, which IIRC is sent
specially by the Squeak VM.
I experimented a little with keeping the whole Inspector on the
remote system, allowing more of the UI state to be shared between
images. I ran into some trouble, but something along these lines
seems possible with some more work.
There are still a few things that don't work at all. In particular,
errors in compilation, or exceptions raised at runtime, are not
handled very well. My plan is to fix this situation up next.
If you have a chance to try it or look at the code, let me know what
you think!
Thanks,
Benjamin Schroeder