BAGEL / Future

   2 _ sbit font support
   2 _   both reading and building sbit fonts
   2 _ materials and shading
   2 _ camera object for moving scene
   2 _ cartesian/polar conversion
   2 _   http://proce55ing.net/discourse/yabb/YaBB.cgi?board=Proce55ing_Software;action=display;num=1053354853
   2 _   thread includes code for the 2D case
   2 _ alter strokeWidth in LINE_STRIP
   2 _   http://proce55ing.net/discourse/yabb/YaBB.cgi?board=Proce55ing_Software;action=display;num=1053795842;start=0
   2 _ keypressed is not persistent
   2 _   key repeat in os vs. how java handles it
   2 _   search java faq for info about getting around it
   2 _ drawMode() for MULTIPLY and ADD
   2 _   http://proce55ing.net/discourse/yabb/YaBB.cgi?board=Proce55ing_Software;action=display;num=1051208333
   2 _ nicer/simpler api for moving the camera around
   2 _ better api for fonts
   2 _ fixed fonts are screwed, should only work at screen resolution
   2 _   getStream for the filename doesn't work for directories
   2 _     getfont("fonts/blah.fbf") refers to blah.raw, but that
   2 _     also needs to be searched for in the fonts/ dir..
   2 _ try with 1.4 frame buffer stuff to see if it's faster
   2 _ write shearing function
   2 _ optimize rotation functions
   2 _ update/noUpdate() could also be done to force explicit updates only
   2 _   for ui-type applications that don't need to continually redraw
   2 _   instead use void update() as a function like loop and draw
   2 _   third mode for interactive apps that have to be queried
   2 _   shouldn't do so much work (redrawing in loop) if waiting for input
   2 _     mode for when no full animation taking place
   2 _     otherwise machine is continually maxed out while app is running
   2 _ way to screen grab at higher resolution
   2 _   method for rendering at higher res and then scaling down
   2 _   (even if this causes signficant performance hit)
   2 _ look at GLUT for other needed shapes
   2 _ export to static flash-based graphics
   2 _ build in second matrix type: 2d affine
   2 _ write code for reading uncompressed b/w tiff images
   2 _   incorporate for fixed width fonts
   2 _ fast(er?) version of bagel that just uses java graphics
   2 _   but leaves out many features
   2 _ setting a fill color when drawing an image should affect the image
   2 _   or maybe image.setColor or setTone to mix a specific color in



PDE / see you next year
not necessary for 1.0 release

2 _ better api for plugins
2 _   jedit guide might be useful: http://plugins.jedit.org/building.php
2 _ comments -> embedding in applet text? (ala javadoc)
2 _   http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_Software;action=display;num=1076967353
2 _   would this help casey with the examples?
2 _ type-ahead/teaching functions
2 _   very useful for learning to program
2 _ font support is overkill and sucks
2 _ editor features asked for on the bboard
2 _   line numbers like bbedit
2 _   command to comment-out the current selection
2 _   split screen
2 _   collapsable functions, or quick access to functions
2 _     http://proce55ing.net/discourse/yabb/YaBB.cgi?board=Proce55ing_Software;action=display;num=1051301511
2 _ make console like director messagewindow.. 
2 _   ability to type commands and try functions
2 _ menu option to change username/login
2 _   if new user, offer to rename 'default' if it contains things
2 _ user name is changed by clicking and typing
2 _   after user hits 'enter', checks to see if user exists
2 _     if not, pops up message asking if they want to change
2 _       message goes in same spot as error/status label (turns yellow?)
2 _     if user says 'no', then 
2 _ method of collapsing history for useful versions
2 _   archive associated files as well.. data/etc
2 _ see about setting up simple bug tracker/feature system
2 _   // We can use sourceforge for bug tracking... (reas)
2 _   queue for people reporting things externally
2 _   bugzilla but simpler
2 _   would also be nice for people to be able to vote on features
2 _ run java code besides processing applets 
2 _   if not processing applet, look for a main(), no main give an error
2 _ dbn2p5 converter.. ooh!
2 _ tweak updater a little bit so it's more likely to work
2 _   use numbered versioning? 
2 _   give updater feedback (progress dialog, error msg)
2 _ error messages with link to what's wrong
2 _ lots of ui ideas from adrien in the bbedit
2 _ some ui stuff from fdb
2 _   rename the button options to verbs
2 _   http://proce55ing.net/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1032909986



PDE / science fiction
features we love, but probably won't be implemented 2048

3 _ toggle for showing a function name each time its hit
3 _ toggle for showing line numbers within a function
3 _   i'm here messages, tie in with breakpoints for debugger
3 _   lightweight debugger, doesn't slow down, runs in back
3 _ toggle to show attr/value for some var in simple way
3 _ comments as debugging descriptors, output to console, shown in context
3 _ comments as naming for shapes drawn after it,
3 _   or some other model of naming based on inserted text with "" or // or #
3 _   could fit nicely with printf-style statements and comments
3 _   comments would contain descriptions //!blah for printing and formatting
3 _ sketchbook - doodling/scribbling area.. 
3 _   since wacom tablet easily accessible
3 _ look into maxx programming
3 _ single or multi-file cvs, not based on directories
3 _   i.e. i want illustrator.java for a project
3 _   version # stored in .java file
3 _   if a new version is available, asks 'do you want to update?'
3 _   multi-file: quicksort + sortable
3 _ check out interface builder for interesting tidbits
3 _ write converter for java bagel -> cpp version
3 _   include #ifdefs for c stuff



PDE / Pre-preprocessor & Compiler
Currently using Oro for search and replace preprocessor,
but Dan Mosedale is moving us to ANTLR

   2 _ for int i for 0 to b.length
   2 _ for i from 0 upto b.length
   2 _ actionscript has nice hastables.. as does perl/python
   2 _   would be nice to get better implementation in there

   2 _ additional data conversions to avoid this syntax:
   2 _   Integer.toString(), Integer.parseInt()
   2 _   works like class casting: int(23.4) same as ((int) 23.4) 
   2 _   String(1234) -> translates to String.valueOf(1234);
   2 _     works for all data types that support valueOf
   2 _     i.e. valueOf(Object) returns null or Object.toString() 
   2 _   int("1234") -> Integer.parseInt("1234")
   2 _   float("1234.35") -> (new Float("1234.35").floatValue())
   2 _   http://proce55ing.net/discourse/yabb/YaBB.cgi?board=Syntax;action=display;num=1060940705

   2 _ (blah, blah, blah) = split(blah, "\t")
   2 _   'like php's "explode" function'
   2 _   http://www.php.net/manual/en/function.explode.php 
   2 _   example 2 is the more interesting one... 
   2 _     list($user, $pass, $uid, $gid, $gecos..) = explode(":", $data);
   2 _   also see the inverse of that: 
   2 _   http://www.php.net/manual/en/function.implode.php

   2 _ foreach implementation, ala java 1.5 spec
   2 _   http://jcp.org/aboutJava/communityprocess/jsr/tiger/enhanced-for.html
   2 _   for (String s : c) { ... }
   2 _   or example for sum of int array:
   2 _   int sum = 0; for (int e : a) { sum += e; }
   2 _ for (int i = 0; i < 10; i++) -> for (int i < 10) (?)
   2 _    what's a better method for this?

   2 _ check through all the examples to look for other themes

   2 _ contextual syntax highlighting based on grammar
   2 _   everything that's in java.lang plus more is too much for keywords
   2 _   http://proce55ing.net/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1045665326
