Files
processing4/processing/todo.txt
2004-02-18 14:54:02 +00:00

988 lines
43 KiB
Plaintext

0069
X ifdef JDK14 around a piece of 1.4 specific window code
X use mozilla for opening urls in linux, switched to more compatible exec()
o note in the docs: can't use transforms inside beginShape()
o http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1068795597
X make components all swing components
X switch to swing menus (for linux), because motif widgets are nasty
X moved 'find in reference' to the help menu
X eliminate the requirement for a 'data' folder
X only create 'data' folder when it's needed/used
X auto-create code and data folder via 'add files to sketch..'
X may need to start putting properties somewhere besides lib
X home directory (or preferences folder under macos9)
X punt on the expert release? at least until beta?
X nope, can't will annoy people and won't save enough time
X clean up the fonts in the
X do this once unicode support has been added to the regular fonts
X make a preference panel to set pde.properties stuff
X new html code for eolas patent case
X move html to external file in the lib folder
X re-merge old code back in for textareadefaults?
X re-enable line highlight
X fix background color
X get bracket highlighting to work
X why won't loop() go bold? -> java 1.4 problem on the mac
X test what it does on the pc
X seems to be a mac-specific problem (probably because of monaco)
X removed kjc classes
X addition to pde.properties to list the imports for various jdk versions
X set jdk version for export inside pde.properties
X option to set what browser is in use
_ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_Software;action=display;num=1074106123;start=0
X text(x, y, z)
_ make sure applet.html uses processing.org
X min() and max() with three values were broken (now fixed)
_ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1076804172
X CONTROL wasn't properly set in BConstants
_ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1077058788
_ last vertex on LINE_LOOP fades out
_ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1076911893
//_ framerate() has a bug that seems to
_ rotated text has a bug for when it goes offscreen
_ patch rotated text (from visualclusto) into bfont
X macosx.. flickering several times on startup
X fixed this, along with other sluggishness related threading issues
_ find() hangs on replacing "println" with "//println"
_ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1076740626
_ font builder bounds checking causing trouble
_ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1076358432;start=0
_ adding files to data folder that are already in the data folder
_ makes the file zero, because of internal error
_ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1076358515
_ mgorbet stroke transparency problem
_ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1076383048;start=0
_ present mode makes keyPressed() repeat like nutty
_ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1076425568
X cameraMode(PERSPECTIVE) and cameraMode(ORTHOGRAPHIC) setup basic cameras
X if the user wants a custom camera, call cameraMode(CUSTOM); before begin()
X printMatrix() and printCamera() to output the matrices for each
_ get jikes 1.19 in there
_ angleMode(DEGREES) and angleMode(RADIANS)
_ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_Software;action=display;num=1075507381;start=0
_ put SecurityException things around file i/o for applets
_ rather than checking online(), since applets might be signed
_ shut off the automatic gunzipping
_ shift-backspace doesn't work in the editor
_ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1074192817;start=0
_ key codes not properly coming through for UP/DOWN/etc
_ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1075138932;start=0
eclipse when running in debug mode:
ps -w -w -axo command | grep java
/System/Library/Frameworks/JavaVM.framework/Versions/1.4.1/Home/bin/java -Djava.security.policy=java.policy.applet -classpath /Users/fry/Desktop/eclipse/workspace/javatest -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp transport=dt_socket,suspend=y,address=localhost:10506 sun.applet.AppletViewer
whoa.. BGraphics.screenX() et al had the camera stuff shut off
and that's what shipped in 67. shite.
need to get things fixed up properly so camera is properly set
ISOMETRIC was completely broken.. need to implement properly
also, the default camera is perspective
_ split() function splits strings
_ ints() converts an array of strings/doubles/floats to an int array
_ split() should also use StringTokenizer
_ to do countTokens() and then stuff into an array
_ shave() or chomp() or trim() method to remove whitespace on either side
_ including unicode nbsp
_ check ordering of split() in java vs perl for regexp
_ make a note in the docs about using split
_ StrList.subset(3); subsets starting at 3
_ other matlab style commands
_ die() command to exit an application or just stall out an applet
_ die(String error) and die(String error, Exception e)
_ knows not to die when run as an application in p5 env because
_ the leecherror will be non-null (otherwise external, so die is ok)
_ commands for askSerialPort() and askVideoInput?
_ like the askFile() command, prompt for the port to use
_ or just store it for later use
_ fileBrowser / serialPortBrowser / cameraBrowser or videoBrowser ?
_ once compiling again, change PdeException
_ rename the class for a minute to find all references
_ then add references to the *file index* in question
_ this could be a headache since preproc doesn't know :(
_ option for "ok to overwrite html"
_ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_Software;action=display;num=1074240197;start=0
_ fix command keys for menus (broken since switching to swing)
_ PdeRuntime isn't properly handling messages from all classes in project
_ get things up and running, and see how it looks
_ fix make.sh and dist.sh for all platforms
_ changes to the export setup and making the bagel jar files
_ change of location for examples.zip and where they extract to
_ re-implement history (disabled for 68)
_ history: "archive this version"
_ makes a numbered archive of the current sketch as a zip file
_ checks to see if there are other versions in the current folder
_ or maybe just increments the numbers at the end of the sketch name
VOLUNTEER
_ figure out how eclipse or other IDEs handle running applets
_ but retaining a connection to them without upsetting virus apps
_ fix export to recursively copy contents of build folder
_ currently only copies top-level classes and contents of data folder
_ sync files into lib/build rather than copying everything new
_ check file existence and modification dates to know which to copy
_ and which files to delete if some have been removed
_ this also means that the file copying has to set mod dates (JDK13)
_ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1074789934
when creating a new file, suggest untitled.pde
they can put a .java or .pde extension on the file
if no extension is found, add the .pde extension
if the file has a .pde extension, then it will be run through the preproc.
_ option for having multiple files open
X need ui for tabs from casey
X tabbed interface for multiple files
X http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_Software;action=display;num=1052077800;start=0
_ "new text java/pde file" menu item
SKETCHBOOK
_ sort sketch names in the open menu
_ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1074981609
_ sketch.properties should go into user.home
_ otherwise moving sketch folder will kill it
_ last-used sketch not being saved
_ if sketchbook.dir is set, makes new sketchbook folder
_ reads sketchbook properly from other folder
_ but creates a new folder for new sketches to go into
_ sketchbook.dir not properly read or written
_ install sketchbook into another location on person's machine
_ use System.getProperty("user.home");
_ remove the 'default' for sketchbook
_ bring this up on bboard and get votes
_ win2k: my documents, macosx: ~/Documents, linux: ~/sketchbook
_ fix code for changing the sketch folder
o don't allow editing of multiple files in this release
o but support multiple java/pde files through the 'add file' option
_ open mode
_ on application open, override 'open' mode
_ and just open an empty sketch in the sketchbook folder
_ when 'skNew' is cancelled in 'open' mode, nullpointerex at the top
EXAMPLES
_ check if file is read-only, and if so, ask where to put sketch
_ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_Software;action=display;num=1075149564;start=0
_ how to handle examples: read only, somewhere inside lib
_ move examples to folder that goes w/ p5 app
_ set examples somehow read-only
_ 'save as' from examples puts into examples dir.. :(
_ make it default to the user's sketch dir
LIBRARIES
_ "add library" menu item and submenu
_ iterate through the 'library' folders
_ dll and jnilib files have to be in the p5 folder (confirmed by amit)
_ there should be other places that they work..
_ could even copy the dll to the p5 folder from the code folder
_ simong: request a preloop and postloop call for libraries
_ this would avoid having to patch BApplet
BAGEL
_ libraries: static and non-static init for libs
_ final stop() for static shutdown of lib
_ but also potential stop() for individual items
_ some way to properly quit sketch when stopped
_ if people have other threads they've spawned, impossible to stop
_ http://processing.org/discourse/yabb/YaBB.cgi?board=Syntax;action=display;num=1067383998
_ rewrite bagel code..
_ for this release, because it will break things along with the lib stuff
_ switch to PImage, PApplet, etc
_ update() mode needs to be hacked in
_ separating of BGraphics and BApplet
_ change copyrights on the files again (to match ?)
_ proper lineweight
_ camera clipping
_ put screenshots into their sketch folder
_ http://processing.org/discourse/yabb/YaBB.cgi?board=Syntax;action=display;num=1046185738;start=0
_ add a method BApplet.setPath() or something like that
_ add color(gray) and color(gray, alpha)
_ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_Software;action=display;num=1074180764
IMAGE
_ BImage.smooth() ?
_ make grayscale image in p5
_ could be used in conjunction with alpha() to properly set alpha values
void toGrayscale() {
int col,lum;
for(int i=0; i<pixels.length; i++) {
col=pixels[i];
// luminance = 0.3*red + 0.59*green + 0.11*blue
// 0.3*256 = 76
// 0.59*256 = 151
// 0.11*256 = 28
lum = (76*(col>>16&0xff)+151*(col>>8&0xff)+28*(col&0xff))>>8;
pixels[i]=lum<<16 | lum<<8 | lum;
}
}
BUGS / PDE
_ if last line of code is a comment with no CR after it,
_ an OutOfMemoryError ensues
_ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1067717095
_ jikes errors have no newlines because it's a buffered reader
_ and the newlines are removed when read
_ mouse wheel not working properly, need to dynamically load 1.4 code
_ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1065826758;start=0
_ preproc bug: text(String.valueOf(i+1), left + i*20, top);
_ unexpected token "String"
BUGS / Bagel
_ doesn't work when outside a function:
_ color bg_color = color(255,0,0);
_ rect is not getting it's stroke color set
_ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1073582391;start=0
_ alpha of zero still draws boogers on screen
_ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1073329613;start=0
_ new sphere code from toxi
_ http://processing.org/discourse/yabb/YaBB.cgi?board=Syntax;action=display;num=1067005325
_ colorMode broken for red() green() etc
_ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1068664455
_ z values not set properly on ellipses?
_ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1068752615
_ ellipses are just plain ugly
_ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1073409011;start=0
BUGS / Windows
_ p5's exe prolly has trouble when PATH has quotes (or spaces?)
_ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1068388889
_ CLASSPATH figured out what to do with quotes, but not PATH
BUGS / Linux
_ doesn't seem interested in quitting properly (?)
BUGS / Mac OS X
_ also a strange box showing up in the corner
_ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1073111031
NETWORK
_ 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
_ some method for just downloading the entire contents of a url
_ add udp support
VIDEO
_ selecting input source (wintv board and quickcam installed.. problem)
_ including qtjava in path when in java mode (oops)
_ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1069724180;start=0
_ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1073523928;start=0
_ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1076679293;start=0
_ beginVideo not colored
_ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1069342913;start=0
_ video commands not color coded
_ things will freeze if winvdig not installed
_ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1065185464
_ quicktime 6.4 update breaks p5 on the mac?
_ http://docs.info.apple.com/article.html?artnum=93414&sessionID=anonymous%7C26893096&kbhost=kbase.info.apple.com%3a80%2f
_ "Type quicktime.std.stdQTConstants was not found"
_ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1066358763
_ http://docs.info.apple.com/article.html?artnum=120255
_ split classes to BVideo and BMovie ?
_ video hanging without a camera installed
_ just locks up after running examples, then does the 'can't delete' thing
_ http://processing.org/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
_ quicktime exporter or image sequence export
_ fairly quick--just use experimental code from dbn
_ this hangs frequently on the mac (prolly a sync issue)
_ karsten's stuff has same problem
_ but the roger's video tracking does not
void videoEvent()
{
for(int i=0; i<width*height; i++) {
if((video.pixels[i] >> 16 & 0xFF) > threshold) {
blackwhite.pixels[i] = #FFFFFF;
} else {
blackwhite.pixels[i] = #000000;
}
}
}
_ problems running external vm/vm is hanging
_ seems to be happening because of virus scanning software (norton)
_ may need to launch the applet (using 'start')
_ and talk over a socket instead
_ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1067867520;start=0
_ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1067643186
CONSOLE
_ error messages run off the edge and go invisible
_ actually this is just for the editor status box
_ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1074894329
_ set max frame rate at 60 fps? avoid the full-on spew to the console
_ console runs really really slow with a lot of println() calls
_ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1064182823
_ console -> should be using JEditTextArea not TextPane
_ make new TextAreaDefaults class for the console
_ figure out how to color lines for errors and non (since not syntax)
_ set decent fonts (probably same as editor above), looks bad on mac
MEDIUM
_ 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
_ # remove DS_Store files
_ sudo find . -name ".DS_Store" -depth -exec rm {} \;
_ 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
_ update illustrator code to use bagel api
_ even if not actually working properly.. just in naming of things
_ new networking client from simong
_ simong lighting code
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://processing.org/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
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?
_ only first 20 entries visible?
_ get code from revisionist in there
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)
..................................................................
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)
_ 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://processing.org/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://processing.org/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://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1061802316;start=0
_ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1077058974
_ 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://processing.org/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
_ maybe provide a message stating this when p5 is run?
_ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1062794781;start=0
_ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1067764732
_ 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
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://processing.org/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
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
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
_ add option to sort triangles back to front so alpha works
_ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1076660476;start=0
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://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1043894019;start=0
ca b _
http://processing.org/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);
b _ stroke is still broken
b _ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1077013848;start=0
ca b X clipping objects (clipping planes?)
ca b _ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1058491568;start=0
ca b _ http://processing.org/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://processing.org/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 / Details
1 _ why aren't cursors working on the mac?
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 / Fonts
1 _ sbit font support
1 _ both reading and building sbit fonts
* _ mac -> vlw (or sbit?) font converter
* _ need to also read the fond for metrics
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
PDE - Processing Development Environment
PDE / Details
1 _ implement page setup and print
1 _ pretty printing of code in project
1 _ option to just print all code in project
1 _ option to export all the code as colored html
1 _ p5 becomes a memory hog (benelek and glen murphy)
1 _ even without sketches open, perhaps not gc'ing properly
1 _ objects probably not getting finalized
1 _ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1050134854;start=0
b _ need to check if volume is read-only, notify and quit if it is
b _ people are trying to run off the disk image
b _ need to pay attention to when running from read-only drive
b _ reported by brandenberg
b _ "p5 will launch from the disk image, but will
b _ not draw the sketch name bar doesn't appear"
1 _ size() has memory limitations (pitaru)
1 _ catch OutOfMemoryError inside size() and let the user know
1 _ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1038847001
1 _ verify editor buttons working properly
1 _ they're not.. mostly unresponsive, and often get stuck
1 _ is play button properly unhighlighting?
1 _ does it unhighlight after compile or runtime errors?
1 _ also when using draw() instead of loop()
1 _ applet needs to notify runner that it has terminated
1 _ if export fails (compile error) need deselect
1 _ only copy data files into build dir when there are changes
1 _ make sure the still relevant files aren't removed
1 _ setLastModified on the files after copying (jdk13)
1 _ better handling of AccessControlException in applets
1 _ on loadImage and loadStream
1 _ exceptions in draw() apps aren't caught
1 _ the program resize(200, 200); just does nothing (doesn't complain)
1 _ if 'void' left out before loop or setup, cryptic message about
1 _ 'constructor loop must be named Temporary_23498_2343'
1 _ add a better handler for this specific thing?
1 _ sketches can't be named starting with numbers (D.YOO)
1 _ either provide an error message or explanation for this
1 _ or allow the sketch name to be separte from the class/folder names
1 _ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1033674118
1 _ menu weirdness (benelek)
1 _ when u've got a menu open, move a cursor over the text area
1 _ and back over the menu, the text-area cursor type remains.
1 _ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1043667859
1 _ scroll bar has some painting weirdness with jedit textarea
1 _ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1042351684
1 _ rename doesn't set focus to renamer area
1 _ under windows, immediately typing after rename doesn't select it
1 _ SystemColor doesn't differentiate between menu background and top
1 _ probably fixed in swing, but we're using java.awt.Menu
1 _ test by rewriting with java.awt.Menu
1 _ some method to store a description of a sketch in its comments
1 _ then embed that into the html page
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
1 _ for title-clicking of sketch name, change to a btn
1 _ or somehow mark what it's going to do, rather than just doing it
1 _ beautify
1 _ //for (int i = 0; i < 10; i++) {
1 _ } catch (IOException e) { }
1 _ need to ignore comments.. but not those inside quotes.. oog
1 _ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1067309918;start=0
1 _ ignores colons for case statements
1 _ need to tie this to the parser instead
1 _ find/replace
1 _ add support for hitting 'ESC'
1 _ option to ignore or match case
1 _ when hitting 'find', select the text in the field
1 _ give that field focus explicitly, rather than just for typing
1 _ right now, typing works, but no caret, no blue highlight
1 _ and on second find run, should instead select all the find string
1 _ so that typing will replace it directly
1 _ rename/saveas doesn't properly have its focus set
1 _ the whole thing is selected, but not directly editable
1 _ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_Software;action=display;num=1075149929
1 _ make export put a timestamp in the html code (hidden or visible)
1 _ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_Software;action=display;num=1075659029
PDE / Font Builder
1 _ close/hide window on 'ESC'
1 _ save last used font, size, and smooth settings
1 _ maybe just hide it the window, just like find
PDE / Features
b _ some notion of plugins for pde
b _ color picker or other things written by folks
b _ add all .jar files in lib/plugins on startup
b _ make some kind of internal color picker
b _ could be a separate window that's always around if needed
b _ shortcut to walk through history, ala photoshop (ctrl-alt-z)
1 _ external editor -> add a command to launch
1 _ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_Software;action=display;num=1043734580;start=0
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
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
1 _ ctrl-t is not stopping a sketch
1 _ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1074810469
DISTRIBUTION / Mac OS X
1 _ move the mac to java 1.4
1 _ 1.4 is being used externally, and wheel mouse would be nice
1 _ not doing currently, lots of strange repaint bugs
1 _ all fixable for sure, but no point before beta since low priority
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>
1 _ use disk:// notation as panther alternative
1 _ so that it doesn't download the disk, just mounts it
1 _ although.. this only works on panther.. how many are using it?
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
PRIORITIES
casey
_ graphics engine up to spec
_ video/net/sound up to spec
_ multiple files open
_ compile libraries within p5
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
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
_ for int i for 0 to b.length
_ for i from 0 upto b.length
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
_ make a class/library for this guy
_ 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();
}