Skip to content

Continue compatibility improvements - #28

Merged
AlexProgrammerDE merged 3 commits into
mainfrom
t3/maintenance-followup
Nov 3, 2026
Merged

AlexProgrammerDE merged 3 commits into
mainfrom
t3/maintenance-followup

Conversation

@AlexProgrammerDE

@AlexProgrammerDE AlexProgrammerDE commented Nov 3, 2026 •

Copy link
Copy Markdown
Member

Fractional authored controls now retain their leading glyph column and use physical scissor bounds across Java GUI scales. Continue the full movement, inventory, native screens, camera, rendering, and skin-parity goal in this PR.

The renderer intersects floating native bounds before truncating the scaled origin and extent. Each draw retains physical clip metadata, while Java overlap checks use conservative GUI bounds. Batching distinguishes physical clips even when their coarse GUI rectangles match. Forms, HUD scenes, nested inputs, and authored containers share this path. The changes remain folded into the owning shared-renderer and container patches.

Validation uses official Bedrock 1.26.60.5 with BDS 1.26.60.6, protocol 2225. A native fixture covers 42 static labels. All 36 reference and parent-clipping masks match the installed add-on at 1280 × 720 and native UI scale 2, at Java GUI scales 1, 2, 3, and return to 1. These controls cover fractional origins, all four edges, and nested parents. The complete 180-second replay preserves the recorded scene payload hash and verifies the installed JAR. All replay-owned process identities are terminal.

The full dependency build passes. The add-on suite reports 1,445 tests, no failures, and 153 optional skips. New regressions compare native glyph masks and reject batching distinct physical clips with identical GUI bounds. Patch preparation and diff checks pass.

The six short-height labels still differ: native omits the text, while Java clips it. That height-admission rule, backgrounds, action appearance, complete authored-screen and container GPU parity, and all broader compatibility scope remain open. Early images covered by tutorial or startup chat warnings are excluded from parity evidence. This work does not establish a fresh public-server result.

Summary by CodeRabbit

  • New Features
    • Added native-rendered Bedrock menus for common containers, player inventory, and workbench screens, with Java inventory interactions retained.
    • Added configurable native inventory screens, along with native UI scaling, scrolling, search, preferences, animations, and item and portrait rendering.
    • Added support for native HUD overlays and interactive controls, including keyboard and pointer input.
  • Bug Fixes
    • Improved clipping and layout accuracy for fractional positions and nested panels.
    • Unsupported or incomplete native presentations fall back to the original screen.

Record the named controls required by the verified scrollbar layout path. Keep omitted-name layout and painting behavior open for a matched native comparison in the next maintenance PR.
@coderabbitai

coderabbitai Bot commented Nov 3, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

Walkthrough

The shared native UI renderer now preserves fractional clip bounds through physical-pixel scissoring, extraction, and batching. Authored container screens use the same scissor path. Regression fixtures and validation notes cover fractional origins, edges, nested clips, and matching coarse bounds.

Changes: Native UI scissor handling

Layer / File(s) Summary
Preserve physical clip geometry
patches/viafabricplus-bedrock/upstreamable/0029-share-native-ui-scene-rendering.patch, patches/viafabricplus-bedrock/upstreamable/0029-share-native-ui-scene-rendering.pr.md
Native clips intersect floating-point bounds before truncation and retain physical clip metadata for batching and rendering. Regression coverage and validation notes describe fractional origins, edges, nested clips, and distinct physical clips that share coarse GUI bounds.
Apply clips across native UI rendering
patches/viafabricplus-bedrock/upstreamable/0029-share-native-ui-scene-rendering.patch, patches/viafabricplus-bedrock/upstreamable/0029-present-authored-native-containers.patch, patches/viafabricplus-bedrock/upstreamable/0029-present-authored-native-containers.pr.md
Native UI graphics, scene rendering, HUD overlays, and authored container screens use the shared physical-pixel scissor path. Mixins carry clip metadata and apply clamped bounds during GUI rendering. Documentation records fractional-bound preservation and the scope of glyph comparisons.

Estimated code review effort: 2 (Simple) | ~10 minutes

Change: Feature

Possibly related PRs

Merge Risk: Minimal · up to 3fa33

Native UI and containers now share physical-pixel clipping. No concrete merge-blocking issue was established.

Pre-merge checks: Passed 3 · Inconclusive 1

Failed Failed checks: 1 inconclusive

Check name Status Explanation Resolution
Title check Inconclusive The title "Continue compatibility improvements" is vague and generic. It does not name the main change. The PR covers many areas, including native Bedrock UI scene rendering, container presentation, s… Replace the title with a specific summary of the primary change. For example, name the main feature or fix, such as native container presentation, shared native UI scene rendering, or physical-pixel scissor clipping for Bedrock GUI scales. …
Passed Passed checks: 3 passed
Check name Status Explanation
Description Check Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Full details: Title check

Explanation

The title "Continue compatibility improvements" is vague and generic. It does not name the main change. The PR covers many areas, including native Bedrock UI scene rendering, container presentation, scissor and clipping fixes, and documentation of verified scrollbar and glyph behavior. The title uses no specific term that tells a reviewer what changed. The changeset does not contradict the title, so it is not off-topic.

Resolution

Replace the title with a specific summary of the primary change. For example, name the main feature or fix, such as native container presentation, shared native UI scene rendering, or physical-pixel scissor clipping for Bedrock GUI scales. Keep it to one short sentence.

Finishing Touches
Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

Share

CodeRabbit Verify

  • Run CodeRabbit Verify to test the changes in this pull request.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Additional comments: 1
patches/viafabricplus-bedrock/upstreamable/0029-share-native-ui-scene-rendering.pr.md-39-39: 1

39-39: Trivial · Maintainability & Code Quality · Quick win

Unverified finding
Verification ran but could not confirm this finding. It is shown for review, not as a verified issue.

Rewrite “requires named”.

Use “requires content, viewport, track, thumb, and panel controls to be named” for clearer technical wording.

Source: Linters/SAST tools

Review info
Run configuration
Commits

Reviewing files that changed from the base of the PR and between 29bcb57 and 4722651.

Files selected for processing: 1
  • patches/viafabricplus-bedrock/upstreamable/0029-share-native-ui-scene-rendering.pr.md

Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.

Replace the unconfirmed glyph-edge lead with native 1.26.60.5 and installed Java controls. Preserve physical scissor precision and complete authored-screen parity as unresolved work.
Retain floating native parent intersections until origin and extent conversion at the framebuffer boundary. Carry physical clip data with each draw and use it for batching while keeping conservative GUI bounds for overlap checks.

Route authored forms, HUD scenes, and containers through the shared path. Native reference masks cover all four clip edges and nested parents; short-label height admission and complete screen appearance remain open.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Additional comments: 1
patches/viafabricplus-bedrock/upstreamable/0029-share-native-ui-scene-rendering.patch-1324-1325: 1

1324-1325: Trivial · Maintainability & Code Quality · Quick win

Unverified finding
Verification ran but could not confirm this finding. It is shown for review, not as a verified issue.

Use an upstream-neutral name for the scissor accessors.

This upstreamable patch adds stackanvil$scissor to the Bedrock add-on API. Rename both accessors and their mixin and call sites to bedrock$scissor, consistent with the existing Bedrock bridge naming. As per path instructions, “Review the patch as upstream source code. Check whether branding or downstream-only changes leaked into a feature patch, and whether later patches can still replay.”

Source: Path instructions

Review info
Run configuration
Commits

Reviewing files that changed from the base of the PR and between 4722651 and 3fa33b4.

Files selected for processing: 4
  • patches/viafabricplus-bedrock/upstreamable/0029-present-authored-native-containers.patch
  • patches/viafabricplus-bedrock/upstreamable/0029-present-authored-native-containers.pr.md
  • patches/viafabricplus-bedrock/upstreamable/0029-share-native-ui-scene-rendering.patch
  • patches/viafabricplus-bedrock/upstreamable/0029-share-native-ui-scene-rendering.pr.md

Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.

@AlexProgrammerDE
AlexProgrammerDE merged commit d46b05a into main Nov 3, 2026
7 checks passed
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.

1 participant