Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
215 commits
Select commit Hold shift + click to select a range
0694507
Update Zola to v0.19.2 (#1608)
TrialDragon Aug 21, 2024
c2e7373
Final editing pass, and publish contributing guide (#1605)
TrialDragon Aug 22, 2024
7b2f705
Fix date formatting for days with one digit (#1610)
rparrett Aug 22, 2024
83317d3
Change Github to GitHub across the website's content (#1613)
TrialDragon Aug 22, 2024
de5f2d7
Change TODO links to proper links in How You Can Help (#1612)
TrialDragon Aug 22, 2024
b7418e6
Migrate engine style guide to Contributing Guide (#1614)
TrialDragon Aug 23, 2024
ab56d90
Bring Contributing Guide Working Groups Documentation Up to Date (#1616)
TrialDragon Aug 23, 2024
a97b158
Clarify PR Merging Rules in Contributing Guide (#1615)
TrialDragon Aug 23, 2024
9ffa584
Fix duplicate words (#1619)
rparrett Aug 26, 2024
918f8c1
request pr write permissions in the screenshot update job (#1625)
mockersf Sep 9, 2024
bceae0b
better documentation for patch releases (#1624)
mockersf Sep 9, 2024
d38ae43
Bevy's 4th birthday: Reflecting on a dream job (#1597)
alice-i-cecile Sep 10, 2024
88834a6
Fix internal link to birthday post (#1626)
piedoom Sep 10, 2024
548139d
News: Community Reflection on Bevy's Fourth Year (#1627)
cart Sep 11, 2024
764c072
Update index.md
cart Sep 11, 2024
45ee87f
Record initial actions by the board without a meeting (#1628)
alice-i-cecile Sep 16, 2024
adaae28
News: Bevy is now a 501(c)(3) Public Charity! (#1632)
cart Sep 25, 2024
9bf0552
Fix table
cart Sep 25, 2024
fe793e4
Update Donation FAQ (#1634)
cart Sep 26, 2024
6646341
Fix Broken Links (#1631)
tom-frantz Sep 26, 2024
56cd196
few improvements in process to help close PRs (#1633)
mockersf Sep 26, 2024
54305aa
Update Bevy Foundation page to reflect 501(c)(3) status (#1637)
cart Sep 26, 2024
bb90a62
Fix warning on `actions-without-meeting` minutes (#1645)
BD103 Oct 9, 2024
e9d3453
Changed public to private comment and minifyed HTML (#1642)
MyZeD Oct 9, 2024
4682d25
Remove corporate stripe note (#1648)
cart Oct 14, 2024
714bba7
Add visual guidelines for examples (#1647)
rparrett Oct 14, 2024
085c671
Add Meta category to triage scheme (#1646)
alice-i-cecile Oct 16, 2024
43685e7
Improve `generate-release` workflow involving editing and merging not…
TrialDragon Oct 19, 2024
24506ff
Add stub release notes and migration guides for 0.15 release (#1673)
alice-i-cecile Oct 20, 2024
8a526e7
Change contributors shortcode styling so it's more compact (#1652)
doup Oct 20, 2024
68a2af5
Write in a alternative logo-title if name is not given (#1644)
MyZeD Oct 20, 2024
2511f11
Remove unwarranted release note stubs (#1727)
alice-i-cecile Oct 20, 2024
b8a4cc4
Add stub for required components (#1726)
alice-i-cecile Oct 20, 2024
0ff61a0
`Monitor` release notes (#1734)
tychedelia Oct 20, 2024
a586b15
Gpu readback (#1733)
tychedelia Oct 20, 2024
9e0aa21
Screenshots release notes (#1735)
tychedelia Oct 20, 2024
8b6e553
14663 shader storage buffer (#1736)
tychedelia Oct 20, 2024
14fbf1e
Add custom cursor release notes (#1738)
eero-lehtinen Oct 21, 2024
6f51544
Update #15281 Release Notes for 0.15 (no_std) (#1737)
bushrat011899 Oct 21, 2024
3df519b
Release notes for List components for QueryEntityError::QueryDoesNotM…
SpecificProtagonist Oct 21, 2024
958953c
Apply `escape` before `markdown` filter so that generics in titles do…
doup Oct 21, 2024
6d8e1ef
Create public draft for 0.15 migration guide (#1742)
IceSentry Oct 24, 2024
9ce28e3
Release Note for add name component to gltf mesh primitive #13912 (#1…
Soulghost Oct 27, 2024
68e9a34
Release note for SystemParamBuilder. (#1747)
chescock Oct 27, 2024
982f2a8
Remove deprecate is_playing_animation release notes (#1748)
mgi388 Oct 27, 2024
b065aed
Scripts for rc (#1744)
mockersf Oct 27, 2024
d204494
Sort migrations by area and improve styling (#1743)
doup Oct 30, 2024
ac419da
Release notes for on_replace component lifecycle hook (#1750)
BigWingBeat Oct 30, 2024
f88d6a9
v0.15 release notes: state scoped events (#1749)
UkoeHB Oct 30, 2024
749efb3
Add release note for `Type` (#1756)
MrGVSV Oct 30, 2024
b7b9a27
Added release note for `TypeInfo` improvements (#1755)
MrGVSV Oct 30, 2024
573a5d2
Add 0.15 release notes for `Reflectable` (#1751)
MrGVSV Oct 30, 2024
9f18e4b
Add 0.15 release notes for remote reflection (#1752)
MrGVSV Oct 30, 2024
3bd3a4c
Fallible param notes (#1729)
MiniaczQ Oct 31, 2024
6f0b9cd
Event mutator release notes (#1759)
alice-i-cecile Oct 31, 2024
656c1f6
HierarchyQueryExt release notes (#1757)
alice-i-cecile Oct 31, 2024
64c8ca4
Remove bevy_assets docs release note (#1760)
alice-i-cecile Nov 1, 2024
714da27
Sync with `main`
doup Nov 3, 2024
a62b74f
Release notes for EntityRefExcept and EntityMutExcept (#1758)
alice-i-cecile Nov 3, 2024
aa0b636
Remove insert_if_new release notes (#1761)
alice-i-cecile Nov 3, 2024
6b04166
Gamepads as entities release notes (#1762)
alice-i-cecile Nov 3, 2024
77aa6ec
Add links to new fallible params (#1763)
MiniaczQ Nov 3, 2024
9138ecb
Release notes for reference in system input (#1764)
alice-i-cecile Nov 3, 2024
4d50ee7
Release notes for track source location in change detection (#1765)
alice-i-cecile Nov 3, 2024
4edcdcb
Release notes for dense iteration with sparse filters (#1766)
alice-i-cecile Nov 3, 2024
8d37bd0
Add 0.15 release notes for isometries (#1769)
Jondolf Nov 4, 2024
c6c9af5
Add 0.15 release notes for UI scrolling (#1770)
Piefayth Nov 4, 2024
128669a
Add 0.15 migration guide for GameActivity (#1754)
bas-ie Nov 4, 2024
ca1ca7c
Refactor CSS tokens to be more "semantic"
doup Nov 4, 2024
e74bf33
Fix color issues
doup Nov 4, 2024
c960a97
Enable light-mode on selected sections: for now just doc pages
doup Nov 5, 2024
5fb7cf8
Add 0.15 release notes for function reflection (#1768)
MrGVSV Nov 5, 2024
598049d
Release notes for additive blending (#1774)
mweatherley Nov 5, 2024
e800667
Minor tweaks
doup Nov 5, 2024
5f9e42e
Minor tweaks
doup Nov 5, 2024
402314e
Incorporate changes to gamepads-as-entities (#1776)
alice-i-cecile Nov 6, 2024
0874c83
Merge commit '402314e6a1ae450052fdceaca4a45f2244736945' into refactor…
doup Nov 6, 2024
a52ddcc
Release notes for BRP (#1773)
mweatherley Nov 6, 2024
26621ad
Add stub for Bevy 0.15 release blog post (#1777)
alice-i-cecile Nov 7, 2024
2f94b6e
0.15 Release Notes: Cyclic splines (#1783)
mweatherley Nov 7, 2024
b59d8bc
0.15 Release Notes: Animation masks (#1780)
mweatherley Nov 8, 2024
b0fd780
Fix minor issues in migration guides (#1778)
doup Nov 9, 2024
8959a1a
Merge commit 'b0fd7809f0ab02c128374815c87c713ecfc5e9b7' into refactor…
doup Nov 10, 2024
a5d077a
Use single quotes in TOML for contributors (#1785)
bas-ie Nov 10, 2024
f8c775e
0.15 Release Notes: Required Components (#1779)
cart Nov 11, 2024
bb12470
Merge commit 'f8c775e8a10fb17bdb31f7533c79236f16a2a032' into refactor…
doup Nov 11, 2024
f31531c
Remove text batching release notes (#1775)
alice-i-cecile Nov 12, 2024
bc5de5e
0.15 Release Notes: Generalized animation (#1789)
mweatherley Nov 13, 2024
d1fa913
0.15 Release Notes: Curve API (#1784)
mweatherley Nov 13, 2024
53e0843
0.15 Release Notes: Easing curves (#1790)
mweatherley Nov 13, 2024
57ab259
0.15 Release Notes: Replace instances of removed curve constructors (…
mweatherley Nov 13, 2024
5ead0e9
Mention RenderVisibleEntities (#1798)
bas-ie Nov 13, 2024
2479f34
Hide example progress bar by default (#1796)
doup Nov 13, 2024
f2afcbf
Revert to old content font color (#1799)
cart Nov 13, 2024
8f28147
Add Bluesky (#1801)
cart Nov 13, 2024
8eeba4a
0.15 Release Notes: Uniform mesh sampling (#1791)
mweatherley Nov 13, 2024
03eead1
GameActivity as new default: release notes (#1753)
bas-ie Nov 14, 2024
16b7423
Rewrite the migration guide for PR 14842 (#1803)
LikeLakers2 Nov 14, 2024
fa93729
Fix Bevy 0.15 release post using Windows's restricted characters (#1802)
TrialDragon Nov 14, 2024
169a062
Merge commit 'fa9372988a76260f485ab17fff181d65d15eb6fa' into refactor…
doup Nov 14, 2024
8c35f71
Add future work section to Bevy 0.15 release notes (#1800)
alice-i-cecile Nov 14, 2024
b78906c
Remove PCSS release notes section (#1804)
cart Nov 14, 2024
778a947
Runnable 0.15 draft (#1807)
cart Nov 15, 2024
50f9709
bevy_picking release notes (#1806)
alice-i-cecile Nov 15, 2024
84f2189
Realese Note for #15361: Implement volumetric fog support for both po…
Soulghost Nov 15, 2024
1f0f3c2
0.15 Release Notes: Retained Rendering (#1786)
Trashtalk217 Nov 17, 2024
89e6907
Add missing shader storage buffer note (#1812)
tychedelia Nov 17, 2024
2624629
0.15 Release Notes: Cosmic Text (#1808)
cart Nov 17, 2024
182c099
Add OIT release notes (#1809)
IceSentry Nov 17, 2024
ba0b0e8
0.15 Release Notes: Cached One-shot Systems (#1813)
benfrankel Nov 18, 2024
57a0e5f
Remove UI AA PRs from release notes (#1816)
alice-i-cecile Nov 18, 2024
5305f02
Behead Headless Plugins release notes (#1817)
alice-i-cecile Nov 18, 2024
47660a9
Rewrite Text migration guide for 0.15 (#1814)
alice-i-cecile Nov 18, 2024
58696a4
0.15: Virtual Geometry (#1811)
JMS55 Nov 18, 2024
c85c974
0.15 Release Notes: Chromatic Aberration (#1819)
cart Nov 19, 2024
daf8b6c
0.15 Release Notes: Fog Volumes (#1820)
cart Nov 19, 2024
a73919d
0.15: `ReflectDe/SerializerProcessor` (#1818)
aecsocket Nov 19, 2024
9b14490
0.15 Release Notes: VBAO (#1821)
cart Nov 19, 2024
766536e
Merge and refine UI bundles changes (#1815)
alice-i-cecile Nov 19, 2024
cd24be0
0.15 Release Notes: `Set` Reflection (#1805)
RobWalt Nov 19, 2024
f80436c
Bubble and trouble: release notes for bubbling observers (#1823)
alice-i-cecile Nov 20, 2024
41e4966
0.15 Release Notes: Animation Events (#1829)
cart Nov 20, 2024
0390208
Release notes for stable interpolation (#1830)
alice-i-cecile Nov 20, 2024
fc35cb3
Release notes for accumulated mouse inputs (#1828)
alice-i-cecile Nov 21, 2024
953db67
Release notes for #15614: Allow World::entity family of functions to …
ItsDoot Nov 21, 2024
1f434b1
Add release notes for box shadows (#1827)
alice-i-cecile Nov 21, 2024
4048430
Changed the contributing link (#1832)
olvior Nov 21, 2024
3680994
0.15 Release Notes: Add required components image (#1833)
cart Nov 22, 2024
bfb5258
Improve release note styling (#1834)
cart Nov 22, 2024
dfa0f1f
14257 Pack multiple vertex and index buffers Release Notes (#1835)
atlv24 Nov 22, 2024
fd8ae6f
Merge commit 'dfa0f1f63bed1700703ef8d970b2fcafee020e57' into refactor…
doup Nov 22, 2024
811fb5f
TextUiWriter rename (#1841)
Lyndon-Mackay Nov 24, 2024
34d89f8
0.15 Editorial Pass: Reorder and rename sections, initial highlights …
cart Nov 24, 2024
0aafd96
Add more release notes for reflection serialization improvements (#1839)
MrGVSV Nov 24, 2024
8b348fd
Add release note for Unique Reflect (#1837)
MrGVSV Nov 24, 2024
de30ea6
Revise and condense retained rendering migration guide (#1843)
alice-i-cecile Nov 24, 2024
29827ed
Clean up migration guides without an area (#1842)
alice-i-cecile Nov 24, 2024
7ff7814
Rewrite curves release note to be more approachable and add a brief n…
alice-i-cecile Nov 24, 2024
6fc4724
Add some missed migration guides for 0.15 (#1846)
alice-i-cecile Nov 25, 2024
6026b22
Typos fixes and cleanup in curves release notes (#1848)
JohnTheCoolingFan Nov 25, 2024
291bda9
0.15 migration: Touch up entry for PR 15196 (#1849)
rparrett Nov 26, 2024
e3e3973
Add some missing migration guides from older PRs (#1850)
alice-i-cecile Nov 26, 2024
cd21898
Use PR number for matching commits to PRs in release/guide generator …
rparrett Nov 26, 2024
e776c9c
Update to mention additional plugin required (#1845)
Lyndon-Mackay Nov 26, 2024
93aa1bc
Write release note for PR 10392 (CPU Drawing) (#1854)
inodentry Nov 27, 2024
f9f4d27
Add final missing migration guides (#1856)
alice-i-cecile Nov 27, 2024
351e7df
0.15 Editorial Pass 2 (#1840)
cart Nov 27, 2024
43eb648
Reexport oit-demo video (#1855)
mahulst Nov 27, 2024
49e45f8
0.15 Editorial Pass 3 (#1857)
cart Nov 28, 2024
e7d9219
Remove periods from release highlight bullet points (#1858)
alice-i-cecile Nov 28, 2024
7156aeb
Pick date for 0.15 release (#1859)
alice-i-cecile Nov 28, 2024
85ecbf4
Merge commit 'e7d9219fa9c28301ac1df01788c5e0c87d1b0d99' into refactor…
doup Nov 28, 2024
0f8b89d
Fix up egregiously bad migration guides (#1860)
alice-i-cecile Nov 28, 2024
99a4936
Update bluesky link to new handle (#1861)
Niashi24 Nov 28, 2024
63966a0
Fix missing links in 0.15 release notes (#1864)
jirisvd Nov 29, 2024
1aecf93
Remove periods from 0.15 release note titles (#1865)
jirisvd Nov 29, 2024
e16a3b4
Increase footer gap (#1863)
bienjensu Nov 29, 2024
867031f
Fix foundation info spacing (#1869)
cart Nov 29, 2024
3e58ac1
0.15 Release Notes: Finalize (#1870)
cart Nov 29, 2024
fcfec25
Merge commit '3e58ac1dba78b7c329eea16eeeeff0b75d2362ec' into refactor…
doup Nov 29, 2024
a18e256
0.15 tweaks (#1871)
cart Nov 29, 2024
c88d31d
Switch RC doc links to full release links (#1874)
ItsDoot Nov 29, 2024
4fca886
0.15 migration: Un-hide guide (#1878)
rparrett Nov 29, 2024
b0085a7
0.15 release notes: Fix a few minor formatting issues (#1877)
rparrett Nov 29, 2024
3ecd95e
Fix migration guides issues (#1880)
doup Nov 29, 2024
d0009d2
0.15: Fix contributors and changelog (#1884)
cart Nov 30, 2024
db32f43
Fix typos (#1882)
bas-ie Nov 30, 2024
9ed6921
Various migration guide fixes (#1891)
rparrett Dec 2, 2024
764413a
Merge branch 'main' into refactor-css-var-tokens
doup Dec 2, 2024
6eb244e
0.15 migration: Fix missing retained rendering guide (#1894)
rparrett Dec 2, 2024
e3fca5e
Fix derive missing Component for the examples (#1890)
Mclilzee Dec 2, 2024
848c12c
0.15 migration: Fix name of subpixel feature that was removed (#1895)
rparrett Dec 2, 2024
f03782a
Fix broken links in Remote Reflection note (#1886)
MrGVSV Dec 2, 2024
5fdd43f
Fix sorting of patch version numbers in crates.io metadata retrieval …
rparrett Dec 2, 2024
67eaa73
Move common parts of the WebGL/WebGPU example pages to layouts (#1889)
doup Dec 2, 2024
289aea0
Bump ruzstd from 0.7.0 to 0.7.3 (#1898)
dependabot[bot] Dec 2, 2024
dc03584
Merge branch 'main' into refactor-css-var-tokens
doup Dec 3, 2024
54a7c2c
:pencil2: Fix "the this" typo (#1912)
homersimpsons Dec 6, 2024
a5edaef
Fix sidebar section highlighter (#1909)
doup Dec 10, 2024
a4c5c68
Hide heading anchors by default (#1906)
doup Dec 10, 2024
a13c109
Use `<hr>` instead of `border-top` in Migration headings (#1907)
doup Dec 10, 2024
b2a14db
Add Bluesky link in footer and tweak styling (#1911)
doup Dec 10, 2024
b1912ac
add slash to route (#1904)
MyZeD Dec 10, 2024
7c3c6b7
Remove donate JS code in favor of CSS-only solution (#1902)
doup Dec 10, 2024
4e9f048
Hide assets/examples filters to non-JS users (#1901)
doup Dec 10, 2024
de55043
Extract News meta styling into a shared `heading-meta` and use it in …
doup Dec 13, 2024
48af8b2
Use tabs for examples code (#1914)
doup Dec 13, 2024
b542fbe
Update quick start guide & learning-code-examples to reference 0.15 i…
fallible-algebra Dec 13, 2024
5115c66
Fix typo (#1919)
SUPERCILEX Dec 23, 2024
b586405
Call for attendees: Rustweek 2025 Unconf (#1923)
alice-i-cecile Jan 7, 2025
997e479
fix clippy lints from rust 1.84 (#1927)
mockersf Jan 26, 2025
297591d
Update Examples Screenshots (#1926)
mockersf Jan 28, 2025
79d53da
Improve styling of the example/s graphics API callout (#1918)
doup Jan 28, 2025
7b1e162
0.15 migration: Fix up guide for 16163 (#1899)
rparrett Jan 28, 2025
bcd2aaf
Fix up list formatting and expand adoption section in contributing gu…
rparrett Feb 16, 2025
a9f7294
Merge commit 'bcd2aaff74ffecc11e9df16788192e7bd283502d' into refactor…
doup Feb 23, 2025
4567dad
Delete TODOs.md
doup Feb 23, 2025
26175d1
Tidy up "past sponsors" markup (#1934)
rparrett Feb 23, 2025
e373c81
Merge branch 'main' into refactor-css-var-tokens
doup Feb 25, 2025
fcd8cbb
Fix minor issues
doup Feb 25, 2025
b4bc487
Use CSS vars for all the colors
doup Feb 25, 2025
7b593e1
Remove palettes, revert to `main` colors, clean-up BEM components to …
doup Mar 4, 2025
2377c99
Remove `donors.toml`
doup Mar 4, 2025
4c344f6
Revert `donors.toml`
doup Mar 4, 2025
8ec7270
Revert `metrics.toml`
doup Mar 4, 2025
ed193d1
Fix light-mode regressions
doup Mar 4, 2025
3983b49
Tweak
doup Mar 4, 2025
dc79f86
Revert indentation change
doup Mar 4, 2025
1047d93
Revert indentation change
doup Mar 4, 2025
dc2b91c
Fix issues
doup Mar 7, 2025
ab24164
Changed `inverted` to `invertable`
doup Mar 7, 2025
89f6fde
Fix `themed-picture` issues
doup Mar 7, 2025
4d4baa5
Fix `themed-picture` issues (cont.)
doup Mar 7, 2025
7271c0c
Remove "donate-level" background style
doup Mar 8, 2025
f32b3a8
Fix light mode media content links
doup Mar 8, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
7 changes: 4 additions & 3 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -108,8 +108,9 @@ jobs:
key: assets-${{ steps.date.outputs.date }}-${{ hashFiles('generate-assets/**/*.rs', 'generate-assets/Cargo.toml', 'generate-assets/generate_assets.sh') }}

- name: "Build Bevy Assets"
# Only run if in merge queue or if no cache was found
if: ${{ github.event_name == 'merge_group' || !steps.restore-cached-assets.outputs.cache-hit }}
# Only run if in merge queue or if no cache was found. `cache-hit` is a string, so we
# cannot use normal boolean operators on it, as `!'false' == true`.
if: ${{ github.event_name == 'merge_group' || steps.restore-cached-assets.outputs.cache-hit != 'true' }}
working-directory: generate-assets
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Expand Down Expand Up @@ -245,7 +246,7 @@ jobs:
path: content/community/people

- name: "Build website"
uses: shalzz/zola-deploy-action@v0.18.0
uses: shalzz/zola-deploy-action@v0.19.2
env:
PAGES_BRANCH: gh-pages
BUILD_DIR: .
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ jobs:

- name: "Build and deploy website"
if: github.repository_owner == 'bevyengine'
uses: shalzz/zola-deploy-action@v0.18.0
uses: shalzz/zola-deploy-action@v0.19.2
env:
PAGES_BRANCH: gh-pages
BUILD_DIR: .
Expand Down
3 changes: 3 additions & 0 deletions .github/workflows/update-screenshots.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@ name: Update Screenshots
on:
workflow_dispatch:

permissions:
pull-requests: write

env:
PER_PAGE: 20

Expand Down
198 changes: 2 additions & 196 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,199 +1,5 @@
# Contributing

So, you want to help with [Bevy Website](https://bevyengine.org/)? Then this is the right place for you! Bevy is created by volunteers; if you want to help us build the next great game engine, please reach out. We need all the help we can get.
We've moved our contributing documentation!

If you want to help with [Bevy Engine](https://github.com/bevyengine/bevy) itself, then see the engine's [CONTRIBUTING.md](https://github.com/bevyengine/bevy/blob/main/CONTRIBUTING.md).

We want Bevy to be a vibrant developer community. That's actually why we chose the name; a Bevy is a group of birds, just like we are a group of game developers. Join the Bevy!

## Building the website

The Bevy website is built using the Zola static site engine. In our experience, it is fast, flexible, and straightforward to use.

To check out any local changes you've made:

1. [Download Zola v0.18.0](https://www.getzola.org/).
2. Clone the Bevy Website git repo and enter that directory:
1. `git clone https://github.com/bevyengine/bevy-website.git`
2. `cd bevy-website`
3. Start the Zola server with `zola serve`.

A local server should start and you should be able to access a local version of the website from there.

## Testing changes to learning material code examples

The code in the learning materials (e.g., Bevy Book, Quick Start Guide, Advanced Examples, etc.) is compiled, formatted, and tested to make sure that the examples work for readers.

To validate your code snippets either run `validate_examples.sh` which resides in the `learning-code-examples` directory (and is the recommended way to use `learning-code-examples`), or from the root of the project run `cd learning-code-examples && cargo check --examples && cargo clippy --examples && cargo fmt --check`.

> [!NOTE]
> [See the `learning-code-examples` README.md for more info.](./learning-code-examples/README.md)

## Learning material structure

As you probably noticed, our introductory learning material is split into two main sections:

1. **Bevy Quick Start:** "Get started making your first game now!"
2. **Bevy Book:** "Understand how Bevy works, and how you can use it"

This is intended to cater to two different types of learners, without compromising the experience for either:

- **Example-first:** These users want to dive right in, see everything in action and get a working game as quickly as possible.
These users often have an idea in their mind that they want to start prototyping as quickly as possible.
- **Definition-first:** These users want to carefully build up a mental model of Bevy, thoroughly understanding each new concept before moving on.
These users tend to be driven by curiosity, or are aiming to carefully develop a new skill.

Crucially, these paths are independent of the experience levels of the learner!
Bevy intentionally aims to be inclusive of both complete beginners who have never programmed before, and professionals coming from other engines.

| | **Beginner** | **Professional** |
| -------------------- | ------------------------------------------------------------------ | -------------------------------------------------------------------- |
| **Example-first** | Enthusiastic, wants to create a new version of the game they love. | Exploratory, wants to dive in and see how Bevy holds up in practice. |
| **Definition-first** | Curious, wants to understand how making games works. | Critical, wants to understand Bevy's unique design choices. |

Each of these requires their own complementary learning paths that branch as soon as they get to the [Learn page](https://bevyengine.org/learn/) to ensure that the first experience that they have with Bevy matches what they need.

Once users have completed the introductory learning materials in their path of choice, they can begin creating their own games or move on to our advanced examples to see how everything comes together in a realistic way.

### Bevy Quick Start: the example-first path

Users following the example-first path will tend to take the following route:

1. Encounter the Bevy homepage due to social media or word of mouth.
2. Navigate to the Learn page.
3. Choose one of the most relevant **quick start games**.
4. Complete that tutorial.
5. Dive into making the game they have in mind, accessing the following resources as needed when they encounter road-blocks:
1. Official Examples.
2. The Bevy book.
3. Community tutorials and template games.
4. Various community support forums.
5. Streams, YouTube channels and blogs.
6. Advanced examples.

Each quick start game should:

1. Assume zero existing knowledge of Bevy.
2. Begin with a initial high-level explanation of what we're trying to build.
3. Introduce commented code first, then explain what each of the critical terms means as they come up.
4. Be broken into compilable, playable sections: one per page of the guide.
5. Gradually refactor the code to add more functionality.
6. End with a list of suggestions (with appropriate links) on how you could extend the game in interesting ways.

This path should prioritize:

1. Rapid time-to-fun.
2. Functional, good-enough explanations that are tied to the code in front of them.
3. Relevance of quick-start game to the genre of game they want to make.
4. High asset quality.
5. Ease of extending the quick-start game with their own tweaks.
6. Explaining how to get unstuck, through documentation, community help and filing issues.

### The Bevy Book: the definition-first path

Users following the definition-first path will tend to take the following route:

1. Encounter the Bevy homepage due to social media or word of mouth.
2. Navigate to the Learn page.
3. Select the **Bevy book**.
4. Read through the book, largely in order.
5. Once they feel they have a good enough understanding of the engine, they will begin to make their own games, typically by jumping over onto the example-first path.
6. As they explore, they will also browse:
1. The source code.
2. [docs.rs](https://docs.rs/bevy/)
3. CONTRIBUTING.md, GitHub issues and pull requests.
4. Release notes.
5. The engine development channels on Discord.
6. Advanced examples to see how everything comes together.

Each chapter of the Bevy Book should:

1. Have a clear topic, and give a high-level overview of the subtopics it is going to cover and how they fit together.
2. Be broken down into several sections / pages to focus on detailed topics.
1. These should have simple, minimal examples explaining how that functionality works.
3. Link to appropriate sections of quick start guides that demonstrate the ideas being taught in a more coherent way.

This path should prioritize:

1. Clear, thorough explanations.
2. Carefully introducing one concept at a time in an organized fashion.
3. Connecting concepts to each other in context.
4. Explaining the technical details of how things work, but only in clearly marked asides.
5. Communicating all of the supporting development practices that make Bevy productive:
1. How to set up your dev environment.
2. Code organization.
3. Design patterns and best practices.
4. Testing, benchmarking and debugging.
5. Contributing to Bevy itself.
6. Linking to further reading: official examples, `docs.rs` and (very sparingly) source code links.

## Contributor's style guide

When writing and reviewing learning material for the Bevy Book and Quick Start Games, please try to follow these guidelines:

### Writing

1. Use clear, simple language.
2. Prefer short sentences. Remove extra words.
3. **Bold** new vocabulary words where they are defined.
1. Define them as soon as is reasonable after they are introduced.
4. Make sure your grammar and spelling are correct.
5. Avoid idioms and slang.
6. Speak directly to the reader in an approachable tone. Use "we" and "you" pronouns.
7. It can be useful to create specific, named characters to demonstrate a point.
1. If you do, pick a pronoun set for them and stick to it.
2. Otherwise, use "they/them" third-person pronouns to refer to the reader or others.
8. Keep humor light.
1. Avoid off-color or offensive humor.
2. Be mindful not to overuse in-jokes or cultural references.
3. Don't drag your jokes out: that's not what the audience is here to read.

### Organizational

1. Carefully organize your work into separate pages, headings, paragraphs and code blocks.
2. Clearly signal when you are explaining a concept in technical depth so it can be skipped.
3. Use lists, numbered lists and sub-lists to present information in bite-sized ways.
1. Refer back to these items by number!
4. Provide plenty of links, but be sure that what you are linking to is obvious by context.
1. Link to other sections of the book / example / web page when you mention them.
2. Always link to the most specific location you can, whether that's a section on a page or a method on a struct.
3. Use the `latest` tag when linking to Bevy docs and source code so it won't go stale every time the version is updated.
4. When linking to detailed explanations or discussions, summarize the most important points in addition to providing a link.

### Technical

1. All examples must be able to be compiled and run.
2. Prefer game-relevant, descriptive examples and variable names over generic ones like `MyEvent`. Avoid meaningless names like `foo` at all times.
3. It's good practice to break your code into blocks with comments or explanatory text, but you need to link to a cohesive, copy-able whole at the end.
4. Examples must pass Bevy's standard `clippy` lints.
5. The polish level of your examples should correspond to the point you're trying to make.
1. If you're demonstrating a new feature, show only the most basic syntax as locally as possible.
2. When trying to explain how a game can be made, organize and polish your code to showcase best practices.
3. Lack of polish should serve an end: don't show bad or sloppy practices without a good reason.
4. Showing how (and why!) to refactor your code is a very powerful teaching tool.
6. Stick to a consistent style (e.g. for loops vs map) within each example.
7. If you need to give advice that will only matter to some of your audience (e.g. how to handle an edge case, or support a specific platform), do so in a clearly marked aside or list.
8. Examples should not use or rely on third-party plugins.
These may be appropriate to link in "next steps" however at the end of the examples.
1. Third-party crates should be limited to the most essential, such as `rand`.
9. If additional code block attributes like `no_run` or `hide-lines=x-y` need to be specified, you should always order these so that the language is the last attribute. If we would specify `rust,no_run` the syntax highlighting wouldn't work, but changing it to `no_run,rust` makes it work.
10. To validate local code changes you can either `./learning-code-examples/validate_examples.sh` from anywhere, or from the project's root `cd learning-code-examples && cargo check --examples && cargo clippy --examples && cargo fmt --check`.
11. To make sure your web-based files (html, markdown) are formatted correctly run the commands:

```
markdownlint -f -c .github/linters/.markdown-lint.yml .
djlint
typos
```

in the root directory of your local Bevy website repository. This will format markdown files and tell you the issues in HTML files. In order to run the command you should install `markdownlint-cli`, `djlint`, and `typos-cli`. See: <https://github.com/igorshubovych/markdownlint-cli>, <https://www.djlint.com/docs/getting-started/>, and <https://github.com/crate-ci/typos?tab=readme-ov-file#install>. Note that the CI also includes `editorconfigchecker` but there isn't an easy way to run this manually, so you should instead rely on CI to validate files with this tool.
12. To reference Rust API docs you can use markdown's reference-style links like so:
[`HashMap`]

```md
[`HashMap`]

[`HashMap`]: https://doc.rust-lang.org/std/collections/struct.HashMap.html
```

[`HashMap`]: https://doc.rust-lang.org/std/collections/struct.HashMap.html
See our Contributing Guide [in the repository](content/learn/contribute/introduction.md), or [on the site](https://bevyengine.org/learn/contribute/introduction).
Loading