Couch Potato aids in the lazy download and and run-time registration of:
It supports hierarchies of dependencies within these components, expressed as RequireJS modules. Applications can use Couch Potato to download and register components when they are needed to satisfy the requirements of a given route, or can do so ad-hoc in response to other application events.
For the impatient, the hasty and the quick, you can stop reading and take a look at the samples or check out their source code.
For the reference learner, you can dive straight into the API.
The Conceptual Overview section explains the purpose(s) for which Couch Potato is intended and how its usage differs from traditional AngularJS component definition and registration.
Architecture using Couch Potato describes how applications and their components are organized and authored in a Couch Potato context.
Lazy Loading Via Routing introduces the most common use case for Couch Potato -- loading and registering components in the context of route/state changes in the application.
Ad Hoc Lazy Loading demonstrates how arbitrary application code can invoke the download and registration of Couch Potato components.
Thoughts on Lazy Loading is a sort of postlude in which some challenges and ideas for the future are presented, hopefully in a manner that is somewhat more organized than a ramble.
describes how applications and their components are organized and authored in a Couch Potato context.
The various "use case" sections show how Couch Potato can be used in several contexts:
Finally, some closing thoughts are presented with the hope of stimulating discussion and interest in participating in Couch Potato specifically and the development of tools and techniques for building big applications/sites with AngularJS in general.