Skip to content

Tracker: replace the category tabs with a scope picker - #58

Open
BryanFRD wants to merge 2 commits into
Steel-Foundation:masterfrom
BryanFRD:feat-tracker-scope-picker
Open

Tracker: replace the category tabs with a scope picker#58
BryanFRD wants to merge 2 commits into
Steel-Foundation:masterfrom
BryanFRD:feat-tracker-scope-picker

Conversation

@BryanFRD

@BryanFRD BryanFRD commented Aug 20, 2026

Copy link
Copy Markdown
Contributor

Reworks the tracker's Blocks / Items / Entities tabs into a single scope field.
Discussed on Discord first.

Rebased on master, two commits. #57 has landed so the meta stamp is out of this diff, the
segmented control from #59 and #73 is used as it stands, and the commands category from
#70 is wired into the scope model.

What changes

  • Categories are collapsible groups with a checkbox each, and so is every behavior inside.
    Scope to all of Blocks, or to BedBlock and FireBlock, or mix the two. Picking a whole
    category drops its individual behaviors, in the selection and in the URL.
  • Search sits in the same field and matches categories, behavior names and entry names, so
    copper_block finds WeatheringCopperFullBlock. The separate search box is gone.
  • Rows link to the .rs file that implements them. The sync script already had the path
    and threw it away.
  • List / TODOs is a view toggle rather than a tab: 83 open items across 45 behaviors.
  • Scope, view, status and query live in the query string.

Default scope is Blocks, so first load shows 263 classes rather than 559. An absent
scope param means first visit, scope=all means deliberately cleared.

Second commit

SegmentedControl placed its pill from offsetLeft and offsetWidth, which round to
whole pixels: 2.42px of space on the right against 2.00px top and bottom. It measures with
getBoundingClientRect now. Container and pill were both rounded-2xl at different
heights, so both are rounded-full. Upstream styling, separate commit, easy to drop.

Note

implementation-status.json is left as master has it, so the source links stay hidden
until the next nightly sync emits path. Regenerating it here would stamp
meta.steel_commit with whatever my local Steel checkout sits on.

Tested

bun run build clean, 116 pages. tsc --noEmit clean under src/ and scripts/, the
rest is a duplicate satteri under node_modules. Browser check: default scope, tri-state
parents, mixed selections, entry search, URL round-trip, the commands group, pill insets
on all four sides.

@DarkMrMelther

Copy link
Copy Markdown
Contributor

Fix merge conflicts pls 😸

@ArSiJa8

ArSiJa8 commented Aug 22, 2026

Copy link
Copy Markdown
Contributor

Ohh, big pr, im still gonna read through it just for fun though :>

@tn-lorenz

Copy link
Copy Markdown
Contributor

This could be goated pls fix conflicts

@BryanFRD
BryanFRD force-pushed the feat-tracker-scope-picker branch from 4dc67b9 to e4f6796 Compare September 4, 2026 09:56
@tn-lorenz

Copy link
Copy Markdown
Contributor

Will look at this in the evening 👍🏼

@BryanFRD
BryanFRD force-pushed the feat-tracker-scope-picker branch from e4f6796 to 0c9ce9e Compare September 4, 2026 11:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants