Nice to see, that PowerDraw & Asphyre is not dead !
I am looking forward to new version...

my ideas to new version:
- some support of automatic "Format" parameter of all components (in actual version program must decide which format of texture is the best for use; it can be done by TPowerDraw, because it known everything about mode, settings, graphic card, etc)

- some (protected method can be good enough) acces to internal structures of TPowerDraw component; especially to internal vertex buffer; posibility to specify Z-axis coordinate (I need it to combine use of zbuffer simple planar rendering from d3d and bitmaps from PowerDraw)

- publish your internal (or in-tools) procedures; mainly for manipulating Vtdb, AGFImage, fonts. I created some hard-code in my VTDbManager, my unit PDrawUtils contains procedures (which are not in PowerDraw pack):
Code:
  
  //PowerDraw exception
  EPDrawError = class(Exception);

  //checks PowerDraw return code<>0 and raises exception with string from ErrFunc procedure or standard ErrorString proc.
  procedure CheckError&#40;err&#58;Integer;ErrFunc&#58;TErrCallFunc=nil&#41;;

  //saves font extra data, e.g. header and widths
  procedure SaveFontExtraData&#40;PCount,StChar,EnChar&#58;Integer;Widths,Heights&#58;Array of Integer;out Data&#58;Pointer;out DataSize&#58;Integer&#41;;

  //creates VTDb font record in memory
  procedure CreateVTDFont&#40;stchar,endchar&#58;Integer;Widths,Heights&#58;Array of Integer;Img&#58;TAGFImage;out Data&#58;Pointer;out DataSize&#58;Integer&#41;;

  //transforms AGF to TBitmap for preview
  procedure AGFToBmp&#40;AGF&#58;TAGFImage;aTexIndex&#58;Integer;var aBmp&#58;TBitmap&#41;;

  //loads VTDB AGF record from memory into TBitmap 
  procedure LoadBmpAsAGF&#40;Data&#58;Pointer;Texture&#58;Integer;aBmp&#58;TBitmap;var ID,TexWidth,TexHeight,TexCount, PtWidth,PtHeight,PtCount&#58;Integer;OnlyAlpha&#58;Boolean;aBGColor&#58;TColor=clBlack&#41;;overload;
  procedure LoadBmpAsAGF&#40;Data&#58;Pointer;Texture&#58;Integer;aBmp&#58;TBitmap;aBGColor&#58;TColor=clBlack&#41;;overload;
  //creates VTDB AGF record from TBitmap &#40;TGA,BMP,JPG,GIF,...&#41;
  procedure SaveBmpAsAGF&#40;aBmp&#58;TBitmap;TexWidth,TexHeight,PtWidth,PtHeight&#58;Integer;TransColor&#58;TColor;out Data&#58;Pointer;out DataSize&#58;Integer&#41;;
- better error handling. In most cases (Init, Load,...) raising exceptions are the best way, but in rendering / textures procedures, it can do some overhead, so using returncode is better. Maybe unique error code system and translating into strings can be enough.

thanks for reading....