Files
processing4/processing/todo.txt

886 lines
37 KiB
Plaintext

0065
X fix SMOOTH_IMAGES problem with how text had been modified
X include version number in the about box
X http://proce55ing.net/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1064220242
X Ctrl-B will beautify the code and send the cursor back to the
X beginning of the the text. Then you have to scroll back to
X where you were... ok, so maybe I am a heavy user of Ctrl-B.
X http://proce55ing.net/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1064220242;start=0
DEVELOPERS
_ try ariel's Thread.yield() suggestion
_ set default framerate of 24? 30?
_ BImage.replicate for straight 1:1 copy, blend() for blended version
_ remove the blendMode function because it's confusing
MEDIUM
_ set PATH to include java (!)
_ jikes errors are missing newline/linefeed ?
_ using run-expert.bat on 62 causes NullPointerException weirdness (?)
_ network/shared_canvas, network/value has old code
_ write script to remove .DS_Store and CVS folders from dist
_ change run.bat, run-expert.bat to use 128m
_ ability to include other .java and .pde code from sketchbook folder
_ 'add files' for .java or .pde pulls into the folder
_ light(x, y, z, c1, c2, c3, TYPE)
_ also BLight with same constructor, and on() and off() fxn
_ better 1.3/1.4 support.. properly detect vm
_ use when deciding which classes to import
_ better support for running locally
_ code to read from properties file from param()
_ for application mode or while inside the environment
_ these properties will be written to html on export
_ fix link, loadStrings, saveBytes code once that's fixed
_ saveBytes not in proper dir is annoying
_ multi-line errors a mess in jikes
_ maybe a dropdown list thing, with the first just shown?
_ processing.exe: problem if expert version is run, and no java installed
_ call the person a genius and tell them to install java
application export
dh b _ ability to export 'applications' (not just applets)
dh b _ lock feature for present mode (part of export to application?)
dh b _ application can still do serial (qt, other stuff?)
dh b _ applet runs in browser, though applet on cbagel is everything..
dh b _ include main class info for executable jar file with jdk > 1.2
dh b _ not difficult to do, just some tweaking once applet export works
dh b _ wrapper that invokes the applet using a copy of the jre
dh b _ main() method needs to set layout manager if jexegen is to be used
dh b _ (msft vm defaults to null layout manager)
dh b _ also make sure pack() is happening
dh b _ add manifest.mf to exported applets so that applications will work
dh b _ http://proce55ing.net/discourse/yabb/YaBB.cgi?board=Proce55ing_Software;action=display;num=1045983103;start=0
bf b _ BApplet.main(new String[] { "flashcards3" });
bf b _ or even BApplet.main(new String[] { getClass().getName() });
bf b _ META-INF/MANIFEST.MF contains just "Main-Class: ClassName"
bf b _ main sticking point will be serial/qtjava in exports
sketchbook
bf _ if sketchbook.dir is set, makes new sketchbook folder
bf _ reads sketchbook properly from other folder
bf _ but creates a new folder for new sketches to go into
bf _ install sketchbook into another location on person's machine
bf _ remove the 'default' for sketchbook
bf _ bring this up on bboard and get votes
bf _ win2k: my documents, macosx: ~/Documents,
bf _ macos9: hd:Users?, linux: ~/sketchbook
bf _ move examples to folder that goes w/ p5 app
bf _ set examples somehow read-only
dh 1 _ 'save as' from examples puts into examples dir.. :(
dh 1 _ make it default to the user's sketch dir
bf _ sketchbook.dir not properly read or written
dh b _ may need to start putting properties somewhere besides lib
dh b _ home directory (or preferences folder under macos9)
dh b _ put screenshots into sketch folder
dh b _ http://proce55ing.net/discourse/yabb/YaBB.cgi?board=Syntax;action=display;num=1046185738;start=0
lotsa video issues
_ just locks up after running examples, then does the 'can't delete' thing
_ http://proce55ing.net/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1060313779
_ first row of video pixels are black
_ casey says it may only be his camera
_ video.pixels don't seem to have high bytes set
_ so fill(video.pixels[blah]) doesn't work
_ test against 'pixels' example
_ make BVideo subclass BImage
_ make sure the high bits are getting set as opaque
console
dh b _ clear console each time 'run' gets hit
dh b _ don't actually clear, just advance by the number of lines visible
dh b _ http://proce55ing.net/discourse/yabb/YaBB.cgi?board=Proce55ing_Software;action=display;num=1051540041;start=0
dh b _ can't copy text from console directly (winxp and macosx)
bf 1 _ console -> should be using JEditTextArea not TextPane
bf b _ set decent fonts (probably same as editor above), looks bad on mac
bf b _ console runs really really slow with a lot of println() calls
bf b _ http://proce55ing.net/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1064182823
history
_ history causing trouble - super slow with a huge sketch
_ could instead be gzipped and appended to history.dat
_ along with another file that is actually a table of offsets
_ no need to make the thing a gzip stream
_ checkbox on menu for 'record history' ?
_ history converter option?
multiple files / java mode
_ tabbed interface for multiple files
_ http://proce55ing.net/discourse/yabb/YaBB.cgi?board=Proce55ing_Software;action=display;num=1052077800;start=0
linux
_ doesn't seem interested in quitting properly (?)
_ switch to swing menus, because motif widgets are nasty
network api
_ don't send unicode data
_ when you stop the client, it freezes
_ until you quit the processing running the server
_ (the server starts and stops fine)
_ add constants for building NET, move stuff around in bagel dir
licensing
_ about box
_ bring up information about gpl, lgpl, and ibmpl
_ check in licenses/dist stuff for jikes etc
_ who has the copyright?
_ jedit syntax is under mit license
_ http://www.opensource.org/licenses/mit-license.php
_ although jedit is under gpl, if we switch to its syntax pkg
_ more info about use is in package.html
_ http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/jedit/jEdit/org/gjt/sp/jedit/syntax/
_ http://community.jedit.org/modules.php?op=modload&name=news&file=article&sid=225&mode=thread&order=0&thold=0
VOLUNTEER TASKS
_ need curveTangent() code
NEW GRAPHICS
_ stroke not set on flat_rect
_ when drawing fonts w/ sami's code, left edge has problem
_ 8-bit (alpha) textures not blending
_ near-plane clipping currently disabled for triangles, enabled for lines
_ (but culling offscreen triangles works.. but may have been
_ commented out by carlos)
_ sphere code needs only front face polygon
_ all triangles must be counter-clockwise (front-facing)
..................................................................
_ developers who may be interested in p5 helping:
sdlpci@cis.rit.edu
gerritt@cloudyreason.com
kyle@kylerode.com
leonhard@rathner.com
..................................................................
LOWER (post beta tweaks, non-structural)
_ Ctrl-Z will undo, but the window will not scroll to where the
_ "undoing" is happening. This can lead the user to assume that
_ actually nothing is happening and overundo.
_ http://proce55ing.net/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1064220242;start=0
_ figure out how to cancel 'save changes' on macosx and windows
_ http://proce55ing.net/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1064732330;start=0
_ error if you try to hit export twice on a sketch
_ "C:/ProgramFiles/proce55ing/processing-0060/sketchbook/default/double_export_tesuble_export_test.java:1:625:7:2: Semantic Error: Unable to write file
_ "C:/ProgramFiles/proce55ing/processing-0060/sketchbook/default/double_export_tesuble_export_test.class"."
_ clean up PdeTokenMarker, probably just alphabetize
_ remove .DS_Store boogers, especially from win/linux distributions
_ NullPointerException when alt is pressed
_ http://proce55ing.net/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1061802316;start=0
_ check what other functions require BGraphics to exist but shouldn't
_ color has to be called inside or after setup
_ loadImage must be used inside or after setup
_ either document this and/or provide a better error message
_ http://proce55ing.net/discourse/yabb/YaBB.cgi?board=Programs;action=display;num=1060879468;start=0
_ include a note that 'applet' folder will get emptied/rewritten
_ or rename the old applet folder to something else?
_ don't allow apostrophe (i.e. casey's_cells) when naming sketch!
_ screenGrab() at the end of a draw mode program is problematic
_ app might exit before the file has finished writing to disk
_ need to block other activity inside screenGrab until finished
_ non-ascii filenames seem to be causing trouble
_ http://proce55ing.net/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1062794781;start=0
_ need to change all the copyrights over to mit "except where noted"
X when exporting applet, line numbers will be off..
_ when not exporting with new preproc code, imports all on same line
_ make preproc keep track of how many lines were added
_ fix the problem causing all the "couldn't delete" messages
_ help->reference and find in reference don't work on some machines
_ complaints from osx and windows..
X when exporting applet, line numbers will be off..
_ when not exporting with new preproc code, imports all on same line
_ make preproc keep track of how many lines were added
_ class naming from dan
_ If you name a class the same name as the sketch project,
_ you get an error about contained classes with duplicate names
_ when you try to export for web.
_ catch security exceptions around applet i/o calls
_ not just for saving files, but provide better error msgs when
_ attempting to download from another server
_ if (loop == false) and (draw == false) then provide an error
_ so user knows that one or the other is needed
_ make PdeEditorStatus modal
_ problem on quit (using JOptionPane as a band-aid)
_ also a problem because user can use the ui while prompt is visible
_ needs proper blocking, the way Dialog.show() does
_ so that that status window can be used while quitting
_ (currently cannot because it quits before getting response)
_ tried to pop up a modal Dialog in exactly the same location
_ but couldn't remove the decoration from the window (jvm bug?)
_ because it just quit without finishing
_ macosx handleQuit forces termination (at least on 1.3)
_ figure out how to prevent it, and add the 'cancel' button back
_ drag & drop implementation to add files to sketch
_ do a better job of maintaining cursor during beautify
thesis / acg
_ make bagel more usable as standalone
_ breakout BGraphics (have its own BImage)
_ breakout BApplet into BComponent ? (fix out-of-bounds mouse)
_ possible use of BUtils ?
_ write documentation on general use
_ along with how to download from sourceforge (anonpass is blank)
_ needs to be used as a component, without applet
_ but retain functionality, ie. image i/o
_ exports pixels or a BImage or does MemoryImageSource itself
_ move math functions into utility library associated
_ with bagel, because those will be useful on other bagel platforms
_ pApplet will call BagelMath.whatever, so still looks like cos()
_ #ifdef to remove client and server code as well
_ p5 classes into packages (bagel especially)
_ http://proce55ing.net/discourse/yabb/YaBB.cgi?board=Proce55ing_Software;action=display;num=1052908285;start=0
_ break out BSerial as separate object like BVideo
_ include rxtx and the rest of that setup in subfolder
_ BSerial.flush and BSerial.available in object
_ need to resolve issues between rendering screen/file
_ illustrator-based rendering needs to work for ars projects
_ screen may be 400x400 pixels, but file be 36x36"
_ opengl export / rendering mode
_ currently implemented, but somewhat broken
_ finish this once all the line code is done
_ make possible to use buzz.pl to create versions w/ stuff removed
_ build gl4java for java 1.4
_ read table/csv formatted data into a matrix
_ pseudo-database format version of this that stores indexes to file
_ rather than loading the whole thing at once
_ more advanced splitting of files into rows/cols uses another class
_ other class also has concept for random access of lines
_ by storing the line positions, can access without loading all
_ into memory because some files will be too large
_ illustrator export / rendering mode
_ also postscript or pdf export?
_ version of Illustrator.java that uses bagel api
_ sorting of polygons/lines on simple painters algorithm
_ better lighting model to show darkness at various depths
_ maybe just ultra-high res bitmaps from gl
_ version of BApplet that replaces g. with ai. or pdf.
_ history.. add my diffs sketch
_ could just include a compiled version of the diff app, ala jikes
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
KEY
bf ben fry (http://acg.media.mit.edu/people/fry)
cr casey reas (http://www.groupc.net)
ca carlos andres rocha
hb hernando barragan (http://www.people.interaction-ivrea.it/b.barragan)
dh dan haskovec
dm dan mosedale
ks karsten schmitt (http://www.toxi.co.uk)
ap amit pitaru (http://www.pitaru.net)
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
GRAPHICS LIBRARY
A hybrid of OpenGL (3D Graphics) and some aspects of Postscript (Fill, Stroke)
The graphics library is called Bagel, which is an internal name.
BAGEL / Rendering
b _ picking
b _ what is the API for picking?
b _ ability to write data other than image into the buffer
b _ user can introduce new kinds of buffers at will (!)
b _ lists of names of objects, or the 'line number' buffer
b _ but how to determine *where* on object the hit occurs
ca b _ lines
ca b X rewrite line and stroke code, it's a buggy mess
ca b X lines become 2 pixels thick after a 3D transform
ca b X better handling of single-pixel special case
ca b _ flat_line_retribution is a hack, can go away
ca b _ setting stroke width on circle makes odd patterns
ca b X line endcaps and line joins. strokeMode()
ca b _ lower priority, but at least leave room
ca b ? make sure line() commands don't try to have a fill
ca b _ box is not opaque
ca b X problem is that lines are drawn second
ca b X one pixel lines have no z value.. argh
ca b X bug re: 3d depth sorting on lines
ca b _ http://proce55ing.net/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1043894019;start=0
ca b _
http://proce55ing.net/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1042004618
ca b _ translate(58, 48, 0);
ca b _ rotateY(0.5);
ca b _ box(40);
ca b X concave/complex polygon
ca b _ eventually POLYGON auto-detects convex/concave polygon
ca b _ also add POLYGON_CONVEX and POLYGON_CONCAVE
ca b X clipping objects (clipping planes?)
ca b _ http://proce55ing.net/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1058491568;start=0
ca b _ http://proce55ing.net/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1052313604;start=0
ca b X things are flying into the camera and halting apps
ca b _ http://proce55ing.net/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1042699742
ca b X NullPointerException apparently when things way offscreen
ca b _ i.e. glyphrot with scale set to 4
ca b _ or at least that things get ridiculously slow
ca b _ clipping issues here.. but also something in scan converter
ca b X not clipping areas from offscreen
ca b _ huge geometry slows things way down
BAGEL / Serial
1 _ basic usb support?
1 _ http://proce55ing.net/discourse/yabb/YaBB.cgi?board=Proce55ing_Software;action=display;num=1053684925
BAGEL / Details
1 _ mousePressed, keyPressed, others.. queue them all
1 _ queue multiple times
1 _ toxi ellipses don't adapt properly with transformations
1 _ what is the stroked version of a sphere? a circle?
1 _ non-homogenous coloring for curve vertices
1 _ properly interpolate
1 _ too many push() will silently stop the applet inside a loop
1 _ test winding polygons in different directions
1 _ test lighting to see how it compares with gl
1 _ better lockout inside beginShape() to keep other things from happening
1 _ is quad strip broken or not behaving as expected?
1 _ may be correct, it worked for nik
1 _ inside draw() mode, delay() does nothing
1 _ delay might be a good way to signal drawing to the screen/updating
BAGEL / Future
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
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
VIDEO
VIDEO / Capture - Bagel Standard Extension by Hernando
VIDEO / Output - something like screengrab, employs qtjava
b _ quicktime exporter or image sequence export
b _ fairly quick--just use experimental code from dbn
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
SOUND / Bagel Standard Extension by Carlos
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
PDE - Processing Development Environment
PDE / Pre-preprocessor
Currently using Oro for search and replace preprocessor,
but Dan Mosedale is moving us to ANTLR
dm b _ additional data conversions to avoid this syntax:
dm b _ Integer.toString(), Integer.parseInt()
dm b _ works like class casting: int(23.4) same as ((int) 23.4)
dm b _ String(1234) -> translates to String.valueOf(1234);
dm b _ works for all data types that support valueOf
dm b _ i.e. valueOf(Object) returns null or Object.toString()
dm b _ int("1234") -> Integer.parseInt("1234")
dm b _ float("1234.35") -> (new Float("1234.35").floatValue())
dm b _ http://proce55ing.net/discourse/yabb/YaBB.cgi?board=Syntax;action=display;num=1060940705
dm b _ foreach implementation, ala java 1.5 spec
dm b _ http://jcp.org/aboutJava/communityprocess/jsr/tiger/enhanced-for.html
dm b _ for (String s : c) { ... }
dm b _ or example for sum of int array:
dm b _ int sum = 0; for (int e : a) { sum += e; }
b _ for (int i = 0; i < 10; i++) -> for (int i < 10) (?)
b _ what's a better method for this?
b _ allow import blahblah.blah.blah to get passed through
b _ and included with the imports list.
b _ check through all the examples to look for other themes
dm b _ subst Image -> BImage, Font -> BFont
dm b _ this should be optional until we get the naming down
dm b _ contextual syntax highlighting based on grammar
dm b _ everything that's in java.lang plus more is too much for keywords
dm b _ http://proce55ing.net/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1045665326
Current Preprocessor Subsitutions:
"compiler.substitute_floats" (currently "substitute_f")
- treat doubles as floats, i.e. 12.3 becomes 12.3f so that people
don't have to add f after their numbers all the time. this is
confusing for beginners.
"compiler.enhanced_casting"
- byte(), char(), int(), float() works for casting. this is basic in
the current implementation, but should be expanded as described
above. color() works similarly to int(), however there is also a
*function* called color(r, g, b) in p5. will this cause trouble?
"compiler.color_datattype"
- 'color' is aliased to 'int' as a datatype to represent ARGB packed
into a single int, commonly used in p5 for pixels[] and other color
operations. this is just a search/replace type thing, and it can be
used interchangeably with int.
"compiler.web_colors" (currently "inline_web_colors")
- color c = #cc0080; should unpack to 0xffcc0080 (the ff at the top is
so that the color is opaque), which is just an int.
Other preprocessor functionality
- detects what 'mode' the program is in: static (no function brackets
at all, just assumes everything is in draw), active (setup plus draw
or loop), and java mode (full java support).
http://proce55ing.net/reference/environment/index.html
- size and background are pulled from draw mode programs and placed
into setup(). this has a problem if size() is based on a variable,
which we try to avoid people doing, but would like to be able to
support it (perhaps by requiring the size() to be final?)
- currently does a godawful scrambling of the comments so that the
substitution doesn't try to run on them. this also causes lots of
bizarro bugs.
Possible?
- would be nice to just type code wherever, mixing a 'static' style
app with a few functions. would be simpler for starting out. but it
seems that the declarations would have to be pulled out, but that
all seems problematic. or maybe it could all be inside a static { }
block. but that wouldn't seem to work either.
PDE / Runtime (includes classloading)
PDE / Editor
if you dream it, you can do it.
PDE / Details
dh 1 _ p5 becomes a memory hog (benelek and glen murphy)
dh 1 _ even without sketches open, perhaps not gc'ing properly
dh 1 _ objects probably not getting finalized
dh 1 _ http://proce55ing.net/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1050134854;start=0
dh 1 _ beautify() ignores colons for case statements
dh 1 _ need to tie this to the parser instead
dh 1 _ SystemColor doesn't differentiate between menu background and top
dh 1 _ probably fixed in swing, but we're using java.awt.Menu
dh 1 _ test by rewriting with java.awt.Menu
dh b _ need to check if volume is read-only, notify and quit if it is
dh b _ people are trying to run off the disk image
dh b _ need to pay attention to when running from read-only drive
dh b _ reported by brandenberg
dh b _ "p5 will launch from the disk image, but will
dh b _ not draw the sketch name bar doesn't appear"
dh 1 _ size() has memory limitations (pitaru)
dh 1 _ catch OutOfMemoryError inside size() and let the user know
dh 1 _ http://proce55ing.net/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1038847001
dh 1 _ verify editor buttons working properly
1 _ they're not.. mostly unresponsive, and often get stuck
dh 1 _ is play button properly unhighlighting?
dh 1 _ does it unhighlight after compile or runtime errors?
dh 1 _ also when using draw() instead of loop()
dh 1 _ applet needs to notify runner that it has terminated
dh 1 _ if export fails (compile error) need deselect
dh 1 _ only copy data files into build dir when there are changes
dh 1 _ make sure the still relevant files aren't removed
dh 1 _ setLastModified on the files after copying (jdk13)
dh 1 _ better handling of AccessControlException in applets
dh 1 _ on loadImage and loadStream
dh 1 _ exceptions in draw() apps aren't caught
dh 1 _ the program resize(200, 200); just does nothing (doesn't complain)
dh 1 _ if 'void' left out before loop or setup, cryptic message about
dh 1 _ 'constructor loop must be named Temporary_23498_2343'
dh 1 _ add a better handler for this specific thing?
dh 1 _ sketches can't be named starting with numbers (D.YOO)
dh 1 _ either provide an error message or explanation for this
dh 1 _ or allow the sketch name to be separte from the class/folder names
dh 1 _ http://proce55ing.net/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1033674118
dh 1 _ menu weirdness (benelek)
dh 1 _ when u've got a menu open, move a cursor over the text area
dh 1 _ and back over the menu, the text-area cursor type remains.
dh 1 _ http://proce55ing.net/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1043667859
dh 1 _ scroll bar has some painting weirdness with jedit textarea
dh 1 _ http://proce55ing.net/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1042351684
dh 1 _ rename doesn't set focus to renamer area
1 _ under windows, immediately typing after rename doesn't select it
1 _ don't cache stuff from loadStrings and others
1 _ mac java vm won't give up old version of file
1 _ or use setUseCaches(false)
1 _ too many frames drawn before window visible - especially on mac
1 _ examples should be read-only
1 _ stored in a separate folder from the sketchbook
1 _ error message dialog?
1 _ maybe something that shows stack trace
1 _ with an 'email this' button? (include source code too?)
1 _ dim edit menus as appropriate during selection/no selection/etc
1 _ switch to newer syntax package from jedit cvs
1 _ is enormous horizontal scroller issue fixed properly
PDE / Features
1 _ make a preference panel to set pde.properties stuff
dh b _ some notion of plugins for pde
dh b _ color picker or other things written by folks
dh b _ add all .jar files in lib/plugins on startup
dh b _ make some kind of internal color picker
dh b _ could be a separate window that's always around if needed
dh b _ shortcut to walk through history, ala photoshop (ctrl-alt-z)
dh b _ external editor -> add a command to launch
dh b _ http://proce55ing.net/discourse/yabb/YaBB.cgi?board=Proce55ing_Software;action=display;num=1043734580;start=0
PDE / see you next year
not necessary for 1.0 release
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
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
DISTRIBUTION
How the environment gets packed up, downloaded, and installed.
DISTRIBUTION / General
b _ need more comprehensive list of 'known bugs'
b _ need more comprehensive list of 'known suggestions'
b _ beta release will include source code
b _ write notes about running p5 on another platforms
b _ this was some feedback from running on bsd:
b _ /usr/local/jdk1.3.1/bin/java -cp lib:lib/build:lib/pde.jar:lib/kjc.jar:lib/oro.jar:java/lib/ext/comm.jar PdeBase
b _ need to use the 1.3 vm, and get a fake platform name
b _ otherwise, goes looking for lib/pde_.properties or something
1 _ if size() not found in export/compile, ask the user
1 _ size(myWidth, myHeight) -> set static var in BGraphics
1 _ for the last size that was used, use as default for fill-in field
1 o modify antlr stuff to conditionally recompile in make.sh
1 _ compile antlr inside the initial setup of the work dir
1 X done for macosx
1 _ fix this for windows and linux
DISTRIBUTION / Windows
1 _ don't force install of qtjava
1 _ this requires a separate version of bagel that doesn't use video
1 _ or a version that loads video dynamically. that kinda sucks.
1 _ maybe could even compile it in with jikes? (blech)
1 _ winamp/audio getting starved or crackly while applets running
1 _ thread priority too high? or something weird
1 _ need splash screen, startup takes a long time
1 _ tie .pde files as documents of the application
1 _ figure out proper registry key for windows
1 _ can be handled when the app first run (jni?)
1 _ write handler for main() to take document names
1 _ need document icons
1 _ add MRJOpenApplicationHandler and MRJOpenDocumentHandler
1 _ especially the open document fella
1 _ under osx, app won't get doc unless app already launched
DISTRIBUTION / Linux
b _ splash screen
DISTRIBUTION / Mac OS X
b _ set nice background for disk image on macosx
1 _ random lockups seem common in 1.4
1 _ test more to see if runtime exceptions are coming through
1 _ track down error in PdeCompiler for message parsing
1 _ was missing the error about a package being gone
1 _ can comment out /System/Library/ as a test
1 _ Contents/Resources/Java can take jnilib files
1 _ set file type/creator for .pde files of examples
1 _ would be nice to have macosx packaged up as a single .app file
1 _ is there a way to set the color of the Frame growbox?
1 _ currently it's white instead of dark gray like the ui
1 _ setBackground(Color) didn't seem to help inside PdeBase.<init>
DISTRIBUTION / Mac OS 9
leftover todos
_ set file type for jar and html files on export
_ (not done on osx, safari doesn't set for html files)
_ why is bbedit the type for the other files? make simpletext
untested/likely broken
_ reference launching
_ control/right-click for edit area context menu
_ make sure editor window is front so that error line highlights
_ is video working (qtjava in path) on macos9?
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
OTHER NOTES
_ ide: type-ahead/teaching functions -> how useful for learning?
ed
_ quality of compiler errors + multiple errors
_ additional class files.. .java or .pde
_ find/replace
juha
_ documenting how the environment works / is set up
amit
_ find/replace
_ println speed improvements
_ 'debug' that shows a variable (rather than many many println)
_ tabs for multiple files
zach
_ setting breakpoints / stepping through
_ useful as understanding for how program works
_ tracing like director
schoenerwissen
_ tracing variables
_ bspace object
_ 7 day search on discourse board
..................................................................
api work
_ merge BImage/BGraphics into BLayer/Pixels ?
_ update() mode should be finished before beta
_ for int i for 0 to b.length
_ for i from 0 upto b.length
ugly but no ideas yet
_ serialWrite -> sprint ?
_ noSmooth
_ noFill()
_ rectMode means rectPlacement
_ becomes a problem when strokeMode and strokeWidth are mixed
_ beginRect() beginLineLoop() et al. ?
_ begin/end.. beginSerial/endSerial ->
_ openSerial/closeSerial ?
_ startSerial/stopSerial
_ need some model for i/o that makes more sense
_ getting whole words from serial, network, and files
_ or buffers of specific length with a sync byte
_ split to take strings (ie. for ", ")
_ quicksort should probably just be made into 'sort' class
_ it's the only one ever used
_ can this be done using an inner class?
_ should BSpace be included?
_ go through examples to see if there's other annoying syntax
additions that i want
_ image(BImage, x, y, float scale) (found in illustrator stuff)
_ textrect(String text, x, y, width, height) // based on rectMode
_ textMode() for align left, center, right (no justify.. har!)
_ file i/o: file listing util that leaves out . and ..
_ rotateRight(), rotateLeft(), flipHorizontal().. etc
_ for an actual 'transformations' object
_ write tiff (or other) header for image stream
_ actionscript has nice hastables.. as does perl/python
_ would be nice to get better implementation in there
..................................................................
// notes on an implementation of a 'shape' class..
// as long as using an additional pde file...
..to still maintain rect() instead of g.rect()
..and the rest of the p5 features
// shape or "processing" means to add all kinds of methods like:
// public void point(float x, float y) { g.point(x, y); }
// and that the class 'implements' ShapeInterface..
//
shape class Something {
void setup() {
// not used, or called on first draw
// but maybe required (even if behind the scenes)
// so that this can use "implements ShapeInterface"
}
void draw() { // uses internal g. that's been set by parent
}
}
in the .pde parent:
void loop() {
shape(somethingInstance);
}
where the shape() method in BApplet looks like:
shape(ShapeInterface o) {
o.graphics(this.g); // has to be a method, since intf
o.draw();
}