Piccolo Team,
My collaborator cmalley & I have made several updates and improvements to PSwing and PSwingRepaintManager based on the 1.3 release (see attached files). These changes fix the dynamic PSwing problems discussed in issue 163 and also make minor improvements with respect to work scheduling, performance, readability and documentation. We also have planned to work more on PSwing and its related classes, but we may not get to it for several months, so I wanted to discuss our current status and proposed integration with piccolo. Here are my thoughts:
1. The modified files should be reviewed and tested by at least one other piccolo developer.
2. The new files should be added to the 1.3 branch of piccolo in SVN
3. A new public release of piccolo should be made with these changes (say, 1.3.1 or 1.3.0_01, or whatever the naming convention is); we may want to bunch this up with other changes, if any other patches or fixes for 1.3 are planned
4. The changes should be integrated with piccolo2d svn trunk (which may already be headed toward 1.4 or 2.0)
Until now, we’ve been working on our own snapshot of piccolo; this makes it difficult for you to see each commit and full change history. Maybe it would be better for us to switch to using a checkout of piccolo-2d.java/branches/1.3 so that we can make fine grained changes directly on the piccolo2d repository without risking errant behavior in piccolo2d.java/trunk or in a release. However, the reason we haven’t done this so far is that it would entail nontrivial changes to our workflow for all our developers. On the other hand, it would be possible for you to check out our open source code to view history changes, if you are interested. Let me know if you think this process of us contributing files with many batches of changes is problematic.
We are interested in making sure that PSwing is up to the same standards of quality as the rest of piccolo2d, since it is very useful in our application domain, and we'd also like to minimize divergence between our working copy and that of piccolo (in the 1.3 branch and trunk). Please let me know if you have any other thoughts on this work, its relationship to existing piccolo2d tickets, or how to best test and integrate these (and upcoming) changes with piccolo2d.
Thanks for your help,
Sam Reid