0262 (3.3.5)
X default to using native select on all platforms

contrib
X Add defaultFontOrDeath to OpenGL textWidth
X   https://github.com/processing/processing/issues/5137
X   https://github.com/processing/processing/pull/5138


0261 (3.3.4)
X add exec() with StringList options
X start to add stub for shell() function
X handle edge case for set() being called with a 2D vector, on a 3D vector
X   https://github.com/processing/processing/issues/5092
o keyPressed() problems with special press-and-hold behavior macOS Sierra
X   https://github.com/processing/processing/issues/4952
X   added documentation in 3 places about it

jakub
X Fix keyPressed for multiple keys
X   https://github.com/processing/processing/pull/5050
X   https://github.com/processing/processing/issues/5049


0260 (3.3.3)
X keyPressed not returning false once a key is released
X   https://github.com/processing/processing/issues/5033
X deal with loadBytes() regressions introduced by their rewrite
X   (was breaking p5jsMode because of its use of loadBytes(File)

jakub
X image tint() broken in 3.3.x
X   https://github.com/processing/processing/issues/5040
X   https://github.com/processing/processing/pull/5042


0259 (3.3.2)
X add (far) more efficient file loading for loadBytes(File)
X add loadBytes(URL) variant that uses content length header for array size
X keyPressed is false if one key is released while multiple keys are pressed
X   https://github.com/processing/processing/issues/4993
X createInput() wasn't returning null for files that were not found
X   https://github.com/processing/processing/issues/5026

andres
X Assigning Pixels Vertically Flipped in P2D
X   https://github.com/processing/processing/issues/5013

gohai
X improve loadBytes() performance 
X   https://github.com/processing/processing/pull/5027

jakub
X ArrayIndexOutOfBoundsException when using tint() or loadFont()
X   https://github.com/processing/processing/issues/5028
X   https://github.com/processing/processing/pull/5029


0258 (3.3.1)
X improve sum() functions in processing.data
X   add sum() to IntDict and FloatDict
X   add sumLong() to IntList, IntDict (to handle cases outside integer range)
X   add sumDouble() to FloatList, FloatDict (to handle outside float range)
X   throw exception when using sum() with numbers that are too large or small
X createInput() and createOutput() now both use buffered streams by default
X   createInputRaw() does not, however
X don't derive the font again if the size is unchanged
X   part of https://github.com/processing/processing/issues/4956
X fix temporary file handling for saveBytes(), saveStream(), etc
X   wasn't handling gzip output properly
X   also could have problems w/ names under length 3

jakub
X major work on window placement and pixel density
X   https://github.com/processing/processing/pull/5011

gohai
X Fix MeshTweening vertex shader
X   https://github.com/processing/processing-docs/issues/523
X   https://github.com/processing/processing-docs/pull/524
X ARM: Allow Raspberry Pi's Mesa GL driver to use up to 8 lights
X   https://github.com/processing/processing/pull/4915
X   ...and revert it back again
X   https://github.com/processing/processing/pull/4922
X Retry with multisampling disabled if creating a framebuffer fails
X   because of INCOMPLETE_MULTISAMPLE
X   https://github.com/processing/processing/pull/4921
X Report more error conditions in validateFramebuffer
X   https://github.com/processing/processing/pull/4920
X Add more Raspberry Pi related fixes to JOGL
X   https://github.com/processing/processing/pull/4911
X Unblock hardware-accelerated P3D on ARM Mali devices
X   https://github.com/processing/processing/pull/5014


0257 (3.3)
X return null for PApplet.trim(null)
X StringDict(TableRow) constructor
X allow lone double quotes in the midst of csv strings
X make trim() work on column titles as well
o add trimRows() and trimColumns()
o   would you ever use one w/o the other?
X   just make this part of trim()
X also remove rows/columns from beginning
X   since that's what trim() on strings does
X consume Unicode BOM (0xFEFF) in createReader() and Table parser
o no prompt shows with selectInput() on 10.11 and 10.12
X   https://github.com/processing/processing/issues/4758
X   can't fix, seems embedded in the Java implementation
X return null for getString(), getJSONObject(), and getJSONArray()
X   when key is not present, more in line w/ other p5 api

contrib
X Fix a number of memory leaks (jdf)
X   https://github.com/processing/processing/pull/4862
X   https://github.com/jdf/processing.py/issues/233
X   https://github.com/processing/processing/pull/4873


0256 (3.2.4)
X write exec() documentation
X   https://github.com/processing/processing/issues/4740
X add xmlns to elements procured from getChild()
X make sure newline is added after XML header when formatting

api additions
X add listPaths(), listFiles()
X   https://github.com/processing/processing/issues/4622
X add increment() method that takes IntDict to merge another dictionary
X   Calling this increment() since it doesn't make sense in practice for
X   the other dictionary types, even though it's technically an add()
X add Entry class for iterating StringDict, IntDict, FloatDict
X add XML.print() method (prints with indent of 2)

contribs
X Adding missing docs and keywords for TableRow
X   https://github.com/processing/processing/pull/4333
X PShape in Java2D wasn't respecting 'kind'
X   https://github.com/processing/processing/issues/4826
X   https://github.com/processing/processing/pull/4834

cleaning
o probably should also check to make sure PApplet running JVM 8
X   or compile against 1.8 and force it?

andres
X PShape array index out of bounds when using P3D 
X   https://github.com/processing/processing/issues/4773
X modelX/Y/Z() should be disabled in P2D
X   https://github.com/processing/processing/issues/4813

jakub
X FX: Prevent matrix stack overflow
X   https://github.com/processing/processing/pull/4799
X   https://github.com/processing/processing/issues/4206
X FX: Reset transform to identity before drawing background
X   https://github.com/processing/processing/pull/4795
X FX: Implement mouse wheel event
X   https://github.com/processing/processing/issues/4169
X   https://github.com/processing/processing/pull/4796
X FX: Fix curveVertex drawing all curves together as one long curve
X   https://github.com/processing/processing/pull/4800
X   https://github.com/processing/processing/issues/4382
X FX: Add exception handler which reports exceptions from user code
X   https://github.com/processing/processing/pull/4798
X   https://github.com/processing/processing/issues/4339
X Unify mouse pressed/released events across renderers
X   https://github.com/processing/processing/issues/4361
X   https://github.com/processing/processing/pull/4797
X Fix typo in GLSL preprocessor
X   https://github.com/processing/processing/issues/4810
X   https://github.com/processing/processing/pull/4816
X Keep Windows timer resolution high for OpenGL sketches
X   prevents frame rate in OpenGL hovering around 30 instead of 60
X   https://github.com/processing/processing/pull/4847
X   https://github.com/processing/processing/issues/4846
X Sketches still running in the background after closing
X   https://github.com/processing/processing/issues/4831
X   (needed to allow JAVA2D to terminate when animation thread dies)
X   https://github.com/processing/processing/pull/4839


0255 (3.2.3)

andres
X automatic detection of POINT and LINE shaders fails
X   https://github.com/processing/processing/issues/4725
X show warning when frameRate() less than 1 is called with P2D and P3D
X   https://github.com/processing/processing/issues/4716


0254 (3.2.2)
X fix quoting problem in IntDict.toJSON()
X add getRenderer() to SurfaceInfo
X   https://github.com/processing/processing/issues/4441
X Exceptions thrown in OpenGL apps when hitting window close box
X   https://github.com/processing/processing/issues/4690
X add getRowMap() function
o   do we want rows() to not be transient?
X   write docs for getRowMap()
o Add options to saveJSONArray documentation (enhancement)
o   https://github.com/processing/processing/issues/4683
X   made note in the docs repo
X go back to textMode(MODEL) is native font not available for textMode(SHAPE)
X   https://github.com/processing/processing/issues/4680
X NPE thrown when using textMode(SHAPE) with a .vlw font
X   https://github.com/processing/processing/issues/4680
X add toJSON() method to IntDict
X   had to use JSONObject.quote() to wrap the text
X   do the same for the other data classes
o   note the difference between this and toJSONObject() or toJSONArray()
o   or is that the better way to handle it? hm
X   we can add JSONObject and JSONArray later perhaps
X     keep toJSONObject() for turning XxxxList into a numbered lookup

contrib
X Call glGetProgramiv to retrieve program log length
X   https://github.com/processing/processing/issues/4659
X   https://github.com/processing/processing/pull/4660
X JSONObject get() method is private
X   https://github.com/processing/processing/issues/4334
X   https://github.com/processing/processing/pull/4336

andres
X Automatic handling of screen FBOs breaks readPixels() for user-provided FBO
X   https://github.com/processing/processing/issues/4643
X PGraphicsOpenGL: camera info not updated
X   https://github.com/processing/processing/issues/4609
X Fix PShape, updateTessellation, matrix transformations
X   https://github.com/processing/processing/issues/4662
X QUAD_STRIP as child shape draws extra lines
X   https://github.com/processing/processing/issues/4656
X remove extra glClear() calls
X   https://github.com/processing/processing/issues/4694
X PShapes do not show up in PDF with P2D renderer
X   https://github.com/processing/processing/issues/4647
X Some semi-transparent edges of sphere() meshes rendered in higher density
X   https://github.com/processing/processing/issues/4720
X P2D and P3D not stopping with empty draw() blocks
X   https://github.com/processing/processing/issues/4722


0253 (3.2.1)
X implement defaultUncaughtExceptionHandler
X   helps avoid needing to double-quit OS X applications


0252 (3.2)
X some Table cleanup based on other CSV parsing work
X use StandardCharsets.UTF_8 instead of getting encoding by name
X PApplet.main(Blah.class) now works
o add push() and pop() methods to mirror js?
X Can't render PGraphics object using image() within a PDF
X   https://github.com/processing/processing/issues/4473

jakub
X Fix resizing targets for async save
X   https://github.com/processing/processing/pull/4607
X   https://github.com/processing/processing/issues/4578

contrib
X Make loadStrings() and loadJSONObject/loadJSONArray() error msgs consistent
X   https://github.com/processing/processing/issues/4265
X   https://github.com/processing/processing/pull/4268


0251 (3.1.2)
X rewrite csv handling
X   fix parsing bugs, remove newlines option, improve performance
X prevent random(low, high) from returning 'high'
X   https://github.com/processing/processing/issues/4551
X disable async saveFrame() by default
X   https://github.com/processing/processing/issues/4578

gohai
X Fix GLExceptions on Raspberry Pi when using offscreen PGraphics 
X   https://github.com/processing/processing/pull/4524

leslie
X fixed iterator remove() methods so they dont skip container elements
X   https://github.com/processing/processing/pull/4519
X added a check for length 0 arrays in expand()
X   https://github.com/processing/processing/pull/4520

jakub
X Prevent NPE in loadImage() when called before setup()
X   https://github.com/processing/processing/pull/4505

andres
X fix crash when calling getUniformLoc() called in PShader.set()
X   https://github.com/processing/processing/issues/4542

earlier
X see if 8u65 or 8u66 fix the JavaFX problem
X   if not, need to add them to the block list


0250 (3.1.1)
X implement support for encoding= option in loadTable()

jakub
X Block loadImage and requestImage while images still being saved
X   https://github.com/processing/processing/issues/4218
X   https://github.com/processing/processing/pull/4465

andres
X PShapeOBJ error String for missing MTL texture file
X   https://github.com/processing/processing/issues/3990
X   https://github.com/processing/processing/commit/49a4c815557214fc1bf92e381ffaa398f262361a
X Shape (OBJ) import texture data is 0.0
X   https://github.com/processing/processing/issues/3156
X   https://github.com/processing/processing/commit/9f1d2988dc80ca7d5ee861b944cb59020ff771c5


0249 (3.1)
X Float/IntDict changes
X   minIndex() and maxIndex() return -1 when count is zero (rather than ex)
X   bug fix to reverse sorts
X   2x performance increase for sorting
X   added optional "stable" parameter for sorting by values
X     set to false for higher performance
X   call crop() in keyArray() and valueArray() functions
X     they're duplicates, their length is an implementation detail
X   normalize features and error handling between all of them
X add print() and write(PrintWriter) methods to Table/TableRow
X   https://github.com/processing/processing/issues/4396

jakub
X several JavaFX fixes
X   https://github.com/processing/processing/pull/4411
X cursor() and noCursor() not working on FX2D
X   https://github.com/processing/processing/issues/4405
X Make sure PImage.parent is set in loadImage()
X   https://github.com/processing/processing/pull/4412

andres
X Change convention for directional lights in OpenGL-Binding for GLSL
X   https://github.com/processing/processing/issues/4275
X internal texture copy does not update immediately
X   https://github.com/processing/processing/issues/4404
X Font corruption issue in OpenGL
X   https://github.com/processing/processing/issues/4392
X setStroke() does not work with imported OBJ Pshapes
X   https://github.com/processing/processing/issues/4377

contribs
X blendMode() resetting with getGraphics()
X   https://github.com/processing/processing/issues/4019
X   https://github.com/processing/processing/pull/4341
X   https://github.com/processing/processing/issues/4376


0248 (3.0.2)
X Fix another "Zero length string passed to TextLayout constructor" error
X Ambiguity on where to call smooth()
X   https://github.com/processing/processing/issues/4211
X   add additional clarification for Eclipse users
X Flipped Y-axis in JavaFX is now done (JDK bug)
X   https://github.com/processing/processing/issues/3795

jakub
X Initialize sketch args before calling settings() 
X   https://github.com/processing/processing/issues/4219
X   https://github.com/processing/processing/pull/4220

andres
X Stop button in OpenGL exported applications does not use preference settings
X   https://github.com/processing/processing/issues/4064
X Export without a stop button using P3D or P2D
X   https://github.com/processing/processing/issues/4056
X glClearDepthf() not available on older hardware
X   https://github.com/processing/processing/issues/4106
X Drawing a sphere with shape() first changes sphereDetail from default
X   https://github.com/processing/processing/issues/4192
X PShape.scale() affects strokeWeight differently in P2D and P3D
X   https://github.com/processing/processing/issues/4231
X createShape(GROUP) + textured child + non-textured child = P3D render problems
X   https://github.com/processing/processing/issues/4176
X pixelDensity() and createGraphics() with P3D
X   https://github.com/processing/processing/issues/4039
X Friendlier message when running drawing commands outside animation thread
X   https://github.com/processing/processing/issues/4196
X strokeWeight() not working properly with point() in P2D and P3D
X   https://github.com/processing/processing/issues/4188
X exit() is not called in P2D/P3D
X   https://github.com/processing/processing/issues/4156
X attrib*() function does not work well with PShape 
X   https://github.com/processing/processing/issues/4048

contribs
X Fill out the Javadoc for PMatrix
X   https://github.com/processing/processing/pull/4155
X Have PSurfaceFX pay attention to the setVisible argument
X   https://github.com/processing/processing/pull/4210
X Use xdg-open in PApplet#launch(String)
X   https://github.com/processing/processing/pull/4171


0247 (3.0.1)
X curveVertex() does not work with FX2D renderer
X   https://github.com/processing/processing/issues/3960
X hide menu bar on OS X when FX2D is running full screen
X add quotes to the necessary parameters in the size() error messages
X Editor menu is outside the visible screen with 800x480 display
X   https://github.com/processing/processing/issues/3913
X   https://github.com/processing/processing/pull/3999
X   https://github.com/processing/processing/pull/3992
X add a patch for FX2D menubar not hiding, root cause not sorted out

jakub
X Fix depth sorter ordering when two triangles in a plane share vertices
X   https://github.com/processing/processing/pull/4010
X Turn off fixed rate scheduling in OpenGL
X   https://github.com/processing/processing/pull/4004
X Fix GLSL preprocessing issues with variable name mangling
X   https://github.com/processing/processing/pull/4052
X   https://github.com/processing/processing/issues/3961
X   https://github.com/processing/processing/issues/3968

andres
X cursor() fails to work as expected with P2D/P3D 
X   https://github.com/processing/processing/issues/3955
X Topics/Shader/Convay broken
X   https://github.com/processing/processing/issues/3947
X   https://github.com/processing/processing/issues/3973
X Regressions wrt GLES2 support between b4 and b7
X   https://github.com/processing/processing/issues/3976
X stroke glitches in P3D
X   https://github.com/processing/processing/issues/4007
X   https://github.com/processing/processing/issues/4027
X   https://github.com/processing/processing/issues/4012
X line loops incorrectly closed in P3D
X   https://github.com/processing/processing/issues/4031
X pixelDensity() and createGraphics()
X   https://github.com/processing/processing/issues/4039
X   https://github.com/processing/processing/commit/1d163197c970947bf5be17049bddbe8e444f759d
X GL related crashes when closing the display window on Ubuntu (Intel)
X   https://github.com/processing/processing/issues/4041
X GL related crashes when closing window on MacBook Air (Intel) running 10.9.5
X   https://github.com/processing/processing/issues/3977

jogl
X Update to JogAmp JOGL 2.3.2
X   https://github.com/processing/processing/issues/3979
X Output window cannot be set as non-resizable with the P2D or P3D renderers
X   https://jogamp.org/bugzilla/show_bug.cgi?id=1188
X   https://github.com/processing/processing/issues/3952
X setAlwaysOnTop does not work in P2D and P3D on Mac
X   https://github.com/processing/processing/issues/3793
X P2D and P3D windows behave strangely when larger than the screen size
X   https://github.com/processing/processing/issues/3401
X Remove Gluegen & JOGL sources
X   https://github.com/processing/processing/pull/3982


0246 the papal visit (3.0)
X implement high-performance/async image saving
X   Use PBOs for async texture copy
X   https://github.com/processing/processing/issues/3569
X   https://github.com/processing/processing/pull/3863
X   https://github.com/processing/processing/pull/3869
X Textures disappearing in beta 7 (might be WeakReference regression)
X   https://github.com/processing/processing/issues/3858
X   https://github.com/processing/processing/pull/3874
X   https://github.com/processing/processing/pull/3875
X Convert all documented hacky keys in OpenGL
X   https://github.com/processing/processing/pull/3888
X Frame size displays incorrectly if surface.setResizable(true)
X   https://github.com/processing/processing/issues/3868
X   https://github.com/processing/processing/pull/3880
X displayWidth, displayHeight, full screen, display number
X   https://github.com/processing/processing/pull/3893
X   https://github.com/processing/processing/issues/3865
X OpenGL with fullScreen() always opens on default display
X   https://github.com/processing/processing/issues/3889
X   https://github.com/processing/processing/issues/3797
X   https://github.com/processing/processing/pull/3892

cleaning
o move AWT image loading into PImageAWT
o   look into how GL and FX will handle from there
o run only the necessary pieces on the EDT
o   in part because FX doesn't even use the EDT
o   re-check the Linux frame visibility stuff
X   cleaned most of this as far as we can go
o Ubuntu Unity prevents full screen from working properly
X   https://github.com/processing/processing/issues/3158
X   can't fix; upstream problem, added to the wiki


0245 core (3.0b7)
X surface.setLocation(x,y) not working with the default renderer
X   https://github.com/processing/processing/issues/3821
X FX2D display is inverted in 3.0b6
X   https://github.com/processing/processing/issues/3795

jakub
X Make the PApplet regex cache LRU
X   https://github.com/processing/processing/pull/3815
X Minor OpenGL improvements
X   https://github.com/processing/processing/pull/3849

andres
X Cannot re-enable stroke or fill of a PShape with P2D
X   https://github.com/processing/processing/issues/3808
X setResizable broke with oscilating behavior in 3.0b6
X   https://github.com/processing/processing/issues/3825
X   https://github.com/processing/processing/commit/42c0150da0f400637de916db1f94a687a7bc4288
X surface.setLocation() causing a freeze on Windows
X   https://github.com/processing/processing/commit/4c0f9234c0a48f62363233cafc9c9951ee351d3e
X selectInput/Output() is behind the drawing window (Windows)
X   https://github.com/processing/processing/issues/3775
X MouseWheel count wrong (backwards?) in P2D and P3D
X   https://github.com/processing/processing/issues/3840


0244 core (3.0b6)
X Incomplete text rendering of strings with consecutive line breaks
X   https://github.com/processing/processing/issues/3736
X   https://github.com/processing/processing/pull/3737
X   https://github.com/processing/processing/issues/3761
X add the Contents/Java folder to java.library.path on OS X
X   allows exported applications to use the Sound library
o don't grab pixels of java2d images unless asked
o   this is the difference between a lot of loadPixels() and not
o   so important to have it in before beta if that's the change
o   https://github.com/processing/processing/issues/99
X   won't fix for now, requires too much reworking on the image system
X add surface.setAlwaysOnTop(boolean)
X   https://github.com/processing/processing/issues/3718
X Implement standard cursor types in OpenGL
X   https://github.com/processing/processing/issues/3554
X Change value of constants PRIMITIVE, PATH, and GEOMETRY constants in PShape
X   This avoids a collision with entries in PConstants which causes 
X   confusing errors or no errors to be thrown at all
X   https://github.com/processing/processing/issues/3776
X Fix flickering cursor regression with Java2D on Windows introduced by #3472

andres
X P2D: error calling surface.setTitle()
X   https://github.com/processing/processing/issues/3721
X   https://github.com/processing/processing/commit/a384cbf0890a49dbf6e0fdd80e048de80e5d78d2
X Error message with noLoop() and P2D renderer
X   https://github.com/processing/processing/issues/3558
X Concurrency issues in OpenGL renderer prevent proper garbage collection
X   https://github.com/processing/processing/issues/3384
X In P2D/P3D the background is cleared to black on each frame
X   https://github.com/processing/processing/issues/3559
X cursor() command with PImage stopped working in 3.0 with P2D
X   https://github.com/processing/processing/issues/3769
X Demos/Graphics/Wiggling regressed from 17 fps to 8.3 fps between a11 and b1
X   https://github.com/processing/processing/issues/3561
X "Library not installed properly" message inconsistent in P2D/P3D vs. JAVA2D
X   https://github.com/processing/processing/issues/3453
X PShape 3D: strange extra lines (another fix)
X   https://github.com/processing/processing/issues/3006
X line direction vectors are incorrectly transformed
X   https://github.com/processing/processing/issues/3779
X Strokes in 3D PShapes are not properly connected
X   https://github.com/processing/processing/issues/3756
X setting surface properties hangs OpenGL sketches
X   https://github.com/processing/processing/issues/3789

jakub
X FX - fix transformation stack NPE
X   https://github.com/processing/processing/pull/3710
X FX - fix rad-deg conversion in rotate()
X   https://github.com/processing/processing/pull/3711
X FX - basic pixel operations (get, set, load, update) 
X   https://github.com/processing/processing/pull/3709
X FX - align to pixel grid when drawing 1 px strokes
X   https://github.com/processing/processing/pull/3712
X keyChar and keyCode are super wonky and unlike AWT
X   https://github.com/processing/processing/issues/3290
X   what's the way to do this after the deprecation?
X   if this is going to be the default renderer, has to be ironed out
X FX - arc - infamous deg-rad conversion strikes again
X   https://github.com/processing/processing/pull/3713
X FX - paths, contours, curves
X   https://github.com/processing/processing/pull/3715
X FX - fix AIOOBE when pressing ESC on Mac
X   https://github.com/processing/processing/pull/3719
X FX - framerate fix
X   https://github.com/processing/processing/pull/3724
X FX - loadPixels, updatePixels, get and set optimizations
X   https://github.com/processing/processing/pull/3725
X FX - keep track of whether pixels are up to date
X   https://github.com/processing/processing/pull/3716
X FX - improve key events
X   https://github.com/processing/processing/pull/3729
X FX - add FX2D keyword, remove JFX keyword
X   https://github.com/processing/processing/pull/3731
X JOGL - normalize enter key
X   https://github.com/processing/processing/pull/3735
X FX - normalize enter key
X   https://github.com/processing/processing/pull/3730
X Render text starting with space properly
X   https://github.com/processing/processing/pull/3746
X FX - smooth for the main surface
X   https://github.com/processing/processing/pull/3749
X OpenGL - clean up loaded and modified for pixels
X   https://github.com/processing/processing/pull/3768
X FX - text stuff, move createFont() into PGraphics
X   https://github.com/processing/processing/pull/3766
X FX - fix bug where fonts would share a tint cache
X   https://github.com/processing/processing/pull/3771
X textFont() and textSize() are each calling one another
X move createFont() to PGraphics
X Fix PShape creation in P3D 
X   https://github.com/processing/processing/pull/3781
X keyTyped() not firing with P2D and P3D
X   https://github.com/processing/processing/issues/3582
X   https://github.com/processing/processing/pull/3652
X Implement a way to disable automatic key repeat
X   implemented for OpenGL, where key repeat is now disabled by default
X   hint(ENABLE_KEY_REPEAT) will turn it back on
X   https://github.com/processing/processing/issues/1622
X non-standard cursor images used for OpenGL
X   https://github.com/processing/processing/issues/3791
X   closed as cannot fix, but notes made in Wiki and in the repo
X fix late-breaking NPE in PGL
X   https://github.com/processing/processing/pull/3792


0243 core (3.0b5)
X NullPointerException in selectFolder() on OS X
X   https://github.com/processing/processing/issues/3661
X Wrong positioning of circles in SVG shapes (regression from 2)
X   https://github.com/processing/processing/issues/3685
X setFill() on PShape in Java2D throws ArrayIndexOutOfBoundsException
X   https://github.com/processing/processing/issues/3677
X saveJSONObject() doesn't close the file
X   https://github.com/processing/processing/issues/3705

jakub
X keyTyped() not firing with P2D and P3D
X   https://github.com/processing/processing/issues/3582
X   https://github.com/processing/processing/pull/3652
X rect() sizing in JavaFX
X   https://github.com/processing/processing/pull/3656
X FX - Proper sketch sizing
X   https://github.com/processing/processing/pull/3658
X implement frameRate()
X FX - Fix key typed
X   https://github.com/processing/processing/pull/3672
X FX - Make key events little bit more sane
X   https://github.com/processing/processing/pull/3686
X   added note about AIOOBE seen earlier
X Update LowLevelGL to use VBOs
X   https://github.com/processing/processing-docs/pull/289
X Remove legacy GL functions from PGL
X   https://github.com/processing/processing/issues/3674
X   https://github.com/processing/processing/pull/3691
X   https://github.com/processing/processing/issues/3671
X   https://github.com/processing/processing/issues/3621
X "Internal graphics not initialized yet"
X   https://github.com/processing/processing/issues/3690
X   https://github.com/processing/processing/pull/3692
X Remove support for fixed-function pipeline
X   https://github.com/processing/processing/issues/3505
X NullPointerException in Demos > Graphics > Planets
X   https://github.com/processing/processing/issues/3551
X   turns out to be a problem with capitalization

cleaning
X How do images behave when pixelDensity(2) is set?
X   https://github.com/processing/processing/issues/3364
X retina sketches slow to start
X   https://github.com/processing/processing/issues/2357
X zero alpha values still a problem with retina renderer
X   https://github.com/processing/processing/issues/2030
X fullScreen(SPAN) reported not working (cannot reproduce)
X   probably need to re-query for displays each time opening prefs
X   what happens when a screen is added after p5 has started?
X   https://github.com/processing/processing/issues/3381
X   fixed in beta 1


0242 core (3.0b4)
X dataPath() not working when app is not run from app dir on Linux
X   https://github.com/processing/processing/issues/2195
X Zero length string passed to TextLayout constructor
X   https://github.com/processing/processing/issues/3487
X improve speed of text(x, y, w, h) when using large strings with no spaces
X   https://github.com/processing/processing/issues/211
X implement add(x, y) and sub(x, y) in PVector
X   https://github.com/processing/processing/issues/3593

earlier
X are we clear on sketchPath() for OS X?
X   working dir (user.dir?) returns home dir, not app dir in Oracle Java
X   could add -Dapp.root=$APP_ROOT and get via System.getProperty("app.root")
X   https://github.com/processing/processing/issues/2181
X textWidth() incorrect with default (JAVA2D) renderer and default font
X   https://github.com/processing/processing/issues/2175
X Error on size() when using FX2D due to stage inset issues
X   https://github.com/processing/processing/issues/3412
X   probably fixes w/ size() removal change

jakub
X Remove alpha filler (hopefully no regression here)
X   https://github.com/processing/processing/pull/3523
X accuracy problems make alpha channel go to FE with image.copy()
X   https://github.com/processing/processing/issues/258
X fix blue-channel bias on blend()
X   https://github.com/processing/processing/issues/514
X improve blend() accuracy when using ADD
X   https://github.com/processing/processing/issues/172
X   includes code for a slow but more accurate mode
X huge Java2D blending patch
X   https://github.com/processing/processing/pull/3592
X Remove support for fixed-function pipeline
X   https://github.com/processing/processing/issues/3505
X   https://github.com/processing/processing/pull/3604
X   https://github.com/processing/processing/pull/3605
X   https://github.com/processing/processing/pull/3606
X   https://github.com/processing/processing/pull/3628
X Improve OpenGL extensions checks
X   https://github.com/processing/processing/pull/3646
X P2D/P3D broken after recent profile changes
X   https://github.com/processing/processing/issues/3617

opengl
X filter(PShader) broken in HDPI mode
X   https://github.com/processing/processing/issues/3577


0241 core (3.0b3)
X `focused` variable always false in P2D/P3D
X   https://github.com/processing/processing/issues/3564
X implement a nf(float) function to support the changes in map()
X show a warning when map() prints a bad value
X   https://github.com/processing/processing/issues/3314

opengl
X IndexOutOfBoundsException with pixelDensity(2) and P2D
X   https://github.com/processing/processing/issues/3568
X Shaders output to bottom left corner rather than full window in 3.0b2
X   https://github.com/processing/processing/issues/3572


0240 core (3.0b2)
X make size(displayWidth, displayHeight) still run in a window
X   prevents "fullScreen() cannot be used here" message on startup
X   https://github.com/processing/processing/issues/3545
X throw an error when using methods that require sketchPath outside setup()
X   https://github.com/processing/processing/issues/3433
X cursor(CROSS) breaks when using surface.setTitle()
X   https://github.com/processing/processing/issues/3472
X Fix null pointer exception in setVertex
X   https://github.com/processing/processing/pull/3553
X   https://github.com/processing/processing/issues/3550

andres/jakub
X toggling between noLights and PointLight in draw() behaving strangely
X   https://github.com/processing/processing/issues/3546
X NPE in Planets demo
X   https://github.com/processing/processing/issues/3551

fixed earlier
X blend() and copy() are not pixel accurate for copy/scale
X   https://github.com/processing/processing/issues/324
X   Jakub: fixed somewhere between 0179 and 0184

cleaning/fixed earlier
X splice() throws ClassCastException when used with objects like PVector 
X   http://code.google.com/p/processing/issues/detail?id=1407
X   https://github.com/processing/processing/issues/1445
o Semitransparent rect drawn over image not rendered correctly
o   http://code.google.com/p/processing/issues/detail?id=182
X   https://github.com/processing/processing/issues/221
X text() wraps words differently depending on whether space seen or not
X   http://code.google.com/p/processing/issues/detail?id=439
X   https://github.com/processing/processing/issues/478
o make sure rendering is happening on the EDT
o   (hopefully fixes flicker issues)
o   change PApplet.java javadoc to reflect the change
o   Update http://wiki.processing.org/w/Troubleshooting#Flicker
X   http://code.google.com/p/processing/issues/detail?id=775
X look into using BufferStrategy again to improve performance
X   there are more improvements to be made ala issue #729
o thread() causes weird flickering
X   http://code.google.com/p/processing/issues/detail?id=742
o stop() not getting called
o   http://code.google.com/p/processing/issues/detail?id=43
o   major problem for libraries
o   and start() is supposedly called by the applet viewer
o   http://java.sun.com/j2se/1.4.2/docs/api/java/applet/Applet.html#start()
o   need to track this stuff down a bit
X   closed with work from Lonnen, but still some issues around this
X createShape() not yet implemented for Java2D
X   http://code.google.com/p/processing/issues/detail?id=1400
X   https://github.com/processing/processing/issues/1438
o load PShape from a string object
X   http://code.google.com/p/processing/issues/detail?id=277
X ortho() issues
X   http://code.google.com/p/processing/issues/detail?id=1240
X   https://github.com/processing/processing/issues/1278
X hint(DISABLE_PERSPECTIVE_CORRECTED_STROKE)
X implement textMode(SHAPE) with OPENGL
X   https://github.com/processing/processing/issues/777
X   http://code.google.com/p/processing/issues/detail?id=738
X implement setImpl() instead of set() inside PGraphicsOpenGL
X   http://code.google.com/p/processing/issues/detail?id=121
X   https://github.com/processing/processing/issues/160
X first few frames of OpenGL sketches on Windows run slowly
X   http://code.google.com/p/processing/issues/detail?id=107
X   https://github.com/processing/processing/issues/146
X Signature issue on contributed libraries affects unrelated opengl sketches
X   http://code.google.com/p/processing/issues/detail?id=261
X OpenGL noSmooth() problems
X   http://code.google.com/p/processing/issues/detail?id=328
o OS X slow with FSEM enabled
X   http://code.google.com/p/processing/issues/detail?id=737
X get() with OPENGL is grabbing the wrong coords
X   http://code.google.com/p/processing/issues/detail?id=191
X deal with issue of single pixel seam at the edge of textures
X   should vertexTexture() divide by width/height or width-1/height-1?
X   http://code.google.com/p/processing/issues/detail?id=76
X   https://github.com/processing/processing/issues/115
X lousy graphics cards cause background to flicker if background() not used
X   http://code.google.com/p/processing/issues/detail?id=146
X   https://github.com/processing/processing/issues/185
X   OPENGL sketches flicker w/ Vista when background() not used inside draw()
X   Disabling Aero scheme sometimes prevents the problem
X   Updating graphics drivers may prevent the problem 
X ellipse scaling method isn't great
X   http://code.google.com/p/processing/issues/detail?id=87
X Stroking a rect() leaves off the upper right pixel
X   http://code.google.com/p/processing/issues/detail?id=67
X   https://github.com/processing/processing/issues/106
X opengl applet problems with tabs - needs to handle stop() and start() 
X   http://code.google.com/p/processing/issues/detail?id=196
X   stop() called between tabs/pages, start() may be called again
X   http://java.sun.com/docs/books/tutorial/deployment/applet/lifeCycle.html
X   really, stop() should just call noLoop() (and start re-enable if done)
X     and on android, start/stop can be used to save state information
X   need to fix opengl applets so that we can safely kill P3D
X Signature issue on contributed libraries affects unrelated opengl sketches
X   http://code.google.com/p/processing/issues/detail?id=261


0239 core (3.0b1)
X add getSurface() method ('surface' is protected in PApplet)
X tweak implementation of PVector.heading()
X   https://github.com/processing/processing/issues/3511
X make PFont.size protected again
X   https://github.com/processing/processing/issues/3519
X fix problem with JAR loading inside createInputRaw()
o   https://github.com/processing/processing/pull/3514
X remove 'contrib updates available' dialog box for now
X   new version coming soon in the UI
X make notes about Java2D and JavaFX packages in the README

fixed earlier
X Cannot use this version of rotate() on a PMatrix2D with PShape.rotateX()
X   https://github.com/processing/processing/issues/1342

opengl
X Remove size() from setup() when copying to settings()
X   https://github.com/processing/processing/pull/3517
X Remove mode parameters from createShape(), fixes parameter collision issues
X   https://github.com/processing/processing/pull/3516
X radius for rect not working on PShape
X   https://github.com/processing/processing/issues/2646
X bug in arc with createShape 
X   https://github.com/processing/processing/issues/3018
X OpenGL sketch flickers when draw() is missing or empty
X   https://github.com/processing/processing/issues/3473
X   https://github.com/processing/processing/pull/3521
X size() errors
X   https://github.com/processing/processing/issues/3483
X improve hint(ENABLE_DEPTH_SORT) to use proper painter's algo
X   https://github.com/processing/processing/issues/90
X   also for begin/endRaw: 
X     https://github.com/processing/processing/issues/2235
X   polygon z-order depth sorting with alpha in opengl
X   complete the implementation of hint() with proper implementation
X   gl alpha on images when flipped around backwards
X     will sorting based on depth help this? also ask simon for ideas
X   need to merge sorting/drawing of lines and triangles
X     lines will occlude tris and vice versa
X     will need to split each based on the other
X     sort issues will affect both
X   https://github.com/processing/processing/pull/3507
X   https://github.com/processing/processing/pull/3477
X   https://github.com/processing/processing/pull/3410
X   https://github.com/processing/processing/pull/3372
o rect() with stroke outline renders 1px wider and taller in P2D
X   behavior is correct, explanation provided
X   https://github.com/processing/processing/issues/2065
X   sort out edge + 1 issue on stroke/fill for rectangles
X   http://code.google.com/p/processing/issues/detail?id=509
X setVertex() not working in P3D and P2D
X   https://github.com/processing/processing/issues/3022
X   https://github.com/processing/processing/pull/3528
X add hint(ENABLE_DEPTH_READING) to handle stencil/depth buffers
X   https://github.com/processing/processing/pull/3527
X   https://github.com/processing/processing/issues/2771
X ArrayIndexOutOfBoundsException error when enabling depth sorting in P3D
X   https://github.com/processing/processing/pull/3477
X   https://github.com/processing/processing/issues/3476
X Fix curves - properly this time
X   https://github.com/processing/processing/pull/3501
X Remove duplicate curve vertex
X   https://github.com/processing/processing/pull/3496
X   https://github.com/processing/processing/issues/2937
X JOGL window size is now set properly
X   https://github.com/processing/processing/pull/3493
X   https://github.com/processing/processing/issues/3223
X more sorter work
X   https://github.com/processing/processing/pull/3507
X Depth sorting wrong when drawing inside setup(), P3D
X   can no longer be reproduced
X   https://github.com/processing/processing/issues/2483
X Device parsing on Linux is incorrect
X   https://github.com/processing/processing/issues/3532
o don't show display warning when display 1 doesn't exist
X   apparently this was an OpenGL bug (#3532)
X flush geometry when lighting changes 
X   otherwise lights apply to the entire scene
X   https://github.com/processing/processing/issues/3533


0238 (3.0a11)
X add note about headless exceptions that points to Github
X resize children[] so that getChildren() returns a correctly-sized array
X   https://github.com/processing/processing/issues/3347
X show warning when display spanning is turned off with fullScreen(SPAN)
X   defaults read com.apple.spaces spans-displays
X   https://github.com/processing/processing/issues/3381
X add javaPlatform variable (i.e. 7 or 8)
X clear() seems to be broken (maybe related to 3317)
X   https://github.com/processing/processing/issues/3378
X PGraphic ignores PNG transparency (regression from 3.0a5)
X   https://github.com/processing/processing/issues/3317
X   (same issue as 3378)
X move error messages out of PConstants (into PApplet? PGraphics?) 
o replace sketchXxxx() methods with another mechanism?
o   and an internal dictionary that stores them all?
o   intParam(), stringParam() and setParam()? 
o   or sketchInt() or settingsInt()?
o   surface.size(), surface.noSmooth()... just like PGraphics methods?
o   make final to move folks away from these?
o   or is this a bad move until we've sorted out Android?
X   HashMap sucks b/c we'd have to cast everything
X   doesn't help to have intParam() etc, too many types (5ish? OutputStream)
X   just stick with the current setup
X remove launch(String) since it was calling itself, and anachronistic
X sketches with new fullScreen() method should grab focus by default
X   https://github.com/processing/processing/issues/3380
X sketches not getting focus with Java2D
X   https://github.com/processing/processing/issues/3389
X draw() executes twice when noLoop() called in setup()
X   https://github.com/processing/processing/issues/3310
X   broken since 3.0a7, but not in 3.0a5
o pixelDensity(BEST)? (messes with pixels, but for most sketches, helpful)
X   nixed by Casey for now
X displayDensity() not functioning properly
X   https://github.com/processing/processing/issues/3436
X surface.setXxx() handling
X   https://github.com/processing/processing/issues/3388
X   setResizable, setVisible, setTitle
X   setIconImage(java.awt.Image) -> take a PImage instead?
o   removeNotify(), addNotify()
X   setUndecorated(boolean)
X   setting menubar will be surface-specific
X   setLocation(int, int) and setSize(int, int)
X add the "don't use this" warning to the JFrame in PSurfaceAWT
X ArithmeticException: / by zero when using fonts opened with loadFont()
X   https://github.com/processing/processing/issues/3413
X SVG briefly broken for Java2D
X   https://github.com/processing/processing/issues/3417
X change how font metrics are pulled to fix text width issues
X check alpha when image extension is "unknown"
X   https://github.com/processing/processing/issues/3442
X add support for more Image types (BGR) with PImage(java.awt.Image) constructor
X move Java2D and JavaFX classes to their own packages

threading headaches
X sketch not always showing with empty draw()
X   https://github.com/processing/processing/issues/3363
X static mode broken with Java2D on Windows and Linux
X   https://github.com/processing/processing/issues/3315
X sketch sometimes doesn't show with noLoop() on Linux
X   https://github.com/processing/processing/issues/3316
X Window never shows with exported application on 64-bit Linux
X   https://github.com/processing/processing/issues/3303
X present mode is now broken
o still some spinning when sketches break
X   fixed because we're back off the EDT
o settings() is probably not showing exceptions since we're back to the EDT
o   can't call handleSettings() on the anim thread since it sets the surface
o   so maybe the first part is on the EDT, but other threads run this stuff
X remove the init() method

cleaning
o possible addition for 'implementation' variable
X   http://code.google.com/p/processing/issues/detail?id=281
X   https://github.com/processing/processing/issues/320
X   closing as wontfix

retina fixes
X make g.pixelDensity public inside PApplet (so accessible by sketches)
o   or is it akin to g.fill and the rest?
X   it's in PApplet, but not public.. will be the same as g.pixelDensity
X add pixelWidth/Height to PApplet
X   add setSize() method for surfaces
X   tricky cuz we'll need a getter/setter when surface messes w/ things

text/fonts
X Text looks blurry in GL Retina
X   https://github.com/processing/processing/issues/2739
X text not getting the correct font in Retina2D
X   https://github.com/processing/processing/issues/2617
X Text is half size in PGraphicsRetina2D
X   https://github.com/processing/processing/issues/2738

andres/opengl
X ortho function is broken
X   https://github.com/processing/processing/issues/1278
X errors with loading SVGs in P3D/P2D
X   https://github.com/processing/processing/issues/3379
X sketch window briefly appears on top left corner when using OpenGL
X   https://github.com/processing/processing/issues/3308
X add attrib() method
X   https://github.com/processing/processing/issues/2963
X   andres needs input on how the api works
o   assign this to DXF as well?
X beginShape(POINTS) don't show up in P2D
X   https://github.com/processing/processing/issues/3029

contribs
X Fix NullPointerException in DepthSorter
X   https://github.com/processing/processing/pull/3410

fixed earlier
X sketch window is not placed at correct location when running a second time
X   https://github.com/processing/processing/issues/3125
X full screen needs to ignore prev location setting for frame?
X   https://github.com/processing/processing/issues/3305
X save() and saveFrame() with 2X renderers fails
X   https://github.com/processing/processing/issues/3255
X NPE when using image() created with createGraphics(PGraphicsRetina2D)
X   https://github.com/processing/processing/issues/2510
X Closing OpenGL sketch from the PDE doesn't stop java.exe process
X   https://github.com/processing/processing/issues/2335

cleaning
o keep Danger2D? 
o   can't do version that draws to BufferStrategy directly
o   pixel operations (get/set/loadPixels/saveFrame) might be fixable
o   but can't re-run draw() to re-blit the screen
o     because we don't split calc() and draw()
o   even with the split, handleDraw() might need to live in PSurface
o   add calc() option? this could ease transition
X   decided to put efforts into JavaFX


0237 (3.0a10)
X retain original java.awt.Frame when it's available from PSurfaceAWT
X set frame icon images for Java2D (dock and cmd-tab) 
X   https://github.com/processing/processing/issues/257
X strokeWeight() in setup() not working for default renderer
X   https://github.com/processing/processing/issues/3331

breaking api
X re-opened the Gates of Hell by adding chaining operations to PVector
X   https://github.com/processing/processing/issues/257
o add chaining operations to XML and JSON
X exec() and open() to use varargs
X   changed exec() to use varargs for convenience
X cross-language awkwardness
X   python has to use launch() instead of open()
X   changed open() to launch() to fix conflicts in Python (and elsewhere?)
o   map() is bad for Python and JavaScript

api decisions
o min() and max() to use varargs
o   https://github.com/processing/processing/issues/3027
X   not enough use cases here to make sense
o join() to use varargs
X   handling this in the Int/Float/StringList constructors instead
X   users can call new StringList(...).join(",") instead
X   make join() work with Iterable or Object... or both?
X   will this collide with the current String[] version?
o remove OPENGL constant (tell people to use P3D or P2D)
X   breaks too much code without really helping anything
o break PUtil out from PApplet
o   pro: weird to call PApplet for things like hex/join/etc
o   con: still lots of things like selectFolder() that need GUI
X   final: not enough functions to split out to have it truly make sense
X          or rather, doesn't clean up enough code that the mess is worthwhile

smooth and noSmooth
o add imageSmooth()?
o   https://github.com/processing/processing/issues/1272
X   decided no, again
X sketchQuality() vs sketchSmooth()?
X   'quality' is being removed since smoothing will be a one-time thing
X smooth() and noSmooth()
X   goes before the first beginDraw() with createGraphics()
X   sketchQuality() needs to be rooted out
X   don't make this final, since it'll break a bunch of code
X     it'd be a nice indicator for renderers, but not worth what it breaks
X   https://github.com/processing/processing/issues/3357
X   https://github.com/processing/processing-docs/issues/251
X   can only be called inside setup(), show warning elsewhere
X   is lifted out of setup() and into settings()
X   can't use them together
X final implentation in OpenGL
X   https://github.com/processing/processing/issues/3367

size, fullScreen, displays
X fix up handling of fullScreen()
X   https://github.com/processing/processing-docs/issues/250
X   https://github.com/processing/processing/issues/3296
X   right now using a (display ignoring) hack to displayWidth/Height
X   maybe we use the AWT screen sizes first, then match the others w/ em?
X   --full-screen replaced with --present (to untangle things)
X     if you want full screen, use the fullScreen() method
X   --span removed as an option, better to just do this from code
X   docs: no mixing size() and fullScreen(). pick one.
X instead of all these sketchXxxx() methods, should we have sketchSetting()
o   too much soup inside main() to handle arg parsing and passing to the sketch
X   moved things to settings()
X split 'present' and 'full screen'?
X   --full-screen causes considerable flicker at this point
X   or split them when sketchWidth/Height are implemented?
X size() inside setup() can only have numbers
X   size() inside settings() is left alone and can do whatever it wants
X   comments are being removed before size() is getting checked
X     probably remove anything inside settings() as well?
X looks like we're off by 1 on monitor numbering 
X   https://github.com/processing/processing/issues/3309
X full screen doesn't work on second window w/o present mode
X   https://github.com/processing/processing/issues/3271
X full screen on OS X 10.9 shows a bar at the top with Java2D
X   https://github.com/processing/processing/issues/3305
X "run sketches on display" not working in 3.0a7
X   https://github.com/processing/processing/issues/3264
X   with prefs display set to 2, fullScreen(1) is wrong
X     does full screen on display 1
X     but then moves window to main display
X     and keeps the 1024x768 size
X Comments influencing code (preproc issues in parsing)
X   https://github.com/processing/processing/issues/3326
X Sketch not appearing depending on arangement of external display on OS X
X   https://github.com/processing/processing/issues/3118
X Sketch launching on second display that's not currently in use
X   https://github.com/processing/processing/issues/3082

pixelDensity and 2X
X add displayDensity() methods
X add pixelDensity() method
X 2X nomenclature last call
X   https://github.com/processing/processing/issues/3361
X the 2X thing on the renderer name is unnecessary
X   just do pixelFactor() (and pull it during compilation)?
X   add sketchPixelFactor() to handle the scenario?
X   or is it just a boolean, because pixelFactor(2) is the only option?
X remove retina hint
X move checkRetina()/highResDisplay() to PApplet
X   and out of Toolkit and PSurfaceAWT
X prevent running _2X renderers on non-2x hardware
X   pixelDensity() needs to be called after size() or fullScreen()
X no high-res display support for OpenGL
X   https://github.com/processing/processing/issues/2573
X   https://jogamp.org/bugzilla/show_bug.cgi?id=741

andres/opengl
X set(0, 0, image) does not set alpha channel to opaque in P2D/P3D
X   https://github.com/processing/processing/issues/2125
X group shapes are broken in 3.0a9
X   https://github.com/processing/processing/issues/3336
X only a quarter of the sketch is appearing with P2D_2X and P3D_2X
X   (i.e. the image shows up too large) 
X   https://github.com/processing/processing/issues/3332
X   https://github.com/processing/processing/issues/3327
X single transparent pixel at end of textures in OpenGL
X   https://github.com/processing/processing/issues/115
X implement setImpl() instead of set() inside PGraphicsOpenGL
X   https://github.com/processing/processing/issues/160
X   https://github.com/processing/processing/issues/3012
X PShape 3D: strange extra lines
X   https://github.com/processing/processing/issues/3006
X backspace key is identified as delete in OpenGL renderers
X   https://github.com/processing/processing/issues/3338
X set icon for OpenGL windows
X   https://github.com/processing/processing/issues/3348
X key problem with DELETE, BACKSPACE and CMD in P3D / P2D
X   https://github.com/processing/processing/issues/3352
X save() and saveFrame() with OPENGL renderer fails
X   https://github.com/processing/processing/issues/3334
X Errors in glsl code are only caught when set() is used
X   https://github.com/processing/processing/issues/2268
X move glsl entries to their own subdirectory

cleaning
X strips when rendering spheres with lights and anti-aliasing
X   https://github.com/processing/processing/issues/1185
X fix regex documentation (assigned to Shiffman)
X   http://code.google.com/p/processing/issues/detail?id=169
X OpenGL offscreen requires primary surface to be OpenGL
X can't really change the smoothing/options on offscreen
X   is this still true?
X online is there but deprecated
X   doesn't test net connection to see if 'online'
X   only tests whether running inside an applet viewer (not relevant)
X   remove 'online' from the docs


0236 (3.0a9)
X Implement Cmd-Q handler on Mac OS X
X   https://github.com/processing/processing/issues/3301
X Changing "background color when Presenting" causes Exception
X   https://github.com/processing/processing/issues/3299
X remove "null in initImage()" message
X displayWidth and displayHeight are zero
X   https://github.com/processing/processing/issues/3295

fixed in 3.0a8
X Full screen window on second monitor without using present mode
X   https://github.com/processing/processing/issues/3271

andres
X Offscreen rendering broken in OpenGL renderers
X   https://github.com/processing/processing/issues/3292
X   https://github.com/processing/processing/issues/3259
X Initial location of OpenGL window hides the title bar
X   https://github.com/processing/processing/issues/2981
X OpenGL sketches do not terminate, have to be killed
X   https://github.com/processing/processing/issues/2982
X Quitting P3D sketch throws an error
X   https://github.com/processing/processing/issues/3293


0235 (3.0a8)
X fairly major rewrite of createShape() 
X   prevents same code from appearing 5x (!) in the source
X   improves bad api design with the static createShapeImpl() methods
X errors in case changes not correctly reported
X   https://github.com/processing/processing/issues/3235
X move svgz handling to PApplet
X   remove objz handling
X Single Frame (No Screen Display) PDF broken
X   https://github.com/processing/processing/issues/3280
o remove setTitle() etc methods from PSurface, just use the ones from Frame?
o   and with that, encourage the use of the dummy frame object in renderers
X   dummy moved into PApplet itself
X add SVG export library
X add StringList(Object...) constructor
X size() is fairly broken for PDF and SVG or whatever
X   make size(300, 300, PDF) without implementing sketchXxx() methods work
X   this shouldn't be a huge thing, we're not going to set the window visible
X   until after setup() completes anyway (otherwise a delay w/ blank window)
X Sketch runs with default size if size() is followed by large memory allocation
X   some sort of threading issue happening here
X   https://github.com/processing/processing/issues/1672
X   https://github.com/processing/processing/issues/2039 (dupe)
X   https://github.com/processing/processing/issues/2294 (dupe)
o   also check this out with the new full screen code on OS X
o use enums for constants
X   https://github.com/processing/processing/issues/2778
X   nope, requires having ALIGN_LEFT instead of just LEFT
X clean up requestFocus() stuff
X   make sure it works with retina/canvas/strategy as well
X args[] should be null if none passed
X   otherwise args == null checks are weird
X saveFrame() from setup() gives a black screen when size() is called
X   as seen in the 'numbers' sketch
X   this was fixed earlier?
X fix flicker when resizing window 
X   running through PSurfaceAWT.setSize() is probably overkill
o   setLocationRelativeTo(null) was removed, will it be missed?

data
X pop() was not implemented correctly
X add new String/Int/FloatDict constructors for easier initialization
X add appendUnique() to Int/Float/StringList
o add fromOrder() and others? otherwise need temp object:
o   categoryIndexLookup = new StringList(flavors).getOrder();
X   decided no:
X     not a huge deal to call getOrder() and deal w/ temp objects
X     likely to only be called only once during execution
X     it's only for StringList
X     in the end, not worth adding fromXxxx() syntax for single use

opengl
X OpenGL sketches work only after running a sketch with default renderer
X   https://github.com/processing/processing/issues/3218
X static mode - no setup() / draw() - broken in OpenGL
X   https://github.com/processing/processing/issues/3163
X deal with some performance issues
X   https://github.com/processing/processing/issues/3210
X Can't run sketches with offscreen PGraphics
X   https://github.com/processing/processing/issues/3259
o Merge glw code into the OpenGL library
o   https://github.com/processing/processing/issues/3284
X "Buffers have not been created" error for sketches w/o draw()
X   https://github.com/processing/processing/issues/2469
o get code into makeGraphics() to handle bad path settings for LWJGL
o   right now it has a bunch of JOGL-specific code
X   switched back to JOGL

javafx
X implement blendMode
X   https://github.com/processing/processing/issues/3275
X hide the smooth() warnings
X don't remove JavaFX stuff from Windows and Linux builds
X sizing works
X setting title and other threading fixes
X mouse events
X key events
X exit() and ESC working
X is it necessary to handle ctrl-click differently on OS X?
X   yes, verified and working properly


0234 (3.0a7)
X add fix to avoid StringList leak


0233 (3.0a6)
X remove Applet as base class
X how to name the retina pixel stuff
X   hint(ENABLE_RETINA_PIXELS) or hint(ENABLE_HIDPI_PIXELS)
X   hint(ENABLE_2X_PIXELS)?
X   hidpi is Apple's name as well
X   mostly getting away from this
X bezierSegment() function to do equal-length segments
X   https://github.com/processing/processing/issues/2919
X   handled instead as an example
X add warning message when a negative textSize() is used
X   https://github.com/processing/processing/issues/3110
X loadXxxx() methods will truly follow redirects (including http -> https)
X   https://github.com/processing/processing-docs/issues/218
o move to enums instead of PConstants?
o   helps textMode() only accept valid entries
o   really nice for auto-complete
o   prevents hundreds of entries from coming up w/ auto-complete
o   downside: breaks compatibility big time
X   would have to use ALIGN_CENTER eta al, so no
X noSmooth() not sticking, has to be called again inside draw()
X   https://github.com/processing/processing/issues/3113
X performance issues on OS X (might be threading due to Applet)
X   https://github.com/processing/processing/issues/2423
X   can't fix, it's all Oracle stuff
X remove sketch path hack from PApplet
X   this may cause Linux issues, but we need to solve that properly

head
X Sketch window dimensions off in Java2D
X   https://github.com/processing/processing/issues/3129
X   https://github.com/processing/processing/pull/3162
X dragging sketch window hides it
X   https://github.com/processing/processing/issues/3092
X Video library is incompatible with 0233
X   https://github.com/processing/processing/issues/3114

earlier
X size(640,360 , P3D) doesn't work properly
X   https://github.com/processing/processing/issues/2924
X   https://github.com/processing/processing/issues/2925

contribs
X saveFrame() doesn't save opaque PNG files
X   https://github.com/processing/processing/issues/3031
X   https://github.com/processing/processing/pull/3067
X fixes to SVG, implement percentages and some named colors
X   https://github.com/processing/processing/pull/3205
X   https://github.com/processing/processing/issues/2992
X add option to save JSON in compact form
X   https://github.com/processing/processing/pull/3202
X Remove extra edges in sphere tessellation
X   https://github.com/processing/processing/issues/3193
X   https://github.com/processing/processing/pull/3211
X Add exceptions for FloatList and IntList when using add() w/o enough elements
X   https://github.com/processing/processing/pull/3053
X   https://github.com/processing/processing/issues/3052

akarshit
X lerpColor() outside of setup()/draw() kills sketch
X   https://github.com/processing/processing/issues/3145
X use default colorMode() with lerpColor() outside setup()
X   https://github.com/processing/processing/pull/3146
X textAlign(RIGHT) adds extra space to the right
X   https://github.com/processing/processing/pull/3078
X   https://github.com/processing/processing/issues/3028
X rectMode() broken for createShape with JAVA2D
X   https://github.com/processing/processing/issues/3024
X   https://github.com/processing/processing/pull/3102

data
X fixes for table
X   ensure # of columns and titles lines up with Table(iterator) constructor
X   add table header to html output
X   remove extra spaces from html output
X json updates
X   make save() and write() consistent between JSONObject and JSONArray
X   add indent=N to saveJSONObject/Array() methods
X   add 'compact' to JSONArray (see PR for the add to JSONObject)
X add push() and pop() to String/Int/FloatList

applet/sketch
X remove isGL(), is2D(), is3D(), displayable() from PApplet
X   these were auto-imported from PGraphics
X remove pause variable from PApplet (was not documented)
X added copy() to PImage (to work like get(), ala PVector)
X added getFontRenderContext() to PGraphics
X why doesn't p5 punt when loadFont() is used on an otf?
X   is this a GL problem? (example in bug report wasn't GL)
X   https://github.com/processing/processing/issues/2876
X   since we don't have any magic number in there, just randomly breaks
X   add check to require .vlw extension with loadFont()
X Memory usage insane increasing in 3.0a5
X   https://github.com/processing/processing/issues/3007
X   seems fixed due to the rewrite
X remove set/get/removeCache() methods from PApplet (add //ignore line)
X flicker on startup
X   https://github.com/processing/processing/issues/3134
X static mode - no setup() / draw() - broken in Java2D
X   https://github.com/processing/processing/issues/3130
X are we running on the EDT or not?
X   switched to using the EDT, but no EDT for blit() b/c it flickers

full screen
X roll back full screen changes
X   https://github.com/processing/processing/issues/2641
o new full screen sometimes causes sketch to temporarily be in the wrong spot
X   removed the new stuff since it stank, rolled back to menu bar hiding
X add option to have full screen span across screens
o   display=all in cmd line
o   sketchDisplay() -> 0 for all, or 1, 2, 3...
X   added --span option
X play with improvements to full screen here
X Ubuntu Unity prevents full screen from working properly
X   http://stackoverflow.com/questions/8837719/java-in-full-screen-on-linux-how-to-cover-task-bar
X   https://github.com/processing/processing/issues/3158
o   add notes to the Wiki about this (already added)
X     https://github.com/processing/processing/wiki/Window-Size-and-Full-Screen
X Linux throwing IllegalStateException: Buffers have not been created
X   in render() (called from blit) PSurfaceAWT:301


0232 core (3.0a5) 
X detect CMYK JPEG images and return null
X   https://community.oracle.com/thread/1272045?start=0&tstart=0
X show a warning when calling getVertexCount() on GROUP or PRIMITIVE shapes
X   https://github.com/processing/processing/issues/2873
X   https://github.com/processing/processing-docs/issues/167
X replace is3D(boolean) with set3D() 

data
X fix XML.getString() with a default when no attrs are present at all
X   was causing a NullPointerException
X   also fixes getInt() et al
X fix how dict works to not return '0' values
X   add optional second param
X   fixed for FloatDict and IntDict
X   StringDict won't throw an exception, but optional second param added
X add insert() with a single item to StringList, IntList, FloatList

table
X fix how nulls are handled with Table.replace()
X add (simple) ODS writer to Table
X add addRows(Table) method (more efficient, one resize)
X support "header" option with ODS files

pulls
X Fix check in loadShader()
X   https://github.com/processing/processing/pull/2867
X Refined PShader uniform missing message fixes
X   https://github.com/processing/processing/pull/2869
X Use correct parameter types in FloatList methods
X   https://github.com/processing/processing/pull/2902
X Pass correct offset to glCopyTexSubImage2D
X   https://github.com/processing/processing/pull/2898
X beginShape(POINTS) not working for PShape
X   https://github.com/processing/processing/issues/2912
X   https://github.com/processing/processing/pull/2915
X Multiple blending fixes & improvements
X   https://github.com/processing/processing/pull/2921
X   https://github.com/processing/processing/issues/2807
X   https://github.com/processing/processing/issues/1224
o   https://github.com/processing/processing/pull/2601
o Sort out blending differences with P2D/P3D
o   might be that compatible images not setting alpha mode correctly
o   image = gc.createCompatibleVolatileImage(source.width, source.height, Transparency.TRANSLUCENT);
o   https://github.com/processing/processing/issues/1844
X Prevent lerpColor from always rounding down
X   https://github.com/processing/processing/issues/2812
X   https://github.com/processing/processing/pull/2813
X Allow mask() with PGraphicsJava2D
X   https://github.com/processing/processing/pull/2910
X OpenGL renderers ignore vertex winding in contours
X   https://github.com/processing/processing/issues/2665
X   https://github.com/processing/processing/pull/2927
X NPE when calling Client.ip() after the connection has been closed
X   https://github.com/processing/processing/issues/2576
X   https://github.com/processing/processing/pull/2922

andres
A Confusing message: The shader doesn't have a uniform called "foo"
A   https://github.com/processing/processing/issues/2593
A Exceptions in P3D / P2D not showing up properly
A   https://github.com/processing/processing/issues/2930


0231 core (3.0a4)
X RuntimeException thrown for open arcs under specific parameters in P2D
X   https://github.com/processing/processing/issues/2854
X update to new version of JOGL (Andres)


0230 core (3.0a3)
X add another NaN check when sorting FloatList/Dict classes
X   if all values were NaN, an ArrayIndexOutOfBoundsException was thrown
X PShape for JAVA2D 
X   https://github.com/processing/processing/pull/2756
X add trim() method to the XML library

andres
X maximizing window leads to erroneous mouse coordinates
X   https://github.com/processing/processing/issues/2562

earlier
X PShape disableStyle() does not work with createShape()
X   https://github.com/processing/processing/issues/1523
X multisampled offscreen PGraphics don't clear the screen properly
X   https://github.com/processing/processing/issues/2679
X   this was done midway through the 3.0a2 release process

pull requests
X call applet.exit() instead of System.exit() from Present Mode's 'stop'
X   https://github.com/processing/processing/pull/2680
X Drawing RECT PShape with rounded corners crashes the sketch
X   https://github.com/processing/processing/issues/2648
X Corrected a typo in Tessellator#addQuadraticVertex()
X   https://github.com/processing/processing/pull/2649
X fix tiny typo in Table writeHTML()
X   https://github.com/processing/processing/pull/2773


0229 core (3.0a2)
X PImage resize() causes images to not draw
X   https://github.com/processing/processing/issues/2228
X   https://github.com/processing/processing/pull/2324
X move to native OS X full screen (gets rid of native code)
X   https://github.com/processing/processing/issues/2641
X do bounds check on setVertex(PVector)
X   https://github.com/processing/processing/issues/2556
X using createGraphics() w/o begin/endDraw(), don't attempt drawing w/ image()
X   https://github.com/processing/processing/issues/2208

data
X add copy() method to Table
X return null from getString() on NaN float and double values
X   affects how saveTable() works (writes blank entries instead of NaN)
X get(5) with an empty Int/Float/StringList was returning 0
X   https://github.com/processing/processing/pull/2343
o fix for maxValue() and minValue() when all entries are bad
o   on FloatDict it was NaN, check across the lists and other dict types
X   nothing else to do here
X FloatDict and FloatList should always put NaN values at the end on sort
X   same for the other list and dict classes
X   (this is part of the point of having these easier versions)
o 'collector' class.. Dict that points to a list
o   String as a key, int/float/string list as values
X   seems too much like a better place for HashMap
X add print() method to other data types (not just IntList)

pulls
X implement A and a (elliptical arcs)
X   https://github.com/processing/processing/issues/169
X   http://code.google.com/p/processing/issues/detail?id=130
X   https://github.com/processing/processing/pull/2659
X   done with an approximation, if re-saving this will destroy data (docs)
X fix typo in StringList.insert()
X   https://github.com/processing/processing/pull/2672
X StingList.insert() error (should be an easy fix)
X   https://github.com/processing/processing/issues/2548

earlier
X default font fixes (merged for 2.2.1 or earlier)
X   https://github.com/processing/processing/issues/2331
X   https://github.com/processing/processing/pull/2338
X image resize() takes oddly long time
X   https://github.com/processing/processing/issues/5
X   the problem was confirmed to have fixed itself


0228 core (3.0a1)
X add copy() method to PVector
X modify PVector to include better methods for chaining operations
X   http://code.google.com/p/processing/issues/detail?id=218
X   https://github.com/processing/processing/issues/257
X   PVector discussion with Dan
o   Jer and Dan will look at their code, plus toxiclibs
X blendMode() broken with default renderer
X   fix from Jakub Valtar
X   https://github.com/processing/processing/issues/2012
X   may have been introduced between 2.0b7 and 2.0b8
X   https://github.com/processing/processing/issues/2275
X   https://github.com/processing/processing/issues/2276
X   https://github.com/processing/processing/issues/2483
X if all data is NaN in a FloatDict, return NaN for maxValue() and minValue()
X   formerly as AIOOBE -1 because -1 means "not found"
X   but that was indexing directly into the data array

pulls
X filter() not applying to images produced by saveframe() consistently
X   https://github.com/processing/processing/issues/2619
X drawLatch in PJOGL can be null after requesting frame rendering
X   https://github.com/processing/processing/issues/2630

table
X major performance improvements to 'newlines' parsing
X last row was being skipped on tables with the 'newlines' option set
X debug table parsing with header rows
X bug fix for setting data types
X add getColumnTitle(int) and getColumnTitles() to TableRow interface
X fixes for new Table(Iterable)
X   category data types were not importing their dictionary
X   column titles weren't set on the new table
X   drastic performance improvements for addRow()
X when using setColumnType(), replace nulls with missingInt, missingFloat, etc
X   formerly, was throwing a NullPointerException


0227 core (2.2.1)
X Permit mouse PRESS to set mouseX/mouseY
X   https://github.com/processing/processing/pull/2509
A Fix for video, loop() broken in 2.2
A   https://github.com/processing/processing/issues/2524


0226 core (2.2)
X fix parsing with missing categorical values
X fix for splice() throwing a ClassCastException with other object types
X   https://github.com/processing/processing/issues/1445
X   https://github.com/processing/processing/pull/2461
X add candDraw() method to the retina renderer
X fix sketchPath() issue when used in another environment
X XML.getChildren() throwing NPE when getInt() called on non-existent var
X   https://github.com/processing/processing/issues/2367
X   need to sort out with docs what's happening here
X   just a reference issue
X substitute MOVE cursor with HAND on OS X
X   https://github.com/processing/processing/issues/2358
X Allow textWidth() with the default font
X   https://github.com/processing/processing/issues/2331
X   https://github.com/processing/processing/pull/2338
X bug in relative moveto commands for SVG
X   https://github.com/processing/processing/issues/2377
X Add a constructor to bind Server to a specific address 
X   https://github.com/processing/processing/issues/2356
X add disconnectEvent() to Server
X   https://github.com/processing/processing/pull/2466
X   https://github.com/processing/processing/issues/2133
X   don't document for now

cleaning
o how much of com.benfry.* should go in? 
o   Table? StringIntPairs? JSON? MD5? Integrator? ColorIntegrator?
o   decision: depends on if we can think of a good name
X   finished these up in the 2.x series
o check on DXFWriter, since it used to subclass P3D
o   at least implement is3D? 
X   should be working, barring recent regression
o sleep time needs to be set *much* higher for dormant applets
o   10s should be fine--no need to keep spinning (bad for android too)
o   just call interrupt() when it's time to get back to work
X   applets removed
X test PGraphicsRetina2D w/ 7u40 
X make sure that 7u40 doesn't reintroduce starvation issue on retina Macs
X createGraphics() with no renderer param to point to JAVA2D
X docs: P2D and P3D are now OpenGL variations
X shader support - make decisions, Andres email, etc
X antialias -> smoothMode(), smoothQuality(), quality()
o   NEAREST, BILINEAR, BICUBIC, or 0, 2, 4? (need 8x too, so maybe numbers)
X   setAntiAlias() should instead just use parent.smooth
X final decision on pg.setQuality(sketchQuality())
X   should probably be setQuality(parent.sketchQuality())

andres
X Fonts from loadFont() show up as blocks in P3D (regression)
X   https://github.com/processing/processing/issues/2465
X loadPixels problem in OpenGL
X   https://github.com/processing/processing/issues/2493


0225 core (2.1.2)
X bug with StringDict(Reader) that wasn't setting the indices hashmap
X   check this with other versions of this class
X call revalidate() via reflection
X text looks lousy compared to the Apple JVM
X   mess with rendering hints? (notes in PGraphicsJava2D)
X   improvements made, but still not amazing.. just at level of Windows/Linux
X PGraphics.colorCalcARGB(int, float) doesn't cap alpha
X   https://github.com/processing/processing/issues/2439
X run window border color changed in 2.1
X   https://github.com/processing/processing/issues/2297
X simple NPE issue that needs workaround
X   https://github.com/processing/processing/issues/2354

fixed in 2.1
X draw() called again before finishing on OS X (retina issue)
X   https://github.com/processing/processing/issues/1709
X get() not always setting alpha channel when used with point()
X   https://github.com/processing/processing/issues/1756
A support for geometry and tessellation shaders (on desktop)
A   https://github.com/processing/processing/issues/2252

andres
X copy() under OPENGL uses upside-down coordinates for cropping
X   https://github.com/processing/processing/issues/2345
X video on windows causes exception
X   https://github.com/processing/processing/issues/2327
X Shape Font Rendering was broken with the OpenGL Renderer
X   https://github.com/processing/processing/issues/2375
A depth buffer shouldn't be cleared when depth mask is disabled
A   https://github.com/processing/processing/issues/2296
A set pixels transparent by default in P2D/P3D
A   https://github.com/processing/processing/issues/2207
A unwind depth sorting because it was breaking DXF export
A   https://github.com/processing/processing/issues/2404
A Sketch hangs if sketchRenderer() returns an OpenGL renderer
A   https://github.com/processing/processing/issues/2363
A "buffer" uniform triggers shader compilation error
A   https://github.com/processing/processing/issues/2325
A   buffer has been renamed to ppixels for shaders
A noLoop clears screen on Windows 8
A   https://github.com/processing/processing/issues/2416
A fix pixels[] array for video capture
A   https://github.com/processing/processing/issues/2424


0224 core (2.1.1)
X PImage resize() causes PImage not to be rendered in JAVA2D
X   https://github.com/processing/processing/issues/2179
X remove make.sh from core.. ancient
X remove println() from dataPath()
X add special case for 'null' to println()
X added print() method to IntList
X fix esoteric typo with alpha and color
X   https://github.com/processing/processing/issues/2230
A pushStyle/popStyle should save/restore blendMode
A   https://github.com/processing/processing/issues/2232
A get() + video requires loadPixels in P2D/P3D
A   https://github.com/processing/processing/issues/2202

opengl
A PImage copy() function used with P2D flips the image
A   https://github.com/processing/processing/issues/2171
A filter shaders don't need to use the texture uniform
A   https://github.com/processing/processing/issues/2204
A texture() bug with stroke() in P2D
A   https://github.com/processing/processing/issues/2205
A allow sharing of GL context amongst multiple windows
A   https://github.com/processing/processing/issues/1698
A texture sampling setting is ignored when creating an offscreen PGraphics
A   https://github.com/processing/processing/issues/1900
A rounded rect broken with Processing 2.1 P3D renderer
A   https://github.com/processing/processing/issues/2193
X Clear the global PGL on dispose() (from JDF)
X   https://github.com/processing/processing/pull/2279
A pie arcs have stroke between endpoints in P2D/P3D
A   https://github.com/processing/processing/issues/2233


0223 core (2.1)
X fix dataPath() problem with OS X (was breaking Movie)
X alpha values from the pixels array coming back as 0
X   only tested on background(), not image()
X   https://github.com/processing/processing/issues/2030

opengl 
X Using sketchQuality() does not work properly with P3D, OPENGL, P2D
X   https://github.com/processing/processing/pull/2157
X Fix crashes when the sketch window is resized
X   https://github.com/processing/processing/issues/1880
X   https://github.com/processing/processing/pull/2156
X scale() wasn't affecting stroke weight in P3D
X   https://github.com/processing/processing/issues/2162
X add set(boolean) to PShader
X   https://github.com/processing/processing/issues/1991
X   https://github.com/processing/processing/pull/1993
X add PMatrix.preApply(PMatrix)
X   https://github.com/processing/processing/pull/2146
X   https://github.com/processing/processing/issues/2145
X updated to another version of JOGL
X   updated to jogl-2.1-b1115, gluegen-2.1-b735 for OSX 10.9 support
X Add warning when no uv texture coordinates are supplied
X   https://github.com/processing/processing/issues/2034
X threading/flicker issues when resizing P2D/P3D/OPENGL
X   https://github.com/processing/processing/issues/15
X additional flicker avoidance
X   https://github.com/processing/processing/commit/cca2f08a24ef892c494f5a75aa0e4b01de7e5d8a


0222 core (2.1b1)
X background color for present mode has no effect
X   https://github.com/processing/processing/issues/2071
X   https://github.com/processing/processing/pull/2072
X add desktopPath() and desktopFile() methods for testing
X screen stops updating sometimes with retina
X   https://github.com/processing/processing/issues/1699
X Unicode NLF causing problems in XML files
X   https://github.com/processing/processing/issues/2100
X   not handled by BufferedReader (or XML parser)
X   http://stackoverflow.com/questions/10556875/list-of-unicode-characters-that-should-be-filtered-in-output
X   http://stackoverflow.com/questions/3072152/what-is-unicode-character-2028-ls-line-separator-used-for
X fix image transparency in PDF output
X   https://github.com/processing/processing/pull/2070
X Java2D images crash after being resized
X   https://github.com/processing/processing/issues/2113
X constrain lerpColor() between 0 and 1
X JSONObject/Array.format(-1) not working on embedded JSONObjects
X   https://github.com/processing/processing/issues/2119
X allow println() and print() to take varargs 
o   https://github.com/processing/processing/issues/2056
X   causes conflict with printing arrays
X   added printArray() function instead
o custom DPI settings with PDF
X   https://github.com/processing/processing/pull/2069
X pdf not rendering unicode with beginRecord()
X   seems to have fixed itself / can't reproduce
X   http://code.google.com/p/processing/issues/detail?id=90
X   https://github.com/processing/processing/issues/129
X insertRow() bug
X   https://github.com/processing/processing/issues/2137

opengl
X fix inconsistency with P2D and resetMatrix()
X   https://github.com/processing/processing/issues/2087
X text rendering problems
X   https://github.com/processing/processing/issues/2109
X textSize() not working properly in P2D
X   https://github.com/processing/processing/issues/2073
X incorrectly applied transformations in retained mode
X   https://github.com/processing/processing/issues/2097
X push/popStyle() causes color problems with P2D/P3D
X   https://github.com/processing/processing/issues/2102
X child SVG elements misplaced when rendering with P2D/P3D
X   https://github.com/processing/processing/issues/2086
X SUBTRACT and DIFFERENCE blend modes are swapped
X   https://github.com/processing/processing/issues/2075
X throw an error for textureMode(REPEAT) [fry]
X   https://github.com/processing/processing/issues/2052
X Updated to JOGL 2.1.0
X   https://github.com/processing/processing/issues/2136
X vertex codes not being properly set in P2D/P3D
X   https://github.com/processing/processing/issues/2131
X some box normals are inverted
X   https://github.com/processing/processing/issues/2151


0221 core (2.0.3)
X fix options parsing on loadTable() to handle spaces
X add static versions of loadJSONObject and loadJSONArray that take File inputs
X PVector.angleBetween() returns 0 for 3D vectors whenever x and y are both 0
X   https://github.com/processing/processing/issues/2045
X   https://github.com/processing/processing/pull/2046

andres
X blendMode() change causes OpenGL renderer to be very slow
X   https://github.com/processing/processing/issues/2021
X serious OpenGL performance issues on OS X (fixed earlier?)
X   https://github.com/processing/processing/issues/1714
X   fixed with a recent JOGL update
X P2D low quality text rendering
X   https://github.com/processing/processing/issues/1972
X Rendering artifacts on the diagonal line (topleft to bottomright) in P2D
X   https://github.com/processing/processing/issues/1964
X Fix issues with slow text rendering and OpenGL
X   https://github.com/processing/processing/issues/2025
X loadShape doesn't load OBJ files in subdirectories properly
X   https://github.com/processing/processing/issues/2003
X more OpenGL issues fixed by JOGL or newer drivers
X   https://github.com/processing/processing/issues/1986
X Vertical offset when sketch height is indivisible by 2
X   https://github.com/processing/processing/issues/1985
X ellipse() causes RuntimeException: java.lang.OutOfMemoryError
X   https://github.com/processing/processing/issues/1941
X beginShape()..endShape() lines look wrong at joins/caps with P2D
X   https://github.com/processing/processing/issues/1927
X Corrupted text with large font and OpenGL
X   https://github.com/processing/processing/issues/1869
X loadFont hangs on Processing 2.0 with any OpenGL renderer
X   https://github.com/processing/processing/issues/1854
X copy doesn't produce a true copy with P2D and P3D renderers
X   https://github.com/processing/processing/issues/1924
X Additional improvements to memory handling with images
X   https://github.com/processing/processing/issues/1975
X PShape does not draw arc properly
X   https://github.com/processing/processing/issues/1990

X Additional memory handling changes for render buffers
X   https://github.com/processing/processing/issues/1776
X PShape style is not restored after calling enableStyle in P2D/P3D
X   https://github.com/processing/processing/issues/2061

video
X problem with bit shifting
X   https://github.com/processing/processing/pull/2023
X   https://github.com/processing/processing/pull/2022
X   https://github.com/processing/processing/issues/2021


0220 core (2.0.2)
X basic getShape(ch) implementation for font glyph shapes
X change QUAD_BEZIER_VERTEX to QUADRATIC_VERTEX to match the API call
X   because this lives inside PConstants
X Error in IntList and FloatList insert()
X   https://github.com/processing/processing/issues/1929
X selectInput() in exported OS X sketch treats .app package as a folder
o   Oracle Java 7 problem, but maybe a workaround?
o   might be a problem with awt dialogs for directories? 
X   https://github.com/processing/processing/issues/1959
X   turns out this is an apple.awt tweak for the exported Info.plist
X getSubset() broken in IntList, StringList, and missing from FloatList
X   https://github.com/processing/processing/issues/1979
X Present Mode does not work properly on Windows
X   https://github.com/processing/processing/issues/1955
X add retina switch for PApplet to set useActive with OS X and 7u40
X   prevents speed/performance issues with old sketches on retina macs
X add error message for raspberry pi (and others?) about int buffers
X   https://github.com/processing/processing/issues/2010
X   not fixed, but made notes there about how to handle
X add sum() to IntList and FloatList
X   https://github.com/processing/processing/issues/1893
X retain blendMode() between frames
X   https://github.com/processing/processing/issues/1962
X   this should actually be in the code.. 
X   maybe not working on OS X/retina?
X   perhaps it's a getGraphics() issue?
X when using increment() on IntList, make sure the index exists
X   automatically resize the list if necessary
X   (this is more in keeping with increment() in the Dict classes)
X add join() method to Int/Float/StringList
X add getContent(defaultValue) to XML
X add isNull() (returns boolean) to JSONObject/Array
X   https://github.com/processing/processing/issues/2009
X add getXxxx(xxx, defaultValue) methods to JSONObject/Array
X   https://github.com/processing/processing/issues/2007

cleaning
X load/save methods.. is it save("blah.svg") or saveSVG("blah.svg")
X   also works that way with tables
o   decision: useExtension() or something like that
X   put saveXxxx() methods inside PApplet
o require people to put things in the data folder

table
X add sort() to Table
X implement version of Table that takes a dictionary file
X   dictionary=blah.tsv 
X   tsv only, ignores extension
X   if allowed extension, we couldn't use .dict instead
X   and that's probably the most useful
X constructing table from an iterator is missing
X   https://github.com/processing/processing/issues/1956

andres
X pixels[] array not updated with Capture and P2D/P3D
X   https://github.com/processing/processing/issues/1852
X Unable to get TAB key event with P2D/P3D renderer
X   https://github.com/processing/processing/issues/1967
X Setting an INT4 uniform in PShader causes an out of bounds exception
X   https://github.com/processing/processing/issues/1994
X updated JOGL to 2.0.2


0219 core (2.0.1)
X add error message for what line was bad while parsing a table
X   otherwise confusing ArrayIndexOutOfBoundsException while parsing bad CSV
X getVertex() trying to get three values when no Z-coord is available
X   "PShape getVertex() not implemented properly for SVG files"
X   https://github.com/processing/processing/issues/1596
X typo in printProjection() method
X   https://github.com/processing/processing/issues/1863


0218 core (2.0)
X textureWrap(REPEAT) + textureMode(IMAGE) clamps positive coordinates
X   https://github.com/processing/processing/issues/1809
X saveJSONArray() loops forever, triggers error
X   https://github.com/processing/processing/issues/1827
X patch to make font textures smaller in P2D/P3D
X   https://github.com/processing/processing/pull/1775
X .png data written when .jpg file specified with save/saveFrame()
X   https://github.com/processing/processing/issues/1810
X remove() broken in the List classes
X   https://github.com/processing/processing/issues/1826
X Java2D surfaces not updating when used with OpenGL
X   PGraphics using JAVA2D will not update when used with P2D or P3D
X   https://github.com/processing/processing/issues/1786
X several additional functions for data classes
X change to the binary table file format
X   not backwards compatible, b/c this feature is unannounced
X parse exception thrown when using getChildren() on an XML object
X   https://github.com/processing/processing/issues/1796
X change XML.toString() to just send a single line of text
X   instead of a full XML-formatted beastie
o PNode.getChildren() shouldn't make a new array.. toArray() can do that

cleaning
X move requestFocusInWindow() to safter EDT place
A remove PImage.delete() and friends from PImage, Movie, etc.
o add shuffle methods for arrays
X   http://code.google.com/p/processing/issues/detail?id=229
X   https://github.com/processing/processing/issues/268
X   now implemented in the List classes

andres
A PImage not drawn after resize()/get() in P2D/P3D
A   https://github.com/processing/processing/issues/1830
A Can't disable textures for loaded OBJ shapes (2b9)
A   https://github.com/processing/processing/issues/1825
A Can't mask PGraphics with another PGraphics
A   https://github.com/processing/processing/issues/1738
A PGL.readPixels() causes "invalid operation" error
A   https://github.com/processing/processing/issues/1666
A Strange behavior of PGraphics pixels[] when using P2D and P3D renderer
A   https://github.com/processing/processing/issues/1815
A PShape setVertex has a memory leak
A   https://github.com/processing/processing/issues/1670
A PGL lacks a wrapper for the alphaFunc() method and the ALPHA_TEST constant
A   https://github.com/processing/processing/issues/1703
A Implement textMode(SHAPE) for 3D
A   https://github.com/processing/processing/issues/777
A PImage.loadPixels() shouldn't be calling out to the renderer
A   setting image.parent = null for it makes it work again for get().save() case
A Setting smooth(n) affects disables background in setup()
A   https://github.com/processing/processing/issues/1452
A P2D/P3D sketches don't get focus until clicked
A   also problem for Java2D when canvas is used?
A   need to standardize canvas handling
A   https://github.com/processing/processing/issues/1700
o warning message present
o   Deleted 1 texture objects, 0 remaining
A   fixed in last round
A P2D, P3D drawing errors in static mode, gray screen
A   https://github.com/processing/processing/issues/1648
A Window shorter than 127 pixels high is not rendered correctly in P2D/P3D
A   https://github.com/processing/processing/issues/1683
A Multiple screen crash with OpenGL
A   https://github.com/processing/processing/issues/1515


0217 core (2.0b9)
X add set(x, y) to PVector (shiffman)
X loadImage() with TGA causing images to be upside-down
X   https://github.com/processing/processing/issues/1682
A image caches not being properly disposed (weak references broken?)
X   http://code.google.com/p/processing/issues/detail?id=1353
A   https://github.com/processing/processing/issues/1391
X implement content specifiers
X   getIntContent()
X   getFloatContent()
X   getContent() or getStringContent()?
X switch to CATEGORY instead of CATEGORICAL
X removed createXML() and createTable()... just use 'new' for these
X implement means for setting dpi in PNG images
X   need to add something for API yet
o   JAI handles setting image size for png (check javax.imageio?) 
o   PNGEncodeParam png = PNGEncodeParam.getDefaultEncodeParam(bufImage);
o   png.setPhysicalDimension(round(dpi*39.370079), round(dpi*39.370079), 1);
o   JAI.create("filestore", bufImage, filename+".png", "PNG");
X tint() with JAVA2D does not automatically refresh (with possible fix)
X   https://github.com/processing/processing/issues/1730
X change how updatePixels() is called in PGraphicsJava2D
X   only call setModified(), not updatePixels() in endDraw()

andres
A lines not properly renderered in P3D when using ortographic projection
A   https://github.com/processing/processing/issues/1661
A "deleted n framebuffer objects" 
A last lines of a beginShape(LINES) are invisible in the P2D renderer
A   https://github.com/processing/processing/issues/1761
A Incorrect number of vertices on beginShape(TRIANGLES) affect subsequent Shapes
A   https://github.com/processing/processing/issues/1760
A rendering unlit geometry with TEXLIGHT shader throws misleading error message
A   https://github.com/processing/processing/issues/1757

earlier
X decision on registered methods
X   remove registerPre() et al
X   add register("pause", ...) 
X   size() should be resize(), so it can be overridden (ala pause())
X   add PEvent
X need to wrap mouse/key events for p5
X   need a version that works with both android and desktop
X   also need to interleave events properly (as per report)

mouse wheel
X add mouse wheel support to 2.0 event system
X   https://github.com/processing/processing/issues/1461
X   http://code.google.com/p/processing/issues/detail?id=1423
X   this is fairly messy since desktop and JS behave a little differently
o   wheel event should subclass mouse (since position still relevant)
X     just another sub-event as part of mouse
o   might be more effort than it's worth?
X   peasycam uses e.getWheelRotation()
X   js has a couple versions
X     http://www.javascriptkit.com/javatutors/onmousewheel.shtml
X     e.detail is 1 for 1 tick upward (away), -2 for 2 ticks down
X     e.wheelDelta is 120 for 1 click up, -240 for two clicks down
X     this is for non-natural! opposite of Java.. ugh
X testing with Java on OS X
X   natural on OS X: up is 1 unit, down is -1 units
X     non-natural: up is -1 units, down is +1 unit
X   Windows says 3 units per notch, OS X says just 1
X   appears to be opposite of JS
X   using float value (/120.0f)
X   high-precision method grabbed if 1.7 is in use
X   test with actual wheel mouse
X   test on Windows
X   decide on getAmount() and weirdness w/ clickCount
X   add note re: API docs
X     get mouseWheel() added to api ref
o     also added to keywords.txt
X   ref: "negative values if the mouse wheel was rotated up or away from the user"
X   http://docs.oracle.com/javase/6/docs/api/java/awt/event/MouseWheelEvent.html#getWheelRotation()
X   http://docs.oracle.com/javase/7/docs/api/java/awt/event/MouseWheelEvent.html#getWheelRotation()

data
X are we comfortable with setInt/Float/etc instead of just set(int, blah)
X   yes, better to have parity
X   too weird to have to explain why getXxx() needs types and set() doesn't
X get/set with Java's 'Map' class?
X   really useful, but leaning toward not including it
X   or leave it in as an advanced feature?
X createXxx() methods less important
X   XML.parse() - or new XML("<tag>") or new XML("tag")
X api note: size() used in data classes
X   length() too confusing w/ array.length being built-in (when to use ()?)
X   size() a bit confusing with the p5 size command, but less problematic
o   also shorter than getCount() or getLength()
o why not HashMap and ArrayList for JSON? 
o   could enable loadHash() and loadArray() functions
X   because the types coming back out would always have to be cast
o add loadDict() and loadList() for JSON?
o   Dict and List could be interfaces? 
X "hash.toJSONObject()" or "new JSONObject(hash)"
X   opted to use "new JSONObject" version, appears less awkward
o match? find? on StringList?
X naming for descending sort
o   rsort(), sortReverse(), sortKeysReverse, 
o   sortDescend, sortDescending, sortKeysDescending, 
o   sortHighLow, sortHigh, sortHighest, sortDown
X   sortReverse() is the final decision

data / document
X no save/load for hash and list classes
X   because no native format
X   write() and constructor are enough for advanced users
o add() to add things to lists, inc/dec for the math
o   inc/dec/sum is used less, after all
X   or append()? since that's what JSON is currently using
X   append() nicer, inc/dec felt arcane (and forced)
o Lookup instead of Hash or Dict?
o increment, decrement, increase, decrease instead of add/subtract
o   does double duty for incrementing/decrementing easily
o   inc(), inc(amount), dec(), dec(amount)
X replace (especially for null and NaN)
X   make note that these work, and are special cases
o listAttributes() in XML is like array from keys() etc in our data classes
X removeIndex() vs removeValue() vs remove() 
X   remove() refers to an index (with array) or key (with hash)
X   more consistent with other APIs (Java)
X   replaceValue[s]() the same, though more on the line
o   should we not have remove() and removeIndex()
o     and instead always specify? removeKey(), removeIndex(), removeValue()?
o     would mean that hash would only have removeKey
o     downside: remove() takes whatever get() takes as arg
X   with removeValue(), add removeValues() for all values that match?
X     also support NaN here
X need to sort out the final version of hash/dict/etc and their names
X JSONObject.has(key) vs XML.hasAttribute(attr) vs HashMap.containsKey()
X   and how it should be handled with hash/dict
X   right now using hasKey().. in JSONObject
o   contains() as default, then containsValue() as the alternate
o     instead of containsKey() and containsValue()
X   hasAttribute in XML, containsKey in java's Map, hasKey in JSON
X   hasChildren() is another precedent
o   contains() is nice, but containsKey() is weird, often not 'containing'
X   hasKey/hasValue is best; fewest changes and most descriptive

json
X loadJSONArray, loadJSONObject
X getIntArray() for JSONArray
X misc bugs with last release
X   https://github.com/processing/processing/issues/1660
X   https://github.com/processing/processing/issues/1680
X Dan having trouble with JSON
X keys() vs keySet() in JSON.. 
X   keys() doesn't iterate, keySet() introduces 'Set' type
X parseJSONObject(x) and parseJSONArray(x)

table
X do we need getColumnType() inside TableRow? 
X   also inside Table
X   also do we make the constants public?
X table writing twice when .csv is added 
X   https://github.com/processing/processing/issues/1734
X checkOptions() is a mess.. need to use different options for load/save
X   rewrite it as necessary
X implement binary tables
X   these might be partially set
o add .gz as option for writing (and bz2?)
X   handling gz properly, but gz has to be the extension
X   adding it to options is too messy
o add 'gz' as one of the loadXxx() options
o   helps .svgz case from being weird, also generally dealing w/ compressed data
X include SQL, HTML, ODS, binary? 
X   decide on TableODS, TableHTML
X   HTML is out--too confusing
X   ODS is in for loading, and finished
o   naming HTMLTable, TableHTML (ala PShapeSVG)
o   or should it be HTMLTable / HtmlTable... then SVGShape / SvgShape
X   SQL can be done with a constructor
X   this will just be available for advanced users
X getColumnType() - what should it return?
o   Integer.TYPE, String.class? still nothing for categorical
o   maybe it's Table.INT since it's for advanced users anyway
o   problem is loading types from file, no way to access it from code
o   CATEGORICAL -> CATEGORY? ORDINAL?
X add clearRows()
X improve load/save of .gz files with Table, clear up some .bin issues

xml
o add nodes() (no) or children() to XML?
X   not necessary, getChildren() already exists


0216 core (2.0b8)
X Add clear() to replace background(0, 0, 0, 0)
X   http://code.google.com/p/processing/issues/detail?id=1446
o add loadType() and saveType()... get working with shapes, etc
X heading2D()? weird.. changed to heading()
X   http://toxiclibs.org/docs/core/toxi/geom/Vec3D.html
X   http://code.google.com/p/processing/issues/detail?id=987
o hint(OPENGL_ERRORS) should be the opposite to enable the reporting, no?
o   hint(ENABLE_OPENGL_ERRORS) should be the hint.. disabled by default
X   nah, just leave these turned on since (potentially) important
X fix table loading quirk with extensions
o full screen not auto-enabling with displayWidth/Height
X   Opting not to do this, because we can't remove the decorations on the
X   window at this point. And re-opening a new winodw is a lot of mess.
X   Better all around to just encourage the use of sketchFullScreen()
X   or cmd/ctrl-shift-R in the PDE.
X make notes about methods removed from JSON to be conservative
X remove default findNative() that was enabling native fonts w/ p5
o when using loadFont(), don't enable native fonts unless hint() in use
o   but on createFont(), we're probably OK
o   might need to make reference notes about the two behaviors
X   decision: remove hint(ENABLE_NATIVE_FONTS)
X PImage.resize() greater than image size hangs 
X   http://code.google.com/p/processing/issues/detail?id=1463
X   turns out to be errata from the book
X add warning message when registering AWT mouse/key events
X   don't let OpenGL fire those mouse events at all
X   phrase the warning differently when OpenGL is in use (or only show then?)
X   halt with OpenGL, otherwise will be ignored
X show warning when registering mouse/key events with OpenGL
X deprecate mouseEvent and keyEvent
X add functions for mousePressed(event) and keyPressed(event) et al
X   better to do this instead of bringing back the magic event
X   or implementing the magic event on Android
X   also problematic with it not being called now
X loadBytes does not close input stream
X   http://code.google.com/p/processing/issues/detail?id=1542
X add randomGaussian()
X Add TAU as alias for TWO_PI
X   http://code.google.com/p/processing/issues/detail?id=1488
X   ref assigned here: https://github.com/processing/processing-web/issues/9
X fixes for removeColumn()
X remove SVG warning about "#text" ignored
X fix bug where noDelays wasn't being used in PApplet
X remove "ignoring #text tag" from SVG loader
X   can ignore any # items altogether
o add "CGAffineTransformInvert: singular matrix" problem to the Wiki
X   http://code.google.com/p/processing/issues/detail?id=1363
X   confirmed fixed with 6u41
X Default Renderer slow on retina displays
X   http://code.google.com/p/processing/issues/detail?id=1262
X   https://github.com/processing/processing/issues/1300
o don't allocate Java2D buffer inside beginDraw()
X   otherwise PDF will make an enormous image even if it's not needed
X   modify PDF to not call super.beginDraw()

andres
A P3D sketches failing to run
A   http://code.google.com/p/processing/issues/detail?id=1500
A transparent pixels are not set on multisampled offscreen GL surfaces
A   http://code.google.com/p/processing/issues/detail?id=1516
A clean-up PShape API
A   http://code.google.com/p/processing/issues/detail?id=1518
A several key/mouse event issues in the db
A   http://code.google.com/p/processing/issues/detail?id=1464
A finalize shader API
A   https://github.com/processing/processing/issues/13
A "focused" become false when window is clicked in OPENGL and P2D renderer
A   http://code.google.com/p/processing/issues/detail?id=1483
A   https://github.com/processing/processing/issues/1521
A cursor(...) and noCursor() having trouble in P2D or P3D mode
A   noCursor() seems quite/somewhat broken
X   started some work, ignores 'invisible' already being set
X   http://code.google.com/p/processing/issues/detail?id=1574
X   https://github.com/processing/processing/issues/1612
A OpenGL/P3D sketches show graphical corruption
A   needs to be set to other color
X   http://code.google.com/p/processing/issues/detail?id=1452
X   https://github.com/processing/processing/issues/1490
A with DISABLE_STROKE_PERSPECTIVE, use GL lines, not triangles to draw lines
A   https://github.com/processing/processing/issues/1598
X   http://code.google.com/p/processing/issues/detail?id=1560
A   disable stroke perspective by default (but this didn't fix it)
A   fixed the disappearance, though still imperfect
A Fix get()/set() problems with images and OpenGL
A   https://github.com/processing/processing/issues/1613
X   http://code.google.com/p/processing/issues/detail?id=1575
o arc with large strokeWeight is very slow in P2D renderer
A   marked WontFix, workaround is to create a PShape
A   https://github.com/processing/processing/issues/1583
A   http://code.google.com/p/processing/issues/detail?id=1545
A child PShape disappears when geometric transformations are applied
A   http://code.google.com/p/processing/issues/detail?id=1460
A   https://github.com/processing/processing/issues/1498
A repeated fill() in P3D throws ex for groups, weird behavior for single shapes
A   http://code.google.com/p/processing/issues/detail?id=1524
A   https://github.com/processing/processing/issues/1562
A Incorrect sampler2D alpha channel from PGraphics.filter(shader)
A   https://github.com/processing/processing/issues/1557
X   http://code.google.com/p/processing/issues/detail?id=1519
A Mouse data erratic in P2D
A   https://github.com/processing/processing/issues/1626
A Destroying an OpenGL PApplet doesn't terminate SharedResourceRunner thread
A   https://github.com/processing/processing/issues/1483
A   http://code.google.com/p/processing/issues/detail?id=1445
A exit() crashes Java on P2D and 3D when fullscreen only
A   https://github.com/processing/processing/issues/12
_ Default filter on PGraphics does nothing (JAVA2D) or causes crash (P2D/P3D)
_   https://github.com/processing/processing/issues/1534
X   http://code.google.com/p/processing/issues/detail?id=1496
A crash when running latest P2D/P3D under VMware
A   https://github.com/processing/processing/issues/1644
A SVG width and height not properly set with P2D, P3D & OPENGL renderers
A   https://github.com/processing/processing/issues/1641
A Re-implement per-vertex coloring in P2D/P3D
A   https://github.com/processing/processing/issues/1196
X   http://code.google.com/p/processing/issues/detail?id=1158
A P2D, P3D drawing errors in static mode, gray screen
A   https://github.com/processing/processing/issues/1648

cleaning/earlier
C textureWrap() CLAMP and REPEAT now added
C begin/endContour()
o consider enable("mipmaps") instead of hint(ENABLE_MIPMAPS)
X clean up PConstants and move things into PGraphics that needn't be available
o getGLProfiles stuff.. can't do getGL2(), not good x-platform
o disable smoothing on noSmooth(), use hint to do 2x vs 4x smoothing

table
X added lastRowIndex()
X rows() instead of getRows() (doesn't perform like our other get() functions)
X   it's more like keys() and values() in HashMap
X addRow() returns TableRow object to be modified
X lastRowIndex() (to avoid getRowCount() - 1)
X   not lastRow() because Row functions return TableRow object/intf
X makeNullEmpty() -> replace(null, "");
X makeEmptyNull() -> replace("", null);
X saveTable("filename.tsv") or saveTable("filename.txt", "tsv")
X createTable() method in PApplet
X removed getUniqueXxxx() and some others, pending names
X added listUnique() and tallyUnique() 
X added getColumnCount() to TableRow
X cleaned up checkBounds()

xml library
X removed 'name' field to avoid possibility of random errors
X confirmed that DOM "correct" version includes the text nodes
X new XML(name) also throws an ex, use createXML() or appendChild("name")
X remove XML.parse() from the reference (it throws an exception)
X   use parseXML() instead
o do we need a trim() method for XML?
o   use XSL transform to strip whitespace
o   helpdesk.objects.com.au/java/how-do-i-remove-whitespace-from-an-xml-document
X   messy, just not great
o isWhitespace() method for nodes? (that's the capitalization used in Character)
X   doesn't help much
o get back to PhiLho once finished
X XML toString(0) means no indents or newlines
X   but no way to remove indents and still have newlines... 
X   toString(-1)? a new method?
X   format(2), format(4)... toString() -> default to 2 params
X   fix this across the other items
X look into json and how it would work wrt XML
o   1) we bring back getFloatAttribute() et al., 
o      and make getFloat() be equivalent to parseFloat(xml.getContent())
o   2) we keep getFloat() like it is, and add getFloatContent(), etc.
o   3) we deprecate our nice short getFloat/getInt/etc and go with 
o      getXxxxAttribute() and getXxxxContent() methods.
X   not gonna do getFloatContent() since it's not really any shorter
X beginning slash in getChild() threw an NPE
X XML.format(0) throws error
X   http://code.google.com/p/processing/issues/detail?id=1512
X fix XML problems on Android as well


0215 core (2.0b7)
X change to getRows() method for iterating through the Table object
X add parseInto() method (provisional)
X change translate() and rotate() to use x, y, z as param names
o opengl.jar with eclipse
o   auto-extract native libs from opengl.jar 
o   to remove java.library.path problems (!)
X   no longer necessary, JOGL does this by default
X implement clip()/noClip()
X remove blend(), add blendMode()
X   http://code.google.com/p/processing/issues/detail?id=1385
o implement a more efficient version of blend()
o   http://code.google.com/p/processing/issues/detail?id=120
o Problem with beginShape()/endShape() when using multiple contours
X   http://code.google.com/p/processing/issues/detail?id=1396
X   just a documentation issue
A PShape and lights results in more lit vertices
A   http://code.google.com/p/processing/issues/detail?id=1342
A Implement anisotropic filtering when using OPENGL
A   http://code.google.com/p/processing/issues/detail?id=502
X move _MASK constants out of PConstants and into PImage
X how should stroke work w/ arcs?
X   decision: we should do pie, you can make the other kind w/o it
X   add an additional parameter for the others
X   http://code.google.com/p/processing/issues/detail?id=711
X changed events to PRESS, RELEASE, CLICK, DRAG, MOVE, ENTER, EXIT
X   instead of past-tense versions of the same
A Implement arc() with modes on OpenGL
A   http://code.google.com/p/processing/issues/detail?id=1406
X relative coordinates not updated properly on closepath with SVG files
X   http://code.google.com/p/processing/issues/detail?id=1058
X add XML.getLong() (also updated Android)
X   http://code.google.com/p/processing/issues/detail?id=1378
X beginShape(QUAD) not working with Java2D
X   http://code.google.com/p/processing/issues/detail?id=1365
X fix for PMatrix3D.mult() when vectors are identical
X   http://code.google.com/p/processing/issues/detail?id=921
A back-buffer sampler in OpenGL renderers
A   http://code.google.com/p/processing/issues/detail?id=1169
X image resizing is ugly (just use java2d?)
o   also deal with copy()/blend() inaccuracies
X   http://code.google.com/p/processing/issues/detail?id=332
o key/mouse events have concurrency problems with noLoop()
X   http://code.google.com/p/processing/issues/detail?id=187
o   need to say "no drawing inside mouse/key events w/ noLoop"
X   changed to reference issue
X redraw() doesn't work from within draw()
X   http://code.google.com/p/processing/issues/detail?id=195
X   make note for Casey to include this in the reference
X Potential race condition when resizing sketches
X   http://code.google.com/p/processing/issues/detail?id=697
X removed mask(int[]).. check reference to make sure it's not in use
X how to handle get(x, y, w, h) when off screen? 
X   http://code.google.com/p/processing/issues/detail?id=925
A curves aren't rendered seperately when P3D or P2D is specified
A   http://code.google.com/p/processing/issues/detail?id=1317
A FBO handling in PGL is not transparent
A   http://code.google.com/p/processing/issues/detail?id=1282
A Shaders are passed wrong defaults when calling "filter" on a PGraphics object
A   http://code.google.com/p/processing/issues/detail?id=1301
A P2D/P3D PGraphics buffer fails to draw if larger than main surface
A   http://code.google.com/p/processing/issues/detail?id=1255
A image(pgraphics, x,y, w, h) only draw once when shrinking
A   http://code.google.com/p/processing/issues/detail?id=1382
A P2D/P3D crashes when trying to display unicode text
A   http://code.google.com/p/processing/issues/detail?id=1308
A beginContour() behaves differently in immediate and retained modes
A   http://code.google.com/p/processing/issues/detail?id=1417
A use to pixels array breaks after resize
A   http://code.google.com/p/processing/issues/detail?id=1119
A no stroke with OpenGL sketches on a 2007 Mac Mini (GMA 950)
A   http://code.google.com/p/processing/issues/detail?id=1222
A ortho() displays strange line widths
A   http://code.google.com/p/processing/issues/detail?id=1285
A resizeable frame crashes sketch with AMD video card
A   http://code.google.com/p/processing/issues/detail?id=1175
A set(x, y, PImage) doesn't work with P2D/P3D
A   http://code.google.com/p/processing/issues/detail?id=1185
A Processing 2.0b6 p2d / p3d arraylist pvector display issues
A   http://code.google.com/p/processing/issues/detail?id=1421
A Using a PGraphics as a texture produces visual artifacts in P2D/P3D.
A   http://code.google.com/p/processing/issues/detail?id=1420
X set quality level higher when exporting JPEG images
o   add ability to control jpeg compression level with save() and saveFrame()
o   or just write a better example for this one?
X   http://code.google.com/p/processing/issues/detail?id=58
X using com.sun.image.codec.jpeg.* in PImage causes problems with OpenJDK
X   http://code.google.com/p/processing/issues/detail?id=1424
X fix problem with background() and the default composite (for Casey)
X   also store the default composite instance and use that on blendMode(BLEND)
X disable Quartz renderer to fix line blending problem from Casey
X   might make sketches run more slowly
X fix double error report about textMode(SCREEN)
X how to handle stroke/fill separation in OpenGL
X   hint(DISABLE_OPTIMIZED_STROKE)
X   http://code.google.com/p/processing/issues/detail?id=1302
X   change name for hint() that controls stroke/fill combo:

andres (cleanup)
A when turning smoothing on, internal lines of shapes are visible
o   add an edge flag when tesselating 
o   mind the opengl tesselation flags
o   need to turn off smoothing for the interior of shapes
A   http://code.google.com/p/processing/issues/detail?id=53
o textAlign(CENTER) with P3D and OPENGL produces messy result
o   probably rounding error with the images
X   http://code.google.com/p/processing/issues/detail?id=65
X Signature issue on contributed libraries affects unrelated opengl sketches
X   http://code.google.com/p/processing/issues/detail?id=261
A Implement efficient version of copy() in PGraphicsOpenGL
A   use glCopyPixels() or glReadPixels() instead of copy() method
A   http://code.google.com/p/processing/issues/detail?id=119
A copy() does not update the screen with OpenGL
A   http://code.google.com/p/processing/issues/detail?id=118
A strokeCap() and strokeJoin() for use with OPENGL
A   http://code.google.com/p/processing/issues/detail?id=123
A inconsistent anti-aliasing with OpenGL
A   http://code.google.com/p/processing/issues/detail?id=217
A noCursor() + OPENGL = won't get past setup()
A   http://code.google.com/p/processing/issues/detail?id=1345
A set() requires updatePixels() with OpenGL
A   http://code.google.com/p/processing/issues/detail?id=89
A chopping out triangles in OpenGL (though it's only 2D drawing)
A   http://code.google.com/p/processing/issues/detail?id=193
A shared interface for 3D view data across desktop/Android
A   http://code.google.com/p/processing/issues/detail?id=970
A Distortion of 2D shapes when sphereDetail() is used
A   http://code.google.com/p/processing/issues/detail?id=762
A OPENGL renderer stops rendering after text is written using textMode(SCREEN)
A   http://code.google.com/p/processing/issues/detail?id=710
A OpenGL renderer cannot draw down-right diagonal lines (OS X)
A   http://code.google.com/p/processing/issues/detail?id=1290
o   marked invalid, can disable stroke perspective, etc

cleaning
o remove screenBlend(), textureBlend() from PGraphics et al
o have andres take over all current GL issues in the tracker
X Support 'black' as color for SVG files (PhiLho fix)
X   http://code.google.com/p/processing/issues/detail?id=1010
o catch sun.dc.pr.PRException?
X   http://code.google.com/p/processing/issues/detail?id=39
X   no longer valid
X work through loadPixels in PImage, how consistent do we need to be?
X   with get() and set() methods, this gets really tricky (too slow)
X   could optimize by keeping a java image around, but table for later
X     it's too significant a change, and not enough time to test
o image created with img.get() works incorrectly when using filter()
X   http://code.google.com/p/processing/issues/detail?id=167
X copy(image with transparency) doesn't keep the transparency at start up
X   http://code.google.com/p/processing/issues/detail?id=601
X   tested and working
o for a PGraphics2D, should its image cache object be the memoryimagesource?
o loading lots of images is a problem, describe how to unload
o   is it possible? necessary to call delay(5) or something?

events
X make sure alt/ctl/meta/etc all work (for both mouse and key) 
X remove thread blocking when dequeueing events
X finish postEvent()
X need to make events interleave
X   http://code.google.com/p/processing/issues/detail?id=79
X mouseButton not being set properly in mouseClicked
X   http://code.google.com/p/processing/issues/detail?id=1350
X mouseButton is 0 in mouseReleased() on OS X
X   http://code.google.com/p/processing/issues/detail?id=1373
o unconfirmed: keyEvent works only using JAVA2D
X   http://code.google.com/p/processing/issues/detail?id=1279
X   can't find anything on this, closed
X mouseEntered/Exited? (they're caught but not handled)
X   http://code.google.com/p/processing/issues/detail?id=500
X also look into Android issues with this stuff
X this only works for awt events... switch to using internal event code
if (external && event.getNative() instanceof java.awt.event.KeyEvent &&
         ((java.awt.event.KeyEvent) event.getNative()).getModifiers() ==
           Toolkit.getDefaultToolkit().getMenuShortcutKeyMask() &&
         event.getKeyCode() == 'W') {
       exit();
     }


0214 core (2.0b6)
A Patch for /trunk/processing/core/src/processing/opengl/PGraphicsOpenGL.java
A   http://code.google.com/p/processing/issues/detail?id=1306
A reverted back to earlier version of JOGL
A several fixes for GMA 950
A video was broken due to JOGL issues
A   http://code.google.com/p/processing/issues/detail?id=1364
X icon loading causes an error if you use a package
X   http://code.google.com/p/processing/issues/detail?id=1346


0213 core (2.0b5)
X mouseButton not being set properly on Windows (and probably Linux) in 2.0b4
X   http://code.google.com/p/processing/issues/detail?id=1332


0212 core (2.0b4)
X mouseButton not getting set on release event
X   http://code.google.com/p/processing/issues/detail?id=1294
X appears that JOGL has been updated?


0211 core (2.0b3)
X remove bad cast in PGL
X new keyEvent methods not firing
X   http://code.google.com/p/processing/issues/detail?id=1225
X double check that new key and mouse events are being addressed correctly
X restore deprecated versions of getFont() and getImage()
X   Android getBitmap() and getTypeface() will not be restored
X   http://code.google.com/p/processing/issues/detail?id=1223
X hide getImage() from PApplet (unintentionally hidden before)
A beginDraw on an OpenGL PGraphics is throwing an exception
A   http://code.google.com/p/processing/issues/detail?id=1217


0210 core (2.0b2)
X fix problem with key events breaking with libraries
X added hint(ENABLE_STROKE_PURE) to deal with Java 2D grossness
X fix stroke on TRIANGLE_FAN
X   http://code.google.com/p/processing/issues/detail?id=1137

docs
C 2x and 4x smooth hints no longer needed/supported
C   http://code.google.com/p/processing/issues/detail?id=1144

andres
A POINTS mode vertices are huge
A   http://code.google.com/p/processing/issues/detail?id=1037
A potentially insufficient ellipse detail with P3D/OPENGL when scale()'d
A   http://code.google.com/p/processing/issues/detail?id=87
A Using ortho() breaks stroke rendering
A   http://code.google.com/p/processing/issues/detail?id=1207

earlier
A Implement support for complex shapes when using the OpenGL renderer 
A   in opengl mode, use its tesselator
A   because the vertex calls can just come right back to regular vertex calls
A   this way we can also implement breakShape() for opengl
A   http://code.google.com/p/processing/issues/detail?id=122
A modelX/Y/Z broken when aiming a camera
A   http://code.google.com/p/processing/issues/detail?id=148
A OpenGL renderer does not work on Mac OS X + JDK 7
A   upstream fix in JOGL bindings
A   http://code.google.com/p/processing/issues/detail?id=1070
A Problems w/ opengl example sketches
A   http://code.google.com/p/processing/issues/detail?id=902
A updatePixels wth OpenGL requires a lot of memory, need better texture update
A   http://code.google.com/p/processing/issues/detail?id=77
A text characters showing up as opaque rectangles in tga files
o   solution is to implement alpha compositing across all of P3D 
o   http://en.wikipedia.org/wiki/Alpha_compositing
A   http://code.google.com/p/processing/issues/detail?id=80
A changing framerate causes program to crash with P2D in 2.0a6
A   http://code.google.com/p/processing/issues/detail?id=1116


0209 core (2.0b1)
X loadImage() with spaces in path broken with exported applications on OS X
X   http://code.google.com/p/processing/issues/detail?id=1073
X   maybe getResource() fails because spaces are not encoded?
X PVector limit() is inefficient
X   http://code.google.com/p/processing/issues/detail?id=1122
X memory leak when many createGraphics(..., JAVA2D) calls are used
X   http://code.google.com/p/processing/issues/detail?id=507
X   need to add clear() method so clear out ARGB surfaces
C clear() ok to add
X   decided clear(r, g, b, a) problematic since it's an exception to color model
X   and that people should use background() anyway
o   or background(r, g, b, a) would be the thing
X   clear() with a color doesn't make (verbal) sense
X   provide a way to clear the PGraphics with plain alpha
X   removed in the end... background() can already do it
X work on making API more generic and consistent
X   PFont.getFont() changed to PFont.getNative() (returns an Object)
X   PFont.getTypeface() changed to PFont.getNative() 
X   PImage.getBitmap() and getImage() changed to PImage.getNative()
X   use getNative() to return the native object for
X     PImage (BufferedImage and Bitmap), PFont (Typeface or awt.Font)
X Jagged / Glitchy JAVA2D shape strokes in Java 1.6
X   g2.setRenderingHint(RenderingHints.KEY_STROKE_CONTROL, 
X                       RenderingHints.VALUE_STROKE_PURE); 
X   http://code.google.com/p/processing/issues/detail?id=1068
X loadShape() cleanup
A   remove PShape2D/3D
A   make PShapeOBJ the 3D loader
o   separate PShape2/3D from OpenGL
o   incorporate SVG loader into the 2D class

earlier
X add breakShape to the public API -> begin/endContour
x   or handle differently in general.. nested beginPath() calls?
A standardize PGL behavior
A   PGL pgl = beginPGL();
A   pgl.vertex3f(...)
A   pgl.enable(PGL.SOMETHING_PARAM);


0208 core (2.0a9)
X several constants moved out of PConstants and into PGraphics
X API cleanup to PShape and unapproved methods

andres
A implement repeating textures
A   http://code.google.com/p/processing/issues/detail?id=94
X lights don't work in GL renderers on low-end android devices
X   http://code.google.com/p/processing/issues/detail?id=1145
X Pixels for createGraphics() should be transparent (P2D, P3D) in P2a7
X   http://code.google.com/p/processing/issues/detail?id=1156

video
X remove/hide several video functions that weren't approved
A Some videos give OpenGL error with P2D/P3D
A   http://code.google.com/p/processing/issues/detail?id=1166
A Jump movie to multiple of the framerate
A   http://code.google.com/p/processing/issues/detail?id=1182
A Movie functions not working in setup()
A   http://code.google.com/p/processing/issues/detail?id=1181
A Capture needs better initialization API
A   http://code.google.com/p/processing/issues/detail?id=1184
A Movie examples not working in P2D, P3D in 2.0a8
A   http://code.google.com/p/processing/issues/detail?id=1178
A GettingStartedCapture in 2.0a8 launches X11 in Mountain Lion
A   http://code.google.com/p/processing/issues/detail?id=1191
A Wrong resolutions reported by Capture.list()
A   http://code.google.com/p/processing/issues/detail?id=1192


0207 core (2.0a8)
X switch link() and others to just use java.awt.Desktop classes
X   also deprecate param, link() with a target, and others
X added notes about "color(0, 0, 0, 0) produces black" to the Wiki
X smooth() should be the default in 2.0
X   broken in the recent releases
X   http://code.google.com/p/processing/issues/detail?id=1157

fixed earlier
A ArrayIndexOutOfBoundsException inside PFontTexture.updateGlyphsTexCoords() 
A   http://code.google.com/p/processing/issues/detail?id=1104
A Camera function hot changing the upward axis
A   http://code.google.com/p/processing/issues/detail?id=534
C some docs missing (therefore not syntax highlighting)
C   http://code.google.com/p/processing/issues/detail?id=84
C constants that are not highlighting (WINDOWS the only one?)
C   http://dev.processing.org/bugs/show_bug.cgi?id=662


0206 core (2.0a7)
X change appletViewer back to 'online'
X begin/endGL added to PGraphics/PApplet
X add hasChildren() to XML library
X   http://code.google.com/p/processing/issues/detail?id=1045
X displayWidth/Height not being set properly before setup()
X   http://code.google.com/p/processing/issues/detail?id=1120
X   can't reproduce.. might be Java update, or multi-display issue?
X selectInput() and selectOutput() freezes
X   http://code.google.com/p/processing/issues/detail?id=173
o   http://code.google.com/p/processing/issues/detail?id=445
X     -> now includes a patch that addresses one specific problem
X   just nix the function and go with a callback setup
X   decision: named callback functions
X   if can't find the function, tell people to put it in the main tab
X   inputFile() and outputFile() need a fix
X     remove them from the code, write examples for these
X     use callbacks instead
X     need to decide if you specify the function name, or if it's specific
X Set default path for selectXxxxx() functions
X   http://code.google.com/p/processing/issues/detail?id=233
X XML now throws exceptions in its constructor, use loadXML() instead
X   http://code.google.com/p/processing/issues/detail?id=1138
X loadXML() should return null, new XML() should throw exceptions
X   http://code.google.com/p/processing/issues/detail?id=1138
A ortho() causing line and fill to be misaligned
A  http://code.google.com/p/processing/issues/detail?id=1143
o smooth() not working with applets an createGraphics(JAVA2D)
o   but works fine with applications
o   need an example of this
o   this might be a problem of the offscreen surface as RGB not RGBA
o     but that's been changed in more recent releases
o size() inside draw is missing a new call to cameraMode, etc
o fix param() to use a sketch.properties file when run as an app
o   make this also be used in generating the html file
o test winding polygons in different directions
X PApplet.main(new String[] { "classname" }) won't pass in args
X   this means that no args are after passed to the class
X   the fix would be to use the following as the call to main()
X   PApplet.main(append(new String[] { "classname }, args));
X   added PApplet.main(String name, String[] args)

earlier/cleaning/nixed
o opengl needs to shut itself down properly when closing applet
o   otherwise can crash the whole browser
o z value hack for lines is causing trouble for 2D
o   http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1089737928;start=0
o rewrite line and stroke code, it's a buggy mess
o   lines become 2 pixels thick after a 3D transform 
o   better handling of single-pixel special case
o     flat_line_retribution is a hack, can go away
o some optimizations from zach
o   http://processing.org/discourse/yabb_beta/YaBB.cgi?board=os_core_pde;action=display;num=1121670787
o box is not opaque
o   problem is that lines are drawn second
o   one pixel lines have no z value.. argh
o   bug re: 3d depth sorting on lines
o   http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1043894019;start=0
o   http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1042004618
o   translate(58, 48, 0); 
o   rotateY(0.5);
o   box(40);
o cursor() broken in applets on macosx?
o   or is it a java 1.4 versus java 1.3 problem?
o   http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1081645955
A optimize: sending buffers of vertices
A optimize: ellipse and sphere implementations
A OpenGL tessellator implementation (for complex shapes)
o making jogl behave better in the browser - or remove it/add warning
o Update JOGL when RC6 arrive: forum.jogamp.org/Road-to-RC6-td3866404.html


0205 core (2.0a6)
X add support for println(long) because it was converting the type to float
X   http://code.google.com/p/processing/issues/detail?id=969
X   also add support for printing arrays of longs (doubles were already there)
X createGraphics for JAVA2D generates the wrong error msg w/ w/h <= 0
X   http://code.google.com/p/processing/issues/detail?id=983
X move to processing.data.* package
X   update the internal code for Android and desktop to add the import
X   add loadTable().. 
X   loadXML and loadTable are now in desktop
o trimming text on URLs?
o   http://code.google.com/p/processing/issues/detail?id=715
X change screenWidth/Height to displayWidth/Height
X   update wiki.processing.org/w/Window_Size_and_Full_Screen
X add createGraphics() with no renderer param to point to JAVA2D
X   also added to Android
X removals
X   CENTER_RADIUS, CENTER_DIAMETER, NORMALIZED 
X   text(x, y, w, h, z)
X   textX/Y/Z variables
X   update changes Wiki
X let's remove 'online'
X   changed to 'appletViewer'
X registerSize() has been removed
X   it hasn't worked for a while, also not a good way to get updates on size
X   use pre() or something like that instead
o displayWidth/Height not set until just before setup
o   don't use size(displayWidth, displayHeight) anymore
o   to do full screen, should use: 
X   did not work well

andres
A polygon shapes without fill slowdown render progressively
A   http://code.google.com/p/processing/issues/detail?id=1028
o OPENGL broken in 2.0a5 on Linux (upstream issues)
o   http://code.google.com/p/processing/issues/detail?id=1026
A   these were upstream issues
A screenY(x,y,z) returns incorrect coordinate
A   http://code.google.com/p/processing/issues/detail?id=1007
A lights() behaving differently with OPENGL2 than original OPENGL
A   http://code.google.com/p/processing/issues/detail?id=619
A directionalLight() is wrong on box()
A   http://code.google.com/p/processing/issues/detail?id=966
A PShape3D uses a lot of memory
A   http://code.google.com/p/processing/issues/detail?id=1046
A triangle in first ring of sphere() not being made properly
A   http://code.google.com/p/processing/issues/detail?id=1005
A beginRaw() not working with 3D
A   http://code.google.com/p/processing/issues/detail?id=744
A set() in 3D does not work on 2.0a5
A   http://code.google.com/p/processing/issues/detail?id=1069
A frustum() and ortho() broken in P3D
A   http://code.google.com/p/processing/issues/detail?id=867
A get() with OPENGL is grabbing the wrong part of the image
A   http://code.google.com/p/processing/issues/detail?id=191
X why are LINE_SMOOTH et al being enabled if antialias < 2?

fixed in 2.0a5
A OpenGL noSmooth() does not work
A   http://code.google.com/p/processing/issues/detail?id=328

cleaning
o too much object creation in java2d
o   causes inconsistency/hiccups as the gc runs?

XML
o questions re: final xml api changes
o   http://code.google.com/p/processing/issues/detail?id=612
X look into replacing nanoxml
X   http://www.exampledepot.com/egs/javax.xml.parsers/pkg.html
X add save() method
X Wishlist for the new XML class in Processing 2.0
X   http://code.google.com/p/processing/issues/detail?id=904
X   void addChild(XML child)
X   void setContent(String content)
X   void setName(String name)
X do we need an option to disable XML whitespace?
o   should this be the default to be more like old XML?
o   otherwise document how things are sometimes null in XML
o   test xml examples to see if they break
X   changed to make it return #text for the name, which is more correct
X white space in XML 
X   http://code.google.com/p/processing/issues/detail?id=975
o finish updating XML documentation
o   http://code.google.com/p/processing/issues/detail?id=382
X   headed over to Reas
o ref: constructor has changed to .parse(...) instead of new XMLElement(str)
X   this wasn't documented in the first place
o add XMLElement.listChildren() to reference
o document XMLElement save() and write(), and their differences
o handle charset decoding in xml element parser?
o   same with the other methods like loadStrings()
o   could also be a way to handle gzip too?
o   tho charset + gzip would be a problem
X   not gonna do charset
o vectors shouldn't be exposed, need to expose attr lists as arrays
o   or also add a method for getting the vectors?
X   no longer an issue post-NanoXML
X several other items under the LIBRARIES / XML section below

sort out full screen issues
X make screenWidth and screenHeight work properly with multiple screens
X   also set screenX and screenY
X boolean sketchFullscreen() ? 
X   for more options, just integrate the fs library?
X   let hansi know when it's integrated so he can update his library
X   casey: I think we only want to most basic functionality, 
X     to go full screen across monitors.
X   http://www.superduper.org/processing/fullscreen_api/
X   https://github.com/kritzikratzi/jAppleMenuBar/blob/master/src/native/jAppleMenuBar.m
X detect when using full screen
X   and if so, remove decoration and don't bother with bg present frame
o   this will help for exported applets that don't need 'present'
X   only doing this via sketchXxxx() methods, but should work well
o add option to use full screen exclusive mode on present inside pde?
o   override default setting of macosx (yes) and linux/win (no)
o   http://dev.processing.org/bugs/show_bug.cgi?id=1043
o   linux present mode isn't working properly
X   removing FSEM, too buggy and problematic
X --display not working on osx
X   http://code.google.com/p/processing/issues/detail?id=71
X implement full screen mode.. this takes over the screen as best it can
X   size(screen.width, screen.height, OPENGL);
X   if size is screen.width and screen.height, does its best
X   needs to get the size of the main screen
o   this probably works but just needs to be tested
o exceptions in full screen mode will quit the app completely
o   can't keep window open because things are hosed
X   nah, this is fine--not ideal but fine
X doc: if you want to use multiple monitors
X   set full screen to true (for one screen)
X   have sketchWidth() and sketchHeight() return the size of both monitors
X     provide example for doing this with multiple displays?
X     there are just too many possibilities for monitor arrangement
X     and display depth changes that there's no way for us to do it correctly
X frame.setSize() works, but we aren't going to add the title bar back
X   just too problematic and buggy to get this to work perfectly
X default is that full screen app doesn't cover multiple displays
X   this is fine since opengl can't usually go across both
o   but include an example for how to use full in gl 
o full screen not working on snow leopard
X   fix build script to include the jnilib, also add more error checks
X screenX and screenY are both already taken, so not including vars for them
X   decide on naming for the next release


0204 core (2.0a5)
X Abnormal high Java CPU usage at empty sketch with draw() 
X   http://code.google.com/p/processing/issues/detail?id=729
X   https://forum.processing.org/topic/absurd-java-cpu-usage-at-empty-sketch-with-draw
X "Framingham" example has BufferOverflowException
X   http://code.google.com/p/processing/issues/detail?id=900
X enable smooth() by default
X   better to learn noSmooth() later
X repeatedly calling texture() with new image raises memory error
X   http://code.google.com/p/processing/issues/detail?id=806
X adding anti-alias methods so that FSAA can set up properly
X several bug fixes inside Table as they relate to inserting/adding columns
X urlEncode() and urlDecode() added
X fix so that normals aren't attempted when no texture is set
X added setContent() to the XML library, other tweaks to XML export
X fix PImage.get() issue with width or height < 0
X attempts to improve the performance of tint() with Java2D
X delay() remove or no? (keep adding it back...)
X   serial and scripting need it. maybe edit the reference further...
X   just can't remove it. needed for scripting.
X Fix OpenGL applets (again)
X   http://code.google.com/p/processing/issues/detail?id=845

earlier
o text using textMode(SCREEN) not displayed in Processing 1.5.1
o   http://code.google.com/p/processing/issues/detail?id=741
X remove textMode(SCREEN)
o   is it possible to do decent vlw text with JAVA2D and OPENGL?
o optimize textMode(MODEL) with textMode(SCREEN)
o   in PGraphics and PGraphics3, check to see if matrix is within epsilon
o   of one of the rotation matrices (many fewer steps) 
o   if identity, or just translate, or a rotate, make OBJECT into SCREEN
o textMode(SCREEN) needs to be faster
o   need flat image implementation that takes no transforms
o   along with 90, 180 and 270 versions of it as well
o   tie to glDrawPixels.. how to clear matrix properly for that?
X   maybe just disable this for JAVA2D cuz it's silly?


0203 core (2.0a4)
X Capture.list() Fails Mac OSX 10.6 Processing 2.0a3
X   fix strange build issue with video capture breakage on OS X
X   http://code.google.com/p/processing/issues/detail?id=892
A Multiple calls to curve() connect subsequent curves with lines in P3D/OPENGL
A   http://code.google.com/p/processing/issues/detail?id=865
A Arc not drawn in P3D and OpenGL mode (2.0a2)
A   http://code.google.com/p/processing/issues/detail?id=890


0202 core (2.0a3)
X Rounded rect() does not have a maximum length for corner radius
X   http://code.google.com/p/processing/issues/detail?id=813
A video problem with P3D


0201 core (2.0a2)
o moviemaker built into core to write uncompressed frames? or PNG?
X   doing this via a tool instead
X on resize, call redraw() when noLoop() is used
o   need to add this to the docs
X   was already in the documentation..
o add inputPath()
X   remove inputPath()


0200 core
X remove textMode(SCREEN)
X added expand(long) and expand(double) because of Table
X PImage.save() with full path raises exception
X   http://code.google.com/p/processing/issues/detail?id=808
X update wiki re: PNode... also include notes about the changes
X add note about textMode(SCREEN) to the wiki


0199 core
X pnode: look more closely at json and xml compatibility
X argh, dumb mistake that broke SVG loading with loadNode()
X fix major XML loading problem with names not getting set
X image saving also broken, saving duplicate images (adding .tif to em all)
X make note about XML dealing with whitespace differently
X   leaves it intact, 'name' will be set to null
X add orientation() no-op and the two constants


0198 core
o arrayobjects (and others) flicker like hell in chrome 10 
o   http://code.google.com/p/processing/issues/detail?id=646
o   http://code.google.com/p/chromium/issues/detail?id=62004
o   http://code.google.com/p/chromium/issues/detail?id=79939
A ortho() behaving differently in P3D vs OPENGL
A   http://dev.processing.org/bugs/show_bug.cgi?id=100
A   http://code.google.com/p/processing/issues/detail?id=37
A   shows a blank canvas
A   (was only happening once b/c was drawing first in perspective)
A   seems to be mapping to 0, 0 - width/2, height/2
A   fix 3D > OrthoVsPerspective example once ortho works properly
A     there's a depth problem in addition to the ortho weirdness
A using createGraphics() image repeatedly runs out of memory with OPENGL
A  http://code.google.com/p/processing/issues/detail?id=483
X   works with OPENGL2, so no problem
A finish OPENGL2 renderer
A   http://code.google.com/p/processing/issues/detail?id=495
o Can resize sketch with P3D, but not OPENGL
o   http://code.google.com/p/processing/issues/detail?id=383
A Resizing window in OPENGL breaks ImageCaches
A   http://code.google.com/p/processing/issues/detail?id=184
X need to make sure the createFont() reference is up to date for charset
o opengl + resize window => window content garbled
o   http://dev.processing.org/bugs/show_bug.cgi?id=1360
o P2D transformation bug from ira
X   http://dev.processing.org/bugs/show_bug.cgi?id=1175
X resize not working in revision 5707
X   camera() and perspective() were commented out in setSize()
X   http://dev.processing.org/bugs/show_bug.cgi?id=1391
X   this was fixed for 0176
o changing vertex alpha in P3D in a QUAD_STRIP is ignored
o   with smoothing, it works fine, but with PTriangle, it's not
X   goodbye P3D
o gl power of 2 with textures
o   P3D also seems to have trouble w/ textures edges.. bad math?
o No textures render with hint(ENABLE_ACCURATE_TEXTURES)
X   http://code.google.com/p/processing/issues/detail?id=129
o textAlign(JUSTIFY) (with implementation)
o   http://dev.processing.org/bugs/show_bug.cgi?id=1309
X   http://code.google.com/p/processing/issues/detail?id=186
X   decided with casey not to include
o resizing opengl destroys context and textures
o   http://dev.processing.org/bugs/show_bug.cgi?id=1176
o in P2D, two vertex() line calls with fill() causes duplicate output
o   works fine in other renderers, has to do with tesselation
X   http://dev.processing.org/bugs/show_bug.cgi?id=1191
X   http://code.google.com/p/processing/issues/detail?id=162
o extra triangles being seen in P2D
X   http://dev.processing.org/bugs/show_bug.cgi?id=1192
X   http://code.google.com/p/processing/issues/detail?id=163
A implement repeating textures
A   http://code.google.com/p/processing/issues/detail?id=94
o add a limit to pushStyle() to catch unmatched sets?
X   http://code.google.com/p/processing/issues/detail?id=198
X how should quadVertex() be named? bezierVertex() quadraticVertex() 
X   decision: quadraticVertex() to avoid confusion with quads
X more efficient version of copy() added for 2D
X rounded rectangle method 
X   http://code.google.com/p/processing/issues/detail?id=265
X   clockwise from upper-left
X   check with casey about finalizing and adding to the docs
X nfc() is a problem on intl systems when subsetting fonts
X   decision: add note to reference that the 'c' is a misnomer
X screen.width/screen.height -> screen.width, screenW/H
o   needs to be documented, and excise all screen.width/height references
X   add to the 'changes' document
X saveBytes() error when writing to existing file
X   http://code.google.com/p/processing/issues/detail?id=667
X problem with destroy() calling System.exit()
X   http://code.google.com/p/processing/issues/detail?id=698
X post() is called after setup() (make decision)
X   http://code.google.com/p/processing/issues/detail?id=455
X   decision: post() only gets called in draw, not setup.. document

opengl applets
X implement new applet-opengl.html based on the latest jogl 
o jogl demos, NEWT examples crash on osx http://jogamp.org/jogl-demos/www/
o   http://jogamp.org/jogl-demos/www/applettest-jnlp.html
X   not sure why these do/don't work, but it's mostly working
X OpenGL Applets won't load with JRE 6 update 21 or higher
X   need to make the final call on this and implement
X   http://code.google.com/p/processing/issues/detail?id=429
o why we can't do OpenGL applets that are self-signed (wiki?) 
o   http://www.cert.org/blogs/vuls/2008/06/signed_java_security_worse_tha.html

cleanup
o if too many errors come through during setup, app will terminate
o   printStackTrace() throttles on osx and poops out
o   seen especially on old mac laptops (slow ppc garbage) 
o   can this be confirmed properly?
o   * this may just be an OutOfMemoryError happening
o when drawing into a JAVA2D surface, have to call loadPixels()
o   to draw it later with P3D (or OPENGL prolly)
o   http://processing.org/discourse/yabb_beta/YaBB.cgi?board=Syntax;action=display;num=1171574044
o alpha not set on saveFrame, so can't be used in photoshop as a layer
o   http://processing.org/discourse/yabb/YaBB.cgi?board=general;action=display;num=1078441623
o an offscreen JAVA2D graphics needs loadPixels() before being drawn
o   i.e. offscreen JAVA2D, then image() with OPENGL renderer as main
o   needs to be marked as its cache needs an update, but not its pixels
X begin/endPixels.. change has been made
o   on PImage, sets a flag that marks it to be updated on next render
o   for PImage, begin after an end is ignored, no pixels are re-loaded
o     the "changed" bit gets turned off when the PImage is rendered
o   for subclasses of PGraphics, the reload bit needs to be set on endFrame
o   filter() checks to see if inside begin/endPixels, if so doesn't call
o   if line() is called inside beginpixels, call updatepixels?
o   when NPE on line with pixels[], suggest user includes beginPixels
o need to test/straighten out load/update pixels
o   loadPixels() and updatePixels() only need to be used when 
o   touching pixels[]. All other functions including get(), set(),
o   filter(), etc shouldn't need them. 
o image memory use.. how to handle lots of images
o   need to figure out exactly how they should/can unload
o don't do a loadPixels unless an updatePixels has completed
o   tho this won't affect anything, since either it's an image buffer
o   or it's the PGraphics object, which does an updatePixels() immediately
o if (modified) don't loadPixels again, just ignore it
o   make a note that updatePixels() only sets a flag in PImage
o     (but not PGraphics, which does it immediately)
o smoothing
o   how to handle smoothing images in P3D even though it has no smoothing?
o   noSmooth() in opengl should switch to nearest neighbor on textures/images
o   same for P3D
o P3D smooshes the top row of pixels when drawing text (or images)
X   http://code.google.com/p/processing/issues/detail?id=64
X textures truly did get worse in P3D
o   problem is that bilinear is turned on by default starting in 0124(?)
X   http://processing.org/discourse/yabb_beta/YaBB.cgi?board=Programs;action=display;num=1205171649
o Implement support for complex shapes when using P2D and P3D
X   http://dev.processing.org/bugs/show_bug.cgi?id=1053
X   http://code.google.com/p/processing/issues/detail?id=145
o smooth in P3D has zbuffer glitches
X   http://code.google.com/p/processing/issues/detail?id=131
o smoothing is slow
X   http://code.google.com/p/processing/issues/detail?id=132
o textured sphere example needs to set normals
o   also needs fix for last edge and the seam
o text() not setting zbuffer in P3D because not fully opaque
X   http://dev.processing.org/bugs/show_bug.cgi?id=696
X   http://code.google.com/p/processing/issues/detail?id=88
o osx 10.5 (not 10.4) performing text width calculation differently
o   http://dev.processing.org/bugs/show_bug.cgi?id=972
X   http://code.google.com/p/processing/issues/detail?id=128
o Automatically use textMode(SCREEN) with text() when possible
o   http://dev.processing.org/bugs/show_bug.cgi?id=1020
X   http://code.google.com/p/processing/issues/detail?id=134
o writing image file (missing a flush() call?) on exit() fails
o   lots of zero length files
o saveFrame() at the end of a draw mode program is problematic
o   app might exit before the file has finished writing to disk
o   need to block other activity inside screenGrab until finished
o   http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1081706752
A test P3D lighting to see how it compares with native OpenGL
o ed's thread re: fullscreen strategies
o   could add a new BApplet that uses BufferStrategy?
o   http://processing.org/discourse/yabb/YaBB.cgi?board=Programs;action=display;num=1081335361;start=15
o size() has memory limitations (pitaru)
o   catch OutOfMemoryError inside size() and let the user know
o   http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1038847001
o remove some of the bloat, how can we make things more compact?
o   i.e. if not using 3D, can leave out PGraphics3, PTriangle, PLine
o   http://dev.processing.org/bugs/show_bug.cgi?id=127
o fix-up the curve_init() and the rest to use matrices
o   and not have ugly names (i.e. just g.curveDetail is good)
o weird ellipse bug with an alpha line in same image
o   http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1083221401;start=0
o scaled ellipse showing up as a hexagon
o   http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1083674213
o   http://processing.org/discourse/yabb/YaBB.cgi?board=Syntax;action=display;num=1084652597;start=0
o problem with the fill
o   http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1077834735
o z values not set properly on ellipses?
o   http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1068752615
o ellipses are just plain ugly
o   http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1073409011;start=0
o should noSmooth() disable image smoothing consistently (does for Java2D)
o   may need to bring back a hint, or use smoothMode() or smooth(IMAGES)
o lines are conflicting with type in 2D
o   http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1094174791;start=0
o mgorbet stroke transparency problem
o   http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1076383048;start=0
o make sure line() commands don't try to have a fill
o make thick lines draw perpendicular to the screen with P3D
o   http://dev.processing.org/bugs/show_bug.cgi?id=956
o   ewjordan suggests building the quad in screen coords after perspective
o images are losing pixels at the edges
X   http://code.google.com/p/processing/issues/detail?id=38
o odd error with some pixels from images not drawing properly
o   http://processing.org/discourse/yabb_beta/YaBB.cgi?board=SoftwareBugs;action=display;num=1115681453
o clipping not implemented
o   http://dev.processing.org/bugs/show_bug.cgi?id=1393
X   http://code.google.com/p/processing/issues/detail?id=210
o   http://processing.org/discourse/yabb_beta/YaBB.cgi?board=SoftwareBugs;action=display;num=1114184516
o   http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1058491568;start=0
o   http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1052313604;start=0
o   http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_Software;action=display;num=1095170607;start=0
o   things are flying into the camera and halting apps
o   http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1042699742
o   NullPointerException apparently when things way offscreen
o     i.e. glyphrot with scale set to 4
o     or at least that things get ridiculously slow
o     clipping issues here.. but also something in scan converter
o     not clipping areas from offscreen
o       huge geometry slows things way down
o STROKE_WEIGHT field in PGraphics3 is a disaster, because it's an int
o   use the SW from vertex instead.. why set stroke in triangle vars at all?
o   currently truncating to an int inside add_line_no_clip
o   need to clean all this crap up
o switch to glWindowPos() instead of glRasterPos() silliness
o get rid of some of the sillier IntBuffer stuff where it's not needed
o   use the version of the prototypes that use an offset into the array
o   need to test performance either way
o make a note about the anti-aliasing types in the faq
o   polygon vs line etc.. may want to enable lines but disable polys
o invocationtargetexception in gl with aioobe:
o   http://processing.org/discourse/yabb_beta/YaBB.cgi?board=SoftwareBugs;action=display;num=1115185737
o resolve ARGB versus RGBA versus just A issues for fonts
o   make sure that current scenario works identically on mac
o   if so, just switch the image code to expect alpha in the high bits
o   fonts probably need to be RGBA, not ALPHA style images
o   there's nothing really ALPHA about them?
o bit shifting in opengl, get down to 2 ops by using other image modes
o   i.e. ABGR_EXT might allow for just two shifts instead of 4
o allow access to native pixel buffer in opengl and power of 2
o   so that no need to copy/update everything
o how to handle gluTessVertex calls
o   need to re-map through the regular "vertex" command, 
o   but that makes things messy because the glu calls make calls to vertex()
o   and i don't want an additional "pathVertex()" function
o with opengl optimizations via call lists..
o   watch out to make sure raw recording still works
o   (optimizations will have to be disabled to some extent)
o look into using glu quadrics to handle shape geometries quickly
o optimizations to opengl
o   disabling error reporting (what's taking it so long?)
o     maybe use a hint() to enable it? or a getError() function?
o   make cached display list of filled/non-filled ellipse.. rect.. etc
o     these don't work when the vertex colors change, but..
o   http://dev.processing.org/bugs/show_bug.cgi?id=657
o   or maybe should be using vertex arrays?
o maybe break out a separate timage object in textures?
o   needs tindex and tbuffer, both gl specific
o     and for tpixels and twidth/theight, could use another PImage
o   under assumption that most will just need an extra image object
o   this could also be used by people eventually to control tex themselves
o   or maybe call the object "texture"?
o   in opengl lib, need beginTexture(PImage) and endTexture()
o   this will be helpful to have access to the raw texture data
o   that way it can be re-bound by itself, and ppl can write directly to it
o make textMode(SHAPE) faster in opengl
o   cache for type should be per-renderer
o   make the opengl textmode shape stuff get better and use PShape
o   because opengl needs vectors, but also the image cache for textures
X stroke showing above fill when used with P3D
X   http://dev.processing.org/bugs/show_bug.cgi?id=1032
X   fixed in release 0160
o Stroked polygons losing stroke pixels due to z-buffer issues in P3D
o   http://code.google.com/p/processing/issues/detail?id=73
X refactor PApplet.main() and Runner.startInternal() to remove duplication
X   http://dev.processing.org/bugs/show_bug.cgi?id=245
o PFont.size not available.. other font accessors? 
o   http://dev.processing.org/bugs/show_bug.cgi?id=1510
o implement method for lightweight components with processing applets
o   http://dev.processing.org/bugs/show_bug.cgi?id=686
X   closed as LATER in the original bugs db
o add getSketchSize() and getSketchRenderer()
o   these could simply have the defaults at the outset
X   added in the more recent revisions
X Use getContextClassLoader() instead of Class.forName()
X   http://dev.processing.org/bugs/show_bug.cgi?id=514
X cursor functions don't work in present mode
X   just add a note to the reference
X   http://code.google.com/p/processing/issues/detail?id=160
o when drawing an image, sense whether drawn rotated
o   specifically, if drawn rotated 90 in either direction, or 180
o   if just rotate/translate, then can use SCREEN_SPACE for fonts
o "Target VM failed to initialize" when using Present mode on Mac OS X
o   http://code.google.com/p/processing/issues/detail?id=178

decisions
o call reapplySettings() when using beginRecord()?
X   nope, won't work for many fonts, can't get the background
X   should beginRecord inherit settings from its parent renderer?
X     textFont() is null on beginRecord
X     same would be the case for strokeWeight, background, etc.
X   add note to begin/endRecord, that settings are not inherited
X     http://dev.processing.org/bugs/show_bug.cgi?id=346
o     or actually inherit the settings
X   decision: too many minor glitches possible, just note in the ref
X     i.e. some fonts don't work with PDF, or bg color can't be re-set
X clean up filter stuff?
X   filter(GRAY) -> to push things to luminosity-based gray
X     already implemented this way
o   filter(MASK, ...) -> or ALPHA? 
o   filter(TINT, tintColor)
X   decision: use luminosity for gray
X   decision: tinting is usually for a dynamic thing, so not necessary
o change default save() to use PNG instead of TIFF (speed?)
o   decision: due to speed, just keep it as TIFF
o clipping
o   http://mrl.nyu.edu/~perlin/experiments/borg/render/index.html
o   http://en.wikipedia.org/wiki/Clip_Mapping
o   http://www.cubic.org/docs/3dclip.htm
o perspective() applied after camera()... problems?
o make sure that filter, blend, copy, etc say that no loadPixels necessary
o add java.io.Reader (and Writer?) to imports
X binary() auto-sizes, hex() does not
X   decision: remove auto-sizing from binary
X remove delay()
X   if you really want it, you can use Thread.sleep()
X thread() and method()
X   thread() method (web workers?)
X   decision: add thread, method isn't great
X   oops: method() is just used by thread
X PImage.save() should return a success boolean
X   and not throw an exception when it fails
o cmyk version of tiff encoder code?
o illustrator export / rendering mode
o   also postscript or pdf export?
o   update illustrator code to use core api
o     even if not actually working properly.. just in naming of things
o   sorting of polygons/lines on simple painters algorithm
o   better lighting model to show darkness at various depths
o     maybe just ultra-high res bitmaps from gl
o cairo tesselation used: 
o   John Hobby, Practical Segment Intersection with Finite Precision Output. 
o   Computational Geometry Theory and Application, 13(4), 1999.
o   http://citeseer.ist.psu.edu/hobby93practical.html
o textMode(SHAPE) and textMode(IMAGE)?
o   textMode(SCREEN) is out of its league?
o textMode(SHAPE) and hint(SMOOTHING) calls are really awkward
o   maybe need to add properties to the size() command?
o   or use a getXxxx() method?
o in PShape, getChild(name) refers to a <blah id="name">
o   however in an XML file, that's <name ...>, meaning the name of the tag
o   change it to getShape(name)? also for fonts getShape(char c)
o   decision: use getShape() (maybe add getShapeCount and getShape(int)) 
o     and remove getChild() from PShape
o   oops: getParent() is in there, as is getChildren() and others...
o   svg examples should use getShape(name) not getChild(name)
X   better to not break the naming, since getParent() needs to stay
X   nobody felt strongly enough about getShape()
X   so better to not change (and start breaking things)

xml changes
X see if write() is necessary inside PNodeXML
o   it needs a proper header on it, so maybe that's the difference w/ toString()
X   verified that toString() also writes a header
o inefficient: the way new nodes are created
o also inefficient: adding/removing kids just nukes the children array
X toString() adds the XML header
X move to new XML library
X   add XHTML parsing or any others?
X   html parser? javax.swing.text.html.parser... has binary DTDs
X   decision: it's someone else's job
X XMLElemnt.parse() or new XMLElement(xmldata)?
X   same goes for PShape.. parse from a string?
X   http://code.google.com/p/processing/issues/detail?id=277
o Writing XML files (clean up the API)
o   http://dev.processing.org/bugs/show_bug.cgi?id=964
X XMLElement lacks add/set/remove methods
X   http://code.google.com/p/processing/issues/detail?id=440
X PNode is final(?) name, get that implemented


0197 core (1.5.1)
X Seeming problem displaying SVG data when layer data is grouped
X   http://code.google.com/p/processing/issues/detail?id=388
X bug in SVG parser for shorthand curves (T/t and S/s)
X   http://code.google.com/p/processing/issues/detail?id=350
X shape(PshapeSVG) fails if SVG contains <path d=""/>
X   http://code.google.com/p/processing/issues/detail?id=434
X implement quadVertex()
X fix svg issues when dealing with quadratic bezier curves
X revert to old createFont() behavior
X   http://code.google.com/p/processing/issues/detail?id=662


0196 core (1.5)
o textAlign(RIGHT) is shutting off native fonts
o   makes salaryper super ugly
X   i think this must have been fixed?
X fix minor native fonts issue
o updatePixels() is slow to create a BufferedImage
o   therefore the incomplete rendering
o   could this be an issue fixed by a MediaTracker?
o first line of applets is missing on java 1.4+ on the mac
X   http://dev.processing.org/bugs/show_bug.cgi?id=283
o make the PFont index lookup use numbers up to 256?
X change JAVA2D surface to be RGB instead of ARGB
X   seeing some strange behavior, hopefully this won't be a regression
o filter() doesn't need a loadPixels
o   but if you want to filter *and* mess w/ pixels (avoid double load)
o   then do loadPixels() /before/ filter, and updatePixels after messing
o   same will go for blend()


0195 core (pre)
X deal with bad screen updates for sketches running < 60 fps in JAVA2D
X   had to add an additional offscreen buffer, which is more memory
X   however hopefully not a problem on modern machines
X   and probably no worse than what MemoryImageSource does
X   removed large synchronized block
A OPENGL2 record only saves one line in a LINES shape
A   http://code.google.com/p/processing/issues/detail?id=579
X add isClosed() and getChildren() methods to PShape
X Frame skipping with processor intensive applets using 1.6
X   http://dev.processing.org/bugs/show_bug.cgi?id=766
X   may be fixed, but not verified
o definite present-mode weirdness with background colors
X normal() command commented out in sphere() method
X   http://code.google.com/p/processing/issues/detail?id=602
X save() no longer works at bottom of draw with JAVA2D
X   neither does loadPixels it seems
X   http://code.google.com/p/processing/issues/detail?id=594
X   made an edit so that loadPixels will apply to the offscreen image, but...
X   ironing out more issues with set() and the latest release


0194 core (pre)
X flicker between background and rest with JAVA2D
X   http://code.google.com/p/processing/issues/detail?id=558


0193 core (pre)
X fix problem that made applets suck in Google Chrome and Firefox 4
X java.lang.OutOfMemoryError using get() and image() inside a tight loop
X   just need to swap out use of clone() since it's causing trouble
X   http://code.google.com/p/processing/issues/detail?id=42
X textAlign() incorrect with default font on Mac OS X 10.6
X   http://code.google.com/p/processing/issues/detail?id=362
X   changed default font to Lucida Sans, available on all platforms
X need to finish font changes wrt native fonts before any release
X   right now not in a good place--default font will be bitmapped and ugly
X   http://code.google.com/p/processing/issues/detail?id=416
o   need to have some kind of subsetting mode, but 'subsetting' a bad name
X changing PDF to use textMode(SHAPE) by default
X saving a PGraphics as jpg using save() makes a cmyk file
X   need to shut off the alpha channel when writing
X   http://code.google.com/p/processing/issues/detail?id=415
X present mode is no longer centering on macosx
X   problem with setExtendedState(), which doesn't seem to be necessary
o only top left 100 x 100 pixels are displayed in presentation mode (Linux 1.1+)
o   also was just crashing in main() for me, check on this later
o   http://dev.processing.org/bugs/show_bug.cgi?id=1560


0192 core (pre)
X regression in XMLElement.getBoolean(String, boolean)
X   http://code.google.com/p/processing/issues/detail?id=399
o JNLPAppletlauncher doesn't work anymore with OpenGL jar
o   http://code.google.com/p/processing/issues/detail?id=352
X color() problem with alpha
X   http://code.google.com/p/processing/issues/detail?id=327
X   appears to have been some old code that wasn't removed
X anglebetween regression
X   http://code.google.com/p/processing/issues/detail?id=435
X more chatter with this
X   http://dev.processing.org/bugs/show_bug.cgi?id=131
X   http://code.google.com/p/processing/issues/detail?id=43
X shearX and shearY not implemented with P2D and JAVA2D
X   http://code.google.com/p/processing/issues/detail?id=452
L PGraphicsJava2D.resize() not working the same as PGraphics2D.resize()
L   http://dev.processing.org/bugs/show_bug.cgi?id=1107
X   http://code.google.com/p/processing/issues/detail?id=150
X   resize is not available with renderers, use createGraphics()
X   added a note to the reference
X frame.setResizable(true) does not enable maximize button
X   workaround from Christian Thiemann
X   http://code.google.com/p/processing/issues/detail?id=467

stop/destroy/dispose
L stop() not working very well 
L   as a result, dispose() methods aren't being called on libraries
L   http://dev.processing.org/bugs/show_bug.cgi?id=131
L   http://dev.processing.org/bugs/show_bug.cgi?id=77 (dupe)
L   http://dev.processing.org/bugs/show_bug.cgi?id=183 (dupe)
L double stop() called with noLoop()
L   http://dev.processing.org/bugs/show_bug.cgi?id=1270
L   http://code.google.com/p/processing/issues/detail?id=180


0191 core (pre)
X fix background(PImage) for OpenGL
X   http://code.google.com/p/processing/issues/detail?id=336
X skip null entries with trim(String[]) 
X NaN with PVector.angleBetween
X   http://code.google.com/p/processing/issues/detail?id=340
X fix missing getFloat() method in XML library
X setAttribute? setString/Int/Float or just set?
X   get() set() methods are confusing.. too spare
X make sure that paths are created with saveStream() 
X make createWriter() use buffering
X saveStream() doesn't work when intermediate directories don't exist


0190 core (pre)
X change skewX/Y to shearX/Y
X   need reference update for this
X ENABLE_NATIVE_FONTS was being ignored, native fonts were used no matter what
X   fix the behavior
X there are problems with font handling in the desktop version
X   add to release notes that it shouldn't be used by the finicky

xml fixes
X add getBoolean() methods?
X   http://code.google.com/p/processing/issues/detail?id=304
X removing namespace versions of the getXxxx() methods
X   these were never documented, and cause more trouble than they're worth
X changing getIntAttribute() et al to getInt()
X   need to make the reference change for the next release
X add listChildren() method
X XML attributes named "xmlns" always return NULL
X   http://dev.processing.org/bugs/show_bug.cgi?id=1196
X   http://code.google.com/p/processing/issues/detail?id=166
X when re-saving and ods file, not including all the name spaces at the top
X several fixes to how namespaces are handled (or not handled)
X save xml elements back out again
X   http://dev.processing.org/bugs/show_bug.cgi?id=963
X   http://code.google.com/p/processing/issues/detail?id=126
X   or make the call that it's read-only, and remove the saving code
X adding write() method?
X need to handle how save() works inside xml lib
X update XMLElement constructor problem
X   http://code.google.com/p/processing/issues/detail?id=342


0189 core (1.2.1)
X no changes, just the preproc issue


0188 core (1.2)
X no changes, just the version number


0187 core (pre)
X add requestFocusInWindow() call to replace requestFocus()
X   http://code.google.com/p/processing/issues/detail?id=279
X add getDocumentBase() version to createInput() for internet explorer


0186 core
X more Linux PDF fixes from Matthias Breuer

fixed in 0185
X PDF library matrix is not reset between frames
X   http://dev.processing.org/bugs/show_bug.cgi?id=1227


0185 core (pre)
X fix two bugs with fonts created with specific charsets
X fix from jdf for PImage(java.awt.Image img) and ARGB images
X   public PImage(java.awt.Image) sets format to RGB (but could be ARGB)
X large number of beginShape(POINTS) not rendering correctly on first frame
X   http://dev.processing.org/bugs/show_bug.cgi?id=1572
X pass actual exceptions from InvocationTargetException in registered methods
o svg issue with implicit path command
o   http://dev.processing.org/bugs/show_bug.cgi?id=1561
o   http://code.google.com/p/processing/issues/detail?id=257
X   appears to be faulty code
X remove call to requestFocus() that broke the ColorSelector (and Editor)
X   and was also breaking some applets
X   http://code.google.com/p/processing/issues/detail?id=258

shape/svg work
X fix for adobe illustrator-mangled svg id names with hex characters
X change PShape.kind to PShape.primitive
X add simple inside() method for straight vertex (PATH) data
X add PShape.getFamily()
X add PShape.getPrimitive()
X public float[] getVertex(int index)
X public float getVertexX(int index)
X public float getVertexY(int index)
X public float getVertexZ(int index)
X public int[] getVertexCodes()
X public int getVertexCodeCount()
X public int getVertexCode(int index)
X lots of fixes from PhiLho to better handle transparency changes, many types
X   of inkscape files, drawings that use units, and other tweaks
X implement support for svgz files


0184 core (pre)
X copy and blend scale when unnecessary
X   http://dev.processing.org/bugs/show_bug.cgi?id=1482
X add Pattern caching to match() to speed things up
X make saveStream() return a boolean to indicate success


0183 core (pre-release)
X no changes to core in 0183


0182 core (pre-release)
X fix problem with textMode(SHAPE) when using createFont()
X fix other problems with font use in PDF
X remove debug message from PDF
X add skewX/skewY
o   do them as shearX/Y?
X   http://dev.processing.org/bugs/show_bug.cgi?id=1448
X PImage.copy() not including the bottom and rightmost pixels of srcImage
X   http://dev.processing.org/bugs/show_bug.cgi?id=1174


0181 core (pre-release)
X no changes for 0181 


0180 core (pre-release)
X add implicit path commands to svg loader, thanks to Ben S
X   http://dev.processing.org/bugs/show_bug.cgi?id=1503
X don't allow sketch windows to open with the title bar off screen
X   http://dev.processing.org/bugs/show_bug.cgi?id=1508


0179 core (1.1)
X screenWidth/Height instead of screenW/H
X open up the pdf library more (philho)
X   http://dev.processing.org/bugs/show_bug.cgi?id=1343
X cache font information for the PDF library to improve setup time
X when using createFont("xxxx.ttf"), should use textMode(SHAPE) with PDF
X   because ttf files will not be installed on the system when opening pdf
X   added error messages for users
X bring back old-style textAscent() 
X   needs to just quickly run characters d and p
X   only takes a couple ms, so no problem
X pdf library
X   throw an error with the black boxes
X   throw an error if loading fonts from a file, and not using mode(SHAPE)
X implement default font
X   this can be done to replace the exception handler in PGraphics
o   however it needs to be a legit font, so that it works w/ pdf
o   or maybe pdf just has its own default?
X create characters on the fly when createFont() is used
o memory leak problem with fonts in JAVA2D
X   can't get this to crash anymore
o   http://dev.processing.org/bugs/show_bug.cgi?id=1252

earlier
X if no draw() method, and renderer is not displayable, then exit
X   static mode PDFs shouldn't just hang


0178 core (private)
X filter(DILATE/ERODE)
X   dilate(boolean) has bug in clamping of top kernel coordinate
X   http://dev.processing.org/bugs/show_bug.cgi?id=1477
X deprecated 'screen', adding screenW and screenH
X write implementation for get/set methods inside PImage (w/o pixels[])


0177 core (private)
X no changes


0176 core (private)
X opengl sketches run at 30fps in present mode on OS X
o   still having problems w/ full screen non-FSEM
X   http://dev.processing.org/bugs/show_bug.cgi?id=1425
X PFont not working well with lots of characters
X   only create bitmap chars on the fly when needed (in createFont)
X Implement better caching mechanism when creating large fonts
X   http://dev.processing.org/bugs/show_bug.cgi?id=1111
X fix problem with "create font" still showing anti-aliased text
X don't make fonts power of 2
X PGraphics3D: beginDraw does not release old textures
X   http://dev.processing.org/bugs/show_bug.cgi?id=1423
X   fix from taifun_browser
X removing camera() and perspective() from setSize() trashes resize
X   probably regression b/c camera/perspective can't be called then
X   http://dev.processing.org/bugs/show_bug.cgi?id=1391


0175 core (private) 
X changed createInputRaw() to only bother checking URLs if : present


0174 core (private)
X svg paths that use 'e' (exponent) not handled properly
X   http://dev.processing.org/bugs/show_bug.cgi?id=1408


0173 core (private)
X Re-enabled hack for temporary clipping. 
X   Clipping still needs to be implemented properly, however. Please help!
X   http://dev.processing.org/bugs/show_bug.cgi?id=1393


0172 core (private)
X no changes to the core (or were there?) 


0171 core (1.0.9)
X Blurred PImages in OPENGL sketches
X   removed NPOT texture support (for further testing)
X   http://dev.processing.org/bugs/show_bug.cgi?id=1352


0170 core (1.0.8)
X added some min/max functions that work with doubles
X   not sure if those are staying in or not
X filter(RGB) supposed to be filter(OPAQUE) 
X   http://dev.processing.org/bugs/show_bug.cgi?id=1346
X implement non-power-of-2 textures
X fix get() when used with save() in OpenGL mode
X immediately update projection with OpenGL 
X   in the past, projection updates required a new frame
X   also prevents camera/project from being reset with setSize() (regression?)
X     which was a problem anyway because it made GL calls outside draw()
X partial fix for texture edge problems with opengl
o   http://dev.processing.org/bugs/show_bug.cgi?id=602
X some camera problems may be coming from "cameraNear = -8" line
X   this may cause other problems with drawing/clipping however
X opengl camera does not update on current frame (has to do a second frame)
X remove methods from PApplet that use doubles


0169 core (1.0.7)
X remove major try/catch block from PApplet.main()
X   hopefully will allow some exception stuff to come through properly
X PVector.angleDistance() returns NaN
X   http://dev.processing.org/bugs/show_bug.cgi?id=1316


0168 core (1.0.6)
X getImage() setting the wrong image type
X   http://dev.processing.org/bugs/show_bug.cgi?id=1282
X strokeWeight() makes lines 2x too thick with P2D
X   http://dev.processing.org/bugs/show_bug.cgi?id=1283
X image() doesn't work with P2D, P3D, and OPENGL with noFill()
X   http://dev.processing.org/bugs/show_bug.cgi?id=1299
o   maybe using rgb instead of tint inside drawing loops?
X   http://dev.processing.org/bugs/show_bug.cgi?id=1222


0167 core (1.0.5)
X changed text layout methods from private to protected


0166 core (1.0.4)
X disable point() going to set() from PGraphicsJava2D
X   set() doesn't honor alpha consistently
X   also causes problems with PDF
X preliminary thread() implementation
X double param version of map()
X PImage cacheMap problem when using PImage.get() 
X   http://dev.processing.org/bugs/show_bug.cgi?id=1245
X problems with > 512 points and P3D/OPENGL (thx DopeShow)
X   http://dev.processing.org/bugs/show_bug.cgi?id=1255
X imageMode(CENTER) doesn't work properly with P2D
X   http://dev.processing.org/bugs/show_bug.cgi?id=1232
X reset matrices when using beginRecord() with PDF
X   http://dev.processing.org/bugs/show_bug.cgi?id=1227
X resizing window distorts gl graphics
X   patch from Pablo Funes
X   http://dev.processing.org/bugs/show_bug.cgi?id=1176
X significant point() and set() slowdown on OS X
X   http://dev.processing.org/bugs/show_bug.cgi?id=1094


0165 core (1.0.3)
X update to itext 2.1.4
X endRecord or endRaw produces RuntimeException with PDF library
X   http://dev.processing.org/bugs/show_bug.cgi?id=1169
X problem with beginRaw/endRaw and OpenGL
X   http://dev.processing.org/bugs/show_bug.cgi?id=1171
X set strokeWeight with begin/endRaw
X   http://dev.processing.org/bugs/show_bug.cgi?id=1172
X fix strokeWeight with P3D (better version of line hack)
X make P3D use proper weights
X ArrayIndexOutOfBoundsException with point()
X   http://dev.processing.org/bugs/show_bug.cgi?id=1168


0164 core (1.0.2)
X requestImage() causing problems with JAVA2D
X fix minor strokeWeight bug with OpenGL
X text() with char array
o   add documentation
o   add this for text in a rectangle?
X minor bug fix to svg files that weren't being resized properly
X OpenGL is rendering darker in 0149+ 
X   http://dev.processing.org/bugs/show_bug.cgi?id=958
X   the fix has been found, just incorporate it
X   thanks to dave bollinger
X OutOfMemoryError with ellipse() in P3D and OPENGL
X   http://dev.processing.org/bugs/show_bug.cgi?id=1086
X   should also fix problem with AIOOBE
X   http://dev.processing.org/bugs/show_bug.cgi?id=1117
X point(x,y) ignores noStroke() (in some renderers)
X   http://dev.processing.org/bugs/show_bug.cgi?id=1090
X fix startup problem when scheme coloring was odd
X   http://dev.processing.org/bugs/show_bug.cgi?id=1109
X fix several point() problems with P3D
X   http://dev.processing.org/bugs/show_bug.cgi?id=1110
X nextPage() not working properly with PDF as the renderer
X   http://dev.processing.org/bugs/show_bug.cgi?id=1131
X save styles when nextPage() is called
X beginRaw() broken (no DXF, etc working)
X   http://dev.processing.org/bugs/show_bug.cgi?id=1099
X   http://dev.processing.org/bugs/show_bug.cgi?id=1144
X Fix algorithm for quadratic to cubic curve conversion 
X   wrong algorithm in PGraphicsOpenGL and PShapeSVG
X   (thanks to user 'shambles')
X   http://dev.processing.org/bugs/show_bug.cgi?id=1122
X tint() not working in P2D
X   http://dev.processing.org/bugs/show_bug.cgi?id=1132
X blend() y coordinates inverted when using OpenGL
X   http://dev.processing.org/bugs/show_bug.cgi?id=1137

invalid/wontfix/dupe
X Processing will not start with non-standard disk partitioning on OS X
X   http://dev.processing.org/bugs/show_bug.cgi?id=1127
X Got NoClassDefFoundError exception when accessing quicktime API
X   http://dev.processing.org/bugs/show_bug.cgi?id=1128
X   http://dev.processing.org/bugs/show_bug.cgi?id=1129
X   http://dev.processing.org/bugs/show_bug.cgi?id=1130
X not using present mode correctly
X   http://dev.processing.org/bugs/show_bug.cgi?id=1138
X apparent graphics driver conflict on vista
X   http://dev.processing.org/bugs/show_bug.cgi?id=1140
X PImage.save() does not create parent directories
X   http://dev.processing.org/bugs/show_bug.cgi?id=1124
X sketch turning blue and not working on osx
X   http://dev.processing.org/bugs/show_bug.cgi?id=1164
X dupe: blend() inaccurary
X  http://dev.processing.org/bugs/show_bug.cgi?id=1008
X glPushAttrib style function
X   http://dev.processing.org/bugs/show_bug.cgi?id=1150
X calling saveFrame() in noLoop() (update reference)
X   http://dev.processing.org/bugs/show_bug.cgi?id=1155

xml
X fix for xml elements that have null names
X added listChildren() method
X added optional toString(boolean) parameter to enable/disable indents


0163 core (1.0.1)
X do not parse split() with regexp
X   http://dev.processing.org/bugs/show_bug.cgi?id=1060
X ArrayIndexOutOfBoundsException in ellipseImpl() with 1.0
X   http://dev.processing.org/bugs/show_bug.cgi?id=1068


0162 core (1.0)
X no additional changes for 1.0


0161 core
X present on macosx causing strange flicker/jump while window opens
X   using validate() for present mode, pack() otherwise
X   http://dev.processing.org/bugs/show_bug.cgi?id=1051


0160 core
X stroked lines drawing on top of everything else in P3D
X   http://dev.processing.org/bugs/show_bug.cgi?id=1032
X 100x100 sketches not working


0159 core
o disable present mode? (weirdness with placements on mac)
X   deal with some present mode issues
X   use FSE on mac within the PDE
X   when exporting, never use FSE
_   document changes re: can specify --exclusive on command line
X do we need to do glEnable for multisample with gl?
o   just need to test this on a few platforms
X   doesn't seem to be the case
X Present mode and OPENGL not working in 0156 with Windows Vista
X   http://dev.processing.org/bugs/show_bug.cgi?id=1009
X   Seems to be limited to Java 6u10 (but verify)
o   -Dsun.java2d.d3d=false seems to fix the problem
o   can probably add that to PApplet.main()
X   does not work


0158 core
X beginShape(TRIANGLE_FAN), and therefore arc(), broken in P2D
X   also a typo in the ColorWheel example
X   http://dev.processing.org/bugs/show_bug.cgi?id=1019
X P2D - null pointer exception drawing line with alpha stroke
X   http://dev.processing.org/bugs/show_bug.cgi?id=1023
X P2D endShape() is working like endShape(CLOSE) 
X   http://dev.processing.org/bugs/show_bug.cgi?id=1021
X   http://dev.processing.org/bugs/show_bug.cgi?id=1028 (mark as dupe)
X arc() center transparent
X   http://dev.processing.org/bugs/show_bug.cgi?id=1027
X   mark as dupe of bug #200
X   but fixed for the P2D case, still afflicts P2D
X P2D - alpha stroke rendered at full opacity
X   http://dev.processing.org/bugs/show_bug.cgi?id=1024
X smooth() on single line ellipses not coming out smooth
X   sort of works, just not great
X improve (slightly) the quality of ellipse() and arc() with P2D
X   don't use TRIANGLE_FAN on ellipseImpl() and arcImpl() with P2D
X   split out ellipseImpl and arcImpl from PGraphics into P2D and P3D
X figure out better model for adaptive sizing of circles
X   also goes for arcs, though will be weighted based on arc size
X Bring back CENTER_RADIUS but deprecate it
X   http://dev.processing.org/bugs/show_bug.cgi?id=1035
X enable smoothing by default in opengl
X   change hints to instead only be able to DISABLE 2X or 4X
X bring back .width and .height fields for PShape
o   need to update the examples to reflect
X   no examples to update
X change reference re: smoothing in opengl
X   hint(), smooth(), and size()
X   rev the version number


0157 core
X SVG polygon shapes not drawing since loadShape() and PShape changes
X   http://dev.processing.org/bugs/show_bug.cgi?id=1005
X image(a, x, y) not honoring imageMode(CENTER)
X   need to just pass image(a, x, y) to image(a, x, y, a.width, a.height)
X   rather than passing it directly to imageImpl()
X   http://dev.processing.org/bugs/show_bug.cgi?id=1013
o disable P2D before releasing (unless implementation is finished)


0156 core
X clarify the "no variables in size() command" rule
X   http://dev.processing.org/bugs/show_bug.cgi?id=992
X present mode broken in general?
X   placement of elements in present mode is messed up
X   "stop" button hops around, window not centered on screen
X   http://dev.processing.org/bugs/show_bug.cgi?id=923
X disable P2D for size() and createGraphics() before releasing
X   already was disabled, just a bug in detecting it


0155 core
X hint(DISABLE_DEPTH_TEST) throws null pointer exception with OpenGL
X   http://dev.processing.org/bugs/show_bug.cgi?id=984


0154 core
X only set apple.awt.graphics.UseQuartz on osx, otherwise security error
X   http://dev.processing.org/bugs/show_bug.cgi?id=976
X add skewX() and skewY() to PMatrix
X Add support style attribute for path tag to Candy SVG (ricard)
X   http://dev.processing.org/bugs/show_bug.cgi?id=771
X remove setX/Y/Z from PVector, copy() (use get() instead), add mult/div
X   remove copy() from PVector? 
X   add mult() and div() with vector inputs?


0153 core
X make PImage.init() public again


0152 core
X no changes to 0152 core


0151 core
X NullPointerException on curveVertex() when using more than 128 vertices
X   http://dev.processing.org/bugs/show_bug.cgi?id=952
X Text not bounding correctly with x, y, w, h
X   http://dev.processing.org/bugs/show_bug.cgi?id=954
o dataFolder() might be flawed b/c it's referring to contents of jar file
o   for input, better to use openStream
X   clear up the javadoc on this
X odd-size height will make blue line across image in saveFrame()
X   http://dev.processing.org/bugs/show_bug.cgi?id=944
X   probably the pixel flipping code (and endian sorting) not happening
X   because the blue comes from the byte order flip
X   http://processing.org/discourse/yabb_beta/YaBB.cgi?board=OpenGL;action=post;num=1219196429
X ArrayIndexOutOfBoundsException in PLine
X   http://dev.processing.org/bugs/show_bug.cgi?id=246
X   http://dev.processing.org/bugs/show_bug.cgi?id=462
X random AIOOBE with P3D and points
X   http://dev.processing.org/bugs/show_bug.cgi?id=937

cleanup
X alter bezier and curve matrices to use PMatrix
X   float array stuff is redundant with code that's in PMatrix
X   and PMatrix has to be included even w/o P3D so...
X add texture support to begin/endRaw
X should we do joins when alpha is turned off?
X   http://processing.org/discourse/yabb_beta/YaBB.cgi?board=OpenGL;action=display;num=1210007450
X   no, because it's too processor intensive to draw a lotta ellipses
X   but added a note about it to the reference for 0151
X strokeWeight() doesn't work in opengl or p3d
o gl smoothing.. how to disable polygon but keep line enabled
o   or at least make a note of this?
o   leave smooth off, get the gl object, then enable line smooth
X   don't bother, this is a workaround for another bug
o PPolygon no longer in use and PLine is a mess
o   make a version of PGraphics3 that uses it for more accurate rendering?


0150 core
X no changes to processing.core in 0150


0149 core
X remove MACOS9 constant from processing.core.*
X   because code no longer runs on os9 since dropping 1.1 support
X specular() with alpha has been removed
X GLDrawableFactory.chooseGraphicsConfiguration() error with OpenGL
X   http://dev.processing.org/bugs/show_bug.cgi?id=891
X   http://dev.processing.org/bugs/show_bug.cgi?id=908
X fix problem with unregisterXxxx()
X   http://dev.processing.org/bugs/show_bug.cgi?id=910
X make parseFloat() with String[] array return NaN for missing values
X   http://processing.org/discourse/yabb_beta/YaBB.cgi?board=Syntax;action=display;num=1220880375
X fix problems with text in a rectangle
X   http://dev.processing.org/bugs/show_bug.cgi?id=893
X   http://dev.processing.org/bugs/show_bug.cgi?id=899
X finish getImage() method inside PImage
X delay() is broken
X   http://dev.processing.org/bugs/show_bug.cgi?id=894
X remove extra ~ files from core.jar
X   also fix for other libraries in the make scripts across platforms
X fix problems in PApplet regarding signed code
X   createInput() wasn't bothering to check files when not online
X unhint() has been removed, see the reference for hint() for changes
o enable() and disable() instead of hint()/unhint()
o   should these use text strings? how will that be compiled?
X remove unhint(), add opposite hints for those that need to be disabled
o   maybe update hint() ref to be more clear about screen not accumulating
X   no, it's explicitly stated as such
X make decisions about whether PGraphics is an abstract class or not
X   method signature is a real problem
X figure out how to handle constructor mess
X   clean up setMainDrawingSurface()
X   should instead be inside size(), and init(), no?
X add to hint(DISABLE_DEPTH_TEST)
X   gl.glClear(GL.GL_DEPTH_BUFFER_BIT); 
X   or clearing the zbuffer for P3D
X   also add a note to the hint() reference
X DISABLE_DEPTH_TEST bad results
X   have to clear the zbuffer to make it work
X   this may be specific to lines
X   http://dev.processing.org/bugs/show_bug.cgi?id=827
X   though it also seems to be a problem with opengl
X   also make a note of disabling as a way to help font appearance
o Font width calculation fails when using vectorfonts and PDF
o   http://dev.processing.org/bugs/show_bug.cgi?id=920
X um, this is gross: getMatrix((PMatrix2D) null)
X no changing point sizes when using beginShape(POINTS)
X   this is an opengl restriction, should we stick with it elsewhere?
X   and changing stroke weight in general (with lines/shapes)
o   no renderer does this, we should probably disable it
X   added a note to the reference about it
X may need to add to PApplet.main() for OS X 10.5
X   System.setProperty("apple.awt.graphics.UseQuartz", "true");
X deprecate arraycopy(), change to arrayCopy()

cleaning
o chooseFile() and chooseFolder() with named fxn callbacks
o   the function must take a File object as a parameter
o add better error messages for all built-in renderers
o   i.e. "import library -> pdf" when pdf is missing
o cameraXYZ doesn't seem to actually be used for anything
o   since camera functions don't even look at it or set it
o registerSize() in arcball is causing trouble
o   some sort of infinite loop issue
o textMode(SCREEN) is broken for opengl
o   http://dev.processing.org/bugs/show_bug.cgi?id=426
o textSpace(SCREEN) for opengl and java2d
o   don't use loadPixels for either
o   use font code to set the cached color of the font, then call set()
o   although set() with alpha is a little different..
o resizing opengl applet likely to cause big trouble
o   componentlistener should prolly only do size() command outside of draw
o fjen says blend() doens't work in JAVA2D
o   the functions are fairly well separated now in PMethods
o   just go through all the stuff to make sure it's setting properly

point()
X java2d - if strokeWeight is 1, do screenX/Y and set()
X   if strokeWeight larger, should work ok with line()
X   no, use an ellipse if strokeWeight is larger
X gl points not working again
X   need to implement point() as actual gl points
X   this means adding points to the pipeline
X point() doesn't work with some graphics card setups
X   particularly with opengl and java2d
X   http://dev.processing.org/bugs/show_bug.cgi?id=121
X point() issues
o   point() being funneled through beginShape is terribly slow
X     go the other way 'round
X   sometimes broken, could be a problem with java 1.5? (was using win2k)

font
X fix getFontMetrics() warning
X   need to have a getGraphics() to get the actual Graphics object
X   where drawing is happening. parent.getGraphics() works except for OpenGL
X Java2D textLinePlacedImpl should check for ENABLE_NATIVE_FONTS hint
X   http://dev.processing.org/bugs/show_bug.cgi?id=633
X also try to check native font on textFont() commands
X   in case the hint() has been enabled in the meantime
X   or rather, always load native font, even w/o the hint() being set

PGraphics API changes
X setMainDrawingSurface() -> setPrimarySurface()
X mainDrawingSurface = primarySurface;
X resize() -> setSize() (roughly)
X endShape() with no params is no longer 'final'
X X/Y/Z -> TX/TY/TZ
X MX/MY/MZ -> X/Y/Z (for sake of PShape)
X render_triangles -> renderTriangles()
X depth_sort_triangles -> sortTriangles()
X render_lines -> renderLines()
X depth_sort_lines -> sortLines()
X no longer any abstract methods in PGraphics itself
X removed support for specular alpha (and its 'SPA' constant)
X clear() -> backgroundImpl()
X add DIAMETER as synonym for CENTER for ellipseMode and friends
X textFontNative and textFontNativeMetrics have been removed
X   they've been re-implemented per-PGraphics in a less hacky way
X hint(ENABLE_NATIVE_FONTS) goes away
X   need to mention in createFont() reference
X   also maybe cover in the loadFont() reference? (maybe problem...)
X image.cache has been removed, replaced with get/set/removeCache()
X   this allows per-renderer image cache data to be stored
X imageMode has been removed from PImage, too awkward
X   this also means that imageMode ignored for get(), set(), blend() and copy()
X smooth is now part of PGraphics, moved out of PImage
X raw must handle points, lines, triangles, and textures
X light position and normal are now PVector object
X changed NORMALIZED to NORMAL for textureMode()

shapes
X maybe finish off the svg crap for this release
X working on pshape
X   add shape() methods to PGraphics/PApplet
X   test and fix svg examples
X revisions.txt for x/y/z/ tx/ty/tz.. other changes in api.txt
X bring svg into main lib 
X need to straighten out 'table' object for quick object lookup
X   maybe add to all parent tables? (no, this gets enormous quickly)
X fix svg caps/joins for opengl with svg library
X   http://dev.processing.org/bugs/show_bug.cgi?id=628
X save/restore more of the p5 graphics drawing state
X   not setting colorMode(), strokeCap, etc.
X ignoreStyles is broken - how to handle
X   need a whole "styles" handler
X handle cap/join stuff by
X   if it's setting the default, no error message
X   if it's not the default, then show an error msg once
X   have a list Strings for errors called, rather than constants for all
X     that way, no need to have an error message for every friggin function
X PMatrix now PMatrix3D (maybe not yet?)
X change svg library reference

hint/unhint/enable/disable
X option to have renderer errors show up
X   1) as text warnings 2) as runtime exceptions 3) never
X add warning system for pgraphics, rather than runtime exceptions
X   keep array of warning strings, and booleans for whether they've called
X ENABLE_DEPTH_SORT not really working for GL
X   because the zbuffer is still there, it's still calculating
X   actually, this is probably because it happens after the frame
X   so really, flush is required whenever the depth sort is called
X   need to check this--isn't this referring to DISABLE_DEPTH_TEST?
X ENABLE_DEPTH_SORT causing trouble with MovieMaker
X   need to make the flush() api accessible
X   http://dev.processing.org/bugs/show_bug.cgi?id=692
X image smoothing 
X   straighten out default vs. ACCURATE vs. whatever
X   Java2D and P3D and OpenGL are all inconsistent
o   need to be able to do hint() to do nearest neighbor filtering
X   http://dev.processing.org/bugs/show_bug.cgi?id=685
o   imageDetail(), textDetail(), etc?
o   decisions on image smoothing vs. text smoothing vs. all


0148 core
X tweaks to PGraphicsOpenGL to support GLGraphics


0147 core
X processing sketches not restarting after switching pages in safari
X   http://dev.processing.org/bugs/show_bug.cgi?id=581

cleaning
X misshapen fonts on osx (apple fixed their bug)
X   http://dev.processing.org/bugs/show_bug.cgi?id=404


0146 core
X fix the internal file chooser so that people don't need to make their own
X   threading is a problem with inputFile() and inputFolder()
X   dynamically load swingworker?
o   remove saveFile() methods?
o     write up examples for these instead?
o     start an integration section?
X get() in java2d not honoring imageMode or rectMode
X add imageMode(CENTER) implementation
X   add a bunch of changes to the reference to support this
X Duplicate 3d faces in beginRaw() export
X   this was actually doubling geometry, potentially a bit of a disaster
X   http://dev.processing.org/bugs/show_bug.cgi?id=737
o bezierVertex YZ Plane fill problem
X   http://dev.processing.org/bugs/show_bug.cgi?id=752
X   weird coplanar stuff, shouldn't be doing 3D anyway

cleanup
X switch to requestImage() (done in 0145)
o can bug 77 be fixed with a finalizer? (no, it cannot)
X make sure that images with alpha still have alpha in current code
X text in rectangle is drawing outside the box
X   http://dev.processing.org/bugs/show_bug.cgi?id=844
X points missing in part of screen
X   http://dev.processing.org/bugs/show_bug.cgi?id=269


0145 core
X separate x/y axis on sphereDetail() params
X   http://dev.processing.org/bugs/show_bug.cgi?id=856
X make sure docs for PImage use createImage
X add notes about JOGLAppletLauncher
X   http://download.java.net/media/jogl/builds/nightly/javadoc_public/com/sun/opengl/util/JOGLAppletLauncher.html
X   added to javadoc
o need a halt() method which will kill but not quit app (sets finished?)
o   exit() will actually leave the application
o   this may in fact only be internal
X   this is just the stop() method, though maybe we need to document it
X text(String, float, float, float, float) draws text outside box
X   http://dev.processing.org/bugs/show_bug.cgi?id=844
X implement textAlign() for y coords in text rect
X   need to add reference for this
X textAlign() bottom now takes textDescent() into account
X remove gzip-related hint()

threading
X major threading overhaul before 1.0 (compendium)
X   http://dev.processing.org/bugs/show_bug.cgi?id=511
X   ewjordan has added a good trace of the badness
X need to move off anim off the main event thread
X   move away from using method like display
X   look into opengl stuff for dealing with this
X move addListeners() calls back out of PGraphics
X resize window will nuke font setting
X textFont() used in setup() is null once draw() arrives
X   http://dev.processing.org/bugs/show_bug.cgi?id=726
X colorMode() set inside setup() sometimes not set once draw() arrives
X   http://dev.processing.org/bugs/show_bug.cgi?id=767
X applet sizing issues with external vm
X   could this possibly be related to the linux bug?
X   http://dev.processing.org/bugs/show_bug.cgi?id=430
X alloc() stuff not fixed because of thread halting
X   problem where alloc happens inside setup(), so, uh..
X   http://dev.processing.org/bugs/show_bug.cgi?id=369
X   should instead create new buffer, and swap it in next time through
X sonia (and anything awt) is locking up on load in rev 91
X   prolly something w/ the threading issues
X   paint is synchronized in 0091
X     however this is a necessity, otherwise nasty flickering ensues
X     and using a "glock" object seems to completely deadlock
X   http://dev.processing.org/bugs/show_bug.cgi?id=46
o claim that things are much slower in 107 vs 92
o   http://processing.org/discourse/yabb_beta/YaBB.cgi?board=Suggestions;action=display;num=1141763531
X   hopefully this is cleaned up by removing some of the synchronization
X sketches lock up when system time is changed
X   http://dev.processing.org/bugs/show_bug.cgi?id=639
X can draw() not be run on awt event thread?
X   look into opengl stuff for dealing with this
o "is there a better way to do this" thread in lists folder
X framerate that's reported is out of joint with actual
X   http://dev.processing.org/bugs/show_bug.cgi?id=512
X   accuracy of frame timer is incorrect
X   seems to be aliasing effect of low resolution on millis()
X   so rates coming out double or half of their actual
X   probably need to integrate over a rolling array of 10 frames or so
X frameRate() speeds up temporarily if CPU load drops dramatically
X   http://dev.processing.org/bugs/show_bug.cgi?id=297
o   perhaps add a hint(DISABLE_FRAMERATE_DAMPER)
X fix the flicker in java2d mode
X   http://dev.processing.org/bugs/show_bug.cgi?id=122
X   framerate(30) is still flickery and jumpy..
X   not clear what's happening here
X   appears to be much worse (unfinished drawing) on macosx
X     try turning off hw accel on the mac to see if that's the problem


0144 core
X if loading an image in p5 and the image is bad, no error msg shown
X   that is, if a loadImage() turns up an access denied page
X   added an error message for this, and the image width and height will be -1
X added loadImageAsync() for threaded image loading

opengl fixes 
X incorporate changes from andres colubri into PGraphicsOpenGL
X   most of the changes incorporated, something weird with constructors
X use gluErrorString() for glError() stuff
X PGraphicsOpenGL.java:
X   directionalLight() and .pointLight() are both calling
X   glLightNoAmbient() which then creates a new FloatBuffer 
X   http://processing.org/discourse/yabb_beta/YaBB.cgi?board=SoftwareBugs;action=display;num=1199376364


0143 core
X some fonts broken in java 1.5 on osx have changed again
X   http://dev.processing.org/bugs/show_bug.cgi?id=407
X   filed as bug #4769141 with apple http://bugreport.apple.com/
X   appears that asking for the postscript name no longer works
o   fix "create font" and associated font stuff to straighten it out
X   was grabbing the wrong native font with ico sketch 
X   seems that the psname is no longer a good way to grab the font? related?
X available font issues
X   is getFontList returning a different set of fonts from device2d?
X     try it out on java 1.3 versus 1.4
X   getAllFonts() not quite working for many fonts
X   i.e. Orator Std on windows.. macosx seems to be ok
X   is getFamilyNames() any different/better?
X   when did this break? 1.4.1? 1.4.x vs 1.3?
X   may be that cff fonts won't work?
X   or is it only those with ps names?
X   http://processing.org/discourse/yabb_beta/YaBB.cgi?board=SoftwareBugs;action=display;num=1117445969
o leading looks too big, at least in PGraphics2 with news gothic
X   though prolly the converted version of the .ttf?
X add a fix so that negative angle values won't hork up arc() command
X add resize() method to PImage


0142 core
X update iText in PDF library to 2.1.2u
X loadStrings(".") should not list directory contents
X   http://dev.processing.org/bugs/show_bug.cgi?id=716


0141 core
X no changes to core in 0141


0140 core
X add static version of loadBytes() that reads from a File object
X slightly clearer error messages when OpenGL stuff is missing


0139 core
X no changes to core in 0139


0138 core
X improve tessellation accuracy by using doubles internally
X   http://dev.processing.org/bugs/show_bug.cgi?id=774


0137 core
X add gz handling for createOutput()
X change openStream() to createInput() (done in 0136)
X   add createOutput() 
X   deprecate openStream() naming


0136 core
X add static version of saveStream() (uses a File and InputStream object)
X A "noLoop()" sketch may be unresponsive to exit request
X   http://dev.processing.org/bugs/show_bug.cgi?id=694
X Fixed bug with subset() when no length parameter was specified
X   http://processing.org/discourse/yabb_beta/YaBB.cgi?board=Syntax;action=display;num=1196366408
X   http://dev.processing.org/bugs/show_bug.cgi?id=707
X figure out why tiff images won't open with after effects
X   http://dev.processing.org/bugs/show_bug.cgi?id=153
X   open with photoshop, resave, see which tags change
X     specifically, which tags that were in the original image file
X     perhaps something gets corrected? 
X   had a fix, but decided not to re-implement the loadTIFF stuff too
X fix for bezierTangent() problem from dave bollinger
X   http://dev.processing.org/bugs/show_bug.cgi?id=710
X implement curveTangent (thanks to davbol)
X   http://dev.processing.org/bugs/show_bug.cgi?id=715
X fix problem with get() when imageMode(CORNERS) was in use
X fix bug with splice() and arrays
X   http://dev.processing.org/bugs/show_bug.cgi?id=734
X 'screen' is now static
X   undo this--may need to be better about specifying screen and all
X PImage mask doesn't work after first call
X   http://dev.processing.org/bugs/show_bug.cgi?id=744
X load and save tga results in upside down tga
X   http://dev.processing.org/bugs/show_bug.cgi?id=742
X fix problem with g.smooth always returning false in JAVA2D
X   http://dev.processing.org/bugs/show_bug.cgi?id=762
X add XMLElement (not filename) constructor to SVG lib
X   http://dev.processing.org/bugs/show_bug.cgi?id=773


0135 core
X modelX/Y/Z still having trouble
X   http://dev.processing.org/bugs/show_bug.cgi?id=486
X   http://processing.org/discourse/yabb_beta/YaBB.cgi?board=Suggestions;action=display;num=1186614415
X add docs for model/screen/Y/Z
X   added for model, along with example. 
X   screen was already complete
X bring back opengl mipmaps (create them myself? try w/ newer jogl?)
X   opengl mipmaps are leaking (regression in spite of #150 fix)
X   http://dev.processing.org/bugs/show_bug.cgi?id=610
X   http://processing.org/discourse/yabb_beta/YaBB.cgi?board=OpenGL;action=display;num=1193967684
X   seems to not actually be a problem on mbp, try desktop?
X copy() was needing updatePixels() when used with OPENGL or JAVA2D
X   http://dev.processing.org/bugs/show_bug.cgi?id=681
X   check on the bug report for this one as well
X   http://processing.org/discourse/yabb_beta/YaBB.cgi?board=Syntax;action=display;num=1173394373

earlier 
o add notes about fixing serial on the mac to the faq (and link to bug)
X   not necessary, hopefuly things working better now
X utf8 and encodings
X   createWriter() and createReader() that take encodings
X   xml files seem to be a lot of UTF-8
X xml stuff
X   getItem("name");
X   getItems("name"); (same, but looks for multiple matches
X   getItem("path/to/item");
o   or could use getItem and getItemList? getItemArray()?
o   read more about xpath
X parse xml from a string object
X   not have to just use Reader
X   add mention of this to the board
o update to new version of jogl
X fix mini p5 bugs for eugene


0134 core
X add noLights() method
X   http://dev.processing.org/bugs/show_bug.cgi?id=666
X redraw the screen after resize events (even with noLoop)
X   http://dev.processing.org/bugs/show_bug.cgi?id=664
o problem with transparency in mask()
o   http://dev.processing.org/bugs/show_bug.cgi?id=674
X   mark bug as invalid, using fill() instead of tint()
X move to UTF-8 as native format for core file i/o operations
X   update reference to document the change
o jogl glibc 2.4 problem on linux
o   move back to previous jogl until 1.1.1 is released
X   http://dev.processing.org/bugs/show_bug.cgi?id=675
o deal with opengl applet export changes
o   what is deployment suggestion for all the different platforms?
o   can the jar files actually provide the DLLs properly?
X revert back to jogl 1.0


0133 core
X fix problem with "export to application" and opengl
X   http://processing.org/discourse/yabb_beta/YaBB.cgi?board=OpenGL;action=display;num=1193142573
X add focus requests so that better chance of keys etc working
X   http://dev.processing.org/bugs/show_bug.cgi?id=645
X   argh, these make things worse (P3D run internal)
X add stuff about classversionerrors to the reference
X   also update the libraries page
X fix background() with P3D and beginRaw()
X endRaw() has a problem with hint(ENABLE_DEPTH_SORT)
X   because the triangles won't be rendered by the time endRaw() is called
X   force depth sorted triangles to flush
X is mousePressed broken with noLoop() or redraw()?
X   sort of but not really, add notes to reference about it

cleaning
o calling graphics.smooth(), graphics.colorMode() outside begin/endDraw
o   this causes everything to be reset once the draw occurs
o   kinda seems problematic and prone to errors?
X   nope, just need to say to do all commands inside begin/endDraw
o finish implementation so 1.1 support can return
X   http://dev.processing.org/bugs/show_bug.cgi?id=125
o check into ricard's problems with beginRecord()
X   i believe these were caused by linux java2d issues
X beginFrame()/beginDraw() and defaults()
X   when should these be called, when not?
X   seems as though the begin/end should happen inside beginRaw/Record
X   defaults() gets called by the size() command in PApplet
o would be cool if could sort w/o the sort class..
o   meaning use reflection to sort objects, just by implementing a few methods
o   would be much simpler and less confusing than new Sort() etc 
o   or would it be ridiculously slow?
X   just using Comparator instead, since moving to Java 1.4
X make a PException that extends RuntimeException but packages an ex?
X   http://java.sun.com/docs/books/tutorial/essential/exceptions/runtime.html
X   no, not necessary, and exceptions suck
o need to write an error if people try to use opengl with 1.3 (i.e. on export)
o   don't let users with java < 1.4 load OPENGL
o   http://processing.org/discourse/yabb_beta/YaBB.cgi?board=Contribution_3DOpenGL;action=display;num=1114368123;start=3
o catch security exceptions around applet i/o calls
o   not just for saving files, but provide better error msgs when
o     attempting to download from another server
X   nope, just cover this in the reference
o files not in the data folder (works in env, not in sketch)
X   mentioned repeatedly in the docs
o fix link() to handle relative URLs
o   http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1081710684
X   more trouble (and bug-worthy) than it's worth
o put SecurityException things around file i/o for applets
o   rather than checking online(), since applets might be signed
X   no, better to let errors come through
o slow on java2d, fast on p3d
o   http://processing.org/discourse/yabb_beta/YaBB.cgi?board=SoftwareBugs;action=display;num=1115276250;start=3

ancient
o strokeWeight is still broken
o   setting stroke width on circle makes odd patterns
o   http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1077013848
o   http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1080347160
o more weirdness with stroke on rect, prolly not alpha
o   http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1085799526
o rect is not getting it's stroke color set
o   http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1073582391;start=0
o weird problem with drawing/filling squares
o   http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1077226984
o alpha of zero still draws boogers on screen
o   http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1073329613;start=0
o   http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1080342288;start=0
o break apart functions into local (placement) and override (blitting)
o   just have a "thin_flat_line" option in opengl code
o is quad strip broken or not behaving as expected?
X   may be correct, it worked for nik
X inside draw() mode, delay() does nothing
X   delay might be a good way to signal drawing to the screen/updating
X set(x, y, image) x, y not setting with processing

fixed earlier
X is the texture[] array in PGraphics3D causing the problems with memory?
X   actually it's a PGraphicsGL problem.. 
X   maybe the image binding not getting unbound?
o should image i/o be moved into PImage?
o   still needs applet object, so it's not like this is very useful
o   external PImage methods could take stream, i suppose..
X   relevant parts were moved in, others not
o loadImage() using spaces in the name
o   if loadImage() with spaces when online(), throw an error
o get tiff exporter for p5 to support argb and gray
X   would also need to modify the tiff loading code, 
X   because the header would be different
X   http://dev.processing.org/bugs/show_bug.cgi?id=343
X map() is not colored, neither is norm
X image outofmemoryerror for casey's students
X   http://dev.processing.org/bugs/show_bug.cgi?id=355
X   this may be related to a ton of other memory bugs
X   1.5.0_07 and 1.4.2_12 contain the -XX:+HeapDumpOnOutOfMemoryError switch 
X     invaluable for tracking down memory leaks 
X   can't replicate anymore
X texture mapping
X   very odd, "doom era" stuff
X   would it be possible to have a 'slow but accurate' mode?
X   http://dev.processing.org/bugs/show_bug.cgi?id=103
X   fixed in release 0125
X add hint() and unhint()
X   also add unhint() to the keywords file
X   and maybe remove hint() from keywords_base?
o present mode is flakey.. applet doesn't always come up
o   seems like hitting stop helps shut it down?
o   is full screen window not being taken down properly?
o   has this fixed itself, or is it an issue with launching externally?
X   seems to be fixed in later java versions
X rewrite getImpl/setImpl inside opengl
X placement of 100x100 items is odd
X   happens with P3D and maybe also P2D?
X   http://dev.processing.org/bugs/show_bug.cgi?id=128


0132 core
X an image marked RGB but with 0s for the alpha won't draw in JAVA2D
X   images with 0x00 in their high bits being drawn transparent
X   also if transparency set but RGB is setting, still honors transparency
X   http://dev.processing.org/bugs/show_bug.cgi?id=351
X improve memory requirements for drawing images with JAVA2D
X   now using significantly less memory

tint/textures
X tint() and noTint() switching problem in P2D
X   this should be a quick fix
X   http://dev.processing.org/bugs/show_bug.cgi?id=222
X related to the fill bugs: when fill is identical, no fill applied
X   actually tint() should take over for fill as per-vertex color
X   when textured images are being used
X   http://dev.processing.org/bugs/show_bug.cgi?id=169
X tint() should set texture color, fill() is ignored with textures
X   add to the reference
X fix tint() for PGraphics3 (what could be wrong?)
X   tint() honoring alpha but not colored tint
X   maybe not setting fill color when drawing textures
X   guessing it's an implementation issue in sami's renderer
X   check with the a_Displaying example and tint(255, 0, 0, 100);
X   http://dev.processing.org/bugs/show_bug.cgi?id=90


0131 core
X hint(DISABLE_DEPTH_TEST) not behaving consistently
X   http://dev.processing.org/bugs/show_bug.cgi?id=483
o make hints static - cannot do that
X clean up hinting mechanism a bit
X look into jogl anti-aliasing on osx
o   smoothMode(2) and smoothMode(4), right after size()?
X   http://processing.org/discourse/yabb_beta/YaBB.cgi?board=OpenGL;action=display;num=1175552759
X   http://processing.org/discourse/yabb_beta/YaBB.cgi?board=OpenGL;action=display;num=1164236069
X look into capabilities stuff from mike creighton
X   also sets the aa mode on the pc so it no longer needs control panel bunk
X update to JOGL 1.1.0
X add gluegen-rt back to the applet export
X   http://download.java.net/media/jogl/builds/nightly/javadoc_public/com/sun/opengl/util/JOGLAppletLauncher.html
X add print() and println() for long and double
X   http://dev.processing.org/bugs/show_bug.cgi?id=652
X fix minor bug in saveStream() (undocumented)
X "this file is named" errors don't like subdirectories
X   need to strip off past the file separator or something


0130 core
X fixed problem with size() and the default renderer
X   the renderer was being reset after setup(), 
X   so anything that occurred inside setup() was completely ignored.
X   http://dev.processing.org/bugs/show_bug.cgi?id=646
X   http://dev.processing.org/bugs/show_bug.cgi?id=648
X   http://dev.processing.org/bugs/show_bug.cgi?id=649
X   http://processing.org/discourse/yabb_beta/YaBB.cgi?board=SoftwareBugs;action=display;num=1192873557
X   http://processing.org/discourse/yabb_beta/YaBB.cgi?board=SoftwareBugs;action=display;num=1192731014


0129 core
X width and height not always set properly
X   http://dev.processing.org/bugs/show_bug.cgi?id=642
X bring back background() with alpha


0128 core
X remove PFont reflection stuff
X remove cursor reflection stuff
X fix up sorting functions
X   implement sortCompare() and sortSwap()
X      discuss this with casey
X   also could be using Arrays.sort(blah) with Comparable (1.2+)
X   make sorting functions static
X   use methods from Arrays class, cuts down on code significantly
X   implement sortCompare() and sortSwap()
X     discuss this with casey
o     also could be using Arrays.sort(blah) with Comparable (1.2+)
X   make sorting functions static?
o should loadFont() work with ttf files (instead of createFont?)
X   otherwise loadFont() would work with font names as well, awkward
X   better to use createFont() for both
o jogl issues with some cards on linux, might be fixed with newer jogl
X   http://dev.processing.org/bugs/show_bug.cgi?id=367
X remove methods for background() to include an alpha value
X   this is undefined territory because of zbuffer and all
X   if you want that effect, use a rect()
X saveFrame() produces a black background because bg not set correctly:
X   http://dev.processing.org/bugs/show_bug.cgi?id=421
X background not being set properly
X   http://dev.processing.org/bugs/show_bug.cgi?id=454
X   having shut off the defaults reset, background not getting called for java2d
X   so this will make that other stuff regress again
X   in particular, when the applet is resized, but renderer not changed
X why aren't background() / defaults() being called for opengl?
o   http://processing.org/discourse/yabb_beta/YaBB.cgi?board=Contribution_3DOpenGL;action=display;num=1118784331
o simon reports borders on P3D and OPENGL if background() not called
X window fixed at 100x100 pixels
X   http://dev.processing.org/bugs/show_bug.cgi?id=197
X   width/height on problem machine prints out as:
X   100x100 issues are exhibited on bh140c PCs, test and fix!
X   100,200 and 128,200
o AIOOBE on PLine 757.. halts renderer
o fix erik's problems with export (also in bugs db)
X draw() called twice in vista with java 1.6
X   http://dev.processing.org/bugs/show_bug.cgi?id=587

cleanup from previous releases
X P3D not doing bilinear interpolation in text and images 
X   because smooth() has to be set (and smooth throws an error in P3D)
X   how should this be handled? a hint? allowing smooth()?
X   probably just allow smooth() but don't smooth anything
o pdf export ignoring transparency on linux
o   check to see if this is the case on other linux machines
o   seems to be working fine on windows
o   http://dev.processing.org/bugs/show_bug.cgi?id=345
X change how java version is determined on mac
X   http://developer.apple.com/technotes/tn2002/tn2110.html
X   (this tn provides no guidance for macos8/9.. gah)
o little window showing up on macosx when running
X   never able to confirm, probably just old java bug
X   http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1081284410
o flicker happening on osx java 1.4, but not 1.3:
o   http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1083184297
o don't let users on < 1.3 load JAVA2D
X set upper bound on framerate so as not to completely hose things?

fixed in 0127
X ARGB problems with createGraphics
o   P3D from createGraphics needs to be marked RGB not ARGB
X   http://dev.processing.org/bugs/show_bug.cgi?id=160
X   http://dev.processing.org/bugs/show_bug.cgi?id=428
X   http://dev.processing.org/bugs/show_bug.cgi?id=482
X   http://dev.processing.org/bugs/show_bug.cgi?id=530
X   http://dev.processing.org/bugs/show_bug.cgi?id=527

reasons to drop 1.1 support (and support 1.3+)
X remove reflection from createFont() constructor/methods in PFont
X   this would make PFont much smaller
X array functions could be done through Arrays.xxx class
X   although some of these may be built in
X sorting could be done through built-in sort() class
X split() function could echo the built in split/regexp setup
X   and add features for regexp
X could introduce use of Timer class in examples
X also use SwingWorker to launch things on other threads
X weirdness of two modes of handling font metrics
X   textFontNativeMetrics gives deprecation error
X   getFontList stuff in PFont causes problems


0127 core
X pixel operations are broken in opengl
X   get(), set(), copy(), blend(), loadPixels, updatePixels() 
X   set(x, y, image) y reversed in openGL 
X   background(image) also broken
X   also textMode(SCREEN)
X   http://dev.processing.org/bugs/show_bug.cgi?id=91
o replaceAll() not supported by 1.1
o   http://dev.processing.org/bugs/show_bug.cgi?id=561
o make version of loadBytes that checks length of the stream first
o   this might not be worth it
o     the number of cases where this works is small (half of url streams) 
o     and who knows if the value returned will be correct
o     (i.e. will it be the uncompressed or compressed size of the data?)

createGraphics() issues
X offscreen buffers fail with texture mapping
X   pixels not being set opaque (only with textures?)
X   http://dev.processing.org/bugs/show_bug.cgi?id=594
X   add note to createGraphics() docs that opacity at edges is binary
X PGraphics problem with fillColor
X   http://dev.processing.org/bugs/show_bug.cgi?id=468

fixed earlier
X add to open() reference problems with mac
X   need to use the 'open' command on osx
X   or need to do this by hand
X   prolly better to do it by default, since on windows we use cmd?
X   check to see if the user has 'open' in there already
X   they can call Runtime.getRuntime().exec() if they want more control

fixed earlier (in 0125) by ewjordan
X accuracy in P3D is very low
X   http://dev.processing.org/bugs/show_bug.cgi?id=95
X textured polys throwing a lot of exceptions (ouch)  
X   http://dev.processing.org/bugs/show_bug.cgi?id=546
X polygons in z axis with nonzero x or y not filling properly
X   http://dev.processing.org/bugs/show_bug.cgi?id=547


0126 core
o rect() after strokeWeight(1) gives wrong coords
X   http://dev.processing.org/bugs/show_bug.cgi?id=535
X   bug in osx java 1.4 vs 1.5
X fix bug in str() methods that take arrays
X   method was not working properly, was using the object reference
X new version of saveStream()
X implement auto-gzip and gunzip
X fix bug where sort() on 0 length array would return null
X   instead, returns an array
X unregisterXxxx() calls to remove methods from libs
X   http://dev.processing.org/bugs/show_bug.cgi?id=312
X   implemented by ewjordan
X sort() on strings ignores case 
X   mention the change in the reference
X added MIN_FLOAT, MAX_FLOAT, MIN_INT, MAX_INT to PConstants
X throw AIOOBE when min() or max() called on zero length array
o fix lerpColor() to take the shortest route around the HSB scale
o loadBytes() doesn't do auto gunzip? but loadStrings and createReader do?
X   this might be a good solution for dealing with the differences
o   with loadBytes(), they can use gzipInput (or loadBytesGZ?)
o   although what does openStream do? (doesn't do auto?)
X   auto-gunzip on createReader()
o   add auto-gunzip to loadStrings()
X   others for auto-gunzip?
X   do the same for createWriter() et al
X disable mipmaps in 0126
X   http://dev.processing.org/bugs/show_bug.cgi?id=610
X add match() method that returns an array of matched items


0125 core
X more blend() modes (the five listed on the thread below?)
X   http://dev.processing.org/bugs/show_bug.cgi?id=132
X   figure out what the modes should actually be: 
X     photoshop: normal, dissolve; darken, multiply, color burn, 
X                linear burn; lighten, screen, color dodge, linear
X                dodge; overlay, soft light, hard light, vivid light, 
X                linear light, pin light, hard mix; difference, 
X                exclusion; hue, saturation, color, luminosity
X     illustrator: normal; darken, multiply, color burn; lighten,
X                  screen, color dodge; overlay, soft light, hard light; 
X                  difference, exclusion; hue, sat, color, luminosity
X     director: Copy, Transparent, Reverse, Ghost, Not copy, 
X               Not transparent, Not reverse, Not ghost, Matte, Mask;
X               (below seems more useful:
X               Blend, Add pin, Add, Subtract pin, Background transparent,
X               Lightest, Subtract, Darkest, Lighten, Darken
X     flash: 
X   DIFFERENCE: C = abs(A-B);
X   MULTIPLY: C = (A * B ) / 255
X   SCREEN: C= 255 - ( (255-A) * (255-B) / 255 )
X   OVERLAY: C = B < 128 ? (2*A*B/255) : 255-2*(255-A)*(255-B)/255
X   HARD_LIGHT: C = A < 128 ? (2*A*B/255) : 255-2*(255-A)*(255-B)/255
X   SOFT_LIGHT: C = B < 128 ? 2*((A>>1)+64)*B/255 : 255-(2*(255-((A>>1)+64))*(255-B)/255)
X jre 1.5.0_10 is still default at java.com.. blech
X   http://dev.processing.org/bugs/show_bug.cgi?id=513
X constant CENTER_RADIUS will be changed to just RADIUS
X   CENTER_RADIUS is being deprecated, not removed
X   remove CENTER_RADIUS from any p5 code (i.e. examples)
X split() inconsistency (emailed casey, will discuss later)
X   make split(String, String) behave like String.split(String)
X   and make current split(String) into splitTokens(String)
X   that means split(String) no longer exists
o   add splitTokens() documentation
o   document new version of split() and regexp
o   should we mention String.split?
X ironed out more of the preproc parseXxxx() functions
X deal with targa upside-down and non-rle encoding for tga images
X   http://processing.org/discourse/yabb_beta/YaBB.cgi?board=SoftwareBugs;action=display;num=1171576234
X change println(array) to be useful 
o   document using join() for old method
X   remove print(array) since it's silly?
X     make sure it's not in the reference
X     [0] "potato", [1] "tomato", [2] "apple" 
X fix filter(GRAY) on an ALPHA image to produce a good RGB image

0125p2
X updatePixels ref is wrong
X   has x/y/w/h version
X   the reference is also cut off
X make ENTER, TAB, etc all into char values (instead of int)
X some way to vertically center text
X   either by setting its middle vertical point
X   or by setting a top/bottom for the rectangle in which it should be placed
o   maybe textAlign(CENTER | VERTICAL_CENTER);
X   or TOP, MIDDLE, and BOTTOM
o   textAlign(CENTER | TOP);
o   could even have textAlign(CENTER) and textAlign(TOP) not replace each other
X   or textAlign(LEFT, MIDDLE); -> this one seems best
X   add reference for new param, and update keywords.txt
X given to andy

0125p3
X PImage.save() method is not working with get()
X   http://dev.processing.org/bugs/show_bug.cgi?id=558
X NullPointerException in Create Font with "All Characters" enabled 
X   http://dev.processing.org/bugs/show_bug.cgi?id=564
X added min() and max() for float and int arrays
X   need to update reference
X   moved around min/max functions
X opengl image memory leaking
X   when creating a new PImage on every frame, slurps a ton of memory
X   workaround is to write the code properly, but suggests something bad
X   http://dev.processing.org/bugs/show_bug.cgi?id=150
X   opengl keeping memory around.. 
X   could this be in vertices that have an image associated
X   or the image buffer used for textures
X   that never gets cleared fully?
X registerSize() was registering as pre() instead
X   http://dev.processing.org/bugs/show_bug.cgi?id=582
X set() doesn't bounds check
X   this shouldn't actually be the case
X   http://dev.processing.org/bugs/show_bug.cgi?id=522
X   get()/set() in PGraphicsJava2D don't bounds check
X   was actually a dumb error in setDataElements()
X set modified to true on endDraw() so that image updates properly
X   http://dev.processing.org/bugs/show_bug.cgi?id=526
X   http://processing.org/discourse/yabb_beta/YaBB.cgi?board=Syntax;action=display;num=1171574044

0125p4 (in progress)
X significant improvement to text and images in opengl
X   now using mipmaps to interpolate large and small images
X   fix bug with mipmapping on radeon 9700
X things not showing up in linux
X   this may be fixed along with bug #341
X   probably threading issue, 98 doesn't have any trouble
X   signs point to Runner or PApplet changes between 98 and 99
X   commenting out applet.setupFrameResizeListener() 
X     in line 307 from Runner.java solved the problem
X   http://dev.processing.org/bugs/show_bug.cgi?id=282
X size of sketch different in setup() and draw() on linux
X   make sure that the sketch isn't being sized based on bad insets
X   problem with resizing the component when the frame wasn't resizable
X   http://dev.processing.org/bugs/show_bug.cgi?id=341
X major rework of the open() command
X   add gnome-open/kde-open for with PApplet.open()
X   add open (-a?) on osx to the open() command
X   make changes in the javadoc and reference
X opengl crashes when depth sorting more than two textured shapes
X   http://dev.processing.org/bugs/show_bug.cgi?id=560

ewjordan stuff (changes checked in)
X rect() changes size as it changes position
X   http://dev.processing.org/bugs/show_bug.cgi?id=95
X strange texture warping in P3D
X   hint(ENABLE_ACCURATE_TEXTURES)
X   http://dev.processing.org/bugs/show_bug.cgi?id=103
X lines skip on 200x200 surface because of fixed point rounding error
X   http://dev.processing.org/bugs/show_bug.cgi?id=267
X   this may be same as 95
X Polygons parallel to z-axis not always filling with nonzero x or y
X   http://dev.processing.org/bugs/show_bug.cgi?id=547


0124 core
X with smooth() turned off, shouldn't be smoothing image on resize
X   but on osx, apple defaults the image smoothing to true
X   http://processing.org/discourse/yabb_beta/YaBB.cgi?board=Programs;action=display;num=1164753510
X   http://developer.apple.com/documentation/Java/Conceptual/JavaPropVMInfoRef/Articles/JavaSystemProperties.html#//apple_ref/doc/uid/TP40001975-DontLinkElementID_6
X background(0, 0, 0, 0) was resetting stroke, smooth, etc.
X make imageImpl() use WritableRaster in an attempt to speed things up
X fix weird situation where fonts used in more than one renderer wouldn't show
X opengl doesn't draw a background for the raw recorder
X change P3D to smooth images nicely (bilinear was disabled)
X ambientLight(r,g,b) was still ambientLight(r,g,r)
X   http://dev.processing.org/bugs/show_bug.cgi?id=465
X fix from dave bollinger for the POSTERIZE filter
X   http://dev.processing.org/bugs/show_bug.cgi?id=399
X fix PImage regression in 0124 and the cache crap
X added a version of trim() that handles an entire array
X removed contract(), one can use expand() and subset() instead
X backgroundColor to cccccc instead of c0c0c0
X loadImage() requires an extension, maybe add a second version?
X   loadImage("blah", "jpg");
X   otherwise people have to use strange hacks to get around it
X   also chop off ? from url detritus
X   also just pass off to default createImage() if no extension available
X   http://processing.org/discourse/yabb_beta/YaBB.cgi?board=Syntax;action=display;num=1165174666
X   http://dev.processing.org/bugs/show_bug.cgi?id=500
X java 1.5.0_10 breaks jogl
X   add error message to p5 about it
X   http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6504460
X   http://www.javagaming.org/forums/index.php?topic=15439.0
X   upgrade to 1.5.0_11 or later:
X     http://java.sun.com/javase/downloads/index_jdk5.jsp
X   or downgrade to 1.5.0_09
X     http://java.sun.com/products/archive/j2se/5.0_09/index.html
X no disk in drive error
X   was this something that changed with the java updates? (1.5_10)
X     doesn't seem to be, still not sure
X   problem was the floppy drive.. gak
X   http://dev.processing.org/bugs/show_bug.cgi?id=478
X copy() sort of broken in JAVA2D
X   example sketch posted with bug report
X   http://dev.processing.org/bugs/show_bug.cgi?id=372
o saveStrings(filename, strings, count) 
o   otherwise the save is kinda wonky
o   or maybe that should just be done with the array fxns

fixed earlier
o sketches often freeze when stop is hit on an HT machine
o   need to test the examples cited on pardis' machine
o   http://dev.processing.org/bugs/show_bug.cgi?id=232
X debug NumberFormat InterruptedException on dual proc machine
X   use notify() instead of interrupt()? 
X   or Thread.currentThread() should be checked first?
o svg loader is on the list for 1.0
o   maybe include as part of PApplet (casey thinks so)
X using gl, lines don't show up in pdf with record (they're ok with p3d)
X   http://dev.processing.org/bugs/show_bug.cgi?id=325
o with network connection
o   download a copy of the source for 0069, get the renderer 
o   svn mv PGraphics2 PGraphicsJava
o version of BApplet that replaces g. with ai. or pdf.


0123 core
X setup() and basic mode apps not working
X   http://dev.processing.org/bugs/show_bug.cgi?id=463


0122 core
X noiseSeed() only works once, before the arrays are created
X   http://processing.org/discourse/yabb_beta/YaBB.cgi?board=SoftwareBugs;action=display;num=1162856262
X make lerpColor honor the current color mode
X   lerpColor(c1, c2, amt, RGB/HSB/???)
o   test this out for a bit
o   though that's awkward b/c colors always RGB
X   http://processing.org/discourse/yabb_beta/YaBB.cgi?board=Suggestions;action=display;num=1160096087
X regression in P3D that prevents point() from drawing
X   problem is with setup_vertex() not adding similar points
X   http://dev.processing.org/bugs/show_bug.cgi?id=444
X if doing openstream on url, says that "the file" is missing or invalid
X   add notes about it being a url

fixed earlier, bug cleaning
X gray background in pdf (using both gl and p3d)
X   http://dev.processing.org/bugs/show_bug.cgi?id=324
X   verified as fixed in 0122


0121 core
X need to document changes to int() (no longer accepts boolean)
X background(0, 0, 0, 0) is the way to really clear everything with zeroes
X   or background(0, 0), but the former is prolly better conceptually
X   how to clear the screen with alpha? background(0, 0, 0, 0)?
o   background(EMPTY) -> background(0x01000000) or something?
X size(), beginRecords(), beginRaw(), createGraphics() 
X   broken for file-based renderers in 0120
X   http://dev.processing.org/bugs/show_bug.cgi?id=434


0120 core
X fixed error when using hint(ENABLE_NATIVE_FONTS) with JAVA2D
X   java.lang.IllegalArgumentException: 
X   null incompatible with Global antialiasing enable key
X fix issue where ambientLight(r, g, b) was instead ambientLight(r, g, r)
X   http://dev.processing.org/bugs/show_bug.cgi?id=412
X createFont() should always use native fonts
X   need to warn that fonts may not be installed
X   recommend that people include the ttf if that's the thing
X   or rather, that this is only recommended for offline use
X fix 3D tessellation problems with curveVertex and bezierVertex
X   actually was z = Float.MAX_VALUE regression
X   http://dev.processing.org/bugs/show_bug.cgi?id=390
X   two examples in sketchbook
X   this has been reported several times
X concave polygons having trouble if points come back to meet 
X   tesselator/triangulator gets confused when points doubled up
X   might need to avoid previous vertex hitting itself
X   http://dev.processing.org/bugs/show_bug.cgi?id=97
X   graphics gems 5 has more about tessellation
X polygons perpendicular to axis not drawing
X   is this a clipping error?
X   probably a triangulation error, because triangles work ok
X   http://dev.processing.org/bugs/show_bug.cgi?id=111
X   problem is that the area of the polygon isn't taking into account z
X lookat is now camera(), but not fixed in the docs
X   add notes to the faq about the camera changes on the changes page
o update run.bat for new quicktime
o   unfortunately this is messy because qtjava sometimes has quotes
o   and qtsystem might be somewhere besides c:\progra~1
X   run.bat has been removed from current releases
X registering font directories in pdf.. is it necessary? 
X   (commented out for 0100)
X   re-added for 0120
o when re-calling size() with opengl, need to remove the old canvas
o   need to check to see if this is working properly now
X passing applet into createGraphics.. problems with re-adding listeners
X   since the listeners are added to the PApplet
X   i think the listeners aren't re-added, but need to double check
X createGraphics() having problems with JAVA2D, and sometimes with P3D
X   http://dev.processing.org/bugs/show_bug.cgi?id=419
X with default renderer, no default background color?
X   only sometimes.. why is this?
X only call defaults() when it's part of a PApplet canvas
X   make sure that defaults() is no longer necessary
X   don't want to hose PGraphics for others
X   both for pdf, and making background transparent images
X PGraphics3D should alloc to all transparent
X   unless it's the main drawing surface (does it know on alloc?)
X   in which case it should be set to opaque
X have createGraphics() create a completely transparent image
X   and also not require defaults() to be called
X make a note in the createFont() reference that 1.5 on OS X has problems
o if calling beginPixels inside another, need to increment a counter
o   otherwise the end will look like it's time to update
o   which may not actually be the case
o   i.e. calling filter() inside begin/end block
X get creating new PGraphics/2/3 working again
X   http://dev.processing.org/bugs/show_bug.cgi?id=92
X   maybe createGraphics(200, 200) to create same as source
X   createGraphics(200, 200, P2D) to create 2D from 3D
X   also, drawing a PGraphics2 doesn't seem to work
X   new PGraphics2 objects are set as RGB, but on loadPixels/updatePixels
X     they're drawn as transparent and don't have their high bits set
X problems between modelX between alpha and beta
X   http://dev.processing.org/bugs/show_bug.cgi?id=386
X   y may be flipped in modelX/Y/Z stuff on opengl
X     is this the same bug? assuming that it is

in previous releases
X when using PGraphics, must call beginFrame() and endFrame()
X   also need to be able to turn off MemoryImageSource on endFrame
X   call defaults() in beginFrame()
X should PGraphics be a base class with implementations and variables?
X   then PGraphics2D and PGraphics3D that subclass it?
X   (or even just PGraphics2 and PGraphics3)
X   also rename PGraphics2 to PGraphicsJava
X   it's goofy to have the naming so different
X tweak to only exit from ESC on keyPressed
o   probably should just make this a hint() instead
X   just documented in reference instead
o metaballs example dies when using box()
o   long string of exceptions, which are also missing their newlines
X grabbing sun.cpu.endian throws a security exception with gl applets
X   http://processing.org/discourse/yabb_beta/YaBB.cgi?board=Contribution_3DOpenGL;action=display;num=1114368123


0119 core
X add saveStream() method
X change to handle Java 1.5 f-up where URLs now give FileNotFoundException
X   http://dev.processing.org/bugs/show_bug.cgi?id=403
X add unlerp() method


0118 core
X replace jogl.jar with a signed version
X fix the export.txt file for the linux release
X fix problem with setting the parent and the PDF renderer


0117 core
X no changes, only to the build scripts


0116 core
X make background() ignore transformations in JAVA2D
X   http://processing.org/discourse/yabb_beta/YaBB.cgi?board=SoftwareBugs;action=display;num=1147010374
o createGraphics to not require defaults()
X   can't do, because an end() function must be called to clear the renderer
X add "hide stop button" arg for PApplet
X beginFrame/endFrame -> beginDraw/endDraw
X add new constant for the DXF renderer
X array utilities on Object[] are worthless.. fix it with reflection?
X   see if reflection will allow expand for all class types
X   expand, append, contract, subset, splice, concat, reverse
X typed version of array functions:
X   append(), shorten(), splice, slice, subset, concat, reverse
X   http://dev.processing.org/bugs/show_bug.cgi?id=115
X fix issue where processing applets would run extremely fast 
X   after having been starved of resources where there framerate dropped
X   http://dev.processing.org/bugs/show_bug.cgi?id=336
X added color/stroke/tint/fill(#FF8800, 30);
X test imageio with images that have alpha (does it work?)
X   nope, doesn't, didn't finish support
X   http://dev.processing.org/bugs/show_bug.cgi?id=350
X openStream() fails with java plug-in because non-null stream returned
X   http://dev.processing.org/bugs/show_bug.cgi?id=359
X update jogl to latest beta 5
X make framerate into frameRate (to match frameCount)
X AIOOBE in P3D during defaults/background/clear
X   PGraphics.clear() problem from workbench and malware stuff
X   had to put synchronized onto draw and size()
X   actually it'll work if it's only on size()
X   the sync on the mac hangs an applet running by itself
X     even though it seems to be ok for a component
X   thread sync problem with allocation
X   http://dev.processing.org/bugs/show_bug.cgi?id=369
X major threading change to use wait()/notifyAll() instead of interrupt/sleep
X noLoop() at end of setup is prolly b/c of interruptedex
X   need to not call Thread.interrupt()
X opengl + noLoop() causes InterruptedException
X   check to see noLoop() breakage is fixed in 92 vs 91
X     checked, not fixed
X   http://processing.org/discourse/yabb_beta/YaBB.cgi?board=SoftwareBugs;action=display;num=1115330568
X   http://dev.processing.org/bugs/show_bug.cgi?id=164
X remove image(filename) and textFont(filename) et al.
X revision 115 may be saving raw files as TIFF format
X   may be a bug specific to java 1.5 (nope)
X   http://dev.processing.org/bugs/show_bug.cgi?id=378
X saveFrame() not working for casey
X   problem with tiff loading in photoshop etc
X check http:// stuff to see if it's a url first on openStream()
X   it's the most harmless, since prolly just a MFUEx
X fix problem where root of exported sketch won't be checked
X   http://dev.processing.org/bugs/show_bug.cgi?id=389
X createFont not working from applets (only with .ttf?)
X   throws a security exception because of the reflection stuff
X   http://dev.processing.org/bugs/show_bug.cgi?id=101
X urls with ampersands don't work with link()
X   Runtime.getRuntime().exec("cmd /c start " + url.replaceAll("&","^&"));
X   http://processing.org/discourse/yabb_beta/YaBB.cgi?board=SoftwareBugs;action=display;num=1149974261
X fix bug where smooth() was shut off after using text
X   (that had the smoothing turned off when used in "Create Font")
X   http://processing.org/discourse/yabb_beta/YaBB.cgi?board=SoftwareBugs;action=display;num=1148362664
X fix dxf to use begin/endDraw instead of begin/endFrame
X   fixes axel's bug with dxf export
X set default frameRate cap at 60
X   otherwise really thrashing the cpu when not necessary
X jpeg loading may be extremely slow (loadBytes?)
X   seems specific to 0115 versus the others
X   http://processing.org/discourse/yabb_beta/YaBB.cgi?board=SoftwareBugs;action=display;num=1158111639
X   http://processing.org/discourse/yabb_beta/YaBB.cgi?board=SoftwareBugs;action=display;num=1154714548
X   http://dev.processing.org/bugs/show_bug.cgi?id=392
X loadImage() problems with png and jpg
X   actually it's an issue with some types of jpeg files
X   http://dev.processing.org/bugs/show_bug.cgi?id=279
X   java.lang.IllegalArgumentException: 
X     Width (-1) and height (-1) cannot be <= 0
X   identical to what happens when the image data is bad
X     for instance, trying to load a tiff image with the jpg loader
X   http://dev.processing.org/bugs/show_bug.cgi?id=305
o blend() mode param should be moved to the front
X   nah, works better with the other format
X   make sure there's parity with the copy() functions
X   remove single pixel blend functions
o   blend() should prolly have its mode be the first param
X   move blend() to blendColor() when applying it to a color
X added lerpColor(), though it needs a new name
X went back to old image i/o (sometimes caused trouble when exported)
X   http://dev.processing.org/bugs/show_bug.cgi?id=376
X change reader() to createReader() for consistency?
X   though printwriter is odd for output..
X   also createWriter() and the rest
o add to docs: save() on a PImage needs savePath() added
X hint(DISABLE_NATIVE_FONTS) to disable the built-in stuff?
X   or maybe this should be hint(ENABLE_NATIVE_FONTS) instead?
X   figure out default behavior for native text fonts
X make sure insideDrawWait() is in other resize() methods
X   begin/end/alloc waits to PGraphicsJava2D, PGraphicsOpenGL, PGraphics3D
X fix bug with fill(#ffcc00, 50); 
X toInt() on a float string needs to work
X   need to check for periods to see if float -> int first
X shape changes
X   remove LINE_STRIP - tell people to use beginShape() with no params
X   remove LINE_LOOP - tell people to use endShape(CLOSE)
o   also remove POLYGON? 
X     may as well remove it
X     though something still needed as an internal constant
X   add endShape(CLOSE) or CLOSED
X when running as an applet, sketchPath won't be set
X   change the error message slightly
X   http://processing.org/discourse/yabb_beta/YaBB.cgi?board=Syntax;action=display;num=1153150923
X use parseFloat instead of toFloat()? to be consistent with javascript
X   also clean up some of the casting silliness

more recent
X only update mouse pos on moved and dragged
X   http://dev.processing.org/bugs/show_bug.cgi?id=170
X   also updates a bug that caused sketches to jump in funny ways

fixed in 0115 / quicktime 7.1
X color values on camera input flipped on intel macs
X   checked in a change for this recommended on qtjava list
X   http://dev.processing.org/bugs/show_bug.cgi?id=313

really old stuff
o get loop, noLoop, redraw, and framerate all working in opengl
o   needs custom animator thread..
o depth() shouldn't be needed for opengl unless actually 3D
o   right now the camera doesn't get set up unless you call depth()
o box and sphere are broken in gl
o what should the update image function be called?


0115 core
X remove debug message from loadPixels()
X remove debug message from PGraphics2.save()
X fix error message with dxf when used with opengl
X if file is missing for reader()
X   return null and println an error rather than failing
X add arraycopy(from, to, count);
X fix fill/stroke issues in bugs db (bug 339)
X saveTIFF, saveHeaderTIFF, saveTGA no longer public/static in PImage
X   this was a mistake to expose the api this way
X more image file i/o in java 1.4
X   add dynamic loading of the jpeg, png, and gif(?) encoder classes
X   http://dev.processing.org/bugs/show_bug.cgi?id=165
X   http://java.sun.com/products/java-media/jai/index.jsp
X   http://processing.org/discourse/yabb_beta/YaBB.cgi?board=Programs;action=display;num=1120174647
X P5 cannot read files generated by saveFrame()
X   need to update docs re: tga
X   and add support for reading its own uncompressed TIFs
X   http://dev.processing.org/bugs/show_bug.cgi?id=260


0114 core
X added createGraphics(width, height, renderer) 
X   no need to use (..., null) anymore
X fix set() for JAVA2D, also fixes background(PImage) for JAVA2D
X   http://processing.org/discourse/yabb_beta/YaBB.cgi?board=Syntax;action=display;num=1145108567
X remove "max texture size" debug message
X flicker with depth sort enabled
X implement basic depth sorting for triangles in P3D and OPENGL
X   add option to sort triangles back to front so alpha works
X   http://dev.processing.org/bugs/show_bug.cgi?id=176
o   at least add it to the faq, or this would be a test case w/ the sorting


0113 core
X fix for open() on macosx submitted by chandler


0112 core
X saveFrame() issues with JAVA2D on osx
X   http://dev.processing.org/bugs/show_bug.cgi?id=189
o implement hint(NO_DEPTH_TEST) for opengl
X   already done hint(DISABLE_DEPTH_TEXT);
X check min/max texture sizes when binding to avoid problems
X   minimum texture size may be 64x64
X   maximum appears to be 2048, on macs maybe 512
X   http://processing.org/discourse/yabb_beta/YaBB.cgi?board=Contribution_3DOpenGL;action=display;num=1137130317
X fix non-bound textures from mangling everything else
X   http://dev.processing.org/bugs/show_bug.cgi?id=322
X   fix enable/disable textures for some objects
X   also a big problem for fonts
X   calling updatePixels() on each frame fixes the issue (sorta)
X images are memory leaking pretty badly 
X   texture re-allocated on each frame
X lighting bug introduced in rev 109
X   spotLight has troubles with an invalid value
X     probably somethign weird about the params (3 vs 4) being sent
X     the first spotLight works fine, it's something with the second
X     (the one that follows the mouse)
X     just something to debug in the example
X   regression from contributed code.. 
X   was using apply() instead of set() in PMatrix inverse copy
X filter() is also broken (not rewinding the intbuffer)
X   http://processing.org/discourse/yabb_beta/YaBB.cgi?board=Contribution_3DOpenGL;action=display;num=1144561113

sound has been removed
o duration as an internal param, not a function
o When a sound is finished playing, 
o   it should return to 0 so it can play again
o Putting sound.loop() in draw() seemed to spawn multiple sounds threads?
o After a sound is paused, it will only play from where it was paused
o   to its end and will not loop again
o The ref in PSound2 says volume accepts vals from 0...1
o   but values larger than one increase the volume.
o SoundEvent // is sound finished?? Can't access now. 
o make java 1.1 version of PSound work properly
o merge PSound and PSound2 via reflection?
o   once debugged, merge these back together and use reflection
o     (unless it's a messy disaster)
o Unsupported control type: Master Gain 
o   what's actually causing this error?
o   http://processing.org/discourse/yabb_beta/YaBB.cgi?board=SoftwareBugs;action=display;num=1115467831
o PSound.play() won't play the sound a 2nd time (reopened)
o   http://dev.processing.org/bugs/show_bug.cgi?id=208
o loadSound apparently broken in java 1.5?
o   http://dev.processing.org/bugs/show_bug.cgi?id=285
X need to just remove PSound altogether


0111 core
X need to have a better way of getting/figuring out the endian 
X   use ByteOrder class in jdk 1.4, since issue is local to JOGL
X   security ex when run as an applet
X   also can no longer assume that macosx is big endian
X   http://dev.processing.org/bugs/show_bug.cgi?id=309
o making 'run' synchronized caused a freeze on start w/ opengl
X display() as a function name is problematic
X   causes nothing to show up.. either rename or mark it final
X   http://dev.processing.org/bugs/show_bug.cgi?id=213
X fix for lights throwing a BufferOverflowException


0110 core
X finish updates for osx and opengl
X   http://developer.apple.com/qa/qa2005/qa1295.html
X   find/build universal version of jogl


0109 core
X loadImage("") produces weird error message
X   http://processing.org/discourse/yabb_beta/YaBB.cgi?board=Programs;action=display;num=1136487954
X still having strokeCap() problems
X   http://processing.org/discourse/yabb_beta/YaBB.cgi?board=SoftwareBugs;action=display;num=1134011764
X fixes contributed by willis morse to deal with memory wastefulness
X   should help speed up some types of OPENGL and P3D mode sketches


0108 core
X image(String filename, ...) and textFont(String filename, ...) implemented
X add notes to faq about video fix
X   http://processing.org/discourse/yabb_beta/YaBB.cgi?board=VideoCamera;action=display;num=1134871549
X look into code that fixes crash on camera.settings()
X   http://processing.org/discourse/yabb_beta/YaBB.cgi?board=VideoCamera;action=display;num=1139376484
X finish dxf writer that'll work with recordRaw()


0107 core
X no changes, only fixes for "save" bugs


0106 core
X fix bug where more than 512 vertices would cause trouble in P3D and OPENGL


0105 core
X fix some issues with beginRaw and opengl


0104 core
X don't open a window the size of the pdf if in pdf mode
X   need to have some sort of flag in the gfx context that it's visible or not
o   handled inside updateSize()?
X   if it doesn't display to the screen, needs to never show a window
X   basically if the main gfx context isn't viewable, close the window
X   since it may have already been opened at 100x100
X   avoid opening it in the first place?
X added toolkit getFontMetrics() for shape mode fonts to be able to change size
X recordRaw() to a PGraphics3 should send 3D data.
X   but recordRaw() to a PGraphics(2) should send only 2D data.


0103 core
X fix stack overflow problem
X   bug in itext implementation on osx (10.4 only?)
X   http://www.mail-archive.com/itext-questions@lists.sourceforge.net/msg20234.html

in previous releases
X recordFrame() and beginFile()/endFile()
X   how to deal with triangles/lines and triangleCount and lineCount
X     maybe just need a triangleImpl and lineImpl
X     because it's too messy to retain the triangle objects and info
X calling recordFrame() from mousePressed is important
X   dangerous tho because mouse fxn called just before endFrame


0102 core
X no changes, windows-only release to deal with processing.exe


0101 core
X add dispose() call to the shutdown part of PApplet


0100 core
X user.dir wasn't getting set properly
X when graphics can be resized, resize rather than creating new context
X change savePath() et al a great deal, include better docs
X   http://dev.processing.org/bugs/show_bug.cgi?id=199
X   straighten out save() and saveFrame()
o   use File object for when people know what they're doing?
X   same issue occurs with pdf and creating graphics obj

get initial version of pdf working
X get rid of beginFrame/endFrame echo to recorders?
X   that way begin/end can just be where the recorder starts/stops?
X recordRaw is really confusing.. 
X   when to use beginFrame/endFrame
X   is beginRaw/endRaw really needed?
X   seems to be a problem that it's an applet method
X   but then it's called on the g of the applet
X   but then it's the recorderRaw of that g that gets it called.. 
X how to flush when the sketch is done
X   inside dispose method? explicit close?
X   call exit() at end of pdf apps? exit calls dispose on gfx?
X beginRecord() and endRecord() so that record doesn't stop after frame?
X enable PGraphicsPDF for inclusion
X write documentation on images (they suck) and fonts (use ttf)


0099 core
X removed playing() method from PSound
X integrate destroy() method from shiffman as dispose() in PSound2
X ComponentListener is probably what's needed for resize() 
X   make sure that components can be resized properly via size()
X   http://dev.processing.org/bugs/show_bug.cgi?id=209
X   or that it properly responds to a setBounds() call
X calling size() elsewhere in the app doesn't quite work
X   A second call to size almost works. 
X   The buffer apparently gets allocated and saveFrame saves the 
X   new size but drawing appears to be disabled.
X   http://dev.processing.org/bugs/show_bug.cgi?id=243


0098 core
X change recordShapes() to just record() and recordRaw()
X width, height set to zero in static mode
X   http://dev.processing.org/bugs/show_bug.cgi?id=198
X   probably only set when resize() is called, and it's not happening
X   be careful when fixing this, bugs 195/197 were a result:
X   http://dev.processing.org/bugs/show_bug.cgi?id=195
X   http://dev.processing.org/bugs/show_bug.cgi?id=197
X PSound.play() won't play the sound a 2nd time
X   (have to call stop() first)
X   http://dev.processing.org/bugs/show_bug.cgi?id=208


0097 core
X no changes, only export to application stuff


0096 core
X set applet.path to user.dir if init() is reached and it's not set
X add DISABLE_DEPTH_TEST to PGraphics3
X   need to document this somewhere
X   also need to add to PGraphicsGL
X access logs are being spammed because openStream() gets a 404
X   the default should be to check the .jar file
X openStream() doesn't work with subfolders
X   http://dev.processing.org/bugs/show_bug.cgi?id=218
X screwed up movie loading paths (quick fix)
X   http://dev.processing.org/bugs/show_bug.cgi?id=216
X additional cleanup in the Movie class
X make path thing into getPath() or something?
X   sketchPath(), dataPath(), savePath(), createPath()
X applet shouldn't be resizing itself
X   opens at correct size, then makes itself small, then large again
X setup() mode apps often don't open at the correct placement
X   because of their resizing
X check into bug where applet crashing if image not available
X   probably need to add a hint() to make things not halt
X loadBytes() and openStream() et al need to return null
X   loadImage() can too, but print an error to the console
X "not available in P3D" should read "OPENGL" in opengl lib
X keypressed ref: repeating keys
X   also remove "no drawing inside keypressed"
X text block wrap problem with manual break character (\n)
X   http://dev.processing.org/bugs/show_bug.cgi?id=188

draw mode issues
X when run externally without a draw, applets will exit immediately
X   when run internally (no code folder or .java files) will just wait
X shouldn't quit draw mode apps immediately
X   otherwise something gets drawn then the applet exits
X   should instead use exit() when they need to exit
X NullPointerException when no draw()
X   http://dev.processing.org/bugs/show_bug.cgi?id=210
X window closing immediately with library imports
X   http://dev.processing.org/bugs/show_bug.cgi?id=204
X check into loadImage() with jars bug, very frustrating
o   when using loadImage() on a jar, turn off "no cache" option?
X image no load halts the program (rather than returning null)
X note in the reference: png images work with java 1.3+
X   http://processing.org/discourse/yabb_beta/YaBB.cgi?board=WebsiteBugs;action=display;num=1125968697
X   add bug re: gif image break missing to revisions.txt
X   http://dev.processing.org/bugs/show_bug.cgi?id=217

image pile
X get loadImage() to work properly with data folder
X   should probably use the code from loadStream
X   and the url stuff should be an alternate method altogether
o loadImage() seems to be caching everything from the jar
X   http://java.sun.com/developer/technicalArticles/Media/imagestrategies/index.html
o   make a note of how to disable this
o   http://processing.org/discourse/yabb/YaBB.cgi?board=Programs;action=display;num=1078795681
o bizarre image loading error with c_Rollover.zip
X   couldn't find/replicate this
o   read uncompressed tiff
X   read uncompressed tga files.
X     http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_Software;action=display;num=1081190619
X     http://processing.org/discourse/yabb/YaBB.cgi?board=Tools;action=display;num=1066742994
o updated png encoder
o   http://processing.org/discourse/yabb/YaBB.cgi?board=Syntax;action=display;num=1083792994

older stuff, no longer an issue
o don't cache stuff from loadStrings and others
o   mac java vm won't give up old version of file
o   or use setUseCaches(false)
o too many push() will silently stop the applet inside a loop
X allow save(), saveFrame() et al to properly pass in absolute paths
X   (so that it doesn't always save to the applet folder)
X   could require that save() takes an absolute path?
X loadImage must be used inside or after setup
X   either document this and/or provide a better error message
X   http://processing.org/discourse/yabb/YaBB.cgi?board=Programs;action=display;num=1060879468
X expose function to write tiff header in PImage (advanced)
X   helps with writing enormous images
X tag release 93 (francis thinks it's rev 1666)


0095 core
X undo the fix that causes the width/height to be properly set 


0094 core
X fix bug that was causing font sizes not to be set on opengl
X   http://dev.processing.org/bugs/show_bug.cgi?id=174
X apply fix from toxi to make targa files less picky
X   http://processing.org/discourse/yabb_beta/YaBB.cgi?board=SoftwareBugs;action=display;num=1127999630
X "folder" has been renamed to "path" to match savePath().
X added "dataPath" to return the full path to something in the data folder
X savePath should maybe be appletPath or sketchPath
X   because can be used for opening files too 
X   (i.e. if needing a File object)
X width, height set to zero in static mode
X   probably only set when resize() is called, and it's not happening
X g.smooth is always false in opengl
X   http://dev.processing.org/bugs/show_bug.cgi?id=192

o triangleColors are different because they're per-triangle
o   as opposed to per-vertex, because it's based on the facet of the tri
X make vertexCount etc properly accessible in PGraphics3
X   so that people can do things like the dxf renderer
X also have a simple way to hook in triangle leeches to PGraphics3
X   this exists, but needs to be documented, or have accessors


0093 core
X upgrade jogl to a newer rev to fix osx "cannot lock" issues
X   http://processing.org/discourse/yabb_beta/YaBB.cgi?board=SoftwareBugs;action=display;num=1118603714
X   http://192.18.37.44/forums/index.php?topic=1596.msg79680#msg79680
X faster blur code contributed by toxi
X filter(ERODE) and filter(DILATE) contributed by toxi
o textAscent() should probably be g.textAscent instead
o   more like textLeading() etc
X   nope, because it requires grabbing the font metrics and other calculations
X bezierDetail, curveDetail made public
X added textMode(SHAPE) for OPENGL
X error message saying that strokeCap and strokeJoin don't work in P3D
X textMode(SHAPE) throws ex when drawing and font not installed
X fix a bug with filename capitalization error throwing
X add NO_DEPTH_TEST to PGraphics3
X java 1.4 code snuck into PApplet, causing problems on the mac
X   http://dev.processing.org/bugs/show_bug.cgi?id=146
X prevent PGraphics.save() from inserting a file prefix
X   so that people can use absolute paths
X   or add a version that takes a file object

nixed or fixed in previous releases
X textMode(SCREEN) having issues on Mac OS X
X   seem to be problems with updatePixels() on the mac
X   appears to run asynchronously
X move zbuffer et al into PGraphics so that people don't have to cast to P3
X   http://processing.org/discourse/yabb_beta/YaBB.cgi?board=Contribution_3DOpenGL;action=display;num=1116978834
o noLoop() is behaving strangely
o   http://processing.org/discourse/yabb_beta/YaBB.cgi?board=SoftwareBugs;action=display;num=1116002432;start=0


0092 core
X rle-compressed tga save() method added by toxi
X   also version that only saves RGB instead of ARGB
X proper/consistent api to access matrices in PGraphics/PGraphics3
X   first use loadMatrix(), then m00, m01 etc
X   find the post on the board and make a note of this
X proper api for access to Graphics2D object in PGraphics2
X   just add the current "g2" thing to the faq
X   and make a note of it on the suggestions board
X vars like cameraX etc need to be in PGraphics
X   otherwise g.xxxx won't work
X   how far should this go? vertices etc?
X   vertices not included because switching to triangleImpl and lineImpl
X fix for copy() in java2d to make things a little speedier
X make PApplet.main() for java 1.3 friendly (Color class constants)
X remove call to background() in PGraphics2
o change PGraphics to PGraphics2 
o   or not, because PGraphics has all the base stuff for 3D
o   change PGraphics2 to PGraphicsJava or PGraphicsJava2D
o   maybe wait until the new shape stuff is done?
X move font placement stuff back into PGraphics?
X   figure out how to get regular + java fonts working
X   use that do drive how the api is set up
X optimize fonts by using native fonts in PGraphics2
X   especially textMode(SCREEN) which is disastrously slow
X   in java2d, can quickly blit the image itself
X   this way, can isolate it for gl too, which will use glBitmap
X   danger of this setup is that it may run much nicer for the author
X     i.e. with the font installed, and then super slow for their users
X add "smooth" as a field inside the font file
X   and when smooth field is set, make sure JAVA2D enables smoothing
X   since otherwise smooth() has to be called for the whole g2
X rob saunders contributed a fix for a bug in PImage.copy()
X   the wrong boundaries were being copied in the code
X fix bug where noLoop() was waiting 10 secs to call exit()
X add ability to draw text from the current text position


0091 core
X change to synchronization to hopefully fix some update issues
X curveVertex() problem in P2D when > 128 points fixed
_   http://processing.org/discourse/yabb_beta/YaBB.cgi?board=SoftwareBugs;action=display;num=1115856359;start=0
X for present mode, need to set a default display 
X   currently crashes if only --present is specified w/o --display
o make the 1.4 code in PApplet load via reflection
X   doesn't appear necessary with 1.3 applets
o   or is some of the stuff usable in 1.3 but not all?
o     ie. the device config classes exist but not the set full screen method
X currently some bugs in the main() because it's not sizing applets 
X   if running in present mode it works ok
X   but that also needs its display set.. argh
X   http://processing.org/discourse/yabb_beta/YaBB.cgi?board=SoftwareBugs;action=display;num=1115834600;start=0
X add exit() function to actually explicitly quit
X   scripts will just require that people include exit at the end
X esc should kill fullscreen mode (actually now it just quits anything)
X   can a key handler be added to the window? not really
X   add an escape listener to the applet tho.. but will it work with gl?
X   how can this be shut off for presentations?
X   http://processing.org/discourse/yabb_beta/YaBB.cgi?board=SoftwareBugs;action=display;num=1114027594;start=0
X present mode wasn't reading the stop button color
X   http://processing.org/discourse/yabb_beta/YaBB.cgi?board=Suggestions;action=display;num=1116166897;start=0
X cleaned up the createFont() functions a little
X java 1.3 required message isn't clickable
X   http://processing.org/discourse/yabb_beta/YaBB.cgi?board=SoftwareBugs;action=display;num=1117552076


0090 core
X added arraycopy() function that calls System.arraycopy()
X   also the useful shortcut fxn


0089 core
X no changes since 88


0088 core
X createFont crashes on verdana (win2k)
X   http://processing.org/discourse/yabb_beta/YaBB.cgi?board=SoftwareBugs;action=display;num=1115258282;start=0
X made ceil(), floor(), and round() return ints instead of floats
X fix for PSound: Unsupported control type: Master Gain 
X   just shuts off the volume control
X   http://processing.org/discourse/yabb_beta/YaBB.cgi?board=SoftwareBugs;action=display;num=1115467831;start=0

cleared out / completed in previous releases
X typed version of expand() and contract()
o fishwick bug with text() and shapes
o   ellipses no longer completed when g.dimensions = 2 or 3,
o   or not even drawn.. what a mess.
X go through and figure out what stuff to make public
o depth testing of lines vs text is problematic
o   probably need to patch in an older version of the line code
o   use depth()/noDepth() to handle depth test
X on exceptions, use die to just kill the applet
X make the file i/o stuff work more cleanly
X   if people want to use their own file i/o they can do that too
o this could also be contributing to the hanging bug
X static applets need to be able to resize themselves on 'play'
X figure out what to do with static apps exported as application
X   needs to just hang there
o scripts (w/ no graphics) will need to call exit() explicitly
o   actually.. just override the default draw() to say exit()
X may need a fileOutput() and fileInput() function
X   to take care of exception handling
o or maybe scripts are just handled with a different method? (yech)
o   or maybe setup() can actually throw and Exception?
o   but that's inserted by the parser, and hidden from the user?
o implement size(0, 0) -> just doesn't bother doing a frame.show();
o   too abstract, just have draw() call exit by default
o   so if nothing inside draw, just quits
o   make properly exit after things are finished
o still some weirdness with thread flickering on the mac
o   and frenetic display updates on the pc
o move really general things out of PConstants (X, Y, Z..) ?
X add something to PApplet to have constants for the platform
o   needed for error messages (don't talk about winvdig on mac)
X   and also useful for programs
X bring screen space and font size settings back in to PGraphics
X   causing too much trouble to be stuck down in PFont


0087 core

fixed in previous releases
X The PushPop example in Transformations is not working
X   with lights() callled
X The transparency of the Rotate3D example in Translformations
X   is not as expected
X lighting totally sucks (both PGraphics3 and PGraphicsGL)
X bring in materials for opengl as well?
X   don't include a class, just make it similar to the light functions
X sphere() and box() should set normals and take textures
X background color seems to be wrong?
X   check this once lighting actually works
X printarr() of null array crashes without an error
X   actually, errors from many crashes not coming through on the mac?


0086 core
X java 1.4 getButton() was inside the mouse handler
X   http://processing.org/discourse/yabb_beta/YaBB.cgi?board=SoftwareBugs;action=display;num=1114147314;start=3
X color() doesn't work properly because g might be null?
X   http://processing.org/discourse/yabb_beta/YaBB.cgi?board=SoftwareBugs;action=display;num=1114518309;start=0
X textMode(RIGHT) etc causing trouble.. tell ppl to use textAlign()
X   http://processing.org/discourse/yabb_beta/YaBB.cgi?board=Syntax;action=display;num=1114219121;start=4
X saveFrame with a filename still causing trouble:
X   http://processing.org/discourse/yabb_beta/YaBB.cgi?board=SoftwareBugs;action=display;num=1114097641;start=0
X fov should be in radians
X present mode not working on macosx 10.2?
X   http://processing.org/discourse/yabb_beta/YaBB.cgi?board=SoftwareBugs;action=display;num=1114381302;start=0
X ex on endshape if no calls to vertex
X   http://processing.org/discourse/yabb_beta/YaBB.cgi?board=SoftwareBugs;action=display;num=1113940972
X is camera backwards, or staying fixed and moving the scene?
X   camera() is broken, should be ok to call it at beinning of loop
X   end of lookat might be backwards
X   or endCamera might be swapping camera and cameraInv
X     beginCamera also grabs it backwards


0085 core
X camera() was missing from PGraphics
X some tweaks to openStream() for loading images and less errors
X basic clipping in P3D from simon


0084 core
X fixed create font / incremented font file version number
X simon lighting fixes
X added simon's lighting docs to lights() fxn in javadoc
X set default stroke cap as ROUND
X   otherwise smooth() makes points disappear
X hack for text with a z coordinate


0083 core
X fix double key events
X fix mrj.version security error on the pc
X set() fixes for PGraphics2 and setImpl inside PGraphics
X remove angleMode (also from PMatrix classes)
X remove/rename postSetup() stuff from PGraphics/PApplet
X camera(), perspective(), ortho()
X matrix set by the camera on each beginFrame
X push/pop are now pushMatrix/popMatrix
o get PGraphics.java engine working again

lighting stuff
X make fill() cover ambient and diffuse
X   provide separate call for ambient to shut it off
o why does diffuse just mirror fill()?
o   seems to cover just diffuse, not ambient_and_diffuse like fill
o   maybe fill() should set diffuse, and sep call to ambient() sets ambient?
X   removed it
X move dot() to the bottom w/ the other math

already done
X remove PMethods as actual class, use recordFrame(PGraphics)
X   size(200, 200, "processing.illustrator.PGraphicsAI");

api questions
o image(String name) and textFont(String name)
o   do we change to font(arial, 12) ?
X remove angleMode() ?
X be consistent about getXxx() methods
X   just use the variable names.. don't do overkill on fillR et al
X   or just what functions are actually made public
X   is fillRi needed? it's pretty goofy..
X how to handle full screen (opengl especially) or no screen (for scripts)

tweaking up simong light code
o what's up with resetLights?
o add PLight object to avoid method overflow
o preApplyMatrix, invApplyMatrix? 
o   applyMatrixPre and applyMatrixIn
o   rotateXInv is ugly.. 
o   irotateX?, papplyMatrix?

wednesday evening
X expose api to launch files, folders, URLs
X   use with/in place of link()
X   call it open()
X what to call firstMouse
X implement rightMouse?
X   yes, mouseButton = LEFT, CENTER, or RIGHT
X error when running on 1.1... 
X   You need to install Java 1.3 or later to view this content.
X   Click here to visit java.com and install.
X make inverseCamera into cameraInv
X fix messages referring to depth()
X   route all of them through a single function rather than current waste
X fix bezierVertex() in P3D for newer api

wednesday late
X track loadImage() with filenames that are inconsistent
X   really a problem with the ves61r kids
X   i.e. mixed case filename in sketch is different in windows
X   but when uploaded to a unix server causes a serious problem
X   use canonicalPath to flag possible problems
X   http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1096508877;start=5
o fix shapes in P3D (line loop, polygons, etc)
o should we include a from and to for the directional light?
X   no, cuz it doesn't do much really.. 
X   fromX-toX etc is all that's different

thursday day
X set modelview to camera on endCamera
X add ortho() and perspective() to PGraphics.java

thursday evening
o textMode(ALIGN_LEFT) etc, should make sure that left/center/right not used
X   though since have to change to LEFT, should be easy to switch

friday night
o should toInt('5') return the ascii or the char? 
X   since (int) '5' returns the ascii, that's what it does
X   made a note in the PApplet reference

text api
X textMode ALIGN_CENTER _LEFT _RIGHT -> CENTER, LEFT, RIGHT ? 
X use built-in font if available? yes
o text() with \n is semi-broken
X does the font or PApplet control the size? (the font, ala java)
X without setting the font, SCREEN_SPACE comes out weird
o move SCREEN_SPACE into ScreenFont() class?
o   probably not, casey thinks screen space text is prolly more useful
o   that way can clear up some of the general confusion in the code
X textFont with a named font can use the renderer/os font
X   illustrator api can get the ps name from the java font name
X     since it's associated with the font file.. wee!
X   for postscript, can grab the real font
o   altho problem here is that really the fonts just need a name
o      since needs to render to screen as well
o      font has to be installed to get psname
X      fine because why would you embed a ps font that you don't have?
o need to resolve SCREEN_SPACE vs OBJECT_SPACE
o   can this be auto-detected with noDepth()? 
o   how does rotated text work?
o     PFont.rotate(180) rotate(PI)
o     or can this be detected from the matrix?
X don't use pixels to do screen space text inside PFont
X   add a function in PGraphics for direct pixel image impl 
X store the font name in the vlw font file (at the end)
o   could include multiple names for multi platforms
X get text impl stuff working properly
o look into fixing the texture mapping to not squash fonts
o   NEW_GRAPHICS totally smashes everything

friday postgame
X implement createFont()
X   with a .ttf does a create font internally (1.3+ only)
X     although the images aren't populated 
X     until a P2D/P3D/OPENGL tries to draw them, which triggers it
X     but if PGraphics2, just uses the built-in font
X   also works for font names and just creating them
X     if font name doesn't end with otf or ttf, then tries to create it
X change objectX/Y/Z to modelX/Y/Z
X PFont.list() to return string list of all the available fonts
X   probably not a mode of use that we really want to encourage
X   actually important because the whole graphicsdevice crap is silly
X     and we need a 1.1 versus 1.3/1.4 version
X implement printarr() as println() ?
X   actually deal with all the array types.. oy
X should nf() handle commas as well?
X   just add a basic nfc() version for ints and floats
o   yes, and add nf(int what) so that non-padded version works
o   but don't put commas into the zero-padded version
o   make nf/nfs/nfp not so weird
o   nf(PLUS, ...) nf(PAD, ...) nfc(PLUS, ...)
X unhex was broken for numbers bigger than 2^31

saturday late afternoon
X fix bug with openStream() and upper/lowercase stuff
X   do a better job of handling any kind of URLs in openStream()

sunday morning
X incorporate simon's new lighting code


0082 core
X make jdkVersion, jdkVersionName, platform, platformName variables
X additional note about screen sizes and displays
X sto instead of stop in present mode
X appears that opengl libraries weren't correctly added in 81?
X requestFocus() now called on gl canvas
X basic lights now work by default


0081 core
X background(PImage) now works in opengl
X when running externally, applets don't always get placed properly
X   if size is never set, then doesn't always layout
X   problem is in gl and in core, and is inconsistent
X   move more logic for layout into PApplet.. maybe a static method?
X   this way can avoid duplicating / breaking things
o what is the stroked version of a sphere? a circle?
X write list of params that can be passed to PApplet
o document in the code a note about how size() et al place themselves
X saveFrame was double-adding the save path because of save() changes

size(200, 200, P3D) - createGraphics and placement issues 
X make pappletgl work back inside papplet
X   and then size(300, 300, DEPTH) etc
X   get rid of opengl renderer menu
o   otherwise hint() to use the p5 renderer instead of java2d
X applet placement is screwy
X how to force PGraphics() instead of PGraphics2()
X   size(300, 200, P2D);
X size() doing a setBounds() is really bad
X   because it means things can't be embedded properly
o applets on osx (and windows) sometimes show up 20 pixels off the top 
X how to shut off rendering to screen when illustrator in use? 
X   need size(30000, 20000) for illustrator, problem in papplet
X   size(30000, 20000, ILLUSTRATOR)
X make Graphics2 et al load dynamically using reflection
X   can this be done with g2 and if exception just falls back to g1?
X   this way people can remove g1 by hand
o size() that changes renderer will throw nasty exception in draw()
X   or maybe that's ok? document that no changing renderers?
X take a look to see what needs to happen to get PAppletGL merged in
X   i.e. can i just extend GLCanvas?

present mode
o call present() from inside the code?
o   that if applet is 500x500, centers on a 800x600 window
X   no, that's nasty... use --present to launch in present window
X though how do you get the screen size? 
X   screen.width and screen.height? - yes
X write java 1.4 code for full screen version of PApplet
X   this might be used for presentation mode
X proper full screen code for present mode
X   why do mouse motion events go away in full screen mode
X   or with a Window object
X use screen manager to run present mode properly
X   set both versions to require java 1.4
X   change the Info.plist inside macosx
X   and add something to PdeBase to make sure that it's in 1.4
X running present mode with a bug in the program hoses things
X   make sure the program compiles before starting present mode


0080 core
X PApplet.saveFrame() is saving to sketch folder, PApplet.save() is not
X   PApplet.save() will save to the applet folder, 
X   but PImage.save() or PGraphics.save() will save only to the current
X   working directory, usually the Processing folder.
X removed static version of mask() from PImage
X   no more PImage.mask(theImage, maskImage)
X   just use theImage.mask(maskImage)
X PImage.filter() 
X   maybe use quasimondo's gaussian blur code?
X     http://incubator.quasimondo.com/processing/gaussian_blur_1.php
o   filter() on subsections? yes, in keeping with rest of api
X   no, in keeping with getting shit done
X   BLUR - write simple blur
X     how does photoshop handle this?
X   BLUR - add gaussian blur
X   email re: credit/attribution and descrepancy between algos
X forgot to mention the line hack to get points working in 78
X implemented PGraphicsGL.set(x, y, argb)
X implement PGraphicsGL.set(x, y, PImage)
X blend, copy, filter all implemented for opengl
X copy(Pimage, x, y) has become set(x, y, PImage)
X textMode -> textAlign
X   ALIGN_LEFT, ALIGN_CENTER, ALIGN_RIGHT -> LEFT, CENTER, RIGHT
X textSpace -> textMode
X   NORMAL_SPACE -> NORMALIZED, OBJECT_SPACE -> OBJECT
X text in a box is broken (at least for PGraphics2)
o   check to see if it's a rounding error with width()
o   get text rect working again (seems to be in infinite loop)
X   nope, was just that the space width wasn't being scaled up properly
X clean up the javadoc so no more errors
X change mbox to PFont.size? 
o   make width() return values based on natural size?
X   not a great idea.. plus java2d uses 1 pixel font for things
X email simon re: lighting api
X   things are actually more on track than expected
X camera is swapping colors in gl (on mac?)
X   in fact, all textures on mac were swapping colors
X   test this on windows to see if fixed
X sphere x,y,z,r or box w,h,d.. need to make them consistent
X   goodbye sphere(x, y, z, r)
o should available() be waiting() or something like that instead?
o go through and see what functions (no pixel ops?) frame recorders should have
X   decided instead to use recordFrame(PGraphics)
o remove SCREEN_SPACE altogether? 
X   can't do this for now

implemented in 79
X make sure arc goes in the right direction that we want it to
X   (make sure that PGraphics3 goes the same direction)


0079 core
X no changes to core in this release


0078 core
X text fixes
X   lines were getting horizontally mashed together
X   lines also getting vertically smashed together
X   make a note of the change to font.width()
X backwards rects and backwards ellipses weren't properly drawn
X   code now compensates for negative widths or swapped x1/x2
X what to do about backwards images
X imageMode() wasn't being set properly
X fix noLoop() not properly running
X   If noLoop() is called in setup(), nothing is drawn to the screen.
X also fix redraw() to include interrupt() again
X loadPixels throwing NPEs
X fixes to SCREEN_SPACE text not being sized properly
X loadPixels()/updatePixels() on screen space text (ouch)
X get SCREEN_SPACE text working again
X patch in newer jogl.. too many BSODs
X saveFrame seems to be broken
X   fixed for PGraphics2
X   fixed for PGraphicsGL
X   also implemented loadPixels/updatePixels for gl
X fix tint() with color and alpha for PGraphics2
X alpha() colors are inverted (white is opaque.. doesn't make sense)
X   should we swap this around? no - this is how photoshop works
X fix arc
X get() is back
X set camera.modified so that it draws properly
X it's annoying not having a copy() function inside PImage
X   formerly get() with no params
o   clone throws an exception
o   PImage constructor that takes itself?
o   PImage copy = new PImage(another);
X got rid of CONCAVE_POLYGON and CONVEX_POLYGON
X hack for points to work in opengl, but still not working broadly
X work on filter() functions
X   POSTERIZE - find simple code that does it?
X     there must be a straightforward optimized version of it
o   EDGES - find edges in casey's example is differen than photoshop
o     which version do people want with their stuff
X     edges filter removed
X several fixes to Movie and Camera to work with the new gfx model
X PImage.get(x, y, w, h) had a bug when things went off the edge
X set defaults for strokeCap and strokeJoin
X get() and gl images were broken for screen sizes less than full size
X fix arcs, were badly broken between java2d and pgraphics
X look at curve functions more closely
X   should we switch to curveVertex(1,2,3) (ala curveto)
X   because some confusion with mixing types of curves
o   make sure we don't want curveVertices(1,2,3,u,v)
o   also make test cases so that java2d and java11 behave the same
X implement PGraphics2.curveVertex()
X updatePixels() not setting PApplet.pixels
X   make loadPixels in PGraphics ignored, and put it in PApplet
X made loadStrings() and openStream(File) static again
X test loadPixels()/updatePixels()/saveFrame() on the pc
X   better, just assume that they need the endian swap
X fixed draw mode apps for opengl
X   (gl was missing a beginFrame)
X pmouseX, pmouseY are not working in OpenGL mode
X   (as they are working in Processing mode)

o screenX/Y aren't properly working for 2D points against a 3D matrix
o   (ryan alexander rounding bug)
o   Just to clarify, it works completely correctly with rounding
o   screenX/Y and also using the 3 arg version of translate - 
o   ie translate(hw,hh,0) instead of just translate(hw,hh). 
X   no longer an issue because moving to 2D and 3D modes
o PImage: remove the static versions of manipulators?
o   probably not, because they're inherited by PApplet
o   i.e. mask(image, themask); 
X   no PImage needed b/c PGraphics is a PImage
o colorMode(GRAY) to avoid stroke(0) causing trouble? 
o   or maybe get rid of stroke(0)? hrm


0077 core
X bring back pmouseX/Y using a tricky method of storing separate
X   values for inside draw() versus inside the event handler versions
X   debug handling, and make firstMouse public
X explicitly state depth()/nodepth()
X   don't allocate zbuffer & stencil until depth() is called
X arc with stroke only draws the arc shape itself
X   may need a 'wedge' function to draw a stroke around the whole thing
X only allocate stencil and zbuffer on first call to depth()
X   this will require changes to PTriangle and PLine inside their loops
X try running javadoc
X die() may need to throw a RuntimeException
o call filter() to convert RGB/RGBA/ALPHA/GRAY
o   cuz the cache is gonna be bad going rgb to rgba
X   don't bother, people can re-create the image or set cache null
X fix font coloring in PGraphics2
X fix tint() for PGraphics2
X get text working again
X   partially the problem is with ALPHA images
X     how should they be stored internally
X   also colored text, requires tint() to work properly
X move textMode and textSpace back out of PFont
X   use die() to fail in font situations
X   can't, just use a RuntimeException

covered in previous
X before graphics engine change, attach jogl stuff
X   need to try jogl to make sure no further changes
X   and the illustrator stuff
o massive graphics engine changes
o   move to new graphics engine
o     test with rgb cube, shut off smoothing
o   make sure line artifacts are because of smoothing
o   implement 2x oversampling for anti-aliasing
o renderers can plug in:
o   at direct api level
o     taking over all color() functions and vertex collection
o   at endShape() level
o     where vertices are collected by core and blit on endShape()
o     (takes polygons and lines)
o   at post tesselation level
o     takes only line segments and triangles to blit (dxf writer)
o api for file-based renderers
o   need to work this out since it will affect other api changes
o   size(0, 0) and then ai.size(10000, 20000)
o     size 0 is code for internal to not show any window
o   saveFrame(PRenderer) or saveFrame("name", PRenderer)
o   saveFrame gets called at the beginning of loop()
o     or is just a message to save the next frame (problem for anim)
X vertices max out at 512.. make it grow
X add gzipInput and gzipOutput
X light(x, y, z, c1, c2, c3, TYPE)
X   also BLight with same constructor, and on() and off() fxn
X make sure applet is stopping in draw mode
X loadImage() is broken on some machines
X   hacked for a fix in 72, but need to better coordinate with openStream()

postscript
X pushing all intelligence down into class that implements PMethods
o keep hints about type of geometry used to reconstruct
o   no special class, just uses public vars from PGraphics
o how to hook into curve rendering so that curve segments are drawn
o   maybe lines are rendered and sorted, 
o   but they point to an original version of the curve geometry 
o   that can be re-rendered 
o   also integrate catmull-rom -> bezier inverse matrices
o   even with the general catmull-rom, to render via ai beziers

api changes
X removed circle.. it's dumb when ellipse() is in there
X   (it's not like we have square() in the api)
X arcMode is gone.. just uses ellipseMode()
X save tga and tif methods are static and public
X imageMode(CORNER) and CORNERS are the only usable versions
X alpha(PImage) is now called mask() instead
X   already have an alpha() function that gets alpha bits
X on start, mouseX is 0.. how to avoid?
X   use firstMouse variable.. figure out naming
X get frame recording working
X   not tested, but at least it's there

image stuff
o could also do PImage2, which would need a getPixels() before messing w/ it
o   bad idea, distinction not clear
o even in java 1.1, could use regular java.awt.Image and require getPixels()
o   -> 1.1 wouldn't help anything, because needs pixels to render, oops
X the updatePixels() in PGraphics has to be overridden (from PImage)
X   to make itself actually update on-screen
X   actually, should be no different than the check_image function
X PGraphics2 and PGraphicsGL will need loadPixels() to be called
X   in order to read pixels from the buffer
X loadPixels() and updatePixels() prolly should be shut off in opengl
X   make people use get() instead to grab sub-images
X   PGraphicsGL.copy() needs to be overridden.. use glDrawBitmap
o loadImage() needs to handle 1.1 vs 1.3 loading
o   set image.format to be BUFFERED? no.. just use RGBA always
o have a flag to always use the cache, i.e. with BufferedImage
o   turn that off when someone modifies it (nope, no need to)
X PImage.getPixels(), updatePixels(), updatePixels(x, y, w, h), 
o   PImage.setPixels(int another[]);
X imageMode(CENTER) is weird for copy() and updatePixels()
X   perhaps copy() and get() ignore imageMode and use xywh or x1y1x2y2?
X   or disallow imageMode(CENTER) altogether?
o in java 1.3, getPixels() can call getRGB() via reflection
o   cache.getClass().getName().equals("BufferedImage")
X readPixels/writePixels?
X   has to happen, since this is so fundamental to gl as well
X loadImage in 1.3 leaves pixels[] null (not in 1.1)
X   1.3 plus gl is a problem, since conflicting caches
X   gl has no need for a bufferedimage tho
X     so maybe checks to see if the cache is a BufferedImage
X     if it is, calls getPixels to set the int array
X     then replaces cache with glimageache
X     pappletgl loadimage could take care of this instead
X       calls super.loadImage(), if cache != null, proceed..
X       this is prolly a mess
X PImage.getPixels() and PImage.getPixels(x, y, w, h) ->
X   (the xywh version still allocates the entire array, but only updates those)
X   only needed for java2d
X   not (necessarily) needed when loading images,
X     but definitely needed when setting pixels on PGraphics
X PImage.updatePixels() and PImage.updatePixels(x, y, w, h)
X   (this is actually just setModified)
X   in opengl, marks all or some as modified
X     so next time it's drawn, the texture is updated PGraphicsGL.image()
X   in java2d, updates the BufferedImage on next draw
X can't use regular getPixels() on PGraphics, because its image isn't 'cache'
X   also, the cache may be used to draw the whole surface as a gl texture (?)
X   not a problem for the main PGraphics, but for any others created to draw on

opengl
X make light() functions actually do something in PGraphicsGL
X box() and sphere() working again
X make opengl work in draw mode
X   set initial size using --size=
X color channels seem to be swapped on windows in image example
X   check on the mac to see what it looks like

X default to single byte input from serial port
X   and add serial.setBuffer() for message length as alternative
X   or serial.setDelimiter() to fire message on delim
X     named it bufferUntil();


0076 core
X no changes, only launcher issues


0075
X textureMode(NORMAL_SPACE)  screws up the image() command
X   image() appears to require IMAGE_SPACE to function properly. 
X added focusGained() and focusLost()
X lots of changes to internal naming of vars
X screenX(x, y) and screenY(x, y) added for noDepth()
X add TRIANGLE_FAN
X eyeX, eyeY etc have been renamed cameraX/Y/Z, and cameraNear/Far
X modify targa and tiff writing routines to break into header writing
X   writeTIFF, writeHeaderTIFF, writeTGA, writeHeaderTGA
X MAJOR CHANGE: RGBA becomes ARGB for accuracy
o uv coords > 1 shouldn't clamp, they should just repeat ala opengl
o   actually i think opengl has a setting for it
o remove need to use depth() at the beginning
X   need only be set once
X pmouseX is broken again
X   remove pmouseX/Y altogether
X   maintain things a bit different
o   email the beta@ list to see how people are using pmouseX
X changed PMovie.length to PMovie.duration
X move around/simplify loadImage() inside PApplet 
X working to add more die() statements inside PApplet
o can ALPHA fonts work using the other replace modes?

fixed in previous releases
X text stuff
X   text() with alignment doesn't work for multiple lines
X   don't change the size of a font when in screen space mode
X   patch rotated text (from visualclusto) into bfont
X   what sort of api? textSpace(ROTATED) ?
X   rotated text has a bug for when it goes offscreen

opengl
X why is the thing hanging until 'stop' is hit?
X   what happens when stop is hit that sets it free?
X   (at what point does it start working properly?)
X cache needs to also make things a power of 2
X   if images are already a power of 2, then needn't re-alloc
X cacheIndex needs to be set to -1 when the image is modified
X   or maybe have a modified() function?
X debug why certain spots are having errors (see 'problem here' notes)
X   INVALID_OPERATION after drawing lines for cube
X fix noLoop bug
X remove errors when drawing textures
X reverse y coordinates
X make play button un-highlight with opengl
X   also make window move messages work properly
X   very necessary, since opens window at 100x100
X   problem was the threading issues
X bring back renderer menu
X   reading/saving pref for opengl renderer
X remove cameraMode(PERSPECTIVE) on each frame
X   why is the first one failing?
X still threading issues with running opengl 
X   threading really horks up dual processor machine.. 
X   first run hangs until quit 
X   though doesn't seem to replicate when p5 is restarted
X make sure background() gets called at least once with opengl
X   otherwise screen never actually updates
X beginFrame() around setup()
X   draw mode stuff happens inside setup.. 
o   or maybe need to get better at size() inside of draw() ? 
X   make this consistent with the regular PApplet
X     otherwise things are going to be weird/difficult for debugging


0074 core
X removed zbuffer precision hack in PLine to improve z ordering
X no longer set g.dimensions = 3 when using vertex(x, y, 0)


0073 core
X tweak to fonts to use TEXT_ANTIALIAS because of macosx @#$(*&
X loadImage() is broken on some machines
X   hacked for a fix in 72, but need to better coordinate with openStream()


0072 core
X make m00, m01 etc public
X hack to make loadImage() work 
X   cache settings are ignored, may be slow as hell
X make hints[] no longer static
X   they weren't properly resetting


0071 core
X properly swap alpha values when lines need to be rendered backwards
X make cursor() commands public
X ltext and rtext for screen space stuff
X ltext is broken when it goes y < 0 or y > height
X ltext & rtext completely working
X make sure font creator is making fonts properly fixed width
X   probably not using java charwidth for the char's width
X   probably wasn't using textFont() properly
X now that it's actually a key, should it be a char? (what's keyChar?)
X   that way println(c) would work a little better..
X libraryCalls() not properly working for pre, post, or draw()
o image(myg, x, y) doesn't work but image(myg, x, y, w, h) does
o   (image kind prolly not set right and so image() gets pissy)
o   http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1091798655

text fixes
X make text rect use rectMode for placement
X if a word (no spaces) is too long to fit, insert a 'space'
X move left/center/right aligning into the font class
X   otherwise text with alignment has problems with returns
X could PFont2 be done entirely with reflection?
X   that way other font types can properly extend PFont
o font char widths from orator were not fixed width
o   may just need to regenerate. if not, widths may be set wrong.


0070 core
o check ordering of split() in java vs perl for regexp
X don't include empty chars in font builder
X   .vlw font files are enormous with full charset
X   check to see if the character exists before adding it to the font
X fixed (unreported) problem with char lookup code
o split() with multiple args (i think this is completed)
X   http://processing.org/discourse/yabb/YaBB.cgi?board=Syntax;action=display;num=1078985667
X trim() not chop().. whups
X random(5, 5) -> return 5, random(6, 4) return error
X   http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1083275855;start=0
X use random.nextFloat() because it's faster
X make grayscale image in p5
X   could be used with alpha() to properly set alpha values
X   made into filter(GRAYSCALE) and filter(BLACK_WHITE) functions
X make g.depthTest settable as a hint
X   http://processing.org/discourse/yabb/YaBB.cgi?board=BugFixes;action=display;num=1096303102;start=0
X #ifdef to remove client and server code as well
X need to resolve issues between rendering screen/file
X   illustrator-based rendering needs to work for ars projects
X   screen may be 400x400 pixels, but file be 36x36"
X launcher.cpp broke serial.. see versions in processing.notcvs
X rewrite bagel code.. 
X   for this release, because it will break things along with the lib stuff
X   switch to PImage, PApplet, etc
o bug in BImage.smooth() when resizing an image
o   http://processing.org/discourse/yabb/YaBB.cgi?board=BugFixes;action=display;num=1096303158;start=0
X shut off the automatic gunzipping of streams, keep for fonts
X fix for duplicated points in polygons that foiled the tesselator
X   http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1077819175
X cleaned up texture() code between NEW/OLD graphics
X   not quite so much duplicated in cases etc.
X lines: vertex coloring bug with my swap hack
X   http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1085348942
X   last vertex on LINE_LOOP fades out
X   http://processing.org/discourse/yabb/YaBB.cgi?board=BugFixes;action=display;num=1096303406;start=0
X include values in PConstants for additional blend modes:
X   DIFFERENCE, MULTIPLY, SCREEN, OVERLAY, HARD_LIGHT, SOFT_LIGHT
X include a lerp()? is there one in flash?
X   http://processing.org/discourse/yabb/YaBB.cgi?board=Programs;action=display;num=1083289030
X   should it be called lerp or mix?
X acos, asin, atan, log, exp, ceil/floor, pow, mag(x,y,z)
X color issues
X   doesn't work when outside a function:
X     color bg_color = color(255,0,0);
X   colorMode broken for red() green() etc
X     http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1068664455
X   add color(gray) and color(gray, alpha)
X     http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1089898189;start=0
X     http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_Software;action=display;num=1090133107
o update() mode needs to be hacked in (?)
X make 'online' a boolean
X pass in args[] from main
X angleMode(DEGREES) and angleMode(RADIANS)
X   http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_Software;action=display;num=1075507381;start=0
X fixes to line and curve code
X api to properly sense when applet has focus
X   add a 'focused' variable to the applet
X   code now in zipdecode, maybe just list this as a standard thing?
X do applets know when they're stopped? stop? dispose?
X   would be good to set a param in p5 so that the thread dies
X   if people have other threads they've spawned, impossible to stop

cleaning up
X make bagel more usable as standalone
X   breakout BGraphics (have its own BImage)
o   breakout BApplet into BComponent ? (fix out-of-bounds mouse - doesn't)
o opengl export / rendering mode
o   currently implemented, but somewhat broken
o   finish this once all the line code is done
o make possible to use buzz.pl to create versions w/ stuff removed
o build gl4java for java 1.4
o separating of BGraphics and BApplet
o change copyrights on the files again (to match ?)
X loadStrings has a problem with URLs and a code folder
o   turned out to be a problem with firewall/antivirus software
o   http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1086551792
o when running as an applet, need to loadStream from documentBase too
o   problem is that BGraphics has the loadStream code, not BApplet
o new sphere code from toxi
o   already added a while back
o   http://processing.org/discourse/yabb/YaBB.cgi?board=Syntax;action=display;num=1067005325
o sphere code needs only front face polygon 
o   all triangles must be counter-clockwise (front-facing)
X fix loadImage to be inside PApplet

040715
X saveFrame() to a folder horks things up if a mkdirs() is required
X   on macosx, this makes things hang; on windows it complains
X   http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1081706752;start=0
X decide on whether to use PTools
X   decided against, since it doesn't help anything
X   and some functions need the applet object, so it's just annoying
o   i.e. move math functions into utility library
o   check what other functions require PGraphics to exist but shouldn't
o   look at BGraphics to see if setting an 'applet' could be used
o     then other than that, if no applet set, no connection to PApplet

040716
X change font api to not use leading() as a way to reset the leading
X   resetLeading and resetSize are the things
X embed all available chars from a font, so japanese, etc works
X   http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_Software;action=display;num=1083598817;start=3
X fix a bunch of font bugs regarding charsets and lookup
X array operations: boolean, byte, char, int, float, String
X   expand/contract
X   append, shorten
o   shift/unshift
o   slice
X   splice
X   reverse
X   concat

040717
X make clone() into copy()
X add a method BApplet.setPath() or something like that
X   use it to repair saveBytes, saveStrings, etc
X   put screenshots into their sketch folder
o     http://processing.org/discourse/yabb/YaBB.cgi?board=Syntax;action=display;num=1046185738;start=0
X full casting operations on primitives and arrays of them
X text(String text, x, y, width, height)  // based on rectMode
X   textMode() for align left, center, right (no justify.. har!)
X hex(), binary(), unhex(), unbinary()

040725 
X fix array functions not returning a value

040726 
X noiseSeed and randomSeed
X   http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_Software;action=display;num=1090749784;start=0

040727
X incorporated NO_FLYING_POO line/poly hack developed for axel

040902
X sort() should return an array, rather than sort in place
X fix binary function, had wrong offset number
X   casey: i wan't able to get binary() to work at all:
o Typography: Helix won't compile 
o   works fine, just needs BFont -> PFont
X standalone 'alpha' function for PImage (static methods for alpha fxns)
X Image: Edge, Image: Blur: Alpha not set? The error is easier to see on Blur
X   turns out bounds checking wasn't working properly on colors

040903 
X fix mouse/key events, make properly public for the package stuff
X   The biggest problem was the key and mouse functions not working. 
X   Input: Mouse_Functions
X   Input: Keyboard_Functions
X processing.net -> PClient, PServer
X   write client/server implementations for new-style api
X   basic test with old net server has things working fine

040908
X inputFile, outputFile, reader, writer commands
X   also loadStrings(File file)

040913
X printarr instead of print/println for arrays
X   println(Object o) conflicts with println(int a[])
X   but println(Object o) is very needed

040919
X loop/noLoop setup

040920
X make loop/noLoop work properly
X fixes/changes to key and mousehandling
X   tab key not working? 
X     http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1091853942;start=0
X   mousePressed, keyPressed, others.. queue them all
X     queue multiple times
X     http://processing.org/discourse/yabb/YaBB.cgi?board=Syntax;action=display;num=1079555200;start=0
X   strangeness with key codes on keyPressed
X     http://processing.org/discourse/yabb/YaBB.cgi?board=Syntax;action=display;num=1083406438;start=0
X   key codes not properly coming through for UP/DOWN/etc
X     had to bring back keyCode
X     http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1075138932;start=0
X add redraw() function
X   call redraw() on the first time through (to force initial draw)
X   otherwise noLoop() in setup means no drawing happens at all

040920 evening
X defaults for PApplet and PGraphics are different
o   PGraphics has none.. PApplet has fill/stroke
X   actually not the case, only that wasn't calling decent superclass
X set PImage.format as RGB by default? 
X   this was problem with rendering an image from PGraphics on board
X   http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1091798655;start=0
X   http://processing.org/discourse/yabb/YaBB.cgi?board=Syntax;action=display;num=1080671926;start=0

040921 morning
X bug in get() that was removing the high bits (rather than adding)

040921 evening
X lots of work on libraries, figuring out PLibrary api

040922 
X get library stuff debugged
X port arcball and finish up dxf writer
X beginCamera() no longer sets an identity matrix

040925
X make savePath() and createPath() accessible to the outside world
X   useful for libraries saving files etc.


0070p8
X sizing bug fix to fonts, they now match platform standards
X   however, *this will break people's code*
X text in a box not written
X   make sure to note in the docs that text/textrect position differently
o     for this reason, should it be called textrect()?
X font heights and leading are bad
X   get good values for ascent and descent
X   if ScreenFont subclasses PFont.. can that be used in textFont()?
X check to make sure the tops of fonts not getting chopped in font builder


0069 bagel
X text(x, y, z)
X fixed camera modes / replaced how isometric is handled
X whoa.. BGraphics.screenX() et al had the camera stuff shut off
X   and that's what shipped in 67. shite.
X   need to get things fixed up properly so camera is properly set
X   ISOMETRIC was completely broken.. need to implement properly
X     also, the default camera is perspective
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
X more functions made static (loadStrings, loadBytes) that could be
X   print() commands in BApplet were among these
X die() command to exit an application or just stall out an applet
X   die(String error) and die(String error, Exception e) 
X more documentation in comments for functions
X chop() function that properly also handles nbsp
X join() was handled weird
X run nf() and nfs() on arrays
X nfp() to show plus sign
X toInt, toFloat, toDouble (nf is for toString.. inconsistent)
o split() function splits strings instead of splitStrings()
o   ints() converts an array of strings/doubles/floats to an int array
o split() should also use StringTokenizer
o   to do countTokens() and then stuff into an array
o shave() or chomp() or trim() method to remove whitespace on either side
o   including unicode nbsp
X min() and max() with three values were broken (now fixed)
X   http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1076804172
X CONTROL wasn't properly set in BConstants
X   http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1077058788
X macosx.. flickering several times on startup
X   fixed this, along with other sluggishness related threading issues
X   http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1073111031
X bug with charset table on older fonts
X   index_hunt was look through the table, not what was in the font
X   http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1077475307;start=0
X seems to be some difficult threading problems still present
X   fixed many threading issues across macosx and linux
X side-porting changes
X   new(er) line code is not in the main 'processing'
X   making perlin non-static not in the main bagel
X   polygon stroking hack code from the end of 68
X erikb found a bug inside split(), it would die on empty strings
X   http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1077664736
X   fixed it, also modified behavior of split() with a delimeter
X   previously, it would remove the final delimeter and an empty entry
X   but that's now disabled, since the split cmd is very specific
X code from toxi to support .tga files in loadImage
X   http://processing.org/discourse/yabb/YaBB.cgi?board=Programs;action=display;num=1078459847;start=0
X fix bug where single pixel points were ignoring their alpha values
X static loadStrings and loadBytes aren't being added to BApplet
X   (the versions that use an inputstream)
X   added support for handling static functions in make.pl
X threading is broken again on windows
X   windows needs a sleep(1) instead of the yield()
X random(3) should be non-inclusive of the 3
X   http://processing.org/discourse/yabb/YaBB.cgi?board=Syntax;action=display;num=1079935258;start=5

api changes
X loadStream -> openStream for better consistency

jdf
X dynamic loading of code for setting cursor (removed JDK13 ifdef)
X why aren't cursors working on the mac?
X   fix from jdf to just set size to 0,0
