mirror of
https://github.com/processing/processing4.git
synced 2026-02-02 21:29:17 +01:00
379 lines
15 KiB
Plaintext
379 lines
15 KiB
Plaintext
QUESTIONS
|
|
_ is it necessary to have fullscreen option on toolbar anymore?
|
|
_ what's better than POLYGON_CONVEX and POLYGON_CONCAVE?
|
|
_ should we use jdk 1.3 or msft vm?
|
|
|
|
|
|
BAGEL / high
|
|
|
|
|
|
BAGEL / high & time consuming
|
|
_ rewrite line and stroke code, it's a buggy mess
|
|
_ lines become 2 pixels thick after a 3D transform
|
|
_ better handling of single-pixel special case
|
|
_ anti-aliasing
|
|
_ alpha
|
|
_ concave/complex polygon shtuff
|
|
_ eventually POLYGON auto-detects convex/concave polygon
|
|
_ also add POLYGON_CONVEX and POLYGON_CONCAVE
|
|
_ z coordinates are backwards from gl (at least from mazo)
|
|
_ how did this happen? what's the appropriate way to fix?
|
|
|
|
|
|
BAGEL / medium
|
|
_ area copying functions
|
|
_ copyPixel(x, y, to_x, to_y)
|
|
_ copyArea(x, y, w, h, to_x, to_y)
|
|
_ copyImage(x, y, w, h, to_x, to_y)
|
|
_ NullPointerException apparently when things way offscreen
|
|
_ i.e. glyphrot with scale set to 4
|
|
_ or at least that things get ridiculously slow
|
|
_ clipping issues here.. but also something in scan converter
|
|
_ not clipping areas from offscreen
|
|
_ huge geometry slows things way down
|
|
_ if BagelImage doesn't load, then image() calls arrayindexoutofbounds
|
|
_ better solution for this (error while opening image)
|
|
_ and document how image loading works
|
|
|
|
|
|
BAGEL / medium & time consuming
|
|
_ picking
|
|
_ ability to write data other than image into the buffer
|
|
_ user can introduce new kinds of buffers at will (!)
|
|
_ lists of names of objects, or the 'line number' buffer
|
|
_ but how to determine *where* on object the hit occurs?
|
|
_ illustrator exporting
|
|
_ 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
|
|
|
|
|
|
BAGEL / lower
|
|
_ 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()
|
|
_ perlin noise function
|
|
_ build in second matrix type: 2d affine
|
|
_ make sure line() commands don't try to have a fill
|
|
_ write code for reading uncompressed b/w tiff images
|
|
_ incorporate for fixed width fonts
|
|
_ 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
|
|
_ try with 1.4 frame buffer stuff to see if it's faster
|
|
_ will 1.4 work on osx?
|
|
_ way to screen grab at higher resolution
|
|
_ method for rendering at higher res and then scaling down
|
|
_ (even if this causes signficant performance hit)
|
|
_ look at glut for other needed shapes
|
|
_ setting a fill color when drawing an image should affect the image
|
|
_ or maybe image.setColor or setTone to mix a specific color in
|
|
_ live video editing, wanting things more procedural
|
|
|
|
|
|
PDE / high
|
|
_ get rid of 'kill' button
|
|
_ add frame to launched window
|
|
_ add maximize event catcher to make fullscreen
|
|
_ shift-click on play to go directly into this 'presentation mode'
|
|
_ introduce pImage, pFont, pGraphics, pConstants (pSound)
|
|
_ serial.messageReceived extra long crap in demo.pde (clean up?)
|
|
_ NullPointerException on startup in pde editor buttons
|
|
_ shows up on slower machines, probably images not loaded yet
|
|
_ int version of min and abs
|
|
_ fix bugs from the 'bugs' file
|
|
_ then remove the file from cvs
|
|
_ draw mode needs to be better for workshops
|
|
_ 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
|
|
_ lines being highlighted for errors are off
|
|
_ use a vm that won't destroy the screen like sun/ibm does
|
|
_ this means msft or newer version of jdk
|
|
|
|
|
|
PDE / high & time consuming
|
|
_ exporting to applet/.jar file
|
|
_ 'data' directory for all media
|
|
_ include other .class files built besides the main one
|
|
_ include referenced image and font files (can't do if numbered)
|
|
_ exporting applets that have custom name problems:
|
|
_ if extends processingapplet, the name user types must be same
|
|
_ gets confused about paths and puts boogers in weird places
|
|
_ doesn't compile correctly (must first compile with play)
|
|
_ doesn't include additional (private) classes
|
|
_ when exporting 'name of folder for export...'
|
|
_ default name should be from public class <xxxx>
|
|
_ because otherwise errors are happening
|
|
_ or name from user only determines folder name
|
|
_ if extends ProcessingApplet [more compatible]
|
|
_ make sure export is compiling first
|
|
_ right now have to hit play and then hit export (?)
|
|
_ include main class info for executable jar file with jdk > 1.2
|
|
_ remove .java and .class files for compiled classes
|
|
_ (just clean up the boogers afterwards)
|
|
_ it's really a pain to use external files in processing
|
|
_ getStream sucks (zach rewrote)
|
|
_ should be able to work for application or applets
|
|
_ may want to use getResource() (to get things from .jar files)
|
|
_ having to put 'f' after everything is a mess
|
|
_ related classes
|
|
_ better way to do parent and g.rect stuff in related classes
|
|
_ implement g. passed into any function called draw()
|
|
_ also important for things like cos, sin, max etc
|
|
_ but maybe once you're doing more advanced code, that stuff's ok
|
|
_ or using inner classes is better b/c class stuff works
|
|
_ related classes also need to implement pConstants
|
|
_ sketchbook
|
|
_ 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, check for new files on compile?
|
|
_ serial works poorly for starting/stopping applets
|
|
_ this is behaving strangely
|
|
_ breaks on every 2nd run when using serial apps (or others?)
|
|
_ try calling gc on stop as well
|
|
|
|
|
|
PDE / high but after initial pre-release
|
|
_ class unloading not happening
|
|
_ when doing an extends ProcessingApplet
|
|
_ need to add randomizer to even non-self gen'd classes
|
|
_ or figure out how to unload old classes.. grr
|
|
|
|
|
|
PDE / medium
|
|
_ Compiler.disable() message is weird and doesn't always work
|
|
_ probably just remove it for now
|
|
_ kjc is really frustrating about some of its error/warning msgs
|
|
_ 'var not set' any way to disable these?
|
|
_ font usage/substition solution
|
|
_ write code to bind/convert java fonts
|
|
_ best would be freetype or jdk 1.3/1.4
|
|
_ java freetype? jni freetype to build texmap fonts?
|
|
_ look at flash file format? (does it have kerning?)
|
|
_ version of ProcessingApplet that replaces g. with ai. or pdf.
|
|
_ include stdout/stderr in the processing window
|
|
_ option to toggle window on/off (not just in properties, but realtime)
|
|
_ set # of lines in properties
|
|
_ play button not really working
|
|
_ never un-highlights, especially with exceptions
|
|
_ also when using draw() instead of loop()
|
|
_ applet needs to notify runner that it has terminated
|
|
_ look into using serialporteventlistener for simpleserial
|
|
_ may help with problems due to threading/synchronizing
|
|
_ lib/pde.properties should be read using getResource
|
|
_ otherwise path issues cause trouble (likely under win98)
|
|
_ make PdeEditorButtons wait until mouseup to change
|
|
_ (currently doesn't feel as good as it could)
|
|
_ check logs to see where we're getting traffic from
|
|
_ licensing issues with kjc (before public release)
|
|
_ support for moving the camera around
|
|
|
|
|
|
PDE / medium & time consuming
|
|
_ talk to simon about error streams and kjc
|
|
_ better piping of output from kjc
|
|
_ modify kjc to take a PrintWriter, instead of current weird hacks
|
|
_ erroneous errors from kjc regarding 'var not inited'
|
|
_ is there any way to disable this message?
|
|
|
|
|
|
PDE / low
|
|
_ if 'void' left out before loop or setup, cryptic message about
|
|
_ 'constructor loop must be named Temporary_23498_2343'
|
|
_ add a better handler for this specific thing?
|
|
_ shouldn't do so much work (redrawing in loop) if waiting for input
|
|
_ mode for when no full animation taking place
|
|
_ otherwise machine is continually maxed out while app is running
|
|
_ quicktime exporter or image sequence export
|
|
_ fairly quick--just use code from dbn
|
|
_ bug in paren balancing
|
|
_ paren problems comes from overusing parens (too many closing)
|
|
_ image[first[i], 0, 0) hitting last paren causes jump to top
|
|
_ export as application
|
|
_ 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
|
|
_ stop() method in applet should stop kjc environment
|
|
_ should be able to call stop() to 'quit' an applet
|
|
_ make close() work to kill applet in kjc
|
|
_ save window x, y, width, height to pde.properties on exit
|
|
_ stderr in red color
|
|
_ run java code besides processing applets
|
|
_ if not processing applet, look for a main(), no main give an error
|
|
|
|
|
|
PDE / features
|
|
_ might be nice to have some notion of plugins for pde
|
|
_ color picker or other things written by folks
|
|
_ add all .jar files in lib/plugins on startup
|
|
_ make some kind of internal color picker
|
|
_ could be a separate window that's always around if needed
|
|
_ 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
|
|
_ want emacs-style editor that's faster loading than emacs
|
|
_ tweak updater a little bit so it's more likely to work
|
|
_ use numbered versioning?
|
|
_ give updater feedback (progress dialog, error msg)
|
|
|
|
|
|
PDE / science fiction
|
|
_ toggle for showing a function name each time its hit
|
|
_ 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
|
|
_ 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
|
|
_ look into maxx programming
|
|
_ single or multi-file cvs, not based on directories
|
|
_ i.e. i want illustrator.java for a project
|
|
_ version # stored in .java file
|
|
_ if a new version is available, asks 'do you want to update?'
|
|
_ multi-file: quicksort + sortable
|
|
_ check out interface builder for interesting tidbits
|
|
|
|
|
|
MISC / macos
|
|
_ crashes when people click on help in top bar (same in DBN)
|
|
_ dataInputStream, setUseCaches on the url to false
|
|
_ URLConnection.setUseCaches(false)
|
|
_ parent.obj.close() on the url
|
|
_ serial port code needs to be implemented
|
|
_ something that docks better to java serial api
|
|
|
|
|
|
MISC / building
|
|
_ build a linux/x86 release
|
|
_ write converter for java bagel -> cpp version
|
|
_ include #ifdefs for c stuff
|
|
_ fix buzz.pl to not create ../../bagel
|
|
_ how to use ssh identity file to maintain auth for brancusi
|
|
_ write dist.bat for releases
|
|
_ don't forget to update 'export' dir with processing releases
|
|
_ write code for automatic macintosh releases
|
|
|
|
|
|
MISC / docs
|
|
_ 'rot' example not working in release 18
|
|
_ list of reserved keywords
|
|
_ make note of functions/variables used by ProcessingApplet
|
|
_ using them in your app will break things (i.e. init())
|
|
_ 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
|
|
_ image formats supported (gif and jpeg)
|
|
_ notes about running on win98 and that stupid startup exception
|
|
_ make note in documentation about convex polygons
|
|
|
|
|
|
MISC / advanced docs
|
|
_ adding lights
|
|
_ control of position/color of default lights
|
|
_ controlling camera movements
|
|
_ mcguffin sent some notes about this
|
|
_ 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
|
|
|
|
|
|
MISC / ui
|
|
_ ui for sketchbook/projects handling
|
|
|
|
|
|
MISC / web
|
|
_ see about setting up simple bug tracker/feature system
|
|
_ queue for people reporting things externally
|
|
_ bugzilla but simpler
|
|
_ would also be nice for people to be able to vote on features
|
|
|
|
|
|
MISC / technotes
|
|
_ bug in sun vm for freaking out
|
|
_ also happened with ibm vm.. grr.. (or was it a path problem?)
|
|
_ fixed width font format as technote and how to use
|
|
_ using runtime.exec to run .ai files
|
|
_ code to automatically open generated .ai files (exec(..ai))
|
|
_ debugging serial code
|
|
_ hyperterminal - watching for binary garbage vs ascii text
|
|
_ first debug (maybe even using ascii) and watch in hyperterminal
|
|
_ or ship pooterm along with processing
|
|
_ flicker - often ascii instead of binary
|
|
_ timing of sleep, size of message, timing of write
|
|
_ starting processing first, then stamp
|
|
_ using transformPoint
|
|
_ using curves
|
|
_ making things faster
|
|
_ memory running out, using ms and mx
|
|
_ noBackground() if you're covering everything
|
|
_ converting to/from ascii/decimal/hex/binary
|
|
|
|
|
|
MISC / code tidbits for scrapbook
|
|
_ 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
|
|
_ quicksort should probably just be made into 'sort' class
|
|
_ it's the only one ever used
|
|
_ stringutils.split is a useful one
|
|
_ readFileLines et al
|
|
_ translateMiddle() ? to move to the middle of the screen?
|
|
|
|
|
|
MISC / things that break often/things to test
|
|
_ handling of key events (both as applet and in application)
|
|
_ per-vertex coloring for different kinds of shapes
|
|
_ that each shape type works as expected
|
|
_ what if one short or one too many vertices?
|
|
_ transforms are affecting geometry
|
|
_ i.e. are line and point working in 3D?
|
|
|
|
|
|
0020
|
|
|
|
|
|
(first semi-public release)
|
|
|
|
|
|
(after first release)
|
|
|
|
|
|
(necessities for book)
|
|
_ audio output (play wav, au, aiff(?), mp3)
|
|
_ alpha, anti-aliasing
|