Fix current POGL configuration and build process
    * Clean up use of configuration information
    * Make the compile and config results unambiguous
        * What bindings are actually enabled?


Miscellaneous portability improvements
    * Convert malloc() and calloc() calls to Newx(), Newxc(), and Newxz()
    * Convert free() to Safefree() to match.


Evaluate strategy for legacy POGL going forward:
    * Factor out RPN, OGA, ...
    * Can implementation be less OGA specific
    * Support OGA, PDLs, ...
    * What about using just PDL::Core stuff


Enhance CPAN Testers automated testing support
    * Improve diagnostic output for debugging test results
    * Base on GLEW or GLee implementation
       * Start with GLEW for more cross-platform
       * Can implementation be made wrapper library independent?


Improve library and headers checks in Makefile.PL
    * Required libraries are OpenGL and a GUI/context providing toolkit
        * GLUT/FreeGLUT, Prima::OpenGL, GTk+, WxWidgets,...
        * GLUT is available on *all* GLX platforms
	* Mac OS X has a non-X11 GLUT library with extensions:
	    * glutCheckLoop()   -- same as glutMainLoopEvent()
	    * glutWMCloseFunc() -- same as glutCloseFunc()
    * Devel::CheckLib to check


Evaluate backwards compatibility
    * document compatibility, at a minimum
    * provide feedback info to report issuues
    * primary goal is OpenGL, GLUT, GLU support
    * secondary goal is more perlish interface
    * move to common, clear choice as default!


Clean up glp*() routine support:
    * add friendlier display selection function (glpInitDisplayString?)
    * backwards compatible where possible
    * strip out required GLX or X11 specific code
    * layer over GLUT or other GUI/context environment
        * N.B. *GLUT is on *all* GLX systems but may not use GLX
	* What is needed to support Tk+X11 bindings (just context?)
	* Investigate Gtk+ or wxWidgets for embedding
	* GLUI as an easy, simple starter (performance?)


Fix examples/ directory
    * update to use GLUT rather than glp()
        * make simple toolkit wrapper
	* hide details of the underlying GUI layer
	* simplify demo code
    * verify all examples work (most appear to)
    * remove broken cruft
    * redo planets example to be more realistic:
        * planets aren't spheres
	* sun has no depth + jaggies
	* colors are off
	* animation is jumpy (how to smooth out)
	* give saturn *real* rings
	* what is blue wedge in earth view?
	* basic texture for planets


Implement basic template for GLUT/GLUI apps
   * Simple default/bare bones option
   * Generic version with typical interaction
   * Customizable version (runtime?)
   * Maybe in examples directory as a module to use


Add Geometry Shader support


Add bindings to GLUI


Add support for more GLUT variant export control:
    * Split GLUT into a separate module
        * I.e., remove GUI dependencies from POGL
        * Need generic context interface standard
	* Should be able to use Prima instead
	* or WxWidgets or GTk or ...
    * :freeglutconstants and :freeglutfunctions
    * :appleglutconstants and :appleglutfunctions


Make code handle "missing" windows:
    * This is for OpenGL::GLUT
    * Calls glutGetWindow() and assumes win is valid
    * If win==0, need to handle appropriately and *not* do anything with win


Fix OpenGL/GLUT error handling for perl
    * GLUT errors should not kill the interpreter
        * Add carp/croak on no glutInit to glut functions to prevent exit(1)
        * Add carp/croak to glutDisplayFunc() with null callback.
        * Add carp/croak to glutSetKeyRepeat() with invalid repeat mode
        * Add carp/croak to glutSetCursor() with unknown cursor type
    * Investigate addition of adding return values to perl code
        * This would be great for a debug mode
        * No return value if not in debug mode (or always undef?)
        * undef for error; 1 for void or vice versa?
    * Add toggle & display of OpenGL errors a la glutReportErrors()
        * Call glGetError in a loop until no errors returned
	* Do check for all OpenGL commands


Finish perl bindings to remaining FreeGLUT functions:
    * glutGetProcAddress
        * what does this mean at perl level?
        * maybe use Inline to generate a new binding
        * is there a runtime alternative?
    * glutJoystickFunc
        * need to add non-callback argument
        * document current function


Make POGL GLUT-proof
    * Some functionality may be quietly disabled (glutMainLoop extensions)
    * Some functionality may be emulated (glutBitmapString)
    * make work with readline event loop for perldl shell
        * reverse callback strategy
        * what about a GUI window mode for perldl in that case?


Refactor config/build for portability and simplicity
    * use constant rather than XS constant function
       * Extract GL, GLX, and WGL constants from glew.h, glxew.h and wglew.h
       * Extract GLU constants from glu.h
       * Extract GLUT and FreeGLUT from glut.h and freeglut_*.h
       * Verify that these pre-extracted versions work ok


Move test apps to t/ subdirectory from test.pl
    * Split into interactive and non-interactive tests
    * Skip interactive tests if no OpenGL context
    * need to test for each major functionality
        * RPN
        * back compatibility (glp routines)
	* PDL object support


Improve support for non-standard OpenGL configurations
    * Add command line options for perl Makefile.PL
        * set CFLAGS and other build options
        * Make single point override for INCLUDE information
    * Document how to edit Makefile.PL


Implement complete matrix test capability
    * document/implement a test matrix for regression and stability tests
    * factors to include
        * perl vs activeperl vs strawberry
        * GLX vs WGL vs CGL/AGL
        * hardware vs software/Mesa
        * OS
