Skip to content

feat(layout): read the real in-game player name from the right panel - #40

Merged
Teakowa merged 1 commit into
mainfrom
feat/real-player-id
Oct 10, 2026
Merged

Teakowa merged 1 commit into
mainfrom
feat/real-player-id

Conversation

@e54-bot

@e54-bot e54-bot commented Oct 10, 2026

Copy link
Copy Markdown
Contributor

Newer HUD versions print the player's real in-game name on the right panel, between the run code and the server load, because the bottom-left name can be a streamer-mode name. A real 2560x1440 submission shows it (云雀 above 服务器负载 47).

  • server_load_panel now spans y122-158 and covers both the name line and the server load line (the extra line had pushed the server load out of the old ROI, so it read as null). Layout versions become 1280x720-v8 and 1280x800-v3; the 16:10 layout got the same change.
  • New optional data.real_player plus a fields.real_player evidence entry (source ROI server_load_panel). It is the text before the 服务器负载 label and null when the HUD prints no name or no label. OCRKit reports it next to viewer_player and does not choose between them.
  • Terminology scopes keep the v7/v2 versions and add v8/v3; the compatibility matrix and tests move to v8/v3.

Verification:

  • On the real screenshot the full service now returns real_player 云雀 and server_load 47 (previously null), with all other fields unchanged.
  • Older-HUD fixtures in the repo and the dataset still return real_player and server_load null without spurious text. No older-HUD screenshot that prints a server load was available; that case is covered by parser and service tests with stubbed OCR text.
  • Disabling the label anchor fails both new tests. 420 Python tests pass, and the Rust tests and layout manifest check pass.

Needs the owners before this ships:

  • Platform: owbastion.codes submissionOcrQualityPolicy.supportedLayoutVersions only lists 1280x720-v7 and 1280x800-v2. Deploying this before the platform accepts v8/v3 would make new submissions fail the layout gate. The platform should accept v8/v3 (and may read real_player) first; I did not touch that repository.
  • Bastion: the compatibility matrix names producer revision settlement-hud-v1. The HUD that prints the real name looks like a newer producer revision, which Bastion should name; I left the matrix revisions unchanged.

Not included: the 21:9 support is a separate PR (#39), and there is no real older-HUD screenshot with a server load line in the fixtures.

… run code

Newer HUDs print the real player name above the server load, while the bottom-left name can be a streamer-mode name. The server load ROI now spans both lines (layout v8/v3), real_player is parsed from the text before the server load label, and the server load that the extra line pushed out of the old ROI is read again.
@Teakowa
Teakowa merged commit a214d83 into main Oct 10, 2026
4 checks passed
@Teakowa
Teakowa deleted the feat/real-player-id branch October 10, 2026 20:41
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.

2 participants