With this in mind, I believe there would be no recurring cost to performing this clean up. There may be one-time costs, such as handling unversioned files and symlinks, and I would like to minimize these, but their existence does not dissuade me. Here are my plans.
The first change I would make is eliminating the two unnecessary folders in the root of the tree.
/polymer/eduke32/ --> /
If we ever have a serious need for maintaining multiple branches (like polymer-perf in the past), we should drop SVN and migrate to git on the server.
The rest is simple reorganizing:
/build/ --> /source/build/
/source/{*.[chm], android/, lunatic/} --> /source/duke3d/src/
/Makefile.deps --> /source/duke3d/
/source/gpl-2.0.txt --> /source/duke3d/
/rsrc/ --> /source/duke3d/rsrc/
/source/misc/ --> /source/duke3d/rsrc/
/source/jaudiolib/third-party/ --> /platform/
/source/jaudiolib/ --> /source/audiolib/
/source/jmact/ --> /source/mact/{src, include}/
/source/testgame/ --> /source/kenbuild/
/Makefile --> /GNUmakefile
/Makefile.common --> /Common.mak
/Makefile.msvc --> /platform/Windows/
/eduke32.{sln, vcxproj, vcxproj.filters} --> /platform/Windows/
Additionally, once I reconcile Lunatic with the C++ structure trackers and finish cleaning up Shadow Warrior, there is nothing preventing us from moving to C++, and C++11 at that. (C++11 will prevent building on old OS X versions, but it will still be possible to build on a modern Mac and run on as old an OS X version as we support, as long as we don't use the STL.)
This will cause the following changes in file extension:
.c --> .cpp
.m --> .mm
I would like to request comment from anyone who works with the source code. I suspect icecoldduke, LeoD, and rhoenie may have input. End-users will not be affected, except in that happier developers make a better product.