Commit graph

106 commits

Author SHA1 Message Date
Robert Swain
064af63400 Add trace_tracy feature for Tracy profiling (#2832)
# Objective

[Tracy](https://github.com/wolfpld/tracy) is:
> A real time, nanosecond resolution, remote telemetry, hybrid frame and sampling profiler for games and other applications.

With the `trace_tracy` feature enabled, you run your bevy app and either a headless server (`capture`) or a live, interactive profiler UI (`Tracy`), and connect that to your bevy application to then stream the metric data and events, and save it or inspect it live/offline.

Previously when I implemented the spans across systems and stages and I was trying out different profiling tools, Tracy was too unstable on macOS to use. But now, quite some months later, it is working stably with Tracy 0.7.8. You can see timelines, aggregate statistics of mean system/stage execution times, and much more. It's very useful!

![Screenshot_2021-09-15_at_18 07 19](https://user-images.githubusercontent.com/302146/133554920-350d3d45-fbb8-479f-91f7-7a7a4f9f5873.png)

## Solution

- Use the `tracing-tracy` crate which supports our tracing spans
- Expose via the non-default feature `trace_tracy` for consistency with other `trace*` features
2021-09-16 23:39:22 +00:00
Thomas Heartman
e317058677 Docs/more nixos instructions (#2775)
# Objective

Expand the documentation for NixOS setups (as discussed in Discord)

## Solution

Added more info to `linux_dependencies.md` about NixOS. This is based off my own experience (as documented in [this blog post](https://blog.thomasheartman.com/posts/bevy-getting-started-on-nixos)), so I can't confirm that it'll work for everyone. However, if there are further tweaks necessary, then I think that this should nevertheless work as a good starting point and should give future users an idea of what they may need to change or update.

Feedback and tweaks are very welcome 😄
2021-09-06 19:16:09 +00:00
Niklas Eicker
62e4e59a86 Update plugin guidelines (#2692)
# Objective

- the plugin guidelines should be up-to-date and easy to read/understand

## Solution

* point to "Bevy Assets" instead of old "Awesome Bevy"
* restructure sections
* same order for sections and checklist
* Update examples with newest release/rev
2021-08-19 20:22:38 +00:00
Daniel McNab
43d99bb583 Remove bevy_dynamic_plugin as a default (#2578)
It doesn't compile on wasm, and it's full of footguns

# Objective

- If bevy is used with default features on wasm, there's more of a chance it will compile
- Note that I haven't done a full audit - it's possible that there are other problematic crates

## Solution

- `bevy_dynamic_plugin` is no longer a default plugin
- I've also done an accidental drive by reformatting of the root `Cargo.toml`, as I have [Even Better Toml](https://github.com/tamasfe/taplo) installed.
- (Please, rustfmt do this for us)
2021-08-01 19:14:47 +00:00
Carter Anderson
e167a1d9cf Relicense Bevy under the dual MIT or Apache-2.0 license (#2509)
This relicenses Bevy under the dual MIT or Apache-2.0 license. For rationale, see #2373.

* Changes the LICENSE file to describe the dual license. Moved the MIT license to docs/LICENSE-MIT. Added the Apache-2.0 license to docs/LICENSE-APACHE. I opted for this approach over dumping both license files at the root (the more common approach) for a number of reasons:
  * Github links to the "first" license file (LICENSE-APACHE) in its license links (you can see this in the wgpu and rust-analyzer repos). People clicking these links might erroneously think that the apache license is the only option. Rust and Amethyst both use COPYRIGHT or COPYING files to solve this problem, but this creates more file noise (if you do everything at the root) and the naming feels way less intuitive. 
  * People have a reflex to look for a LICENSE file. By providing a single license file at the root, we make it easy for them to understand our licensing approach. 
  * I like keeping the root clean and noise free
  * There is precedent for putting the apache and mit license text in sub folders (amethyst) 
* Removed the `Copyright (c) 2020 Carter Anderson` copyright notice from the MIT license. I don't care about this attribution, it might make license compliance more difficult in some cases, and it didn't properly attribute other contributors. We shoudn't replace it with something like "Copyright (c) 2021 Bevy Contributors" because "Bevy Contributors" is not a legal entity. Instead, we just won't include the copyright line (which has precedent ... Rust also uses this approach).
* Updates crates to use the new "MIT OR Apache-2.0" license value
* Removes the old legion-transform license file from bevy_transform. bevy_transform has been its own, fully custom implementation for a long time and that license no longer applies.
* Added a License section to the main readme
* Updated our Bevy Plugin licensing guidelines.

As a follow-up we should update the website to properly describe the new license.

Closes #2373
2021-07-23 21:11:51 +00:00
Daniel McNab
0aced5fb72 Revert #331 (#2502)
# Objective

@TomBebb (other account being @TomBebbington ) proved unreachable for #2373, so we need to revert their changes for the relicense.

## Solution

Revert their changes. This is only linux distro docs, so it's not critical code.

If someone else wants to test `bevy` on solus to work out the set of packages independently, then we'll probably accept a PR to add these. One suggestsion would be to consider the packages required on other systems, since there is likely to be some overlap.

## Alternatives

Link to this old version in the `linux_dependencies.md` file.
2021-07-19 21:13:30 +00:00
Daniel McNab
3a20462d3f Useful changes with relicensing benefits (#2497)
This obsoletes #1111 and #2445, since @ColonisationCaptain and @temhotaokeaha haven't replied to #2373.

I believe that both of those PRs would be fine to keep, but they're even more fine to keep now :)
2021-07-17 21:59:31 +00:00
Ixentus
d80303d138 Add feature flag to enable wasm for bevy_audio (#2397)
Exposes Rodio feature flag to enable WASM support.

Note that mp3 doesn't currently work on wasm.
2021-07-14 03:20:21 +00:00
Klim Tsoutsman
bc3f80fb85 Fix name in list of features (#2438)
# Objective

- Fix the name of the `bevy_dynamic_plugin` feature in the list of features

## Solution

- Remove the letter "s" 😶
2021-07-06 21:15:50 +00:00
dintho
337e6d5893 Added Opensuse Tumbleweed (#2375)
# Objective

- Describe the objective or issue this PR addresses.
- added openSUSE Tumbleweed deps that i needed to install today 2021-06-22

## Solution

- Describe the solution used to achieve the objective above.
- added info to doc
2021-07-05 22:35:50 +00:00
François
b52edc107d use discord vanity link (#2420)
# Objective

I wanted to send the Bevy discord link to someone but couldn't find a pretty link to copy paste 

## Solution

Use the vanity link we have for discord
2021-07-01 20:41:42 +00:00
FlyingRatBull
b399a374cb GitHub Action: Check local Markdown links on push (#2067)
Adds an GitHub Action to check all local (non http://, https:// ) links in all Markdown files of the repository for liveness.
Fails if a file is not found.

# Goal
This should help maintaining the quality of the documentation.

# Impact
Takes ~24 seconds currently and found 3 dead links (pull requests already created).

# Dependent PRs
* #2064 
* #2065 
* #2066

# Info
See [markdown-link-check](https://github.com/marketplace/actions/markdown-link-check).

# Example output
```
FILE: ./docs/profiling.md

1 links checked.

FILE: ./docs/plugins_guidelines.md

37 links checked.

FILE: ./docs/linters.md
[✖] ../.github/linters/markdown-lint.yml → Status: 400 [Error: ENOENT: no such file or directory, access '/github/workspace/.github/linters/markdown-lint.yml'] {
  errno: -2,
  code: 'ENOENT',
  syscall: 'access',
  path: '/github/workspace/.github/linters/markdown-lint.yml'
}
```

# Improvements
* Can also be used to check external links, but fails because of:
  * Too many requests (429) responses:
```
FILE: ./CHANGELOG.md
[✖] https://github.com/bevyengine/bevy/pull/1762 → Status: 429
```
   * crates.io links respond 404
```
FILE: ./README.md
[✖] https://crates.io/crates/bevy → Status: 404
```
2021-05-02 20:22:32 +00:00
FlyingRatBull
3c644bdced Fix broken link to .markdown-lint.yml in docs/linters.md (#2065) 2021-05-01 18:26:49 +00:00
James Leflang
cc0ee536f0 Add note about linker errors for Fedora users (#2009)
This PR adds a note to the Fedora section of Linux Dependencies on solving linker errors.

Fixes #1815.

Co-authored-by: James Leflang <59455417+jleflang@users.noreply.github.com>
2021-04-27 02:41:34 +00:00
MinerSebas
4c86b99d2f Update cargo_features.md (#1939)
This adds missing features to the cargo_features.md file.

closes #1391
2021-04-16 18:57:08 +00:00
Saverio Miroddi
b80814681a Add g++ to the Ubuntu dependencies (#1874)
The g++ package may not be preinstalled.

Also, replaced the mention of "fast" compiles, with generic instructions about how to install clang; this is because on my test system, clang didn't make any difference, and it's likely not to do any in general, as it is a relatively small part of the build.

Closes #1294.
2021-04-14 22:02:52 +00:00
follower
50df6b61f2 Typo fix: "wit" -> "with". (#1876) 2021-04-13 20:02:20 +00:00
Nathan Stocks
60f286d56d Update linters.md with info about cargo ci xtask (#1507)
Update `linters.md` with info about `cargo ci` xtask as per https://github.com/bevyengine/bevy/pull/1463#pullrequestreview-593747890

Co-authored-by: Carter Anderson <mcanders1@gmail.com>
2021-04-12 19:11:40 +00:00
Alice Cecile
100e516014 Release Checklist (#1834)
To help make the process easier and more fool-proof, aid delegation and document institutional knowledge.

I'm not entirely sure where this belongs.
2021-04-08 21:33:46 +00:00
MinerSebas
8a9f475edb Remove the Clippy "-A clippy::manual-strip" override (#1619)
That override was added to support pre 1.45 Versions of Rust, but Bevy requires currently the latest stable rust release.
This means that the reason for the override doesn't apply anymore.
2021-03-12 03:05:14 +00:00
Psychoticpotato
2a3a32b66f Add mesa-vulkan-drivers to Debian install (#1489)
I received the `Unable to find GPU` error, but I got it to render by using this package.  Not 100% sure if a better option exists.
2021-03-07 19:17:25 +00:00
Niklas Eicker
15aaa2b297 Fix broken link in plugin guidelines (#1513)
I stumbled over a broken link in the plugin guidelines

Co-authored-by: Niklas Eicker <git@nikl.me>
2021-03-03 23:17:48 +00:00
Marek Fajkus
a5170625dc Update and simplify NixOS documentation (#1495)
Some updates and simplifications to the NixOS specific part of documentation.
2021-03-03 03:27:02 +00:00
MinerSebas
c9f19d8663 Cleanup of Markdown Files and add CI Checking (#1463)
I have run the VSCode Extension [markdownlint](https://marketplace.visualstudio.com/items?itemName=DavidAnson.vscode-markdownlint) on all Markdown Files in the Repo.
The provided Rules are documented here: https://github.com/DavidAnson/markdownlint/blob/v0.23.1/doc/Rules.md

Rules I didn't follow/fix:
* MD024/no-duplicate-heading
  * Changelog: Here Heading will always repeat.
  * Examples Readme: Platform-specific documentation should be symmetrical.
* MD025/single-title
* MD026/no-trailing-punctuation
  * Caused by the ! in "Hello, World!".
* MD033/no-inline-html
  * The plugins_guidlines file does need HTML, so the shown badges aren't downscaled too much.
* ~~MD036/no-emphasis-as-heading:~~
  * ~~This Warning only Appears in the Github Issue Templates and can be ignored.~~
* ~~MD041/first-line-heading~~
  * ~~Only appears in the Readme for the AlienCake example Assets, which is unimportant.~~

---

I also sorted the Examples in the Readme and Cargo.toml in this order/Priority:
* Topic/Folder
* Introductionary Examples
* Alphabetical Order

The explanation for each case, where it isn't Alphabetical :
* Diagnostics
  * log_diagnostics: The usage of inbuild Diagnostics is more important than creating your own.
* ECS (Entity Component System)
  * ecs_guide: The guide should be read, before diving into other Features.
* Reflection
  * reflection: Basic Explanation should be read, before more advanced Topics.
* WASM Examples
  * hello_wasm: It's "Hello, World!".
2021-02-22 04:50:05 +00:00
Daniel McNab
041fd27b0a Update all references to use main (#1483)
In this case, the previous section header linked to in second badge in `plugins_guidelines` didn't actually exist, so I just linked to the same section as the first badge

Also I need to check that github handles the relative links correctly
2021-02-19 21:25:52 +00:00
dinococo
3adcba9461
Grammar fixes (#1390)
* Minor grammar fixes

* Minor grammar fixes

Fixed punctuation and wording.

* Minor grammar fixes

FIxed spelling, wording and formatting.
2021-02-03 19:15:25 -08:00
François
cf5f3b5008
Plugin guidelines (#1250)
* add plugin guidelines
* refactor features list
2021-01-31 20:19:10 -08:00
Spencer Burris
06dbfffe2e
Update default features in docs/cargo_features.md (#1287) 2021-01-31 17:03:54 -08:00
Nathan Jeffords
60be99859a
Subpixel text positioning (#1196)
* cleanup unnecessary changes from PR #1171

* add feature to correctly render glyphs with sub-pixel positioning
2021-01-03 12:39:11 -08:00
ColonisationCaptain
c32c78fc66
Update fedora version (#1111) 2020-12-24 13:30:36 -06:00
Tiago Ferreira
2e2423139e
Update dependencies for Enable Fast Compiles (#1065)
Added clang as an optional dependency to avoid frustration of running into compile error the first time you run a cargo build
2020-12-14 23:10:58 -08:00
MGlolenstine
23fcdfae56
Grammar correction (#856)
* Grammar correction
* Adjust for cart's personal taste

Co-authored-by: Carter Anderson <mcanders1@gmail.com>
2020-11-15 11:33:21 -08:00
Carter Anderson
e03f17ba7f
Log Plugin (#836)
add bevy_log plugin
2020-11-12 17:23:57 -08:00
MGlolenstine
ec7ad4254c
Fixed grammar and wording (#840)
Changed grammar and wording on two entries to make them easier to understand and fit better into the context (make MP3 format fit better alongside the audio formats).
2020-11-11 12:09:02 -08:00
Rob
06f95e9982
Fixed several typos. (#806)
* Fixed common typo in several struct names.

* Fixed minor doc typos.
2020-11-06 17:11:12 -08:00
Emanuel Lindström
a592ef0562
Add WSL 2 instructions to linux_dependencies.md (#727)
Update linux_dependencies.md

Co-authored-by: Carter Anderson <mcanders1@gmail.com>
2020-10-28 18:51:51 -07:00
CGMossa
58eb7e7e05
Documenting small things here and there.. (#706)
Documenting small things here and there..
2020-10-21 15:57:03 -07:00
Kenneth Dodrill
e89301ad29
Add Void Linux to linux dependencies file (#645)
Figured I'd add it above NixOS since that one is way more verbose than the rest, but happy to move it below if desired :)
2020-10-08 10:28:56 -07:00
Léo Gillot-Lamure
d562063abf
Add systemd-devel for Fedora Linux dependencies (#528)
It is required for the dependency crate libudev-sys (error about missing libudev.pc)
2020-09-21 13:53:17 -07:00
Zooce
18a8532f32
Add libudev-dev to Ubuntu dependencies (#538) 2020-09-21 13:16:17 -07:00
memoryruins
f5146c1896
Update headless example / add feature docs (#502)
* Update headless example

* Add missing docs for features
2020-09-16 13:02:53 -07:00
figsoda
afe86b4b3a
Provide shell.nix for easier compiling with nix-shell (#491)
Embed shell.nix into docs/linux_dependencies.md
2020-09-14 14:34:43 -07:00
Nolan Darilek
ca4a2114a8
Add pkg-config as a Ubuntu 20.04 dependency. (#463)
This may need to be added for all Linux distros, but I'm testing in WSL2, and Ubuntu 20.04 was all I had.
2020-09-09 12:38:24 -07:00
Logan Collins
db8ec7d55f
add documentation for NixOS dependencies (#290) 2020-08-28 17:09:44 -07:00
Tom Bebb
c9000deafa
Add solus deps to linux_dependencies doc (#331)
Co-authored-by: Tom Bebbington <tophattedcoder@gmail.com>
2020-08-25 16:50:44 -07:00
VitalyR
c78187e6df
add an option about display server protocol, and create document docs/cargo_features.md (#249)
add an option about display server protocol, and create document `docs/cargo_features.md`
2020-08-24 17:06:08 -07:00
wyhaya
7b6fbcb932
Add Arch / Manjaro dependencies (#275) 2020-08-23 13:18:46 -07:00
Carter Anderson
7db4821287 add more tracing docs 2020-08-16 01:26:42 -07:00
Carter Anderson
9e1a1d15ea Add wgpu trace docs 2020-08-16 01:21:37 -07:00
André Heringer
576da50547
Update linux_dependencies.md
Add Fedora 32 dependencies.
2020-08-13 20:45:43 -03:00
Matteo Guglielmetti
5102893e71
Creates linux_dependecies.md
This document will be linked in the new "Install OS dependencies" section on the "Setup" page of the book.

See related issue at [this page](https://github.com/bevyengine/bevy-website/issues/6)
2020-08-13 09:59:03 +02:00
Zicklag
968fdbba9b
Add Note About Cargo Expand Pager 2020-08-12 19:22:01 -05:00
Zicklag
4977837fad
Add Cargo Expand to Macro Debugging Tips 2020-08-12 19:18:26 -05:00
Carter Anderson
f4b07ec9c7 update profiling doc 2020-06-10 00:24:28 -07:00
Carter Anderson
8a10c06ad5 add texture to frag shader. fix weird macro name collision bug 2020-02-18 20:26:02 -08:00
Carter Anderson
7a1036fa0b add quick profiling doc 2020-02-10 22:13:05 -08:00