future things that we'd like to do but may never get to


PRIORITIES

ed
_ quality of compiler errors + multiple errors
X additional class files.. .java or .pde
X find/replace

juha
_ documenting how the environment works / is set up

amit
X find/replace
X println speed improvements
_ 'debug' that shows a variable (rather than many many println)
X tabs for multiple files

zach
2 _ setting breakpoints / stepping through
2 _   useful as understanding for how program works
2 _ tracing like director

schoenerwissen
2 _ tracing variables
2 _ bspace object
b X 7 day search on discourse board



////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////



2 _ colorMode(CMYK)
2 _   just does 1-r/1-g/1-b inside 
2 _   http://en.wikipedia.org/wiki/CMYK_color_model#Converting_between_RGB_and_CMYK
2 _   http://processing.org/discourse/yabb/YaBB.cgi?board=Tools;action=display;num=1082055374;start=0


CORE / Fonts

2 _ textTracking()
2 _ sbit font support
2 _   both reading and building sbit fonts


CORE / PGraphics3 

   2 _ picking
   2 _   what is the API for picking?
   2 _   ability to write data other than image into the buffer
   2 _   user can introduce new kinds of buffers at will (!)
   2 _   lists of names of objects, or the 'line number' buffer
   2 _   but how to determine *where* on object the hit occurs
   2 _ materials and shading
   2 _ nicer/simpler api for moving the camera around


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 _ better api for fonts
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 _ 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
