Files
processing4/processing/todo.txt
2005-02-26 23:23:21 +00:00

592 lines
26 KiB
Plaintext

0077 pde
X make compatible with jikes 1.22
X fix all warnings generated by the new jikes
X update windows version of jikes.exe
X update macosx version of jikes
X get source and build on osx (or is it shipped by default?)
X make sure that fink is not in the path when building
X what are the args to configure a release version?
X update linux version of jikes
create a new sketch
create a new tab named "a"
create a new tab named "a_2"
hide tab named "a_2"
hide "a"
unhide "a_2"
unhide "a"
where did "a_2" go ?
(v74) if a project folder is made (with save as), and then deleted while processing is still open, there is an error (of course). but the error ('file/folder not found') is not displayed to the user, and the drop-downs don't go away / the IDE doesn't refresh.
(74) "save as" not actually saving properly
File>New
edit file...
File>Save As
File>Open some other file
File>Open original file
file is empty.
the only way to make File>Save As actually save new files, as far as i
can tell, is to Save As once, make at least one change, then Save.
what happens if folder already exists on save as?
_ look for size() method to determine default size of applet
_ (same as applet exporter function)
_ when using core graphics, don't show applet frame until first frame
_ (in opengl, open frame early, make sure this isn't inhibited)
_ add tool to hit 'next' to go through examples
_ just make it "next file in folder" since examples are all over
_ also need to copy examples locally
_ add tool for running in jview
_ only available after export (or when an applet dir exists)
_ warn user that applet html will be over-written
_ add tool to "Add custom html to sketch"
_ that copies applet.html,
_ opens sketch folder,
_ and gives info about what to do next (how to edit)
_ examples need to be updated
//
_ get an xml library in there
_ nanoxml problems with manifest
_ appears to use 1.6.8 version since it's just two classes
check these errors to see if they still exist
_ odd error in System.err stream coming from running external
_ dies after a while or goes weird
_ make sure exceptions with .class work
_ openStream returning 'null' really horked up the letters applet
_ no System.out was coming through
_ System.err was getting cut off before finishing
libraries
_ should we queue lib events until the end of loop?
_ lib could call queueEvent with the args
_ then call them inside post()
_ add prompt() method to Camera ("" means default, null is prompt)
_ add prompt() method to Serial (simple dialog box that pops up)
_ straighten out int() -> toInt() conversion in the preproc
_ add use of doubles on casting -- particularly for Math.cos() et al
_ use screen manager to run present mode properly
_ set both versions to require java 1.4
_ change the Info.plist inside macosx
_ and add something to PdeBase to make sure that it's in 1.4
_ may need a progress bar for "save as"
_ or just the file copy function in general
_ since it may take a long time (i.e. 1000s of screen grabs)
_ scanning sketchbook folder may be extremely slow
_ not sure why this would be the case
_ subfolders in the 'data' directory don't work
_ don't allow goofy case versions of reserved words
_ keypressed should maybe throw an error
_ "save as" shouldn't show save as dialog for sketches
_ unless that's the current mode that's being used
_ "new midlet" option.. keeping things open for midlet projects
_ track loadImage() with filenames that are inconsistent
_ i.e. mixed case filename in sketch is different in windows
_ but when uploaded to a unix server causes a serious problem
_ use canonicalPath to flag possible problems
_ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1096508877;start=5
_ mouse wheel broken in the text editor? (windows jdk 1.5?)
_ implement horizontal version of PdeEditorButtons
_ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_Software;action=display;num=1076707944
_ transparently convert spaces to underscores (?)
_ underscoring everything is kinda nasty
......................................................................
PROBLEMS FOR NEW USERS
_ making it easier to draw shapes
_ missing semicolons - better error message
_ missing brackets, unmatched brackets
_ "unexpected token void" -> "You're mixing dynamic and static mode"
_ forgetting the quotes around strings
_ separate reference for /dev version
_ loadImage() mixed case problems
_ loadImage() using spaces in the name
_ if loadImage() when online(), throw an error
_ files not in the data folder (works in env, not in sketch)
_ angleMode(DEGREES) -> mistyped keywords, caps being wrong
_ NullPointerException on unterminated comment at end of code
_ (and OutOfMemoryError and weird lockup)
_ not enough args for triangle (or args in general)
_ throws out bizarre message
_ document for new users:
_ what's a NullPointerException
_ use of strings
_ println() for debugging
TALK TO CASEY ABOUT...
_ must call depth() for 3D applications
_ lights cannot be enabled/disabled throughout
_ lighting will be based on what's left at endFrame()
_ images should be a power of 2, or call modified()
_ document the use of "die"
_ can override the method to do your own handling
_ sketches no longer require a "data" folder
_ "draw" is not highlighted as a keyword.. other keywords?
_ draw(), PGraphics(), NO_DEPTH_TEST, PMovie(), PMovie.repeat()
_ PClient(), PClient.available(), PClient.read(),
_ PServer(), PServer.dispose(), PServer.write(), attach(), length
_ round() is not colored
_ example that uses loop/noLoop, or redraw?
_ talk to creas about making html files for bugs, readme, revisions.
_ or how they should relate to the 'faq'.. readme -> faq?
_ make a sketch that shows loading from the web
_ make another sketch that shows loading from a file
_ make notes about preproc
_ subclasses need to use "public void keyPressed" not "void keyPressed"
_ write a threading example
_ or handle this some more intelligent way, super.stop() is needed.
_ http://processing.org/discourse/yabb/YaBB.cgi?board=Syntax;action=display;num=1083574943
_ http://processing.org/discourse/yabb/YaBB.cgi?board=Syntax;action=display;num=1067383998
_ write an example that uses Hashtable
_ and another that uses Vector
_ need showError/Message/Warning/Prompt design from casey
_ maybe something that shows stack trace?
_ with an 'email this' button? (include source code too?)
_ also need a "prompt" dialog for asking filenames, etc
_ implement and remove PdeEditorStatus stuff
_ beginShape() defaults to beginShape(POLYGON)
_ needs to be noted for the reference
_ make a note that u/v coordinates clamp at 0 and 1
_ no transformations before background() is called
_ implementation specific, may cause trouble
_ different name for 'lib' folder because of libraries folder?
_ avoid some confusion for when describing the libraries folder to users
_ implement new version of history
_ make history folder, and a zip (not gz) file for each entry
_ 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?
_ zlib file becoming corrupt (not flushed after close?)
_ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1080346981;start=0
_ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1088333655;start=0
_ shortcut to walk through history, ala photoshop (ctrl-alt-z)
_ support for editor plugins
_ make dynamically loaded plugins and "tools" menu
_ break out beautify as its own plugin
_ make beautify plugin "Auto Format"
_ //for (int i = 0; i < 10; i++) {
_ } catch (IOException e) { }
_ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1086555381
_ need to ignore comments.. but not those inside quotes.. oog
_ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1067309918;start=0
_ ignores colons for case statements
_ need to tie this to the parser instead
_ do a better job of maintaining cursor during beautify
_ only beautify a particular section of code
_ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_Software;action=display;num=1087227217
o make "get quicktime libs" function
o can java get the root directory for system/win32 etc?
export stuff
_ write export-to-application
_ lock feature for present mode (part of export to application?)
_ application can still do serial (qt, other stuff?)
_ applet runs in browser, though applet on cbagel is everything..
_ include main class info for executable jar file with jdk > 1.2
_ not difficult to do, just some tweaking once applet export works
_ wrapper that invokes the applet using a copy of the jre
_ main() method needs to set layout manager if jexegen is to be used
_ (msft vm defaults to null layout manager)
_ also make sure pack() is happening
_ add manifest.mf to exported applets so that applications will work
_ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_Software;action=display;num=1045983103;start=0
_ BApplet.main(new String[] { "flashcards3" });
_ this will need to detect whether the user has their own main()
_ or even BApplet.main(new String[] { getClass().getName() });
_ META-INF/MANIFEST.MF contains just "Main-Class: ClassName"
_ main sticking point will be serial/qtjava in exports
_ include a note that 'applet' folder will get emptied/rewritten
_ or rename the old applet folder to something else? (nah, too messy)
_ make multiple jar files thing work as an option
_ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_Software;action=display;num=1067360903;start=0
_ applet default is one file, application default is multiple
_ user in advanced mode can switch to the other
_ buttons on side of sketch do default (last) behavior
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
PDE - Processing Development Environment
PDE / Details
1 _ preferences
1 _ make preferences a modal dialog
1 _ it's annoying when it hides itself
1 _ redo panel to use proper swing layout etc
1 _ setting sketchbook to a folder on the network
1 _ does this work? test on both on mac and pc..
1 _ exception in setup() on external app doesn't kill run button
1 _ also doesn't kill external vm
1 _ package processing.app for PdeBase, PdeEditor..
1 _ save caret position when switching tabs
1 _ ctrl-tab to switch between tabs
1 _ add mnemonics for menus (alt-f to open 'file')
b _ running present mode with a bug in the program hoses things
b _ make sure the program compiles before starting present mode
1 _ processing.exe: problem if expert version is run, and no java installed
1 _ call the person a genius and tell them to install java
1 _ make some fancy extendo things because the tabs get too big
1 _ find/replace
1 _ only enable "find next" in menu after a find has happened
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
1 _ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_Software;action=display;num=1094149466
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
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 _ 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 _ 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 _ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1083787569
1 _ rename/saveas doesn't properly have its focus set
1 _ under windows, immediately typing after rename doesn't select
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 _ Ctrl-Z will undo, but not scroll to where the undo happens.
1 _ so user thinks nothing is happening and overundo.
1 _ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1064220242;start=0
1 _ figure out how to cancel 'save changes' on macosx and windows
1 _ macosx handleQuit seems to force termination (at least on 1.3)
1 _ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1064732330;start=0
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 _ dim edit menus as appropriate during selection/no selection/etc
1 _ switch to newer revision of jedit?
1 _ is enormous horizontal scroller issue fixed properly
1 _ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1083787569
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
1 _ drag & drop implementation to add files to sketch
PDE / Compiler
1 _ warn about writing non-1.1 code.
1 X will jikes do it if the -source is set to 1.1? nope..
1 X notes inside PdeCompiler
1 _ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_Software;action=display;num=1079867179;start=0
BUGS / Preprocessor
1 _ casting problems in the parser
1 _ float u = float(x)/width; works.
1 _ float u = (float(x)/width); doesn't work: "unexpected token: float".
1 _ float u = (x/float(width)); works!
1 _ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1084011098;start=0
1 _ if last line of code is a comment with no CR after it,
1 _ an OutOfMemoryError wants to happen,
1 _ but right now there's a hack to add a CR in PdePreprocessor
1 _ return (int(5.5)) causes an error
1 _ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1083624993;start=0
1 _ random, single slash in the code doesn't throw an error
1 _ (just gets removed by the preprocessor)
1 _ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1099371066;start=0
PDE / Font Builder
1 _ close/hide window on 'ESC'
1 _ loading is very slow on the first time (getting all font names)
1 _ show a progress/status bar while it's happening?
1 _ (would be useful to at least tell user that system not locked up)
1 _ font builder chopping off parts of letters
1 _ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1076358432;start=0
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
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
_ refresh sketchbook menu upon returning to the app from elsewhere?
_ this would need to track whether coming just from an ext runtime
PDE / Console
1 _ error messages run off the edge and go invisible
1 _ actually this is just for the editor status box
1 _ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1074894329
1 _ multi-line errors a mess in jikes
1 _ maybe a dropdown list thing, with the first just shown?
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
DISTRIBUTION
How the environment gets packed up, downloaded, and installed.
DISTRIBUTION / General
b _ also out of cvs
b _ check for necessary tools to be installed
b _ zip, unzip, jikes, etc
b _ need to change all the copyrights over to mit "except where noted"
b _ need more comprehensive list of 'known bugs'
b _ need more comprehensive list of 'known suggestions'
b _ javadoc "advanced" reference by beta
b _ and then finalizing it towards 1.0
b _ document hint() commands for advanced reference
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
1 _ about box
1 _ bring up information about gpl, lgpl, and ibmpl
1 _ jedit syntax is under mit license
1 _ http://www.opensource.org/licenses/mit-license.php
BUGS / Windows
1 _ NullPointerException when alt is pressed
1 _ might be something to do with the applet frame being an awt not swing
1 _ event first goes to the applet listener, needs to consume the event
1 _ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1061802316;start=0
1 _ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1077058974
1 _ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1081751451;start=0
1 _ p5's exe prolly has trouble when PATH has quotes (or spaces?)
1 _ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1068388889
1 _ CLASSPATH figured out what to do with quotes, but not PATH
DISTRIBUTION / Windows
b _ properly handle non-ascii chars in p5 folder name
b _ or at least warn the user to install somehwere else
b _ track down the cause of the processing.exe not starting bugs
b _ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1062794781
b _ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1067764732
b _ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1094148057
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
DISTRIBUTION / Linux
1 _ doesn't seem interested in quitting properly (?)
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 _ fix find/replace focus issue on osx
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
b _ set nice background for disk image on macosx
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?
1 _ mac standard key combinations for moving around in the editor
1 _ http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_Software;action=display;num=1093116515
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
PRIORITIES
casey
_ graphics engine up to spec
_ video/net/sound up to spec
X multiple files open
X compile libraries within p5
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
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
FRY
My grab of examples/libraries that I'd like to make. Most of these are
things I've already written in some form or another, but need to take
the time to package up and release.
_ example showing quicksort code
_ and how to implement/use as an inner class
_ arcball
_ joystick
_ particles (from multip?)
_ phyics & collisions
_ look at the 'havoc' physics library
_ java3d classes for vec3f and matrix
_ quicktime exporter or image sequence export
_ fairly quick--just use experimental code from dbn
_ 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
_ 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
_ history.. add my diffs sketch (as a plug-in)
_ could just include a compiled version of the diff app, ala jikes
_ something about using regexps in p5
_ wrap up oro for simple matching
_ (as alternative to the sun classes.. link to those in the docs)
_ method for file handling, recursive walk-through a directory
_ file i/o: file listing util that leaves out . and ..
more random thoughts
_ stroke picker
_ just lineweight, so don't bother.. use constants palette instead
_ font picker
_ same thing, just quickly generates fonts on the fly and applies them
_ need to look at matlab's visualization tools
_ arcs, better 'color' object
_ take everything in perl cookbook, and make easy to do with p5
_ database access and reading large files are always hangups
_ support capabilities of matlab's visualization tools
_ charting/labeling primitives.. excel never quite does it
_ botting engine
_ difficulty of initial grab/analysis of data, that may take some time
_ then needs to be stored and run on multiple times
_ methods for picking colors.. how to color code, limit to 5? gradients..
_ simple way to do tufte-style small multiples on an app
_ function for reporting percent finished (or swing dialog)
_ also for reporting the amount of time remaining
_ loading/selecting a file (or folder), or from command line
_ load large file as lattice (option of whether to keep in memory)
_ how many rows/columns for headings
_ walking through an entire directory, with a handler
_ that throws out the . and .. items
_ that knows about aliases (jdk13)
_ overall contrast/color control (genomevalence for hulk)
_ mac -> vlw (or sbit?) font converter
_ need to also read the fond for metrics
_ general bitmap font editor, see what chars are in font, etc