Difference between revisions of "Roadmap"

From Sirikata Wiki
Jump to navigation Jump to search
m
Line 1: Line 1:
''This is very incomplete at current''  
+
''This is the roadmap for summer 2011 and beyond''  
  
==Version 0.02==
+
==Before Spring 2011==
 +
"These things are needed before undergrads start working with the system, may be as part of their independent study."
  
*Anticipated release date:
+
* Scriptable UI
 +
* placement UI
 +
* application dev guide
 +
* lang guide
 +
* machines
 +
** cassandra/CDN
 +
** space servers
 +
** OHs
 +
** students
 +
* emerson error reporting
 +
* emerson rebooting objects
  
Art team:
 
*Content creation documentation completed and published on the wiki
 
  
==Version 0.01==
+
==Before Summer 2011==
*Anticipated release date: 7/22/09
 
  
General:
+
*mesh processing for rendering performace
*<strike>save scene</strike>
+
*mesh upload the complete pipeline
*<strike>Tested and distributable on Windows</strike>
+
*pycollada dev ( library for reading collada files)  
**<strike>Include a readme that states requirements for successful install (installed programs etc.)</strike>
+
**file save
*Produce Screenshots
+
**filter pipelines
*Determine which features from our design sketches and ideas are most likely doable for our current deadline
 
*Rank features weighted by what's easiest and which are most important to needs of the Augmented Museum
 
  
Objects:
+
*OGRE render perf
*<strike>import</strike>
+
*non CRAQ OSEG
*<strike>drag/drop on Windows</strike>
+
*multi server deployment ( mostly testing)
*<strike>key/text input on other platforms</strike>
+
**scripts
*<strike>local upload</strike>
+
**monitoring
*<strike>placement and scaling w mouse</strike>
+
*Emerson runtime/compiler bugs (not memory leaks)
*<strike>orientation</strike>
+
*Object storage
*<strike>delete</strike>
+
*allocate objects on remote OH
*<strike>decent lights in scene.txt</strike>
+
*Platform developers' guide
*<strike>object properties (for now, physics properties: collision, dynamics, hull type)</strike>
 
 
 
Scenes:
 
*<strike>Scene.csv format (Dan Miller)</strike>
 
**<strike>Convert from scene.txt</strike>
 
 
 
==Features for a later deadline/Wishlist==
 
*Undo/Redo
 
*Tweak performance
 
 
 
====Objects====
 
*Object Placement, Orientation and Scaling
 
**text tweaking (scene.txt - key to reload scene file)[dbm: all that is left to do is reload scene.csv]
 
**Gizmo
 
*improve object selection
 
*Add grouping
 
*Hide/Unhide
 
*Shift Cons? (not sure what this is)
 
*Object persistance
 
 
 
Import/Export:
 
*CDN Upload
 
**Download small mipmaps
 
**Mesh LODs
 
*Name Cache Export
 
 
 
MiTo Specific Object requests:
 
 
*Looped animation of translation
 
*rotating infinitely in a single direction
 
*rotate 1 direction then return to origin loop repetition infinitely (like a hammer swing)
 
*Scatter
 
*select a series of objects and have them scatter from a central axis/point (explode effect)
 
*Cell or Bounding Box of a mesh coordinates and player coordinates sent out to OSC
 
 
 
====Lights====
 
*Bulb Mesh
 
*placement
 
**Gizmo
 
*direction (kind of like rotation, but it would be much more intuitive to have them 'point' at a 3D location, perhaps using a selected object?
 
*attributes (directional, specular, ambient?? whatever)
 
*Light trigger (off/on)
 
 
 
====Scenes====
 
*Reload scenes
 
*Open new scene (without restarting)
 
 
 
====Scripting====
 
 
 
*Low level scripting language implementation
 
*High level scripting language implementation
 
 
 
*Trigger Actions
 
**Expose Attachments
 
**Control lights
 
**Trigger Events/Physics
 
**Trigger UI
 
**Change materials
 
 
 
*Scripting client UI elements
 
 
 
====UI====
 
 
 
*UI Javascript hooks
 
*UI for:
 
**light interface
 
**objects
 
 
 
====Embedded Browser====
 
*Browser controls objects
 
*Keyboard input
 
*Window Management Browser
 
*Resize windows
 
*Crosspatform Flash
 
*UI
 
**Browser bar
 
**Tab/Window Management
 
 
 
====Physics====
 
 
 
*Place objects on walls (physical sampling)
 
*Gravity Gun
 
*Collision detection
 
**Deliver physics events to scripts
 
***Event queue dispatch handling
 
****Deliver proximity events
 
 
 
====Networking====
 
 
 
*CDN System
 
*World hopping/teleporting
 
*Multiuser
 
*Communication limiting under load
 
*Scalable introduction
 
*Persistence service
 
*Rebaancing Cseq
 
*Osey?? (spelled right?)
 
 
 
====Scripted Camera====
 
*Javascript interface for all the controls (buttons w symbols for: Tab forward, Play/Pause, Play from first key frame, Tab backwards, Set Key, Erase key, Save Path
 
**This becomes invisible during play back (or even better has a parameter to enable this)
 
*A piece of geometry that represents a key frame (similar to light bulb mesh). The geometry should reflect which direction the camera looks
 
**This becomes invisible during play back (or even better has a parameter to enable this)
 
**Clicking on the key frame geometry makes it active (w some visual cue) and brings up its parameters
 
**Maybe some discrete line that shows connection to preceding and following keys
 
 
 
====Misc====
 
''things I wasn't sure where to put''
 
 
 
*Select objects to pull up information about them
 
*Default script/Basic Object properties
 
*Context position of objects
 
*Dynamic code loading
 
*Shift Cons? (not sure what this is)
 
 
 
==physics features==
 
 
 
===collision callbacks===
 
[per IRC discussion 7/17/09, dbm, drh]
 
*object names (new property)
 
*object collision mask (used to group collisions)
 
*(new!) object 'interest' mask -- tell if an object wants to receive collision messages
 
*use SpaceServiceObjectID in ObjectReference.hpp
 
*for now, properties specified in scene.csv -- may change later (as persistence comes online)
 
*keep track of collision pairs
 
*any time the situation changes, send a message
 
*example: "obj1 --> obj2: start collision"; "obj3 --> obj4: end collision"
 

Revision as of 02:17, 4 March 2011

This is the roadmap for summer 2011 and beyond

Before Spring 2011

"These things are needed before undergrads start working with the system, may be as part of their independent study."

  • Scriptable UI
  • placement UI
  • application dev guide
  • lang guide
  • machines
    • cassandra/CDN
    • space servers
    • OHs
    • students
  • emerson error reporting
  • emerson rebooting objects


Before Summer 2011

  • mesh processing for rendering performace
  • mesh upload the complete pipeline
  • pycollada dev ( library for reading collada files)
    • file save
    • filter pipelines
  • OGRE render perf
  • non CRAQ OSEG
  • multi server deployment ( mostly testing)
    • scripts
    • monitoring
  • Emerson runtime/compiler bugs (not memory leaks)
  • Object storage
  • allocate objects on remote OH
  • Platform developers' guide