From 4b3d7d14d61c327d49ea80b6d0765d6a504c6e80 Mon Sep 17 00:00:00 2001 From: benfry Date: Mon, 2 Apr 2012 21:03:08 +0000 Subject: [PATCH] formatting updates and todo notes --- android/todo.txt | 12 +- app/.settings/org.eclipse.jdt.ui.prefs | 52 ----- app/src/processing/app/Base.java | 14 +- .../processing/app/syntax/JEditTextArea.java | 56 ++--- app/src/processing/mode/java/JavaBuild.java | 27 ++- core/todo.txt | 20 +- .../src/processing/opengl/PShape3D.java | 6 +- todo.txt | 204 +++++++++--------- 8 files changed, 184 insertions(+), 207 deletions(-) diff --git a/android/todo.txt b/android/todo.txt index 16d174ce1..49234d2f8 100644 --- a/android/todo.txt +++ b/android/todo.txt @@ -2,10 +2,16 @@ X finish xml writing on android X http://stackoverflow.com/questions/2290945/writing-xml-on-android X consider switch to android 2.2 as the minimum -X GL2 specific code in Processing 2.0a5 break P3D on GLES2 hardware -X http://code.google.com/p/processing/issues/detail?id=1029 -2.0a5 +andres +A GL2 specific code in Processing 2.0a5 break P3D on GLES2 hardware +A http://code.google.com/p/processing/issues/detail?id=1029 +_ Android OPENGL renderer + JAVA2D PGraphics results in PTexture exception +_ http://code.google.com/p/processing/issues/detail?id=1019 +X OpenGL/ES requires precision specifier on float types +X http://code.google.com/p/processing/issues/detail?id=1035 + +earlier X remove unnecessary processing.xml.* code from android-core X http://code.google.com/p/processing/issues/detail?id=214 diff --git a/app/.settings/org.eclipse.jdt.ui.prefs b/app/.settings/org.eclipse.jdt.ui.prefs index 2db21ef5b..7f5ba1ed8 100644 --- a/app/.settings/org.eclipse.jdt.ui.prefs +++ b/app/.settings/org.eclipse.jdt.ui.prefs @@ -1,55 +1,3 @@ eclipse.preferences.version=1 -editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=false formatter_profile=_processing formatter_settings_version=12 -sp_cleanup.add_default_serial_version_id=true -sp_cleanup.add_generated_serial_version_id=false -sp_cleanup.add_missing_annotations=true -sp_cleanup.add_missing_deprecated_annotations=true -sp_cleanup.add_missing_methods=false -sp_cleanup.add_missing_nls_tags=false -sp_cleanup.add_missing_override_annotations=true -sp_cleanup.add_serial_version_id=false -sp_cleanup.always_use_blocks=true -sp_cleanup.always_use_parentheses_in_expressions=false -sp_cleanup.always_use_this_for_non_static_field_access=false -sp_cleanup.always_use_this_for_non_static_method_access=false -sp_cleanup.convert_to_enhanced_for_loop=true -sp_cleanup.correct_indentation=true -sp_cleanup.format_source_code=false -sp_cleanup.format_source_code_changes_only=false -sp_cleanup.make_local_variable_final=true -sp_cleanup.make_parameters_final=true -sp_cleanup.make_private_fields_final=true -sp_cleanup.make_type_abstract_if_missing_method=false -sp_cleanup.make_variable_declarations_final=true -sp_cleanup.never_use_blocks=false -sp_cleanup.never_use_parentheses_in_expressions=true -sp_cleanup.on_save_use_additional_actions=false -sp_cleanup.organize_imports=false -sp_cleanup.qualify_static_field_accesses_with_declaring_class=false -sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true -sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true -sp_cleanup.qualify_static_member_accesses_with_declaring_class=false -sp_cleanup.qualify_static_method_accesses_with_declaring_class=false -sp_cleanup.remove_private_constructors=true -sp_cleanup.remove_trailing_whitespaces=true -sp_cleanup.remove_trailing_whitespaces_all=false -sp_cleanup.remove_trailing_whitespaces_ignore_empty=true -sp_cleanup.remove_unnecessary_casts=true -sp_cleanup.remove_unnecessary_nls_tags=false -sp_cleanup.remove_unused_imports=true -sp_cleanup.remove_unused_local_variables=false -sp_cleanup.remove_unused_private_fields=true -sp_cleanup.remove_unused_private_members=false -sp_cleanup.remove_unused_private_methods=true -sp_cleanup.remove_unused_private_types=true -sp_cleanup.sort_members=false -sp_cleanup.sort_members_all=false -sp_cleanup.use_blocks=true -sp_cleanup.use_blocks_only_for_return_and_throw=false -sp_cleanup.use_parentheses_in_expressions=false -sp_cleanup.use_this_for_non_static_field_access=false -sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true -sp_cleanup.use_this_for_non_static_method_access=false -sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true diff --git a/app/src/processing/app/Base.java b/app/src/processing/app/Base.java index 673c8f65d..dabbccbca 100644 --- a/app/src/processing/app/Base.java +++ b/app/src/processing/app/Base.java @@ -398,20 +398,8 @@ public class Base { */ protected void restoreSketches() { String lastMode = Preferences.get("last.sketch.mode"); - if (DEBUG) { - System.out.println("setting mode to " + lastMode); - } + log("setting mode to " + lastMode); if (lastMode != null) { -// try { -// Class modeClass = Class.forName(lastMode); -// defaultMode = (Mode) modeClass.newInstance(); -// } catch (ClassNotFoundException e) { -// e.printStackTrace(); -// } catch (InstantiationException e) { -// e.printStackTrace(); -// } catch (IllegalAccessException e) { -// e.printStackTrace(); -// } for (Mode m : getModeList()) { if (m.getClass().getName().equals(lastMode)) { defaultMode = m; diff --git a/app/src/processing/app/syntax/JEditTextArea.java b/app/src/processing/app/syntax/JEditTextArea.java index 47c0c9859..e21c539e5 100644 --- a/app/src/processing/app/syntax/JEditTextArea.java +++ b/app/src/processing/app/syntax/JEditTextArea.java @@ -31,7 +31,7 @@ import processing.core.PApplet; /** * The text area component from the JEdit Syntax (syntax.jedit.org) project. * This is a very early version of what later was completely rewritten and - * become jEdit (jedit.org). Over the years we've also added minor features + * become jEdit (jedit.org). Over the years we've also added minor features * for use with Processing (notably mouse wheel support and copyAsHTML). [fry] *

* jEdit's text area component. It is more suited for editing program @@ -70,7 +70,7 @@ public class JEditTextArea extends JComponent * bar is added this way. */ public static String LEFT_OF_SCROLLBAR = "los"; - + /** The size of the offset between the leftmost padding and the code */ public static final int leftHandGutter = 6; @@ -87,13 +87,13 @@ public class JEditTextArea extends JComponent caretTimer = new Timer(500, new ActionListener() { public void actionPerformed(ActionEvent e) { if (hasFocus()) { - blinkCaret(); + blinkCaret(); } } }); //new CaretBlinker//new CaretBlinker()); caretTimer.setInitialDelay(500); caretTimer.start(); - + // Initialize some misc. stuff painter = new TextAreaPainter(this, defaults); documentHandler = new DocumentHandler(); @@ -641,7 +641,7 @@ public class JEditTextArea extends JComponent } else { Token tokens; - if (painter.currentLineIndex == line && + if (painter.currentLineIndex == line && painter.currentLineTokens != null) { tokens = painter.currentLineTokens; } else { @@ -668,7 +668,7 @@ public class JEditTextArea extends JComponent for (int i = 0; i < length; i++) { // System.out.println("segmentOffset = " + segmentOffset + -// ", offset = " + offset + +// ", offset = " + offset + // ", i = " + i + // ", length = " + length + // ", array len = " + segmentArray.length); @@ -833,7 +833,7 @@ public class JEditTextArea extends JComponent } return offset + length; } - + /** * Returns the end offset of the specified line. * @param line The line @@ -849,7 +849,7 @@ public class JEditTextArea extends JComponent else return lineElement.getEndOffset(); } - + public int getLineStopNonWhiteSpaceOffset(int line) { int offset = getLineStopOffset(line); @@ -861,12 +861,12 @@ public class JEditTextArea extends JComponent return offset - i; } } - + return offset - length; } /** - * Returns the start offset of the line after this line, or the end of + * Returns the start offset of the line after this line, or the end of * this line if there is no next line. * @param line The line * @return The end offset of the specified line, or -1 if the line is @@ -1249,13 +1249,13 @@ public class JEditTextArea extends JComponent // getLineOfOffset(end)); } } - + private enum CharacterKinds { Word, Whitespace, Other } - + private CharacterKinds CharacterKind( char ch, String noWordSep ) { if ( Character.isLetterOrDigit(ch) || ch=='_' || noWordSep.indexOf(ch) != -1 ) @@ -1273,7 +1273,7 @@ public class JEditTextArea extends JComponent newSelectionEnd = newSelectionStart; return; } - + String noWordSep = (String)document.getProperty("noWordSep"); if(noWordSep == null) noWordSep = ""; @@ -1284,9 +1284,9 @@ public class JEditTextArea extends JComponent int wordEnd = lineText.length(); char ch = lineText.charAt(Math.max(0,offset - 1)); - + CharacterKinds thisWord = CharacterKind(ch,noWordSep); - + for(int i = offset - 1; i >= 0; i--) { ch = lineText.charAt(i); if(CharacterKind(ch,noWordSep) != thisWord) { @@ -1303,7 +1303,7 @@ public class JEditTextArea extends JComponent } } int lineStart = getLineStartOffset(line); - + newSelectionStart = lineStart + wordStart; newSelectionEnd = lineStart + wordEnd; } @@ -1678,14 +1678,14 @@ public class JEditTextArea extends JComponent * rather than opening a new window. *

* Updated for 0144 to only format the selected lines. - *

- * Updated for 0185 to incorporate the HTML changes from the Arduino project, - * and set the formatter to always use HTML (disabling, but not removing the + *

+ * Updated for 0185 to incorporate the HTML changes from the Arduino project, + * and set the formatter to always use HTML (disabling, but not removing the * YaBB version of the code) and also fixing it for the Tools API. *

- * Updated for 0190 to simply be part of JEditTextArea, removed YaBB code. + * Updated for 0190 to simply be part of JEditTextArea, removed YaBB code. * Simplest and most sensible to have it live here, since it's no longer - * specific to any language or version of the PDE. + * specific to any language or version of the PDE. */ public void copyAsHTML() { StringBuffer cf = new StringBuffer("

\n");
@@ -1803,7 +1803,7 @@ public class JEditTextArea extends JComponent
 
 
   /**
-   * Handle encoding HTML entities for lt, gt, and anything non-ASCII. 
+   * Handle encoding HTML entities for lt, gt, and anything non-ASCII.
    */
   private void appendAsHTML(StringBuffer buffer, char c) {
     if (c == '<') {
@@ -1826,11 +1826,11 @@ public class JEditTextArea extends JComponent
     if (editable) {
       Clipboard clipboard = getToolkit().getSystemClipboard();
       try {
-        String selection = 
+        String selection =
           ((String) clipboard.getContents(this).getTransferData(DataFlavor.stringFlavor));
 
         if (selection.contains("\r\n")) {
-          selection = selection.replaceAll("\r\n", "\n"); 
+          selection = selection.replaceAll("\r\n", "\n");
 
         } else if (selection.contains("\r")) {
           // The Mac OS MRJ doesn't convert \r to \n, so do it here
@@ -1844,7 +1844,7 @@ public class JEditTextArea extends JComponent
           char[] c = new char[tabSize];
           Arrays.fill(c, ' ');
           String tabString = new String(c);
-          selection = selection.replaceAll("\t", tabString); 
+          selection = selection.replaceAll("\t", tabString);
         }
 
         // particularly on macosx when pasting from safari,
@@ -2332,7 +2332,7 @@ public class JEditTextArea extends JComponent
     public void mouseMoved(MouseEvent evt) {}
   }
 
-  
+
   class FocusHandler implements FocusListener
   {
     public void focusGained(FocusEvent evt)
@@ -2361,14 +2361,14 @@ public class JEditTextArea extends JComponent
 //      setCaretVisible(true);
 //      focusedComponent = JEditTextArea.this;
         // Here be dragons: for release 0195, this fixes a problem where the
-        // line segment data from the previous window was being used for 
+        // line segment data from the previous window was being used for
         // selections, causing an exception when the window you're clicking to
         // was not full of text. Simply ignoring clicks when not focused fixes
         // the problem, though it's not clear why the wrong Document data was
         // being using regardless of the focusedComponent.
 //        if (focusedComponent != JEditTextArea.this) return;
         if (!hasFocus()) {
-          System.out.println("requesting focus in window");
+//          System.out.println("requesting focus in window");
           requestFocusInWindow();
           return;
         }
diff --git a/app/src/processing/mode/java/JavaBuild.java b/app/src/processing/mode/java/JavaBuild.java
index 549915c87..d18e171ec 100644
--- a/app/src/processing/mode/java/JavaBuild.java
+++ b/app/src/processing/mode/java/JavaBuild.java
@@ -298,8 +298,12 @@ public class JavaBuild {
 //      System.out.println(errorLine + " " + errorFile + " " + code[errorFile].getPreprocOffset());
 
       String msg = re.getMessage();
+      
+      //System.out.println(java.getAbsolutePath());
+      System.out.println(bigCode);
 
-      if (msg.equals("expecting RCURLY, found 'null'")) {
+      if (msg.contains("expecting RCURLY")) {
+      //if (msg.equals("expecting RCURLY, found 'null'")) {
         // This can be a problem since the error is sometimes listed as a line
         // that's actually past the number of lines. For instance, it might
         // report "line 15" of a 14 line program. Added code to highlightLine()
@@ -307,28 +311,39 @@ public class JavaBuild {
         // useful for other similar situations).
         throw new SketchException("Found one too many { characters " +
                                   "without a } to match it.",
-                                  errorFile, errorLine, re.getColumn());
+                                  errorFile, errorLine, re.getColumn(), false);
+      }
+      
+      if (msg.contains("expecting LCURLY")) {
+        System.err.println(msg);
+        String suffix = ".";
+        String[] m = PApplet.match(msg, "found ('.*')");
+        if (m != null) {
+          suffix = ", not " + m[1] + ".";
+        }
+        throw new SketchException("Was expecting a { character" + suffix,  
+                                   errorFile, errorLine, re.getColumn(), false);
       }
 
       if (msg.indexOf("expecting RBRACK") != -1) {
         System.err.println(msg);
         throw new SketchException("Syntax error, " +
                                   "maybe a missing ] character?",
-                                  errorFile, errorLine, re.getColumn());
+                                  errorFile, errorLine, re.getColumn(), false);
       }
 
       if (msg.indexOf("expecting SEMI") != -1) {
         System.err.println(msg);
         throw new SketchException("Syntax error, " +
                                   "maybe a missing semicolon?",
-                                  errorFile, errorLine, re.getColumn());
+                                  errorFile, errorLine, re.getColumn(), false);
       }
 
       if (msg.indexOf("expecting RPAREN") != -1) {
         System.err.println(msg);
         throw new SketchException("Syntax error, " +
                                   "maybe a missing right parenthesis?",
-                                  errorFile, errorLine, re.getColumn());
+                                  errorFile, errorLine, re.getColumn(), false);
       }
 
       if (msg.indexOf("preproc.web_colors") != -1) {
@@ -339,7 +354,7 @@ public class JavaBuild {
 
       //System.out.println("msg is " + msg);
       throw new SketchException(msg, errorFile,
-                                errorLine, re.getColumn());
+                                errorLine, re.getColumn(), false);
 
     } catch (antlr.TokenStreamRecognitionException tsre) {
       // while this seems to store line and column internally,
diff --git a/core/todo.txt b/core/todo.txt
index 0f84f7456..64cbe4a7d 100644
--- a/core/todo.txt
+++ b/core/todo.txt
@@ -13,6 +13,10 @@ cleaning
 o too much object creation in java2d
 o   causes inconsistency/hiccups as the gc runs?
 
+_ change screenWidth/Height to displayWidth/Height
+_   also fix the Android etc docs
+_ add screen(PVector), model(PVector) and world(PVector)?
+_ test what happens with NPE in OpenGL, does the error make sense?
 
 XML
 o questions re: final xml api changes
@@ -21,12 +25,12 @@ X look into replacing nanoxml
 X   http://www.exampledepot.com/egs/javax.xml.parsers/pkg.html
 _ Wishlist for the new XML class in Processing 2.0
 _   http://code.google.com/p/processing/issues/detail?id=904
-void addChild(XML child)
-void setContent(java.lang.String content)
-void setName(java.lang.String name)
+_   void addChild(XML child)
+X   void setContent(String content)
+_   void setName(String name)
 _ do we need an option to disable XML whitespace?
 _   should this be the default to be more like old XML?
-_ document how things are sometimes null in XML
+_   otherwise document how things are sometimes null in XML
 _   test xml examples to see if they break
 _ finish updating XML documentation
 _   http://code.google.com/p/processing/issues/detail?id=382
@@ -42,6 +46,8 @@ _   (hopefully fixes flicker issues)
 _   change PApplet.java javadoc to reflect the change
 _   Update http://wiki.processing.org/w/Troubleshooting#Flicker
 _   http://code.google.com/p/processing/issues/detail?id=775
+_ thread() causes weird flickering
+_   http://code.google.com/p/processing/issues/detail?id=742
 _ Potential race condition when resizing sketches
 _   http://code.google.com/p/processing/issues/detail?id=697
 
@@ -101,6 +107,10 @@ _   and merge it in statically via the methods code
 _ memory leak when many createGraphics(..., JAVA2D) calls are used
 _   http://code.google.com/p/processing/issues/detail?id=507
 _   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
+_   or background(r, g, b, a) would be the thing
 
 _ pause()/resume() need to work on the desktop side as well
 _ stop() not called in 1.5
@@ -251,8 +261,6 @@ _   touchEvent(), gestureEvent()?
 
 2.0
 _ PNode.getChildren() shouldn't make a new array.. toArray() can do that
-_ thread() causes weird flickering
-_   http://code.google.com/p/processing/issues/detail?id=742
 _ toArray(), toArray(float[]), toVectorArray(), toVectorArray(PVector[])
 _   toColorArray(), toColorArray(float[])...
 _ remove blend(), add blendMode()
diff --git a/java/libraries/opengl/src/processing/opengl/PShape3D.java b/java/libraries/opengl/src/processing/opengl/PShape3D.java
index 7ca1d97bd..c9ff4b33d 100644
--- a/java/libraries/opengl/src/processing/opengl/PShape3D.java
+++ b/java/libraries/opengl/src/processing/opengl/PShape3D.java
@@ -3811,7 +3811,7 @@ public class PShape3D extends PShape {
     shader.start(); 
     
     for (int i = 0; i < pointIndexData.size(); i++) {
-      IndexData index = (IndexData)pointIndexData.get(i);      
+      IndexData index = pointIndexData.get(i);      
       int first = index.first;
       int offset = index.offset;
       int size =  index.size;
@@ -3834,7 +3834,7 @@ public class PShape3D extends PShape {
     shader.start(); 
     
     for (int i = 0; i < lineIndexData.size(); i++) {
-      IndexData index = (IndexData)lineIndexData.get(i);      
+      IndexData index = lineIndexData.get(i);      
       int first = index.first;
       int offset = index.offset;
       int size =  index.size;
@@ -3866,7 +3866,7 @@ public class PShape3D extends PShape {
     shader.start();
     
     for (int i = 0; i < fillIndexData.size(); i++) {
-      IndexData index = (IndexData)fillIndexData.get(i);      
+      IndexData index = fillIndexData.get(i);      
       int first = index.first;
       int offset = index.offset;
       int size =  index.size;
diff --git a/todo.txt b/todo.txt
index b6171af40..e6e954f31 100644
--- a/todo.txt
+++ b/todo.txt
@@ -18,6 +18,9 @@ X   http://code.google.com/p/processing/issues/detail?id=69
 o Added some basic Emacs cursor navigator keybindings
 o   just implement these as a preference
 o   http://code.google.com/p/processing/issues/detail?id=555
+o method of including/excluding data files in the JAR
+o   or at least a boolean for the whole folder?
+X   files moved outside the jar for exporting to application
 
 fixed earlier
 X Export reports "Could not copy source file" (even though it works)
@@ -30,6 +33,15 @@ X   don't see this one having a problem on OS X 10.7
 X Unable to access Javascript examples
 X   http://code.google.com/p/processing/issues/detail?id=909
 X   appears to have been freak thing in the build process
+X finished work (earlier) to make gsvideo behave properly
+o   "setenv DYLD_LIBRARY_PATH /Library/GStreamer/"
+o   "setenv setenv GST_PLUGIN_PATH /Library/GStreamer/lib/gstreamer-0.10"
+were added to the file "/etc/launchd.conf" by the installer. This is needed for GStreamer to work properly.
+X Closing sketch file closes applet
+X   http://code.google.com/p/processing/issues/detail?id=606
+X   Marked closed around 1.5?
+X incorporate gsvideo library from Andres
+o fast java2d video?
 
 displays
 X ability to select monitor via preferences panel
@@ -47,7 +59,16 @@ X add EditorState class, device-aware placement
 X   get rid of restore sketch feature
 _   remove pref for restoring sketches
 _   implement recent sketches menu
+_ Opening sketch via editor window open-menu ignores mode
+_   http://code.google.com/p/processing/issues/detail?id=1034
 
+_ don't pollute the recent menu with un-saved sketches
+_ toFront() not working from recent menu
+_ don't re-open new window on top of another
+_ not properly handling other odd cases
+http://code.google.com/p/processing/issues/list?can=2&q=owner%3Afry%40processing.org+Type%3ADefect&colspec=Stars+ID+Type+Status+Priority+Owner+Summary&cells=tiles
+_ save window positions on quit, and restore them (w/ a preference?)
+_   new windows use same mode and dimensions as topmost window
 _ saved window position problematic with multiple monitors
 _   http://code.google.com/p/processing/issues/detail?id=27
 _ Closing the last window doesn't cause PDE to save it's position/contents/etc
@@ -66,7 +87,6 @@ _ not remembering window size/placement preferences
 _   http://dev.processing.org/bugs/show_bug.cgi?id=837
 _ Blank sketch opened even if opening an existing sketch by double-clicking
 _   http://code.google.com/p/processing/issues/detail?id=179
-
 _ changing number of screens between run causes things to show up off-screen
 _   so when running, check to make sure that things are out of the area
 _ saved window positions.. if displays has changed, becomes a problem
@@ -80,8 +100,45 @@ _   http://code.google.com/p/processing/issues/detail?id=27
 Base.restoreSketches() has commented out code that checked for out of bounds windows with the preferences last.window.x and last.window.y. These prefs don't exist anymore, but it would be quick to implement it again using last.sketch.location instead. It would probably result in less code, because it would mean we could get rid of the windowPositionValid stuff.
 
 
+decisions
+_ saving files... save("...svg") or saveSVG("...")
+_ lots of other things in the google code issues list
+_ does editor.bgcolor live in the theme.txt file for the mode? 
+_   or should it be a user preference thing
+_   for that matter, need to decide on how much modes can customize themselves
+_ find in reference for copy() (on image) tries to open PVector.copy()
+_   might need disambiguation pages?
+_   if a reference page is missing, throws a bunch of exceptions
+_   i.e. PVector.copy() not in the reference
 
-
+with casey
+_ specifically add "eclipse" to integration description
+_ link books and sample chapters from the "getting started" portion of the faq
+_ keep examples.zip in a zip file? (5000 files @ 30 MB instead of 15 MB zip)
+_   mark examples as untitled (rather than read-only)
+_   maybe even pull these directly from the zip file?
+_ load examples from zip files
+_   http://dev.processing.org/bugs/show_bug.cgi?id=1049
+_ disallow add file to sketch, export, export application
+_   pretty much anything inside the sketch?
+_   but don't do this with untitled, cuz it kinda stinks
+_   this is too weird--just put examples into individual zip files
+_   mark example files as untitled
+_   though will that require the sketch to be saved before export?
+o find in reference issues
+o   if() and for() don't work, they look for for_.html instead of for.html
+o   XMLElement is not linked for find in ref
+o   the ? operator is not in find in ref (no ref page either?)
+o update keywords generator script on the site
+o   perhaps move this closer to the dev process?
+o move reference folder around so that it matches site organization
+o   otherwise several links break on the main faq page
+o discuss i18n issues and proper system (?)
+o look through 404 issues on the site
+o TRIANGLE_STRIP not highlighted for "find in reference"
+o   nor is it listed on the reference page
+o   so students can't find the ref for it
+o   needs to link TRIANGLE_STRIP to the beginShape() reference
 
 2.0
 _ decide whether to do same as Android preproc on parsing size/renderer/etc
@@ -89,12 +146,37 @@ _ should open() not return a Process object? (exec() instead?)
 _   pro: can write out error messages (or output)
 _   con: loses cross platform ability
 _   but: open() is platform specific anyway, ppl can use exec()
+_ wordtreemap_sotu gives weird preproc error: wrong line, can't parse extends
+_ add blendMode() to JAVA2D so we can rip out blend()
+
+2.0 / command line
+_ kill external editor (for all its quirks) in favor of command line? 
+_   use external editor needs to enable/disable across all windows
+_   http://code.google.com/p/processing/issues/detail?id=515
+C   Casey says yes kill ext editor and finish command line
+X could move to java6 and better internal javac support (drop ecj)
+_   decided to use Java 6, so check on Javac usefulness
+_ change command line to just be part of regular distros
+_   there's so much platform code in there, it's not worth the extra work
+_   also include update check for logging
+_ command line support is currently broken
+_   http://dev.processing.org/bugs/show_bug.cgi?id=1048
+_   http://code.google.com/p/processing/issues/detail?id=142
+_   some fixes can be found in the bug report
+_   need to deal with setting path to sketchbook/examples
+_   also deal with the script not being in the right folder
+_   problems with imports and prefs file
+_     http://dev.processing.org/bugs/show_bug.cgi?id=1298
+_ processing.app.Commander headless still requiring X11
+_   problem is static calls to PApplet
+_   http://dev.processing.org/bugs/show_bug.cgi?id=1426
 
 
-_ find in reference for copy() (on image) tries to open PVector.copy()
-_   might need disambiguation pages?
-_ if a reference page is missing, throws a bunch of exceptions
-_   i.e. PVector.copy() not in the reference
+_ change syntax highlighting so it differentiates keyPressed and keyPressed()
+_ syntax highlight with parens also helps "String line" vs "line()"
+
+_ excessive CPU usage of PDE after using library manager
+_   http://code.google.com/p/processing/issues/detail?id=1036
 
 _ check on new JDK and how it works on OS X
 _   http://jdk7.java.net/macportpreview/
@@ -131,16 +213,6 @@ _ switch to a non-modified version of launch4j
 _ switch the exported launcher to use launch4j as well? 
 X   figured out how to do Intel build for OS X
 
-decisions
-_ kill external editor (for all its quirks) in favor of command line? 
-_ use external editor needs to enable/disable across all windows
-_   http://code.google.com/p/processing/issues/detail?id=515
-_ lots of other things in the google code issues list
-_ does editor.bgcolor live in the theme.txt file for the mode? 
-_   or should it be a user preference thing
-_   for that matter, need to decide on how much modes can customize themselves
-_ could move to java6 and better internal javac support (drop ecj)
-
 _ how to catch these?
 Exception in thread "Animation Thread" java.lang.NoClassDefFoundError: Could not initialize class javax.media.opengl.GLProfile
 Exception in thread "Animation Thread" java.lang.UnsatisfiedLinkError: no gluegen-rt in java.library.path
@@ -157,6 +229,10 @@ _ fix autoformat to indent like the p5 book/examples
 _ common error messages
 _   with a proper list, we can add links when throwing an error in the PDE
 
+_ write up code guidelines for project (in advance of GSoC)
+_ write up guidelines for modes
+_   i.e. don't mess with Sketch menu, put it in the mode menu
+
 ben
 _ build is currently broken for fresh checkout due to changes to file layout
 _   something that gets fixed by 'make clean'
@@ -211,30 +287,10 @@ _ stroke caps and joins in P2D, P3D, and OpenGL
 _ start caching shape objects with opengl
 _   store them in the PFont itself?
 
-gsvideo
-_ incorporate gsvideo library from Andres
-_ fast java2d video?
-
 gsoc
 _ "install library" menu option
 _ see how library installation goes, then possibly do same w/ examples
 
-3.0
-_ better text editor / live debugging (integrate Eclipse JDT)
-_   line numbers
-_ it's too difficult for students to debug their code
-_   can the jdt be hooked in somewhat easily?
-_ require Java 6 (and with that, OS X 10.5 plus Core 2 Intel Mac)?
-_   though we need a 64-bit browser before applets will run...
-_   http://www.ornl.gov/~t6p/Main/Utilities.html
-_ get rid of static mode? only setup/draw mode? or create project that way?
-_   pro: simplify internal code, fixes some of the worst errors
-_   con: people love it, most of the books use it heavily
-_ add === for String.equals()
-_   might be problematic since it might be opposite the javascript meaning
-_   jer: it's a decent time to start talking abt references/vars
-
-
 _ launch4j problem - FIXABLE
 _   no crash when double-clicking a sketch and loading it (?)
 _   http://code.google.com/p/processing/issues/detail?id=176
@@ -256,8 +312,6 @@ regressions
 _ strange window flicker when first opened
 _ test libraries on android
 _ test .java files on desktop version
-_ Closing sketch file closes applet
-_   http://code.google.com/p/processing/issues/detail?id=606
 
 additions
 _ when creating a sketch within non-java mode, should write the settings file
@@ -396,21 +450,6 @@ _ write build.xml file to automatically update the examples
 _ error that sketch is read-only can't be canceled
 _   hitting cancel (or ESC?) still brings up the save dialog
 
-_ change command line to just be part of regular distros
-_   there's so much platform code in there, it's not worth the extra work
-_   also include update check for logging
-_ command line support is currently broken
-_   http://dev.processing.org/bugs/show_bug.cgi?id=1048
-_   http://code.google.com/p/processing/issues/detail?id=142
-_   some fixes can be found in the bug report
-_   need to deal with setting path to sketchbook/examples
-_   also deal with the script not being in the right folder
-_   problems with imports and prefs file
-_     http://dev.processing.org/bugs/show_bug.cgi?id=1298
-_ processing.app.Commander headless still requiring X11
-_   problem is static calls to PApplet
-_   http://dev.processing.org/bugs/show_bug.cgi?id=1426
-
 svn copy https://processing.googlecode.com/svn/trunk/processing https://processing.googlecode.com/svn/tags/processing-01XX
 
 svn copy https://processing.googlecode.com/svn/trunk/processing https://processing.googlecode.com/svn/branches/processing-0192-refactor
@@ -445,10 +484,6 @@ _   and use transferFrom() or transferTo().)
 _   could also use FileUtils in Apache's common io
 _   http://commons.apache.org/io/api-release/index.html
 
-"setenv DYLD_LIBRARY_PATH /Library/GStreamer/"
-"setenv setenv GST_PLUGIN_PATH /Library/GStreamer/lib/gstreamer-0.10"
-were added to the file "/etc/launchd.conf" by the installer. This is needed for GStreamer to work properly.
-
 _ problem changing sketchbook to new location (e.g. from ex to regular) 
 _   new libraries are not picked up
 
@@ -603,36 +638,6 @@ _   this seems to be a threading problem, like an NPE on load/open
 _   probaby related to the other load/save sync errors
 
 
-with casey
-_ specifically add "eclipse" to integration description
-_ link books and sample chapters from the "getting started" portion of the faq
-_ keep examples.zip in a zip file? (5000 files @ 30 MB instead of 15 MB zip)
-_   mark examples as untitled (rather than read-only)
-_   maybe even pull these directly from the zip file?
-_ load examples from zip files
-_   http://dev.processing.org/bugs/show_bug.cgi?id=1049
-_   disallow add file to sketch, export, export application
-_   pretty much anything inside the sketch?
-_   but don't do this with untitled, cuz it kinda stinks
-_   this is too weird--just put examples into individual zip files
-_   mark example files as untitled
-_   though will that require the sketch to be saved before export?
-o find in reference issues
-o   if() and for() don't work, they look for for_.html instead of for.html
-o   XMLElement is not linked for find in ref
-o   the ? operator is not in find in ref (no ref page either?)
-o update keywords generator script on the site
-o   perhaps move this closer to the dev process?
-o move reference folder around so that it matches site organization
-o   otherwise several links break on the main faq page
-o discuss i18n issues and proper system (?)
-o look through 404 issues on the site
-o TRIANGLE_STRIP not highlighted for "find in reference"
-o   nor is it listed on the reference page
-o   so students can't find the ref for it
-o   needs to link TRIANGLE_STRIP to the beginShape() reference
-
-
 libraries and classpaths [1.0]
 _ versioning info 
 _   http://java.sun.com/j2se/1.5.0/docs/guide/extensions/versioning.html
@@ -1592,20 +1597,27 @@ _ some reports of it not quitting properly, but not confirmed
 _ splash screen
 
 
-LATER
+WISH LIST 
 
 _ rename location is awkward, do it on the tab?
-_ method of including/excluding data files in the JAR
-_   or at least a boolean for the whole folder?
-
-
-WISH LIST 
 
 _ Replace current editor with more advanced version
 _   http://code.google.com/p/processing/issues/detail?id=1032
 _ Resurrect the Eclipse plug-in project
 _   http://code.google.com/p/processing/issues/detail?id=1031
 
-_ write up code guidelines
-_ write up guidelines for modes
-_   i.e. don't mess with Sketch menu, put it in the mode menu
+
+3.0
+_ better text editor / live debugging (integrate Eclipse JDT)
+_   line numbers
+_ it's too difficult for students to debug their code
+_   can the jdt be hooked in somewhat easily?
+_ require Java 6 (and with that, OS X 10.5 plus Core 2 Intel Mac)?
+_   though we need a 64-bit browser before applets will run...
+_   http://www.ornl.gov/~t6p/Main/Utilities.html
+_ get rid of static mode? only setup/draw mode? or create project that way?
+_   pro: simplify internal code, fixes some of the worst errors
+_   con: people love it, most of the books use it heavily
+_ add === for String.equals()
+_   might be problematic since it might be opposite the javascript meaning
+_   jer: it's a decent time to start talking abt references/vars