Repository navigation
hud: resolve crosshair target once per frame and cache panel model pe… - #42
Merged
ThoriaDevelopment merged 1 commit intoOct 12, 2026
Conversation
11 of 16 tasks
…r tick (ThoriaDevelopment#30) HudOverlay.render resolved the crosshair target for dwell tracking and renderConfidencePanel resolved it again. Both panels also re-read FlagHistory (tier, score, explanation, alerted checks, flag counts) and rebuilt Text objects every frame. Resolve the target once per frame and pass it down. Build a PanelModel at most once per client tick (or on a target change) shared by the compact panel and the hover tooltip; read the tier from the tracker's per-tick TrackedPlayer.tier cache. Display output is unchanged, at most one tick stale. All paths remain fail-open. AI-assisted: Claude Code (Claude Opus 5.5) wrote the change. Not profiled; not live-tested in runClient.
ThoriaDevelopment
force-pushed
the
fix/hud-per-tick-panel-model
branch
from
October 12, 2026 18:27
2f4536f to
9a950a3
Compare
Rgxaa
added a commit
to Rgxaa/Iustitia
that referenced
this pull request
Oct 15, 2026
…lopment#37/ThoriaDevelopment#32/ThoriaDevelopment#45 conflicts) - HudOverlay: adopt main's per-tick PanelModel architecture (ThoriaDevelopment#42); L10n calls already live in panelModel() from the auto-merge. - YaclScreenBuilder: keep ThresholdBounds-aware thresholdOption (ThoriaDevelopment#32), add the creative-flight-exempt option via new L10n keys (ThoriaDevelopment#37). - IustitiaCommand: keep L10n subcommand rows; update en_us presets / threshold texts to match ThoriaDevelopment#45/ThoriaDevelopment#23. - verify_contribution: keep the generated-key pins (check descriptions, presets, keybind binds, tier labels) now that those call sites are on L10n. - CONTRIBUTING: keep the full-migration wording of the user-facing-text section. - lang: add iustitia.cfg.option.creativeFlightExempt.* to en_us + zh_cn.
5 of 9 tasks
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
Closes #30.
HudOverlay.renderresolved the crosshair target for dwell tracking, andrenderConfidencePanelresolved it again. Both the compact panel and the hover tooltip also re-readFlagHistory(tier, score, explanation, alerted checks, flag counts), which takes locks and allocates, and rebuilt theirTextlines every frame.Changes
PanelModel: header, explanation and FP-hint lines, built at most once per client tick (or on a target change) and shared by the compact panel and the hover tooltip. The tooltip's extra "top flagged checks" line is built lazily, only when the tooltip is shown.TrackedPlayer.tiercache (what the nametag mixins read), falling back toFlagHistory.tierForfor untracked targets.try/catch).Affected areas
Verification
Commands run (branch head
2f4536f):Results:
build/selftest-manifest.jsonbefore the first live run)BUILD SUCCESSFUL, 49 tests, 0 failures, 0 errorsBUILD SUCCESSFULLive client verification
runClientGameTest, andpipeline-smokepassed (1/1).runClientcheck of the confidence panel and hover tooltip with a flagged target, and I haven't profiled the frame-time saving.Safety and privacy review
Documentation and migration
AI assistance
Known limitations and follow-up work
HudOverlay.kt(i18n: add L10n pattern, lang verifier and first migrated call sites #43 moves the same panel strings toL10n). Whichever merges second needs a rebase, and thePanelModellines should then use theL10nkeys.runClientbefore merge.