Commit Graph

6 Commits

Author SHA1 Message Date
ickshonpe 48ec375a3a bevy_text parley migration (#22879)
# Objective

Migrate `bevy_text` from Cosmic Text to Parley.

Closes #21940. Fixes #21767, fixes #21768. Part of #21676.

## Solution

I came down with the flu yesterday when I was about halfway done. I
managed to work through it and drag this to a sort of finished state
anyway but there's probably some weird decisions because I haven't been
entirely coherent.

Most of the significant changes are to the pipeline module. There is
also a new `parley_context` module.
`FontAtlasKey` has a bunch of new fields, I can't remember why there's
both an `id` and a `index` now.

## Testing

Weird bug in `testbed_2d`:

<img width="893" height="168" alt="symbols"
src="https://github.com/user-attachments/assets/29288e16-9c3a-4aee-9ec5-638179b0bac0"
/>

Most other things seem to work the same as main, ymmv.

## Showcase

`testbed_2d`'s text scene on main with Cosmic Text:

<img width="1924" height="1127" alt="main-text2d-layout"
src="https://github.com/user-attachments/assets/55d0c7b7-7517-4a50-b76f-2a24e7cdc28f"
/>

`testbed_2d`'s text scene on this PR with Parley:

<img width="1924" height="1127" alt="testbed-2d-text"
src="https://github.com/user-attachments/assets/c87265fa-6e5f-4c03-aa5e-730f09f83ca3"
/>

`testbed_ui`'s text scene on main with Cosmic Text:

<img width="1924" height="1127" alt="testbed-ui-main"
src="https://github.com/user-attachments/assets/ce764891-3ca6-4c63-83af-8fe285a4a229"
/>

`testbed_ui`'s text scene on this PR with Parley:

<img width="1924" height="1127" alt="testbed_ui_parley"
src="https://github.com/user-attachments/assets/45bcbfe7-1ce4-44f7-bad7-7fa8f46c66ce"
/>

---------

Co-authored-by: Alice Cecile <alice.i.cecile@gmail.com>
2026-02-11 05:52:47 +00:00
François Mockers 4eed4d0427 Easy screenrecording plugin (#21237)
# Objective

- Followup on #21235
- See
https://github.com/mockersf/bevy/compare/easy-screenshots...mockersf:bevy:easy-screenrecording
for what's new
- Be able to record videos from Bevy in a consistent manner

## Solution

- Make a new `EasyScreenRecordPlugin` in the dev tools

## Testing

- Add to any example
```
        .add_plugins(bevy::dev_tools::EasyScreenRecordPlugin::default())
```
- Run the example with the feature `bevy_internal/screenrecording`
enabled
- press the space bar
- wait for it...
- press the space bar again
- screen recording! 🎉 
- almost... you now have a h264 file. VLC can read them, but they are
not the most friendly format
- `ffmpeg` is our friend! `for file in *.h264; do ffmpeg -i $file
$file.mp4; done`
- you now have a .mp4 file that can be shared anywhere!

---

## Showcase

directly taken by Bevy


https://github.com/user-attachments/assets/217f5093-9443-40e5-b2ce-33f65f6a56c6
2025-12-15 00:39:25 +00:00
Benjamin Brienen ff40a6aefc enable wayland by default (#19232)
# Objective

- Fixes #4106
- Fixes #13340

## Solution

Just one commit to add `wayland` to the default features indeed

### Why should it be merged?

The discussion in #4106 seems to be overwhelmingly positive toward
adding `wayland` to the default features, as it can greatly improve user
experience for Linux users who use Wayland.

Many of the most popular Linux Desktop Environments (DE) like KDE Plasma
Desktop and GNOME have Wayland support. With the release of Plasma 6,
Wayland is now used by default, and in GNOME, Wayland has been the
default for quite a while now.

With Plasma and GNOME, the most popular Linux DEs, now defaulting to
Wayland, it seems like enabling Wayland support would truly indeed
positively affect quite a lot of Linux users indeed.

Copied from #10792
2025-08-01 23:14:26 +00:00
Benjamin Brienen 9a0bfc6f14 Fix action.yml syntax (#15430)
# Objective

Fixes #15429 

## Solution

Fix type of default value

## Testing

We'll see if the CI still works I guess.

## Showcase


![image](https://github.com/user-attachments/assets/aeb376fe-1c88-4b1c-8c91-fd8f142c2378)
2024-09-26 13:30:56 +00:00
Jan Hohenheim 6f7c554daa Fix common capitalization errors in documentation (#14562)
WASM -> Wasm
MacOS -> macOS

Nothing important, just something that annoyed me for a while :)
2024-07-31 21:16:05 +00:00
BD103 380b35cee6 Create custom action for installing Linux dependencies (#12850)
# Objective

- There are several occurrences where different actions install alsa,
udev, and various other libraries for Linux.
- This is repetitive and can be an issue if the dependencies required by
Bevy ever change.

## Solution

- Create a custom action for installing Linux dependencies.
- It can be used by adding `- uses:
./.github/actions/install-linux-deps`.
- It supports configuring which libraries are installed using the `with`
property.
- It does nothing if not run on Linux, so workflows don't need to worry
about adding `if: ${{ runner.os == 'linux' }}`.

## Discussion

- The only instance where this action is not used cleanly is for the
`run-examples-linux-vulkan` verification job. I need to investigate
further the flags and dependencies that it installs.
2024-04-13 22:34:48 +00:00