Skip to content

Where to expose arcade.camera API? #2557

Open
@cdeil

Description

Currently the links from the tutorial and programming guide to the camera API docs are broken.

https://api.arcade.academy/en/latest/tutorials/platform_tutorial/step_07.html

Image

https://api.arcade.academy/en/latest/programming_guide/camera.html#key-objects

Image

The reason is that currently the place of exposure in the API docs is arcade.Camera2D at the top level arcade namespace:

https://api.arcade.academy/en/latest/api_docs/api/camera_2d.html#arcade.Camera2D

and other classes & functions are exposed in deeply nested submodules like arcade.camera.orthographic.OrthographicProjector:

https://api.arcade.academy/en/latest/api_docs/api/advanced_cameras.html#arcade.camera.orthographic.OrthographicProjector

For example here you mention in a changelog to users that objects would be exposed at arcade.camera.Camera2D or arcade.camera.OrthographicProjector:

https://github.com/pythonarcade/arcade/blob/development/CHANGELOG.md#camera

Actually all those classes are exposed in the arcade.camera namespace already, it's only the docs which are confusing / links broken.

Do you want to keep arcade.Camera2D or remove it here and only expose it as arcade.camera.Camera2D?

from .camera import Camera2D

For all the others I see somehow you generate doc/api_docs/api/advanced_cameras.rst with entries like this:

.. autoclass:: arcade.camera.data_types.OrthographicProjectionData
   :members:

.. autoclass:: arcade.camera.orthographic.OrthographicProjector
   :members:

Would it be OK to change and expose those API docs in the arcade.camera namespace?
I would be +1 on this since deeply nested imports are harder to explore and remember.

Related: #2239

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions