mirror of
https://github.com/processing/processing4.git
synced 2026-01-31 12:21:07 +01:00
433 lines
16 KiB
Plaintext
433 lines
16 KiB
Plaintext
processing todo list
|
|
(most up-to-date version of this file is in processing cvs)
|
|
|
|
|
|
PEOPLE WHO WANT IT
|
|
christophe buffet <christophe@wkmx.org>
|
|
Eric ANDRON <ericandron@wanadoo.fr>
|
|
Michael Davis <shyfter@imsa.edu>
|
|
andres <moscoca@bigpond.com>
|
|
d.amarel <d.amarel@dotsperinch.com>
|
|
Daniel Evan Schwartz <design@roomn8.com>
|
|
Roger Langley <galahad@uslink.net>
|
|
Roy Macarthur <roy@mcarthur.com>
|
|
Fabrice Clérot <fabrice.clerot@francetelecom.com>
|
|
"Daniel Mendelsohn @ Heads4Sale" <dan@heads4sale.com>
|
|
Michael McGuffin <mjmcguff@dgp.toronto.edu>
|
|
|
|
|
|
QUESTIONS
|
|
_ is day, month, year overkill inside processingapplet?
|
|
_ PImage, PFont or how to name?
|
|
_ loadImage or getImage?
|
|
_ bezierVertex/catmullRomVertex poorly named (based on algo used)
|
|
_ instead curveVertex/fitCurveVertex/etc.
|
|
_ circle/square functions
|
|
_ should the default be 100x100
|
|
_ maybe stop/kill button should only be a stop btn
|
|
|
|
|
|
for 0012
|
|
_ write code to bind/convert java fonts
|
|
_ finish color function inside applet
|
|
_ do by simplifying stroke/fill/background inside bagel
|
|
_ these should be done w/ a switch (STROKE, FILL, BK, OTHER)
|
|
_ screenGrab() code (single frame to tif)
|
|
_ include stdout/stderr in the processing window
|
|
_ option to toggle window on/off (not just in properties, but realtime)
|
|
_ set # of lines in properties
|
|
_ fix color cube applet
|
|
_ make it run in current version of processing
|
|
_ fix background from showing up black
|
|
|
|
|
|
for 0013
|
|
_ make size() work for draw() mode
|
|
_ inside KjcEngine, reach in and grab calls to 'size'
|
|
_ if call is not using a constant number, then punt
|
|
_ fixed width fonts
|
|
_ document fixed width font format
|
|
_ write code for reading uncompressed b/w tiff images
|
|
|
|
|
|
for 0014 (first semi-public release)
|
|
_ docs
|
|
_ explain using inner classes and using non-public classes
|
|
_ start 'errors' section
|
|
_ NullPointerException inside setup usually means no size()
|
|
_ ability to write functions and inner classes
|
|
_ mention ability to use import statements in java mode
|
|
_ ability to do real (but not public) classes in same document
|
|
_ make note in documentation about getting access to pixel array
|
|
_ pixels[] is in ProcessingApplet
|
|
_ check to see if get/set functions in applet actually work
|
|
_ fix documentation appropriately
|
|
_ when images aren't found on disk
|
|
_ image formats supported (gif and jpeg)
|
|
_ notes about running on win98 and that stupid startup exception
|
|
_ make note in documentation about convex polygons
|
|
_ post new macintosh version
|
|
_ with serial port support
|
|
_ move website to cvs
|
|
_ setting a fill color when drawing an image should affect the image
|
|
_ or maybe image.setColor or setTone to mix a specific color in
|
|
|
|
|
|
for 0015
|
|
_ option to enable/disable frame on running applets
|
|
_ more like photoshop - presentation mode w/ nothing or frames on all
|
|
_ compiling .java files leaves the .class files next to the .java
|
|
_ make sure all the dirs in sketchbook added to classpath on startup
|
|
_ if new dir added, must restart processing (this is acceptable)
|
|
_ ability to include other code from sketchbook directory
|
|
_ compile entire sketchbook on startup, then check for new files on compile?
|
|
_ when applet window is too large to fit, center and put in back
|
|
_ if BagelImage doesn't load, then image() calls arrayindexoutofbounds
|
|
_ better solution for this (error while opening image)
|
|
_ and document how image loading works
|
|
_ keys don't work, even when overriding keyTyped etc.
|
|
_ stderr in red color
|
|
_ modify kjc to take a PrintWriter, instead of current weird hacks
|
|
_ are line and point working in 3D?
|
|
_ stop required before kill for applets that use serial
|
|
_ this is behaving strangely
|
|
_ breaks on every 2nd run when using serial apps (or others?)
|
|
_ try calling gc on stop as well
|
|
|
|
|
|
for 0016
|
|
_ fix bugs from the 'bugs' file
|
|
_ run java code besides processing applets
|
|
_ if not processing applet, look for a main(), no main give an error
|
|
|
|
|
|
PROCESSING - NECESSITIES FOR BOOK
|
|
_ audio output (play wav, au, aiff(?), mp3)
|
|
_ alpha, anti-aliasing
|
|
|
|
|
|
PROCESSING - HIGH
|
|
_ make images work again
|
|
_ bug in paren balancing
|
|
_ shift-click on play for 'presentation mode'
|
|
_ does full screen and hides editor window
|
|
_ export doesn't work properly for stuff included from scrapbook
|
|
_ write dist.bat for releases
|
|
_ don't forget to update 'export' dir with processing releases
|
|
_ what happens if size() not called inside setup() ?
|
|
_ when using draw() instead of loop()
|
|
_ applet needs to notify runner that it has terminated
|
|
_ multiple types of KjcEngine (so that simplest model is available)
|
|
_ write code for automatic macintosh releases
|
|
_ make note of functions/variables used by ProcessingApplet
|
|
_ using them in your app will break things (i.e. init())
|
|
|
|
|
|
PROCESSING - MEDIUM
|
|
_ comprehensive list of reserved keywords
|
|
_ better handling on portinuse exception
|
|
_ or general exception handling--could go through some interface
|
|
_ compile from the sketchbook if there are changes
|
|
_ if 'void' left out before loop or setup, cryptic message about
|
|
_ 'constructor loop must be named Temporary_23498_2343'
|
|
_ curves not properly implemented as part of shape architecture
|
|
_ lines become 2 pixels thick after a 3D transform
|
|
_ kill button (without stop) doesn't clear play
|
|
_ image grabbing code (write to tiff)
|
|
_ build a linux/x86 release
|
|
_ per-vertex coloring doesn't work
|
|
_ the lights prolly shouldn't follow objects around
|
|
_ work on courseware applet code signing
|
|
_ why is z going negative, seems weird
|
|
_ maybe view needs to go from -100 to 100 with zero at screen plane
|
|
_ code to save a project to the main machine
|
|
_ setting up 'project' directories
|
|
_ delayUntil would be nice to have
|
|
_ but at some point there has to be a cutoff
|
|
_ have a library of useful code that people can add to programs
|
|
_ otherwise things are too simple, and env is a crutch
|
|
_ courseware menu
|
|
_ list of 'people' and 'projects'; refresh
|
|
_ based on local dir named 'projects' or 'sketchbook'?
|
|
_ copyPixel(x, y, to_x, to_y)
|
|
_ copyArea(x, y, w, h, to_x, to_y)
|
|
_ copyImage(image, x, y, w, h, to_x, to_y)
|
|
_ lesson plans (easier to translate)
|
|
_ write example applets in processing
|
|
_ courseware system
|
|
_ uploading pieces when finished - scrapbook/sketchbook model?
|
|
_ download new versions of pde.jar from main machine
|
|
_ quicktime exporter or image sequence export
|
|
_ how to use ssh identity file to maintain auth for brancusi
|
|
_ support for moving the camera around
|
|
|
|
|
|
BAGEL
|
|
_ where do the 'error line is 9' messages come from?
|
|
_ these are runtime errors inside bagel code, how to trap?
|
|
_ get web documentation back into cvs
|
|
_ have to get rid of static i/o stuff before porting to c
|
|
_ may also need to get rid of floating point constants
|
|
_ area copying function: copy(x1, y1, w, h, xto, yto);
|
|
_ should math functions be moved in?
|
|
_ this could help porting, and sanity in processingapplet
|
|
_ io functions might be treated similarly
|
|
_ some method of moving between
|
|
_ center oriented: x, y, radius (3D style)
|
|
_ and 2D style: x1, y1, x2, y2
|
|
_ or x, y, diameter
|
|
_ build in second matrix type: 2d affine
|
|
_ add convex polygon type
|
|
_ sketch in antialiasing functions
|
|
_ how does color depth work on ipaq? 4-4-4? 5-6-5?
|
|
_ font usage/substition solution
|
|
_ java freetype? jni freetype to build texmap fonts?
|
|
_ look at flash file format? (does it have kerning?)
|
|
_ simpler bitmap fonts w/o smoothing, just 2D
|
|
_ alpha blending (easier)
|
|
_ antialiasing
|
|
|
|
|
|
BAGEL - SHOULD
|
|
_ bresenham (flat) oval function
|
|
_ setting accuracy of circles/sphere
|
|
_ setting accuracy of curve segments
|
|
_ write shearing function
|
|
_ optimize rotation functions
|
|
_ test winding polygons in different directions
|
|
_ test lighting to see how it compares with gl
|
|
_ non-homogenous colors for beginShape()
|
|
_ currently disabled b/c homogenousColors not set false for vertices
|
|
_ and code not written for curve vertices
|
|
_ better lockout inside beginShape() to keep other things from happening
|
|
_ when stroke in use, stroke letters (currently stroke doesn't affect
|
|
|
|
|
|
DOCS / ADVANCED
|
|
_ adding lights
|
|
_ control of position/color of default lights
|
|
_ controlling camera movements
|
|
_ multmatrix/identity
|
|
_ constants besides PI, TWO_PI
|
|
_ min/max with 3 parameters
|
|
_ if (a) ? 3 : 4
|
|
_ formatting printf-style things
|
|
_ audio input
|
|
_ audio synthesis
|
|
_ just saying 'millis' in processingapplet, instead of getMillis()
|
|
_ keyPressed, keyReleased, mousePressed, mouseReleased
|
|
|
|
|
|
BUG WATCH
|
|
_ getMillis() returning 0 in some instances/on some machines
|
|
|
|
|
|
PROCESSING - FEATURES
|
|
_ run code with a main() that's not a processing applet
|
|
_ want emacs-style editor that's faster loading than emacs
|
|
_ regexps: http://javaregex.com/cgi-bin/pat/tutorial.asp
|
|
_ a better editor:
|
|
_ syntax coloring
|
|
_ emacs indents and key commands
|
|
_ http://mathsrv.ku-eichstaett.de/MGF/homes/grothmann/je/index.html
|
|
|
|
|
|
PROCESSING - LOWER
|
|
_ tweak updater a little bit so it's more likely to work
|
|
_ use numbered versioning?
|
|
_ give updater feedback (progress dialog, error msg)
|
|
_ move math functions into utility library associated
|
|
_ with bagel, because those will be useful on other bagel platforms
|
|
_ perlin noise function
|
|
_ make some kind of internal color picker
|
|
_ could be a separate window that's always around if needed
|
|
_ save window x, y, width, height to pde.properties on exit
|
|
_ bagelpublic.pl: open ProcessingApplet, rewrite after special token
|
|
_ look at glut for other needed shapes
|
|
_ make PdeEditorButtons wait until mouseup to change
|
|
_ (currently doesn't feel as good as it could)
|
|
_ licensing issues with kjc (before public release)
|
|
|
|
|
|
FEEDBACK
|
|
_ mcguffin - camera control
|
|
_ mcguffin - commands/parameters for code, simple ui for manipulating
|
|
|
|
|
|
ENV
|
|
_ env. toggle for showing a function name each time its hit
|
|
_ env. toggle for showing line numbers within a function
|
|
_ i'm here messages, tie in with breakpoints for debugger
|
|
_ lightweight debugger, doesn't slow down, runs in back
|
|
_ env. toggle to show attr/value for some var in simple way
|
|
_ comments as debugging descriptors, output to console, shown in context
|
|
_ comments as naming for shapes drawn after it,
|
|
_ or some other model of naming based on inserted text with "" or // or #
|
|
_ could fit nicely with printf-style statements and comments
|
|
_ comments would contain descriptions //!blah for printing and formatting
|
|
_ sketchbook - doodling/scribbling area.. since wacom tablet easily accessible
|
|
|
|
|
|
---------------------------------------------
|
|
|
|
|
|
// ability to write data other than image into the buffer
|
|
// pixels won't go away, embrace pixels in sophisticated way
|
|
// lists of names of objects, or the 'line number' buffer
|
|
// maybe user can introduce new kinds of buffers at will (!!!)
|
|
|
|
// better 3D for valence/illustrator output:
|
|
// 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
|
|
|
|
// drawLine vs moveto, lineto
|
|
// less of a deal, until fillpath, since that needs to store the
|
|
// last several points. but maybe if it's inside a begin/end
|
|
// then it's no big deal, and it's easy to implement
|
|
|
|
// when casting to an int, should 0.5f be added first
|
|
|
|
// functions that take 2d arguments are drawn on the
|
|
// z = 0 plane, and not affected by current 3D transform matrix
|
|
|
|
|
|
---------------------------------------------
|
|
|
|
code tidbit:
|
|
|
|
|
|
String binary(int value) {
|
|
return "" + (((value & (1 << 7)) == 0) ? '0' : '1') +
|
|
(((value & (1 << 6)) == 0) ? '0' : '1') +
|
|
(((value & (1 << 5)) == 0) ? '0' : '1') +
|
|
(((value & (1 << 4)) == 0) ? '0' : '1') +
|
|
(((value & (1 << 3)) == 0) ? '0' : '1') +
|
|
(((value & (1 << 2)) == 0) ? '0' : '1') +
|
|
(((value & (1 << 1)) == 0) ? '0' : '1') +
|
|
(((value & (1 << 0)) == 0) ? '0' : '1');
|
|
}
|
|
|
|
|
|
---------------------------------------------
|
|
|
|
|
|
0011
|
|
X image(img, x, y) was broken for unwarped mode, disabled it
|
|
|
|
|
|
0010
|
|
X add java.* to top of processingapplet default base class used by kjc
|
|
X KjcProcessingApplet is dumb, kjc should make subst itself
|
|
o give warning when compiling w/o kjcprocessingapplet
|
|
X random bug with an extra line being added in beginner mode
|
|
X (threw off error markings)
|
|
X z=0 shit, 2D stuff needs to draw over z=0 plane
|
|
X new objects draw behind old objects with noBackground()
|
|
X fix crappy way of determining if inside a class--ignores comments
|
|
X hope this fis works.. not tested much
|
|
X make acu fonts work again
|
|
X write code to use simple bitmap fonts
|
|
X add a file with bugs for testing
|
|
X kjc not smart enough to just compile things that are in classpath
|
|
X redo random functions in processing applet
|
|
X strangeness with stroke when a rect goes off outside the window
|
|
X rect now uses x, y, width, height instead of x1, y1, x2, y2
|
|
X circle has been replaced with ellipse (uses xywh)
|
|
X box takes diameter, or width, height, depth [NOT IN CPP]
|
|
X sphere is the same as box [NOT IN CPP]
|
|
X got rid of colorscale and using colormode for all instead
|
|
X make changes in documentation
|
|
X 'ellipse' instead of 'oval'?
|
|
X make note in documentation
|
|
X catmullrom is broken
|
|
X write documentation for new curve functions
|
|
o make note in docs about removal of LINE from LINES
|
|
X setting origins
|
|
X should shapes draw from center or from upper left?
|
|
X should ovals use radius or diameter?
|
|
X should shapes use x1, y1 - x2, y2 or x, y, w, h?
|
|
X nice to have a random number generator between -1..1
|
|
X as well as an integer random; instead of just 0..1
|
|
X show creas how to get access to cvs
|
|
X documentation says 'mouseDown' even though it's 'mousePressed'
|
|
X font support
|
|
X use gzip to compress bitmaps (made 115k vlw font -> 16k)
|
|
X loadImage/loadFont or getImage/getFont?
|
|
X text(char c), text(string s)
|
|
X current acu fonts are broken
|
|
X image support
|
|
X image() and 2D/2D affine versions of it
|
|
X no stroke should show up on image()
|
|
X fill being set on image() produces weird results
|
|
X has to be set, but doesn't actually affect color
|
|
X min() seems funny/unavailable
|
|
X worked fine for me
|
|
|
|
|
|
0009
|
|
X bagel fixes
|
|
X beginShape(POINTS) is not working, no marks are appearing
|
|
X this was a pain in the ass to fix
|
|
X beginShape(LINE_LOOP) is not looping around
|
|
X stroked POLYGON should emulate a LINE_LOOP
|
|
X fill white, stroke black, background white default in bagel
|
|
X remove duplicates: LINE/LINES etc
|
|
X 'draw mode' applet support
|
|
X 'advanced' applet support
|
|
X write documentation about having to use 'extends KjcProcessingApplet'
|
|
X add a note about editor.expandTabs,balanceParens,tabSize,autoIndent
|
|
X also add note about paren balancing doing strange things
|
|
X leave the others turned on, but parens off by default
|
|
X enable/disable full screen leaves windows in back
|
|
X (may just require two toFront() calls)
|
|
X whenever background is frontmost, have it call tofront on editor
|
|
|
|
|
|
0008
|
|
X ctrl-s does 'save', button on toolbar does 'save as'
|
|
X fixed auto-indent bug for editor
|
|
X SimpleSerialDemo.pde had a bug (was old version)
|
|
X re-enabled key commands for editor (tab expansion, auto-indent)
|
|
|
|
|
|
0007
|
|
X serial bugs
|
|
X ability to control sleep time from simple
|
|
X message[] not buffer[]
|
|
X synchronize
|
|
X signed byte crap is confusing, make into chars
|
|
X bk(n), fill(n), stroke(n) should be consistent with tuples
|
|
X make notes in serial docs
|
|
X processing app needs to start first
|
|
X currently a bug requiring stop the close before starting
|
|
|
|
|
|
0006
|
|
X get serial i/o code working in processing
|
|
X how to kill serial when applet stopped
|
|
X finalizer prolly not getting called
|
|
|
|
|
|
0005
|
|
X running out of memory, presumably b/c applets not being cleared
|
|
X happens inside init() of applet (at new Bagel())
|
|
X figure out why threads aren't actually dying
|
|
X disassociate processing applet with a window on stop?
|
|
X possible to maintain bagel, but kill applet?
|
|
X or copy bagel's image, and kill that too?
|
|
|
|
|
|
0004
|
|
X put debugging stuff back into Kjc (i disabled some stuff)
|
|
|
|
|
|
0001
|
|
X convert documentation to html
|
|
o setup imrf linux machine?
|
|
|
|
|
|
DISCARD
|
|
o get proce55ing.net, make that the target launch site
|
|
o write a dbn compatability mode (forever() instead of loop() ?)
|