Restore visual parity and optimize packet-only displays#3
Merged
Conversation
Member
Phase 2 validation updateImplemented and pushed the three experimental paths, all default-off:
CIClient compatibility smoke tests
Preliminary block-update comparison30-second steady samples:
This is 97.3% fewer block checks and 84.3–93.6% lower measured plugin block-update time. B1 also reduced mean MSPT from 4.115 to 2.921 ms versus A1, but B2 had to run with a 1 GiB heap after host native-memory pressure, so whole-tick MSPT is not treated as a valid paired conclusion. Remaining merge gates
Keeping the PR draft until those separate capture/compatibility gates are complete. |
Arbousier1
marked this pull request as ready for review
July 14, 2026 14:45
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.
Summary
This PR restores the original visual behavior while reducing display-side packet and tick cost.
TextDisplayentities with the original name-tag geometry and style, without real server-sideTextDisplayorArmorStandentitiesValidation — current HEAD
b3c2453Local CI-equivalent validation passed:
.\gradlew.bat check shadowJar --no-daemon --no-build-cache --rerun-tasks5EDBA1024120162F3B1B4EB82955742E249EDAC784932D71070A643820701D4D659B5990F931638A0A82DE172EA1E03303379D7D024522728D6918C65927DD23Minecraft 26.1.2 runtime/protocol checks
An isolated Paper gallery server plus a real protocol client verified:
TextDisplay/ArmorStand(151.5, -51.25, 14.2),(151.5, -51.5, 14.2)(153.5, -51.25, 14.2),(153.5, -51.5, 14.2)(1,1,1), translation(-0.025,-0.225,0), fixed billboard, background/see-through/shadow behavior, and 200 px line widthThe initial long-form Brewing Stand pass reached that scene after its potion fixture had completed, producing a fixture-only zero-label result. Replaying three potions with zero fuel against the same final JAR produced exactly one virtual legacy label and passed every protocol/cleanup check.
Performance smoke checks
On the isolated one-player gallery server:
No tick exceeded 50 ms and the client remained connected without errors. These are diagnostic smoke measurements.
Fresh GitHub ABBA results on
b3c2453The four-run restart-isolated campaigns passed their merge gates:
The deterministic Paper A/B suite completed 1,618/1,618 cases: cramping won 6/6 (minimum 1.397×), production visibility won 702/702 (median 7.831×), and production-range visibility won 102/102 (median 1.969×). The four-run ABBA campaigns are merge/smoke gates, not substitutes for a formal 12-run production campaign.
Rollout safety
The behavior-changing paths remain disabled in the bundled configuration:
Settings.Performance.VirtualItems.StaticAnchorDuringAnimationfalseSettings.Performance.VirtualItems.PacketOnlyStaticfalseSettings.Performance.VisibilityRateLimit.EnabledfalseSettings.Performance.BlockUpdates.EventDrivenfalseEntities.Item.Options.VisibilityCulling.EnabledfalseEntities.Item.Options.VisibilityRateLimit.EnabledfalseGitHub merge gate — passed on current HEAD
b3c2453GitHub reports the PR as mergeable with no failing or pending required checks. It remains Draft only for the maintainer's final merge-state decision.