bevyengine / bevyengine/bevy

Expose some fields of `Stepping`

Open
#18,100 0 comments 0 reactions 0 assignees View on GitHub
A-Dev-Tools C-Usability D-Straightforward S-Ready-For-Implementation
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?

I'd like to build a simple system stepping tool, but the fields of `Stepping` are private so I can't update the tool's UI without manually tracking all changes to `Stepping` and replicating its internal data structures (and even then, I have to assume that `Stepping` is never mutated anywhere else).

`Stepping` only exposes the current cursor position via `cursor()`, the schedule order via `schedules()`, and whether it's enabled via `is_enabled()`. I can't check if a system is set to always run, or never run, or has a breakpoint, for example.

## What solution would you like?

The simplest solution is to expose the fields of `Stepping` and `ScheduleState` as `pub`. Since `Stepping` is a debugging tool, I think it makes sense to expose its internals -- maybe with a note in the docs to avoid mutating the fields directly unless you know what you're doing.

## What alternative(s) have you considered?

Add more getter methods like `cursor()` and `schedules()` until all the relevant info is accessible.

Contributor guide

Open the contributing guide

Research direction

Locate the Rust definitions of `Stepping` and `ScheduleState`, then read their existing public methods and documentation to understand which state the stepping tool needs. Done means the requested state is accessible to external tooling, with documentation clarifying whether callers should avoid direct mutation.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
devtools, game-dev
Issue type
Feature
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.