GSOC 14 PDE 3.0

Joel Moniz edited this page Aug 21, 2014 · 130 revisions


Rough Schedule

  • May 19 - June 1: PDE work in 2.x, 3.0 work in PDE X
  • June 5: shallow fork Github repo into processing3?
  • June 5: split to 3.0, all work happens in 3.0 from now on
  • June 6: first alpha release
  • PDE X as the default (called "Java")
  • old Java mode still available (called Java 2)
  • video as its own library
  • sound library swap
  • June 23: GSOC Midterm
  • Aug 18: GSOC Final and beta code deadline
    • PVector chaining TBD
    • PApplet no longer subclasses Applet
    • new GUI for PDE
    • Release 3.0 beta, make it the default download
  • Aug ???: 3.0 release?

Manindra / Dan

  • Outstanding items
    • cntrl-space for code completion not working on mac: 2699
    • streamline code completion: 2681
    • massage real-time error checking timing: 2677
    • shouldn't write unless it's a non-default mode 2531
  • PDE X Robustness
    • Code completion doesn't always work for local variables exp#68
    • Memory management exp#1
    • Breakpoints in classes exp#47
    • Matching offsets between PDE Code and Java code
      • Initial implementation complete. Now on the look out for related bugs.
      • Updated scroll to definition, show usage and refactoring implementations to use the new offset matching. Initial tests look good.
      • Precise error highlighting is here!
    • build instructions wiki for PDE X. no longer relevant when PDE X takes over?
    • 256 MB Heap Size -- Fry to do
  • PDE Menu items prior to Alpha Release
    • Separate Debug Menu for Debugger related items. Shall remain hidden on first start up. exp #71
    • Move PDE X menu items into one of the default menus exp #72
  • Transition PDE X to 3.0 Alpha Release (June 15 target date)
    • processing-experimental code base merged into processing
    • Make PDE X the default mode for next alpha release
  • Added option to disable auto code completion. It can be triggered manually by Ctrl(Cmd) + Space, via a Preference toggle.
  • Better error messages
    • Dan to help in identifying the common error types, messages would be converted to something simpler and jargon free.
    • Error message substitution implemented
    • Find and re-write more messages 47

Joel / Florian

  • 2.0 and 3.0 contributions PR #2746
  • Small items
    • list of open sketches in the menu (a la photoshop) Merged: PR #2551
    • add present mode (fullscreen) background color to preferences window #69 Merged: PR #2568
    • auto-save 2286 Merged: PR #70
  • Contribution Manager: add anything related to this milestone please
    1. examples manager needed for books, courses, workshops #2582
    2. “starred” / “recommended” libraries #2580
    3. fail more gracefully if no internet connection or a proxy server is in use #2426
    4. different lists for different versions of processing #2581
    5. go through existing tool contributions with Elie (are there outdated tools?)
    6. Guidelines for modes #1656
    7. help / reference for contrib libraries #943
  • Done, or awaiting merge
    • Merged: PR #2705
      • Modes and Tools can now be added, removed and updated without a restart.
      • In the unlikely chance that this fails to happen without a restart (and this happens only in Windows), a restart button is displayed from which Processing restart automatically.
      • The tmp folders delete much better, and in case they don't, they are removed the next time Processing is run.
      • Changes in the UI of the Contribution Managers have been implemented.
    • Incorrect line coloring when filtering modes list Merged: PR #2598
    • Merged: PR #2637
      • Show installed/available version
      • post last release date w/ each library in the manager and website
    • fail more gracefully if no internet connection or a proxy server is in use Merged: PR #2800
    • examples manager needed for books, courses, workshops Merged: PR #2795
    • “starred” / “recommended” libraries Merged: PR #2782. This was changed to just going to use Processing icon for foundation libraries.
    • different lists for different versions of processing Merged: PR #2746
    • Some smaller fixes to contribution manager:
      • .properties file gets overwritten with contributions.txt Merged: PR #2608
      • Incorrect mode is selected in mode menu Merged: PR #2616
      • Update manager does not show on startup Merged: PR #2636
      • Status messages don't clear Merged: PR #2667
      • Help>Environment and Help>Reference don't work in Windows Merged: PR #2657
      • contributions managers show specific titles (like "Mode Manager") in the user's preferred language Merged: PR #2777
  • Awaiting Merge:
    • help / reference for contrib libraries PR #2804
  • Post-GSOC Tasks:

Gal / Dan

  • Tweak mode outstanding issues
  • Tweak mode integration exp#42
    • tweak mode has to be an option (not by default)
    • tweak mode will disable editor
    • tweak mode will merge into the repo after PDE X does
    • Interface process idea:
      • Turn on/off tweaking (in Toolbar or Menu)
  • Java2D PShape should work like P2D 2756


  • Antlr 4?
  • using a processing keyword as a variable name gives unhelpful error message 93
  • Functions reference for set() need to go to PImage or main set() reference by context
  • Started a little collection of issues here


  • Pattern Sketchbook after Examples window
    • The new Open menu is:
      • Open
      • Examples
      • Sketchbook
  • Recent (as a list of most recent after a line) (settled on submenu)


  • Language stuff 2173
  • Internationalization 632


Saving for later?

Fantasy PDE X features (we likely won't get to these)

  • Auto brackets/quotes closing exp#60 Moved to Joel's list of post-GSOC work
  • Tracing tool? exp#56
  • REPL in console exp#55 Moved to Joel's list of post-GSOC work
  • Line numbers

Text Editor

  • Try RTextArea maybe it's actually be worth it, will it fix code syntax highlighting, undo, etc problems?

Other GSOC

Imil / Andres

  • Command-line jarsign, no programmatic
  • add device and sdk selector under Android menu in the PDE: code is in, buildModeMenu() method
  • Automatic SDK download: only the SDK default required by Processing (10 or anything newer we update to).
  • Manifest editor is low priority

Levente / Roland / Andres

  • Solving low-level issues now Olivier Chafik (JNAerator) is very happy to help, so we are optimistic about getting the low-level bindings working by the end of next week, following our original schedule. GObject will probably need some manual changes to add all the required API
  • Use of JGIR/BridJ to regenerate gstreamer-java seems tricky, but Olivier is willing to help with this as well.
  • Ultimately, the high-level gstreamer-java API won’t change much, so it should be fairly straightforward to
  • update the video library to use the new bindings.