pack: v0.39.1 — bnstoolkit 0.6.1 sub-panel sizing hotfix #79

Merged
Matt merged 1 commits from hotfix/sub-panel-sizing into main 2026-06-08 15:51:32 +00:00
Owner

Summary

Hub screen rendered blank: title + buttons appeared, but the status panel area in between was empty. Same latent bug in every screen with a sub-panel.

Root cause: FTB Library's Panel.refreshWidgets order is addWidgets → recurse-into-children → alignWidgets. Sub-panels got their size set in the parent's alignWidgets — AFTER the recursive refresh had already populated/aligned their children using a 0x0 size. Every Row ended up setSize(0, 12) → invisible.

Fix: pre-size every sub-panel in the parent's addWidgets so the recursive refresh sees correct dimensions. Mechanical change across 6 screens (Hub, TierUpgrade, CountingHouse, BountyBoard, PlotPurchase, QuestLog).

🤖 Generated with Claude Code

## Summary Hub screen rendered blank: title + buttons appeared, but the status panel area in between was empty. Same latent bug in every screen with a sub-panel. **Root cause**: FTB Library's `Panel.refreshWidgets` order is `addWidgets → recurse-into-children → alignWidgets`. Sub-panels got their size set in the parent's `alignWidgets` — AFTER the recursive refresh had already populated/aligned their children using a 0x0 size. Every Row ended up `setSize(0, 12)` → invisible. **Fix**: pre-size every sub-panel in the parent's `addWidgets` so the recursive refresh sees correct dimensions. Mechanical change across 6 screens (Hub, TierUpgrade, CountingHouse, BountyBoard, PlotPurchase, QuestLog). 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Matt added 1 commit 2026-06-08 15:51:32 +00:00
Hub screen showed blank content area: title bar + 3 buttons rendered,
but the status panel in between was empty. Same latent bug affected
every screen with a sub-panel (Tier, Counting House, Bounty, Plot,
Quest Log).

Root cause: FTB Library's Panel.refreshWidgets order is
addWidgets → recurse-into-child-panels.refreshWidgets → alignWidgets.
So when the parent's alignWidgets sets a sub-panel's size, the
sub-panel's children have already aligned themselves using the
sub-panel's pre-size dimensions (0x0). Every Row got setSize(0, 12)
→ invisible.

Fix: size sub-panels BEFORE add() in the parent's addWidgets so the
recursive refreshWidgets sees correct dimensions. Parent's
alignWidgets now only positions the top-level action buttons.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Matt merged commit 68aae5c917 into main 2026-06-08 15:51:32 +00:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: minecraft/brass-and-sigil#79