The CVE Big Board (to-do list)

Jobs are numbered chronologically, which may not be an ideal organization.
3Avatars' heads should show who is talking in avatar class but not called, use for VOIP status, prototyped by Ziad
9Turn rooms' data from previous CS 579 courses into .dat format 2nd 579 CVE course data mostly done already
11Get ssh tunnel mechanism working launching tunnel from inside unicron doesn't work yet
13dynamic state and server forwarding for whiteboards/blackboards Use SVG subset? Develop/adopt generic dynamic state update protocol
14add white/blackboard drawing to client a "whiteboard session" tab
20client needs automatic reconnect to server when connection drops In recent, client was not hung after connection dropped.
25refine local (photo-based) textures replace GIFs with JPG's, but not until G5 is solved
26try out UDP for avatar motion
26add interesting virtual objects followup Shyam's graphical implementation with dynamic behavior
28add avatar orientation to persistent server state angle is saved but not yet getting restored
30add user statistics to persistent server state so we can remember what users have done what for how long
43server log forwarding (limited) ability for admin users to request that logs be copied to them
45client and server hang after guest login
48add a way for end users to change their password
50session recorder so clients can remember their own sessions remember conversations and instructions delivered via chat; chat recorded to Moodle has been prototyped
54check # of parameters to commands issue "usage: ..." message when user gives wrong # of arguments
63re-enable mode 1 out of body movement command line option or internal command
66fix walls so they aren't infinitely thin add thickness in a subclass
70integrate Samat's mapview turn it into a "widget" in place of static 2D map
71add windows to more rooms that have them
72control keys in chat widgets should route to 3D window commands
75avatar's heads should rotate to match how much "up" or "down" they are lookingoptional extra parameter of a \move command?
76NMSU classroom wing decorations should be raised 1 meter
78add version # check to protocol login added to server; not checked by client yet
79avatar jump command look in Shyam/Anil CVE class project?
81avatar (conservative) collision detection
83watchdog needs to survive broken pipe errors
88\who should tell where each person is and what they are doing with some privacy options
89moving backwards needs to be smoother, like forwards
91doors should be able to stop in between open and closed this used to work fine
96switch to JPEG faces (and other textures?) > 256 colors makes a big difference on faces; can't do until G5
98Suck in "live" whiteboard content from hi-res webcam
100save a snapshot of the whiteboard prior to each Erase op
101define low-bandwidth graphics language SVG replacement?
102add faint lines at corners so they're more visible
104graphical model.dat editoror "live" in-CVE world editing
105render (more) as needed when a door opens
106make Client window resizable almost works, needs equivalent of clicking on current tab after resize
108add collaborative compile message viewing
109add collaborative executing/debugging
110add away-from-keyboard accounting in server
111server does not always recognize logouts
113add "now serving" queues to instructors so students can see who is busy
115file transfer mechanism extend earlier mechanism to handle longer files
117fix spelling of "corridor"
118autocreate missing avatars from guest.avt/guest.gif
120implement a voice tunnel tunnel our voice UDP via Unicron TCP? or other workaround for clients without valid IP #'s.
121Quit shortcut (ctrl-Q) should ask if you are sure first
122prevent/detect/recover multiple .state files on server ziad.state in 3 different rooms, for example
123create an autorun.inf file to launch our installer from the CD see microsoft's references
124add -no3D option CVE should be able to run on 2D-only clients
125avatar eye height should be computed from avatar height not hardwired to 1.5m
126fix third person view "y" bug
127IDE mouse click should set focus and does not workaround is to press an arrow key
129watchdog "probing to find out if it is unicrond" can hang
130coordinate warps view out and away from building for no reason
132upgrade teleportsupport teleporting to rooms or users
133doors' dynamic state should include locked/unlocked
134add virtual keys
135room-based autosharing of documents IDE autoinvite/autoaccept
136add command for server-download of whole virtual world
137add commands for virtual world edits\addroom etc
138user.state files' x coordinate should be trimmed when written
140WINDOWS face file uploads are corrupted/bad
141texture resize bug on linux x86, textures that are not power-of-2 mess up
143fix door initialization they look "open" but don't work until closed/opened, etc.
144avatars on ramps should appear raised to other users
145ramps should support colors/textures
146ramps should be able to rise west and north not just east and south
147screen goes white when new user logs in or logs out
148avatars and ramps need to use WSection() (check for any others?)
149add \collect and \memory commands improve remote info and administration
150amaker dies when server is down needs to check server is up before it even runs, and handle crashes without losing user avatar data.
151NMSU's foyer/atrium needs improving
Server can die reporting a failed attempt to read a file not open for reading, reporting a read(file(:4500)), as if its possible for a listener to get promoted to regular mode when select() returned it, but it wasn't actually opened yet? Or maybe the file gets closed after select() has returned it. If an open network connection gets closed at the other end, maybe it should cause read()/sysread() to fail, instead of runerr?

Unicon Language / OpenGL / 3D Facilities To Do List

U1Font supportOmar done; alpha testing
U2Improve transparency support
U5JPG texture support needs retesting, known bug on Windows
U6Fix FillPolygon to handle concave polygons See GLU tesselation
U7detect when we run out of texture memory
U8add automatic mipmappingon big video cards, anyhow
U10detect graphics hardware specifications can tell video ram on most machines
U11debug or rewrite calls to gluScaleImage() isn't this too slow?
U12WriteImage() should support subwindows and/or 3D windows code can be borrowed from where Texture() turns a 3D window into a texture
U13add ability to free textures when no longer used see glDeleteTextures(); maybe done, at least textures can be replaced
U15create a more direct writeable texture type opengl-native in-client-memory representation
U16add (read-only) 3D platform attributes glGetString() can return us glversion, glvendor, glrenderer, glextensions
U17texturing in bad format should fail, not runtime error and if a .JPG is in a file named .GIF, we should just succeed as JPG
U183D object selection support
U19Unicon language should auto-catch broken pipe errors and turn them into eof / failure
U20add open(...,"m", timeout)

Done List

1Merge 3D window and chat window into GUI.Dr. J
2Visible names on avatarsYo
4Convert please11 to FHN coordinatessee please12
5Create 3-room 3D model for please13 (167, hall, 125)Dr J
6Update UI to IVIB V2Nolan
7Add UI source snapshot to CVE CVSHaniat least partly done
8Merge CVE GUI into UI as "tab" widgetsHani
12Streamline Account Creation and Guest CreationKosta
15Suck in "live" whiteboard content from XML/SVG service
16move connection logic from chat window to session class, etc. Dr. Jdone when we got rid of chat window...
17Client should "remember" last username, use as default in login dialog
18server needs to not die with "Broken Pipe" when client terminates suddenly Kosta due to chatwin resize (1), due to "Broken Pipe" (3)
19server needs watchdog daemon to keep it up 24/7 Kostamaybe done
21add help window invoked by F1 key and menu option Hani
22integrate voice chat capabilityZiad
23integrate sound effectsAnildoor opening is in CVS, along with many sounds to integrate
24render-on-demand (only what is visible to user)Akshay
27login dialog: pressing carriage return from the user or password field should log onjeffery
29add server record of: how long the server has been upKosta
31remove network code from model.icnDr. Jrestructured classes
32add texture classRashmimaybe needs some debugging yet
33add a command to change user's passwordKosta
34server logline short timestampKosta(2/3/05 22:06) instead of (Thursday, February 3, 2005 10:06pm), etc.
35sort list of users in accountadminKosta
36messages from server should not say they are from userDr. J
37Use Texture() and Texcoord() instead of using WAttrib() everywhereadded WAttrib() that generates its displaylist elems
38Make Room / Model dynamic data instead of code see please13.icn and sh167.dat
39default command Dr.J repeat previous command, e.g. say
40when someone moves, chatwin output hung up until you click in your window and back in your chatwinDr. J got rid of chatwin
41client goes into pathological garbage collecting loop when server dies.loses connection message, fairly gracefully
42support multiple names as aliasesKosta#17 solves what this was about
44doors look awfulsome non-textured doors...
46add all the major cooridoorsDr. J
47add door state to the persistent server stateAkshay
49change model.icn room datafile parser to infer floor coordinates from room dimensionsthis works already. improved floor parser code might allow different floor types.
51third-person camera should not back through a wall behind avatarDr. J
52prevent same user from logging in twiceKosta
53fix bogus face texturesometimes blank, sometimes shows wrong person's face; should check if a texture fails and revert to a default
55room change messages when in CVE by oneself suppress "nobody to talk to"
56server generate avatar create remote's on loginAkshay (Dr. J)
57remove .txt filesYo (Dr. J)
58client seems to hang if server is not upafter connection fails, movement was frozen
59guest creation falsely reports authentication failure if server is not upKosta
60fix filename truncating in nsh using explicit \avatar wynnWynnhasn't reappeared, not sure about it
61fix patcher to not update splash.gif spuriouslyDr. J
62fix server crashes on null passed into selectDr. J
64fix .gif's that are checked into CVS in non-binary modeKosta
65if client dies abruptly, server thinks user is still logged inDr. J see #52. At present, server logs out old login when new valid login is presented.
67truncate real #'s passed to \moveDr. J17.59354878 should go to net as 17.59
68investigate unicrond startup timeI am not seeing a problem at present
69avatar should turn when camera turnsDr. J
73plaintext keys in 3d window should route to text input widgetDr. J
74bundle/piggyback avatar body part motions into single packets
77fix over-the-shoulder mode camera jitterDr. J
80chat should not repeat your utterances in the log window twice
82doors should not autoopen, at least not by default
84responding to window events needs higher priority than net eventsmaybe has been mostly addressed by now
85several textures not in CVS in binary modeRashmi (Dr. J)seems these got taken care of
86modify model.dat and model/ code to allow different wall textures in different rooms
87window label/title should indicate current roomDr. J
90typing a blank line causes a server crash?[Invalid mesage not sent to server]
92add to model.dat a Title field so we can make other worlds besides NMSU Science Hall
93get rid of DBM databasesthey are a portability hazarddone by now?
94eliminate redundancy of nodechange and inform eventsDr.Jserver should gen informs when it receives a nodechange
95camera's up/down angle needs to persist across turns/movesDr. J
97fix derendering leakdisplay list grows indefinitely as you move; related to #37
99"fix" avatarsYo start with shoulders, and feet
103fix doors so they open the way they do in real lifevarmaso doors do not open out into the corridors
107add collaborative source code editingiyad
112add a "listener" port to clients for P2Ptried, with bad results
114merge model.dat and static.dat for easier transportation/sharing of model files
128\inform messages should begin better than "\inform" I am not sure if we have to hear about every single room change.
131add multiplatform pseudotty to Unicon
139maximize -- subwindow doesn't resize for maximizeDr. Jseems fixed
142on initial startup, fix to not be looking upward this appeared in standalone mode
152fix to not be looking upward after events like switching tabs - pulled camera out of dialog to avoid .y conflict
U3Add miscellaneous polygon mesh modes done; testing
U4Add built-in texturesOmar
U9tune performance of traversefunctionlistOmar
U14add peephole optimizer to display listpossible but no longer planned