Difference between revisions of "Roadmap"
Jump to navigation
Jump to search
m (→version 0.01: placed completed features here) |
(→Features for a later deadline: Put in features from July 8 roadmap meeting whiteboarding session) |
||
Line 32: | Line 32: | ||
===Features for a later deadline=== | ===Features for a later deadline=== | ||
− | *Undo | + | *Undo/Redo |
− | * | + | *Tweak performance |
+ | |||
+ | |||
+ | |||
+ | ====Objects==== | ||
*Object Placement, Orientation and Scaling | *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] | **text tweaking (scene.txt - key to reload scene file)[dbm: all that is left to do is reload scene.csv] | ||
− | **improve object selection | + | **Gizmo |
− | * | + | *improve object selection |
− | * | + | *Add grouping |
− | * | + | *Hide/Unhide |
− | + | *Shift Cons? (not sure what this is) | |
− | |||
− | + | Import/Export: | |
− | * | + | *CDN Upload |
− | * | + | **Download small mipmaps |
− | * | + | **Mesh LODs |
− | * | + | *Name Cache Export |
MiTo Specific Object requests: | MiTo Specific Object requests: | ||
Line 57: | Line 60: | ||
*select a series of objects and have them scatter from a central axis/point (explode effect) | *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 | *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?) | ||
+ | |||
+ | |||
+ | ====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== | ==physics features== |
Revision as of 22:48, 24 July 2009
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 tools
version 0.01
- Anticipated release date: 7/22/09
General:
save sceneTested and distributable on WindowsInclude a readme that states requirements for successful install (installed programs etc.)
- Produce Screenshots
- 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:
importdrag/drop on Windowskey/text input on other platformslocal uploadplacement and scaling w mouseorientationdeletedecent lights in scene.txtobject properties (for now, physics properties: collision, dynamics, hull type)
Scenes:
Scene.csv format (Dan Miller)Convert from scene.txt
Features for a later deadline
- 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)
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
- Event queue dispatch handling
- Deliver physics events to scripts
Networking
- CDN System
- World hopping/teleporting
- Multiuser
- Communication limiting under load
- Scalable introduction
- Persistence service
- Rebaancing Cseq
- Osey?? (spelled right?)
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"