Difference between revisions of "Roadmap"

From Sirikata Wiki
Jump to navigation Jump to search
(New page: ''This is very incomplete at current but should give you a sense of ongoing work'' We are working to get a compiled version of Sirikata made available for 7/22/09 ==Sirikata content too...)
 
(Filter out a bunch of tasks we've finished since this list was last updated)
 
(38 intermediate revisions by 7 users not shown)
Line 1: Line 1:
''This is very incomplete at current but should give you a sense of ongoing work''  
+
''This is the roadmap and brainstorm for development''
  
We are working to get a compiled version of Sirikata made available for 7/22/09
+
==Assigned Tasks==
 +
* B scripter GUI (improvements to interface)
 +
* B/E V8 closures (fix storage of functions in v8 to save closure as well as function text)
 +
* E/J CDN support for music (serve music files as well as meshes)
  
==Sirikata content tools==
+
==Ideas==
  
*version 0.01
+
===Deployment===
*Anticipated release date: 7/22/09
+
* Backups of OH data
  
Objects:
+
===Demo World===
*import
+
* Repository for world-specific scripts (avatar script, anything we expect to be in there by default).
*drag/drop on Windows
+
* Build a nice demo scene, large enough to require some exploration to see it all.
*key/text input on other platforms
+
* Scripts for building into package (i.e. all the data required to support [[Sirikata URIs]]
*local upload or upload to CDN? (if just local, how do we get this data into the CDN?)
+
* Get a few good, tested avatars on the CDN and get the default demo avatar to use these simple animations well
*placement
 
*mouse, text tweaking (scene.txt?)
 
*orientation (Chris claims just text, but -- Euler values? (rotations are hard to describe in text -- can't use Quaternions!) (we cannot use existing UI sliders to rotate 360 per direction? -J)
 
I think a simple pitch/roll/yaw interface will be not hard to code & very useful -- 'P', 'R', 'Y' (this isn't intuitive to most people, but that can be fixed in future with a gizmo that shows the direction, -J)
 
*Pitch - mouse Y rotates object around X axis (left of screen to right, through object))
 
*Yaw -- mouse X rotates object around Y axis (Y = vertical, from ground to sky through object)
 
*Roll -- mouse X rotates object around Z axis (from camera through object)
 
*scaling
 
*mouse & text tweak
 
*delete
 
*object properties (for now, physics properties: collision, dynamics, hull type)
 
 
 
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
 
  
 +
===System Features===
 +
* Space
 +
** Physics improvements -- get avatars on terrain working well
 +
** Generate collision event messages for objects, maybe based on subscription request
  
Lights:
+
* CDN
*placement
+
** Expose progressive meshes
*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)
 
  
General:
+
* OH
*save scene
+
** Progressive mesh loading
*short-term, I assume this is still a text file. I would like to change the format to something reasonably editable, like .csv (can open in ooffice and edit by row/column)
+
** Improve Emerson storage -- make it much easier to interface and get a persistent object
*I think import from meru should be differentiated from scene save/load, they have somewhat different requirements
+
** Improve object manipulation interface (could be in deployment specific code, i.e. under Demo World)
*there may need to be a specific feature to upload the scene, ie make sure all newly imported content is on the CDN
+
** Object migration between OHs
 +
** Fix closures/provide full snapshotting (timers/register handlers/etc)
 +
** libmesh filters should not strip animations (eg. check if joints before collapsing two vertices).
 +
** Playing multiple animations at once (blend/interpolation)
 +
** Exposing physics collisions to Emerson.
 +
** Fix Gui isolation
 +
** Better OH connection failure handling
 +
** Reduce Emerson memory usage
 +
 
 +
===Documentation===
 +
* Storage tutorial
 +
* Sandbox tutorial
 +
* Getting started with demo, maybe just update getting started for users since a lot of steps can be avoided when someone provides the configuration for you.
 +
* Simple demo videos showing how to join and interact with the world/other users.
 +
 
 +
==Long-term Goals & Research==
 +
* Add audio support (purely OH-based to support, e.g. simple sound effects and local voice chat, then consider adding mixing support to the space server).
 +
* Load balancing objects across object hosts
 +
* Distributed physics -- extend physics to work with objects including boundaries
 +
* Mesh/object aggregation
 +
* Multicast
 +
* New transport abstractions targeted at VWs (e.g. last reliable)

Latest revision as of 22:47, 2 June 2012

This is the roadmap and brainstorm for development

Assigned Tasks

  • B scripter GUI (improvements to interface)
  • B/E V8 closures (fix storage of functions in v8 to save closure as well as function text)
  • E/J CDN support for music (serve music files as well as meshes)

Ideas

Deployment

  • Backups of OH data

Demo World

  • Repository for world-specific scripts (avatar script, anything we expect to be in there by default).
  • Build a nice demo scene, large enough to require some exploration to see it all.
  • Scripts for building into package (i.e. all the data required to support Sirikata URIs
  • Get a few good, tested avatars on the CDN and get the default demo avatar to use these simple animations well

System Features

  • Space
    • Physics improvements -- get avatars on terrain working well
    • Generate collision event messages for objects, maybe based on subscription request
  • CDN
    • Expose progressive meshes
  • OH
    • Progressive mesh loading
    • Improve Emerson storage -- make it much easier to interface and get a persistent object
    • Improve object manipulation interface (could be in deployment specific code, i.e. under Demo World)
    • Object migration between OHs
    • Fix closures/provide full snapshotting (timers/register handlers/etc)
    • libmesh filters should not strip animations (eg. check if joints before collapsing two vertices).
    • Playing multiple animations at once (blend/interpolation)
    • Exposing physics collisions to Emerson.
    • Fix Gui isolation
    • Better OH connection failure handling
    • Reduce Emerson memory usage

Documentation

  • Storage tutorial
  • Sandbox tutorial
  • Getting started with demo, maybe just update getting started for users since a lot of steps can be avoided when someone provides the configuration for you.
  • Simple demo videos showing how to join and interact with the world/other users.

Long-term Goals & Research

  • Add audio support (purely OH-based to support, e.g. simple sound effects and local voice chat, then consider adding mixing support to the space server).
  • Load balancing objects across object hosts
  • Distributed physics -- extend physics to work with objects including boundaries
  • Mesh/object aggregation
  • Multicast
  • New transport abstractions targeted at VWs (e.g. last reliable)