Initial directory structure.
Initial Commit
Oops: forgot the package declaration has to come BEFORE the comments.
parameterized build.xml
added a note about word weights, and commented out the bit that draws red dots to show word nudging
build.xml cleanup: fixes for newer versions of ant & junit, and moved creating the .tar & .zip into the publish task
moved location from WordPlacement to Word, so you can make a PlottingWordNudger that plots red dots where it tries -- to better see how the nudgers work.
fixed up WordNudgers and how they work with WordCram, so the nudges don't accumulate, like they were.
Give BBTrees location, so the rect collision calculation is a bit easier.  Also made BBTree's coordinates private.
notes & minor clean-up
Wrapped up BBTree's kids, and gave it some methods for dealing with them, which cleaned up BBTreeBuilder & WordPlacement.
Auto-formatted BBTree, BBTreeBuilder, and WordPlacement.
Moved overlap detection from WordPlacement to BBTree -- almost ready to kill WordPlacement.
just TODOs
wrapping up the API: added Placers, and Colorers.palette
added a build task to warn about files missing their ASL notice, and (of course) added the ASL notice where needed
performance: when collision is detected, cache the colliding word, and next time, test it first -- it's probably still nearby
made the PlottingWordNudger plot with decreasing alpha, so there's less clutter early-on
for SpiralWordNudger, tossed the archimedian crap -- just use regular radius incrementing, it works out about the same, but starts at the CENTER
Killed WordPlacement, adding BBTree to Word. This made me notice an obvious optimization: when looking for collisions, don't loop through ALL the words, only the ones you've placed so far (ie, up to wordIndex).