ExEn Features on Silverlight

KEY
Yes Implemented or planned to be implemented in ExEn Project
Bug Bugs or unintentional deviations from the XNA API that may be triggrered or noticable in some cases
Major Bug Barely usable due to serious bug or significant difference from XNA API
No Not Implemented at all
   
As Requested Non-critical features. Simple enough to add/return to ExEn, but work needs to be prioritised. Will add if contributors with a genuine need ask me nicely :)
Stubs Non-functional stubs to allow compilation
This table is not a complete list of classes; it attempts to be a list of all functionality that exists in SilverSprite or ExEn or both
Various maths types have been omitted, as they are mostly the same (ExEn contains a handful of minor improvements)
The SilverSprite column refers to the Canvas renderer (it is better than the WriteableBitmap renderer anyway)
For ExEn, some SilverSprite functionality was removed in order to reduce the end-user download size by a several KB
Items marked "no" are not necessarily impossible, but require a lot of work and may have performance implications
This table does not attempt to detail the performance improvements that ExEn makes over SilverSprite
The bugs mentioned in this table are the significant ones; little tiny ones (and I fixed quite a lot of these) are ignored
* This table does not cover iOS, but items marked with a * are already implemented in ExEn on iOS (even though they are not in Silverlight)
                   
Namespace or Category   The work here forms part of what is being funded  
  Class or Feature        
    Function or Feature   SilverSprite ExEn on Silverlight *Already
in ExEn
on iOS
      Parameter or Feature Notes   Already Implemented Planned for
Project
                   
Application            
  ExEnSilverApplication Handles XAML stuff, makes getting started easier No Yes Yes  
                   
Audio                
  SoundEffect   Yes Yes Yes  
    Create Instance   Yes Yes Yes  
    Play     Bug Yes Yes  
      Volume   Bug Yes Yes  
      Pitch   No No No  
      Pan   No No No  
    MasterVolume   Major Bug No Yes  
  SoundEffectInstance   Yes Yes Yes  
    Play/Pause/Stop/Resume   Yes Yes Yes  
    Volume   No Yes Yes  
    IsLooped   Major Bug Yes Yes  
    State     No Yes Yes  
                   
Media                
  MediaPlayer   Yes Yes Yes  
    Play/Pause/Stop/Resume   Major Bug Yes Yes  
    Volume   Bug Yes Yes  
    IsMuted   No Yes Yes  
    IsRepeating   Yes Yes Yes  
  Song       Yes Yes Yes  
    Background Downloading Reduces initial download and startup time No Yes Yes  
                   
Content              
  XNB Loading Removed to reduce assembly size Yes No As Requested *
  ContentManager   Yes Yes Yes  
    Load (internally supported formats follow) Yes Yes Yes  
      PNG Textures   Yes Yes Yes  
      JPEG Textures   Yes Yes Yes  
      BMP Textures Decoder removed for size, use PNG Yes No No  
      XNB Textures (XNB Removed, See above) Yes No As Requested  
      DXT Textures (in XNB) Decoder removed for size, use PNG Yes No As Requested *
      XAML Textures These are non-XNA anyway Yes No No  
      XNB SpriteFonts (XNB Removed, See above) Yes No As Requested *
      TTF SpriteFonts   Yes Yes Yes  
      WMA Music   Yes Yes Yes  
      MP3 Music   Yes Yes Yes  
      WAV SoundEffects   Yes Yes Yes  
                   
GamerServices            
  API for XNA 3.1 Removed to reduce assembly size Stubs No No *
  API for XNA 4.0   No No As Requested  
                   
Graphics              
  Graphics Device          
    Arbitrary Silverlight Controls Insert arbitrary Silverlight controls into the immediate-mode Z-order (for example: my line-renderer uses this) No Yes Yes  
    Window-clipping Made optional for performance Yes Yes Yes  
    Viewport clipping Read-only in ExEn for performance Yes No No *
    Clear   (Full screen only) Bug Yes Yes  
  SpriteBatch   Yes Yes Yes  
    Begin (for XNA 3.1)   Yes Yes Yes  
      Alpha Blending SilverSprite gets premultiplied alpha wrong! Bug Yes Yes  
      Additive Blending   No Yes Yes  
      Sprite Sorting   Yes No Yes  
      Transformation Matrix Matrix must be Affine 2D No Yes Yes  
          Aribrary 3D transform requires SL4 No No As Requested *
    Begin (for XNA 4.0)   No No Yes  
    Draw and DrawString SilverSprite has some serious performance issues here Yes Yes Yes  
      Position/Rotation/Scale   Yes Yes Yes  
      SourceRectangle   Yes Yes Yes  
      DestinationRectangle   Yes Yes Yes  
      Color   Yes Yes Yes  
      Origin   Major Bug Yes Yes  
      SpriteEffects   Major Bug Yes Yes  
      LayerDepth (part of Sprite Sorting) Yes No Yes  
    Hint Functions Extra-API feature to enable user to set best mode for performance No Yes Yes  
  RenderTarget2D Removed for performance Yes No No  
  Texture2D     Yes Yes Yes  
    Get and Set Bitmap Data   Yes No As Requested  
  SpriteFont     Yes Yes Yes  
    Bitmap Fonts (XNB Removed, See above) Yes No As Requested *
    TTF Fonts   Yes Yes Yes  
    Measure String   Yes Yes Yes  
                   
Input                
  Keyboard (and KeyboardState) Lots of little bugs here in SilverSprite, but nothing overt Yes Yes Yes  
    IsKeyDown/IsKeyUp   Yes Yes Yes  
    GetPressedKeys   Yes No Yes  
  Mouse (and MouseState)   Yes Yes Yes  
  GamePad (and GamePadState) Emulated by Keyboard on SilverSprite Yes Stubs As Requested  
                   
Game and Game Components          
  Game Class     Yes Yes Yes  
  GameWindow     Unchanged    
  GameComponent, DrawableGameComponent, etc Major Bug Yes Yes  
  GameLoop   ExEn significantly reduces stuttering at the cost of a small amount of timer drift (XNA does the same thing) Bug Yes Yes  
                   
Storage              
  StorageDevice, StorageContainer (XNA 3.1) Stubs / Bug No No  
  XNA 4.0 API   No No As Requested