The `ol.extent.containsExtent` documentation had its arguments backwards
(or the implementation did).
The documentation said "the first extent is contained by or on the edge
of the second", but the function checked the opposite.
The wording was also a little strange, since from the name of the
function alone `containsExtent` I'd guess that the first argument would
be the (potential) container, and the second would be the (potentially)
contained. But the documentation has the wording "check if one extent is
*contained by* or on the edge of another", suggesting the first argument
is the contained and the second the container.
This patch keeps the current functionality but clarifies the
documentation.
This gives more consistency with ol.proj.applyTransform, allowing us to add a more convenient ol.extent.transform method that takes projection-like arguments.
This change adds a stability value to the api annotation, with
'experimental' as default value.
enum, typedef and event annotations are never exportable, but
api annotations are needed there to make them appear in the
docs.
Nested typedefs are no longer inlined recursively, because the
resulting tables get too wide with the current template.
This commit simplifies the exports.js plugin so it only relies
on the stability notes to generate the documentation, which
completely decouples it from the exportable API.
As a rule of thumb, whenever something has an 'api' annotation,
it should also have a 'stability' annotation. A more verbose
documentation of ol3 specific annotation usage is available in
the new 'apidoc/readme.md' file.
This commit also modifies all source files to implement these
usage suggestions.