I have been using Piccolo2D for several years and recently was interested
I was wondering what the current state of it was. I noticed there hasn't
been any activity on it since 2010. Has the community kinda of given up on
it or is something else replaced it? I have checked out several other
On Tuesday, May 4, 2010 3:48:56 PM UTC-4, allain wrote:
> Hi Lucas,
> I'm glad someone else has some interest in pushing piccolo2d in that
> You may want to take a look at the source code in the repo there's an
> entire branch dedicated to doing pretty much what you're talking
> You may also want to see it in action at
> I'd love to collaborate on pushing it forward.
> Let me know,
> Allain Lalonde
> On May 4, 3:32 pm, lucasjordan <lucasjor...@gmail.com> wrote:
> > I seem to have started down a possibly foolish path and I wanted to
> > get some feedback. I have started porting Piccolo to the new HTML5
> > Canvas API. Mind you I am only a few hours into this, but here are my
> > thoughts up to this point.
> > After reviewing the Canvas API I noticed that it is rather similar to
> > Graphics2D, which makes sense since it is solving a similar problem;
> > writing raster graphics. I have not had the chance to do a feature by
> > feature comparison, so there is probably something missing which will
> > bit me down the road.
> > After looking at the implementation of a number of the PNode
> > subclasses, it looked to me like a number of them could use Canvas to
> > accomplish at least a similar visual effect. Things like PImage and
> > PPath looks like they should work and hopefully PText will work as
> > well. I suspect PHtmlView will never work, but maybe that's ok.
> > Basically I am using GWT to take as much of the Java Code from
> > Piccolo2D and use the project gwt-canvas to provide the Graphics2D
> > type functionality. Since Piccolo depends so heavily on java.awt and
> > java.awt.geom and the awt packages are not supported in GWT I am
> > including a copy of those source files in the GWT project. For
> > example, Piccolo depends on java.awt.Rectangle, so I copy the existing
> > Rectangle class to a java.gwt.Rectangle and simply change the import
> > statement in the Piccolo code.
> > Copying the awt classes looks like it is going to work in general but
> > there are few problems which have shown themselves. First, most of the
> > geometry type classes (Rectangle2D, Point2D, etc) only depend on them
> > selves and java.lang.Math, so this makes them viable classes to be
> > used with GWT, but some of them depends on internal sun.java.bla.bla.*
> > classes, which I don't currently have the source code for. The second
> > problem as I have not had a chance to review the legal issue in
> > reusing Oracle's code in this way. I has occurred to me I might have
> > better luck taking the code from Apache's project harmony, but again I
> > have not gotten that far. For that matter I am not sure about altering
> > the Piccolo2D code either.
> > It is my intention to make all of the work I am going here as free as
> > possible, so if someone has some experience with this, helping me make
> > sure that everyone's licenses are being properly honored, please let
> > me know.
> > Another concern of mine is that Piccolo does a lot more than just draw
> > a scene, it also provides node picking and other input events, I am
> > not sure how well that is going to work. A HTML5 Canvas element is
> > able to receive mouse and keyboard events, I just don't know if those
> > will be descriptive enough work with the existing Piccolo APIs.
> > does not support a double precision floating point values. GWT allows
> > you to use Java doubles in your code, but behind the scene they are
> > actually using two single precision float values to store the data and
> > they do some magic to manage those values for you. It is stated in the
> > GWT docs that this includes some overhead. So, since I am basically
> > copying all of the awt classes, I could just turn every double into a
> > float and then do the same to the piccolo code.... I have not started
> > doing this, but this is another topic I would like some feedback on.
> > So those are basically my technical concerns up to this point. But you
> > might be asking, "why are you doing this?" and basically it comes down
> > creating a cross platform scene graph API. I have worked with Piccolo
> > in the past and know that it is a solid scene graph API. I have also
> > worked a lot with JavaFX and know that that brings an excellent scene
> > graph API as well, plus it has properties and value binding, it is a
> > real pleasure to work with. But both of these APIs are dependent on
> > the presence of a modern JVM and frankly I don't see a real JVM
> > showing up on the devices I want to develop for. But on all of the
> > devices I want to developer for there is HTML5 compliant browser, this
> > includes, all desktop computers, Apple's i products, set top boxes,
> > Android and any other future google device, and many more.
> > I considered SVG, which also has pretty good cross platform support,
> > but there are limitations, especially coming from the Microsoft side
> > of things which claim they will not be including the animation
> > features.
> > Anyway, thanks for reading all this, I would love to get a reality
> > check here :)
> > -Lucas
> > Resources:
> > --
> > Piccolo2D Developers Group:
> Piccolo2D Developers Group:
Piccolo2D Developers Group: http://groups.google.com/group/piccolo2d-dev?hl=en