Expose some fields of `Stepping`
- 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
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