bevyengine / bevyengine/bevy

`AppExit` should be an observer event rather than a `BufferedEvent`

Open
#20,408 1 comment 3 reactions 0 assignees View on GitHub
A-ECS C-Usability D-Complex S-Needs-Design X-Contentious
Dominant language
Rust
Stars
48.2k
Forks
4.8k
Avg merge
3d 16h
Merged PRs (30d)
171

Description

## What problem does this solve or what need does it fill?

Multiple `AppExit` events in a buffer doesn't make sense, and would be better modeled as an observer event. This would be more performant for plugins to react to app exits, rather than having to schedule a system that runs every frame.

## What solution would you like?

Swap `AppExit` to an observer event.

## What alternative(s) have you considered?

Weird status quo.

Contributor guide

Open the contributing guide

Research direction

Start by locating the AppExit definition and its BufferedEvent usage, then read the surrounding event and observer APIs to understand the existing pattern. Done means AppExit is modeled as an observer event, multiple buffered instances are no longer possible, and the relevant event behavior remains covered by passing tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
game-dev
Issue type
Refactor
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.