Repository navigation
feat(layout): read 21:9 ultrawide screenshots at the HUD's height scale - #39
Merged
Merged
Conversation
Ultrawide captures were squeezed onto the 16:9 canvas, distorting every ROI. They now keep the height scale and place left, right and central ROIs at the screen edges or middle, and are no longer flagged as cropped. Rust crop-batch and inspect still use the old normalization.
Same canvas, anchoring and quality rules as the Python service, so Studio crops 21:9 screenshots where recognition reads them.
…awide anchoring check
Teakowa
force-pushed
the
feat/ultrawide-layout
branch
from
October 10, 2026 20:43
a5ec283 to
65ab5e8
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
A 3440x1440 screenshot could not be recognized: every capture was squeezed onto the 16:9 canvas, which distorted all ROIs. The HUD actually keeps its height scale and stays attached to the screen edges.
Ultrawide sources (about 2.39:1, within 3%: 21:9, 2560x1080, 3440x1440, 3840x1600) are now normalized to the standard height with a proportionally wider canvas. Left ROIs stay put, right ROIs follow the right edge, and central ROIs sit in the middle; the side is derived from each ROI's position, so no layout YAML or manifest changes. They are no longer flagged
croppedorquality.possible_crop. Other wide ratios still are.debug.roi_coordinatesandnormalized_sizereport the canvas actually used.The Rust
crop-batchandinspectuse the same canvas, anchoring and quality rules, so Studio crops ultrawide screenshots where recognition reads them. Canvas width uses integer half-up rounding in both languages.Verification:
crop-batchboxes and normalized size match the Python ones exactly on it.Limits:
run_codenull andhero_progress_missing, which comes from the current v6 layout versus the newer HUD, not from the aspect ratio.