(I wrote this in a private email to Reed, but I think it is of general 
interest).

What I have in mind could almost be a sort of "desktop" for VOS,
providing a general framework for providing visualization and
interaction for vobjects.  Thinking about it in that way, it might be
desirable to split different views into different processes, so they
don't conflict with each other and a crash doesn't take down the whole
system...  That approach would make it kind of like a window manager or
display server.

I'm thinking something like:
 vos io -> abstract handling of input and output
 vos 2d -> retained mode drawing using the SVG data model
 vos 3d -> rendering based on A3DL data model (as we come up with it)
 vos gui -> Abstract GUI controls represented using SVG or A3DL

VOS I/O is something we I haven't mentioned, but we will need a layer
that explicitly knows about key/mouse input events, and provides an
abstract representation for different means of output (character stream,
text console, graphical 2D and 3D panes).

I need to sit down and write some prototype code to explore this idea
more.  I'll probably hack out a GUI prototype with "fake" vobjects that
provide core functionality without all the asynchronous
communication/concurrency/network transparency features that will be in
the real VOS.

The week of June 9th I am officially part time, so that's when I hope
things will get going.


On Fri, Jun 29, 2007 at 09:09:36AM -0400, Reed Hedges wrote:
> 
> I think we do need modes for keybindings, and I like the general tool idea.  
> The GUI should not neccesarily be directly mapped to mode.n ia fixed 
> configuration though.  Instead, there should be a set of GUI elements (side 
> panes, etc.) for each mode, but they should be flexible in that you can bring 
> up other GUI elements, minimize elements, and it should remember that layout 
> configuration for the next time you enter that mode.  And, mode transitions 
> should be tools/bound actions. For example, you define in configuration that 
> middle mouse click means to "select" an object, and also enter editing mode 
> with that object selected.  By entering edit mode, the GUI layout for that 
> mode would be displayed, which might include window panes with different 
> toolboxes or information about the object displayed. But maybe you want some 
> panes to always be visible in all modes, etc.; maybe you want to hide the 
> chat 
> pane while you're in edit mode or minimize it so that there's a little button 
> on the edge of the screen that brings it back, etc.
> 
> I think tool panes/sidebars that you optionally float and move or iconify are 
> a 
> useful way to present buttons, tools, and object trees that makes them easily
> accessible and viewable.
> 
> (We should also definately adopt Firefox's method of displaying background
> notifications and non-modal dialog boxes by inserting them above or below the
> main viewing area rather than as popups :)
> 
> Reed
> 
> 
> _______________________________________________
> vos-d mailing list
> vos-d@interreality.org
> http://www.interreality.org/cgi-bin/mailman/listinfo/vos-d

-- 
[   Peter Amstutz  ][ [EMAIL PROTECTED] ][ [EMAIL PROTECTED] ]
[Lead Programmer][Interreality Project][Virtual Reality for the Internet]
[ VOS: Next Generation Internet Communication][ http://interreality.org ]
[ http://interreality.org/~tetron ][ pgpkey:  pgpkeys.mit.edu  18C21DF7 ]

Attachment: signature.asc
Description: Digital signature

_______________________________________________
vos-d mailing list
vos-d@interreality.org
http://www.interreality.org/cgi-bin/mailman/listinfo/vos-d

Reply via email to