----------------------------------------------------------------------------------------------------------------------------------------------------------------------
* indicates those areas that still require considerable design or design validation work
1. Whiteboard
2. PDF Viewer
3. Video (?)
----------------------------------------------------------------------------------------------------------------------------------------------------------------------
(Old Information - Planning info for Dev 1)
Help system (jordan) done
Basic set of tutorials (jordan) done
Dev1 Release: Required
29 Spaces in art import urls (jordan)
Need to restart server when change WFS (jordan)
Windows client issues (jon)
Move dragtest, make red (deron)
Debug shape-module (deron)
Dev1 Release: Required - DONE
Fix showstopper bug 16 File->Exit menu (deron) done
model related art input issue (jordan) done
Fix windows client/server (jon) bug 14 done
Integrate Jon's latest heavyweight menu fix (bug 10) (deron) done
Simple kmz model deployment (paul,jordan) done
Camera position access (Paul) done
26 P1 Button grabs aren't working (deron) done
Drag Event (deron) done
0.5 index2 page - enhance and link from 0.4 page (jordan) done
Desired: audio source in the world (joe) done
Solaris server (jon) done
Fix linux hostname problems (jon) done
-----------------------------------------------------------------------------------------------------------------------
>>>> These need to be replanned into Dev2, Dev3, etc.
Important things missing from Dev1 (Strongly Desired)
Dynamic component add/remove controlled by server
Test overriden paint method in swingtest (deron) D
Copy perf (deron) D
Update channel component
Milestone 3:
Federation tested (paul, jon)
Security API implementation - Phase 1 (jon)
Authentication partially done
Authorization
Animation system (paul, doug, shawn)
Dynamic collada models (paul, doug, shawn)
Cell cache for SAS (paul)
Add components to entities during import and deploy to Module (paul)
Basic help content (jordan, others)
Milestone 4 (0.5 developer release available): Target Date: End of December
Selected Wonderland apps
Deferred until 0.5 user release:
Firefox and OpenOffice (deron)
SAS (deron)
Old Milestones (From May 2008)
Milestone 1
Load from WFS and render static model and navigate with block avatars,
multiuser
simple keyboard input
Web container for WFS
Simple federation test
Basic picking
Milestone 2 Jordan successfully implements a custom cell type
Milestone 3 Basic client audio
Milestone 4 Users can interact with objects (basic event system) + HUD
Milestone 5 Firefox and Whiteboard work
Milestone 6 All 0.4 core functionality works (Alpha)
Milestone 7 Early Access Release (Beta)
Milestone 8 General Availability
Major Areas Comms/Cells
Module system
Render system
Input system
Shared apps
HUD
Audio
Wonderland apps
Art path
Create assets - Third party: Maya, 3dsmax, blender - collada export
Assemble the assets - Collada import, metadata: attribute tags, WFS, in-world: object positioning, object joining, entity behaviors,
in-world, dynamic assignment of properties to object
High-end users - IMI ==> Required: We must enable this at the very least
Mid-range users - Need an interactive world builder ==> Doug/IMI plan to build an internally usable world builder at this level
Low-end users - 3D-naive, web interface, placing prepackaged modules in a world ==>
Issue: high priority, what do we need to do for this?
Publish the assets - WFS, package entity as module (both models and behaviors),
Security - All are Jon, except the one assigned to dj
Cell security P2
Pluggable authentication
Comms: security on join P2
Module security P1
Running SMC in restricted environment - dj
Content security (asset manager security) P3
Security UI - no owner yet - postpone til later
Login authentication with OpenSSO? Issues bundling OpenSSO
App channel security - jon design, dj impl
Federation - Paul
Multiple server connections, separate authentication
Simplifying assumptions: servers need to all be speaking same core protocol version
Later: Single sign on - get for free with OpenSSO
Link object - world builder needs to support definition of links
Need to define the namespace of worlds
Support multi-world placemarks in placemarks menu? Need to add a world name to the placemark coordinates
Document Service - Lower priority
Lets cells manipulate (e.g. dump state to) documents on a server
Upload files for SAS apps to use - postpone til later
Shared Objects - Postpone til later
Web Administration - High priority for Jon
Move to a pure webstart model
Wrapper around Darkstar
Servlets
Recording
Embedded Swing
Deron Component: Embedded Swing for Hud
Interfaces Provided:
External
WindowSwing class
Internal
MousePickInfoQueue - feeds into InputManager
Interfaces Consumed:
Internal
InputManager Picker
Tasks:
Required
Test/Debug Nigel's required/desired Swing widget types
Port WindowSwing to 0.5 code base
Component: InputManager
Interfaces Provided:
EventNode
Interfaces Consumed:
Picker
Tasks:
Required
Design doc
Design review
Picker
MouseEventProcessor (from LG)
Contains InputQueue for PickInfos
KeyEventProcessor (from LG)
Resolver
EventProcessor (from LG)
EventNode
Event classes
Event drag methods
Component: App Base
Interfaces Provided:
app.base package
Interfaces Consumed:
EventNode
Cell API
Comms API
Tasks:
Required:
Design doc - upgrade and review
App base port
Port current prototype to cell/comms
JME GUI
TextureGraphics2D - simple
Window config
Code review
Test/debug sample whiteboard
Component: SocketChannel
Interfaces Provided:
Very similiar to SocketChannel in 0.4, with minor diffs
Interfaces Consumed:
Comms API
Tasks:
Required:
SocketChannelComponent impl - client and server sides
New message types
Port 0.4 code to SocketChannelComponent
Test/debug
Component: Xremwin App Module
Interfaces Consumed:
App Type Module Developer Interface
SocketChannel
Tasks:
Required
Port prototype to 0.5 code base
Test/debug
Component: Shared App Service
Interfaces Provided:
SAS Client Launch via GUI
SAS GUI configuration interface
SAS registration interface
Interfaces Consumed:
Comms API
Cell API
Tasks:
Required
Registry
Distributor
SASClientComponent - server and client sides
SASUserComponent - server and client sides
SASP2PComponent - user client and sas client sides
New messages
SasClient mail program (tie it all together)
Test/debug
Other misc tasks
Port recent WL 0.4 changes
Wonderland app window configuration
TextureGraphics2D perf tuning
Doug
MTGame Features:
WorldManager:
RenderManager:
AtmosphereComponent
EffectsComponent
HUDComponent
Virtual Texture System
CollisionManager
New Picking Interfaces
Optimize Picking
PhysicsManager
SimplePhysicsSystem
ProcessorManager
Processor Component remove
Scheduling Bounds
Timer Condition
Enter/Exit Region Condition
LOD System
Programmer's Guide
Architecture Guide
Graphics Tasks
Low end system shader pipeline
Mid range system shader pipeline
High end system shader pipeline
World pre-processor (for shaders)
Pre-processor documentation
Shader Pipeline documentation
IMI Tasks
Avatar Integration
Collada Integration
Jon
Component: Communications
Interfaces provided:
Comms API
Message API
Interfaces consumed:
Darkstar
Tasks:
Design doc (done)
Implementation (done)
Tutorial/Sample code
Component: Web Administration
Interfaces provided:
Start/Stop servers
Web UI for server status
Interfaces consumed:
Comms
Modules
Tasks:
Design doc
Embedded web server
Reorganize build files into separate build/run
Implement deployment and start/stop
Package as install as single .jar
Later: remote deployment
Component: Plugins
Interfaces provided:
Plugins
Interfaces consumed:
Modules
Tasks:
Design doc
Client plugin classloader
Server plugin deployment
Component: Security
Tasks:
Evaluate WonderDAC
Port WonderDAC to 0.5
SAS file/app security
Component: Federation (shared w/Paul and Jordan)
See Paul's task
Paul
Component: Scripting - First Phase
JPython and EcmaScript
Java apis as well
Support simple scripts which receive events and react by updating the 3D node
Component: Cell (with Jon)
Trivial avatar with mpk20 model (from modules)
Scaling (larger worlds, number of concurrent users)
Proximity Listeners (client & server)
Cell Component Model for extensibility
Runtime addition/removal of CellComponent
Security - review WonderDAC
Component: Asset Manager (with Jordan)
Component: World Editor (with Doug)
Load and deploy KMZ files
Load and deploy dae files (using jme and imi loader)
Initial deploy and model update support
Cell, Entity and Graph viewer (for technical analysis)
Component: Integrate IMI Collada loader and Avatar system
Component: Federation (shared w/Jon and Jordan)
Component: Cell container for SAS
Nigel
Collaborative applications
Port 0.4 wonderland-modules apps: PDF Viewer, Video Player, VNC Viewer, SVG Whiteboard
Port 0.4 wonderland-modules-incubator apps: Batik Browser, Flickr Show, HTML Viewer,
Portal (with Jordan)
Audio integration with voice bridge in Video Player (with Joe)
HUD
Entirely new HUD system with support for 0.4 features only
Record prompts for dial in
Desired: Telepointers
Joe
New Voice Handle API which is better organized
Audio in shared apps
Add dial-in/out calls to user list
Name change for Orb
Avatar becomes Orb when disconnecting but staying on the phone
Support for multiple VoIP gateways with in-world phones
Better audio tools for diagnosing problems.
Missing packet detection for auto-adjustment of audio quality to reduce bandwidth
oog support
Ability to use different spatializers for different areas.
Automatic gain control
mute another user
private voice chat
Voice support with Multi-node Darkstar
Audio Scaling issues
Way out there: Support for in-world light switches which use SPOTS to turn a real
light switch on/off.
Jordan
WFS Enhancements
* Include reading/writing WFS via the web server
* Enhance WFS API for multi-threaded reading and writing support
* Enhance WPI API to re-read from underlying medium
* Implement WFS Loading in Darkstar Node via web server
* Implement WFS Reloading in Darkstar Node via web server
Module System
* Implement basic Module API for reading
* Implement Module service to export module information via web server
* Basic module installation classes
* Basic web-based module administration
Client-Side Asset Management
* Load assets from modules
* Support multiple versions of the same asset
Help
* HTML browser based help system
Nicole
End-user documentation of core features