Skip to content

Commit 8106891

Browse files
authored
Add font preview, fix giant snake, and start adding missing 3.0 content (#2432)
* Fix oversized snake logo file * Restore resource font output and add headings * Add dir iteration abstraction * Add TOCtree-friendly headings to resource folder instead of table headings * Add hue-shifted quickfix for font previewing under the Font heading * Add sorting for folders so we get consistent order on local and remote * Document and clean up additions * Remove unused code * Explain why functions are doing things * Tag ugly stuff with # pending: post-3.0 cleanup * Pass the str function as the key for file list sorting * Remove some cruft in process_resource_directory * Cover academia / 2.6.X stuff * Big rework for wording in multiple areas * Clean up create_resource_listin.py a bit * More links.rst comments * github pls * Remove question marks and redundant phrases from faq * Rephrase web faq * Regularize phrasing on faq page. * Change title and phrasing for packaging section * Use clearer phrasing for a call to action in the intro paragraph * Remove redundant logo and unused sprinter embed * Rephrase to emphasize creativity * Rephrase Libre paragraph on homepage * Move items from homepage to improve readability * Move new doc overview to intro page * Delete old intro page doc type listing * Add skill tree ref target * Delete a bunch of stuff from homepage * Fix comments and missing ref * More links * More homepage changes * Add big GLES page * FAQ and install crossrefs * Add for_academia.rst which may need trimming * Start filling out community and contributing * Line spacing * Clean up table comment * Fix phrasing per @DragonMoffon's suggestion * Phrasing tweak per @DragonMoffon's suggestion * link targ weirdness * Trailing character * Fix crossref * Remove extraneous content and rephrase existing SBC sections * Remove computer lab sections due to being out of scope for the moment * Rephrase heading * Rephrase SBC and other educator content * Address Dragon's feedback on FAQ * Add word for legibility
1 parent 9d356b3 commit 8106891

File tree

16 files changed

+1059
-122
lines changed

16 files changed

+1059
-122
lines changed

doc/_static/css/custom.css

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -223,7 +223,10 @@ table.resource-table td {
223223
}
224224
table.resource-table td > img {
225225
display: inline-block;
226+
/* Maximum 20% of the smallest display dimension */
227+
max-width: min(20vw, 20vh);
226228
}
229+
227230
table.colorTable {
228231
border-width: 1px;
229232
}

doc/about/faq.rst

Lines changed: 83 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,96 @@
1+
.. _faq:
12

23
Frequently asked questions
34
==========================
45

5-
Can I copy and adapt example code for my own projects?
6-
------------------------------------------------------
6+
.. _faq_education:
7+
8+
Can I use Arcade resources in my own educational materials?
9+
-----------------------------------------------------------
710

8-
Of course. You can copy and adapt example code for your own projects for any reason.
9-
In fact, we encourage you to do so. We want you to learn and be successful.
11+
.. _gh_license: https://github.com/pythonarcade/arcade/blob/development/license.rst
1012

11-
Can Arcade run on the web?
12-
--------------------------
13+
Yes! Arcade was originally developed for educational use. In addition to
14+
a page :ref:`academia`, we have further documentation covering:
1315

14-
Currently Arcade projects cannot easily be build to run on the web.
15-
It can be possible in the future but will require a lot of work
16-
in pyglet, the underlying library that Arcade uses.
16+
17+
* The :ref:`permissive_mit` covers the library and documentation
18+
* The :ref:`CC0 Public Domain Dedication <permissive_almost_all_public>` and similar cover the :ref:`resources`
19+
20+
.. _faq_commercial:
1721

1822
Can I use Arcade in a commercial project?
1923
-----------------------------------------
2024

21-
Of course. Arcade is released under the MIT License. This means you can use it for free.
22-
Even adapted versions of Arcade or parts of it can be used in commercial projects.
25+
:ref:`commercial_games`. There's already one commercially released game using Arcade.
2326

24-
Can I use Arcade resources in my own educational materials?
25-
-----------------------------------------------------------
27+
.. _faq-copying:
28+
29+
Can I copy and adapt example code for my own projects?
30+
------------------------------------------------------
31+
32+
Of course! We encourage you to do so. That's why the example code is there: we
33+
want you to learn and be successful. See the :ref:`permissive_mit` section to learn
34+
more about Arcade's license means (you agree not to claim you wrote the whole thing).
35+
36+
Can Arcade run on...?
37+
---------------------
38+
39+
Windows, Mac, and Linux
40+
^^^^^^^^^^^^^^^^^^^^^^^
41+
42+
Yes. Most hardware with an Intel or AMD processor from the last ten years will do fine.
43+
New :ref:`requirements_mac_mseries` can have some hiccups, but they generally work.
44+
45+
.. _faq-raspi:
46+
47+
Raspberry Pi and Other SBCs
48+
^^^^^^^^^^^^^^^^^^^^^^^^^^^
49+
50+
Raspberry Pi is a popular brand of Single Board Computers (SBCs).
51+
52+
The Raspberry Pi 4 and 5 can run Arcade under `Raspberry Pi OS`_,
53+
and the Raspberry Pi 400 *may* also work. As of October 2024,
54+
:ref:`All other other Raspberry Pi models are incompatible <sbc_unsupported_raspis>`.
55+
56+
Other SBCs *may* work with Arcade 3.0.0. See the :ref:`sbc_requirements` to learn more.
57+
58+
.. _faq_web:
59+
60+
Web
61+
^^^
62+
Not yet. For the moment, the Arcade and `pyglet`_ teams are eagerly
63+
watching ongoing developments in `WebGPU`_ and its `WASM`_ integrations.
64+
65+
.. _WebGPU: https://developer.mozilla.org/en-US/docs/Web/API/WebGPU_API
66+
.. _WASM: https://developer.mozilla.org/en-US/docs/WebAssembly
67+
68+
.. _faq_mobile:
69+
70+
Mobile
71+
^^^^^^
72+
Not in the near future. Supporting mobile requires big changes to both
73+
Arcade and the `pyglet`_ library we use.
74+
75+
.. _faq_android:
76+
77+
Android
78+
"""""""
79+
Android support will take a huge amount of work:
80+
81+
#. `pyglet`_ would need to account for mobile-specific OS behavior
82+
#. Arcade would need to make changes to account for mobile as well
83+
#. Not all devices will support the necessary :ref:`OpenGL ES versions <requirements_gles>`.
84+
85+
.. _faq_ios:
86+
.. _faq_ipad:
87+
88+
iOS and iPad
89+
""""""""""""
90+
91+
Not in the foreseeable future. They are much trickier than web or Android
92+
for a number of reasons. For near-future iOS and iPad support, you may want to
93+
to try `Kivy`_.
94+
95+
.. _Kivy: https://kivy.org
2696

27-
Of course! Arcade was built to support learning.
28-
You can use its materials however you need—
29-
whether you stick with the original content or make changes to suit your needs.

doc/about/for_academia.rst

Lines changed: 166 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,166 @@
1+
.. _academia:
2+
3+
For Educators & Researchers
4+
===========================
5+
6+
.. _citation template: https://github.com/pythonarcade/arcade#citation
7+
8+
Python Arcade was created by Paul V. Craven while teaching at Simpson College.
9+
10+
In addition to the main Arcade 3.0 documentation you are currently reading, there
11+
are further resources to help academic users. These include:
12+
13+
* The :ref:`citation template <academia_citations>`
14+
* A companion :ref:`academia_arcade_book` by Arcade's creator
15+
* Potential 2.6.X maintenance releases to support curricula using Arcade 2.6
16+
17+
18+
.. _academia_citations:
19+
20+
Citation Template
21+
-----------------
22+
23+
Arcade provides a `citation template`_ in `BibTeX`_ format.
24+
25+
To learn more about using this template, please consult the following:
26+
27+
* the documentation of your reference management tool
28+
* any style guides you are required to follow
29+
30+
31+
.. _academia_version_2v3:
32+
33+
Version Considerations
34+
----------------------
35+
Most users will be better off using Arade 3.0.
36+
37+
The main case for continuing to use ``2.6.X`` releases is reliance on teaching
38+
materials which have not yet been updated, including the :ref:`academia_arcade_book`.
39+
40+
41+
.. _academia_arcade_book:
42+
43+
Arcade Book
44+
^^^^^^^^^^^
45+
46+
The creator of Arcade wrote an `Arcade book`_ which covers Python basics in greater depth
47+
than the main Arcade documentation.
48+
49+
50+
It may be some time until the `Arcade book`_ is updated for Arcade 3.0. Doing so requires a
51+
separate effort after the 3.0 release due to the the scale and number of changes since
52+
Arcade 2.6.
53+
54+
55+
Similarities to this Documentation
56+
""""""""""""""""""""""""""""""""""
57+
58+
Both the book and the documentation you are currently reading provide:
59+
60+
* all-ages learning resources
61+
* gentle introductions to Python and Arcade
62+
63+
64+
Differences from this Documentation
65+
"""""""""""""""""""""""""""""""""""
66+
67+
The book caters more heavily to beginners and educators by providing the following
68+
in a traditional chapter and curriculum structure:
69+
70+
#. Embedded videos covering concepts and past student projects
71+
#. Lab exercises to help apply chapter material through practice
72+
#. Translations in `Swedish / Svenska <book_sv>`_ and `German / Deutsche <book_de>`_
73+
74+
It also offers gentle, beginner-friendly introductions to topics which can intimidate
75+
even the graduates of college-level computer science programs:
76+
77+
#. Editors and development environments
78+
#. Industry-standard version control tools
79+
#. CS topics applicable at college-level and beyond
80+
81+
82+
.. _2_6_maintenance:
83+
84+
2.6.X Maintenance?
85+
------------------
86+
87+
The Arcade team is exploring additional *maintenance-only* releases for 2.6.X.
88+
89+
The goals for these still-hypothetical releases would be:
90+
91+
#. Security updates
92+
#. Compatibility with newer Python versions
93+
#. Highly limited bug fixes
94+
95+
Since the Arcade team's focus is on improving Arcade 3.0, no new features will be added
96+
unless at least one of the following is true:
97+
98+
* It is required for a security or compatibilty improvement
99+
* The effort required is minimal
100+
101+
102+
Raspberry Pi and other SBCs
103+
---------------------------
104+
105+
For educators, Single-Board Computers (SBCs) such as the Raspberry Pi 4 and 5
106+
are not always the most cost-effective option.
107+
108+
However, they may be an attractive option when at least one of the following
109+
applies:
110+
111+
* You have an educational discount
112+
* You have grant or non-profit funding
113+
* Surplus hardware isn't an option
114+
115+
116+
.. _sbc_rule_of_thumb:
117+
118+
SBC Purchasing Rules of Thumb
119+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
120+
121+
.. note:: These rules help **non-experts** steer toward Arcade-copatible devices.
122+
123+
You can find more in-depth descriptions of the required OpenGL ES versions
124+
and more under the :ref:`sbc_requirements` heading.
125+
126+
127+
ARM64 and AMD64 are Easiest
128+
"""""""""""""""""""""""""""
129+
130+
The :ref:`known-working Raspberry Pi 4 and 5 <sbc_supported_raspi>` are both ARM64
131+
devices. If you are considering other boards due to price or availability, stick to
132+
the following CPU architectures:
133+
134+
* ARM64
135+
* AMD64 (same as most non-Mac desktop CPUs)
136+
137+
No RISC-based SBC has been verified as compatible. Although some *may* work,
138+
SBCs based on RISC-V CPUs are likely to lack:
139+
140+
* introductory tutorials
141+
* beginner-friendly documentation
142+
143+
144+
145+
Credit Card Rule
146+
""""""""""""""""
147+
148+
As of October 2024, all compatible and widely-available SBCs are
149+
larger than credit cards:
150+
151+
* 3.375 inches by 2.125 inches
152+
* 85.60 mm by 53.98 mm
153+
154+
If you try to use this rule:
155+
156+
#. Compare to the actual circuit board's size, not the size of the package
157+
#. Use an old hotel key card, expired credit card, or expired debit card
158+
159+
It's unlikey that an SBC board will have magnets. However, the package
160+
might include them in motors (in kits) or as part of the box itself.
161+
Using an old card stops you from accidentally wiping a magnetic strip you need.
162+
163+
Although this errs on the side of caution, it also:
164+
165+
* quickly rules out :ref:`incompatible Raspberry Pi models <sbc_unsupported_raspis>`
166+
* should apply to other SBCs as well

doc/about/intro.rst

Lines changed: 19 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,30 @@
22
Introduction
33
============
44

5-
Welcome to the official documentation of Arcade.
5+
.. _intro_learning_resources:
66

77
Learning Resources
88
------------------
99

10-
Arcade offers several resources to help you get started regardless of your
11-
experience level. People learn in different ways, so we try to offer a variety
12-
of resources to help you learn.
10+
Arcade provides documentation for different experience levels and
11+
learning styles.
1312

14-
* Examples
15-
* Tutorials
16-
* API Reference
17-
* Arcade Book
18-
* Skill Tree
13+
Getting Started
14+
^^^^^^^^^^^^^^^
15+
16+
* The :ref:`skill_tree` is a suggested learning order for beginners
17+
* The :ref:`main-page-tutorials` are guided introductions to new skills
18+
* The :ref:`example-code` help tinkerers get started quickly
19+
* The manual in the left-hand sidebar has overviews of concepts and features
20+
21+
Experienced Developers
22+
^^^^^^^^^^^^^^^^^^^^^^
23+
24+
For more experienced developers, Arcade provides two forms of
25+
API documentation:
26+
27+
* The :ref:`arcade-api` follows Arcade's module layout and features
28+
* The :ref:`quick_index` is a single-page search tool
1929

2030
Community driven
2131
----------------

0 commit comments

Comments
 (0)