We have a fairly large app currently organized at a high level into view, logic, model, communication, and utils. All files are aliased and we have scripts to handle any moves. For the most part we follow grouping by purpose, but it's still a bear to find things sometimes.
This is the second time our team has taken a shot at reorganizing so I'd love to hear about everyone's experience with this.
|-view |-engine |-core |-animation |-feature |-featureName