Refactor PPath to use Path2D on JDK 1.6+
http://code.google.com/p/piccolo2d/issues/detail?id=152
PArea, a wrapper for java.awt.geom.Area to allow Constructive Area
Geometry (CAG) operations
http://code.google.com/p/piccolo2d/issues/detail?id=153
A few things to consider: the changes are not binary compatible with
1.3, so they need to go in 2.0; the minimum JDK version for 2.0 would
be bumped to JDK 1.6; and the current version of PPath is a widely
used class.
If there are no objections in a week or so, I'll add the static
factory methods, complete the javadoc and unit tests, and commit to
trunk.
michael
> PhET's customers are the educational market, which typically lags
> behind the technology curve. We only recently changed our minimum
> system requirement to include Java 1.5. So I suspect that it will be
> a long time (possibly years) before we change that requirement to Java
> 1.6, and only once we're confident that <5% of our users are using
> something earlier than Java 1.6. So requiring Java 1.6 for Piccolo
> 2.0 would mean that we would be unlikely to upgrade any time soon.
Do you have those numbers for your current users? As far as I know
Mac OSX on PowerPC is the only platform that doesn't have a 1.6 JDK
available. That probably is a large percentage of the educational
market though.
> I also understand that Piccolo 2.0 will contain breaking changes.
> Since we have many products that use Piccolo, breaking changes will
> also slow our upgrade.
>
> That said... If you think it's the right thing to do, then I think you
> should go for it, and require Java 1.6 for Piccolo 2.0. But we aware
> that PhET is unlikely to be an early adopter of Piccolo 2.0. And
> convincing PhET management that we should be involved in 2.0
> development or testing may be a tough sell.
I forsee the 1.3 branch having a long lifetime, since in addition to
the package name change, there will be several breaking changes in
2.0. We just need to make sure that non-breaking changes on 2.0/trunk
are also merged back into the 1.3 branch.
michael