OpenUI MC 0.0.12 - Forge 1.20.1
Curse Maven Snippet
What's new
OpenUI MC 0.0.12
Overflow safety
- Give
Card,Panel, andStyledBoxone protected child-content rectangle shared by layout, painting, and descendant hit-testing so clipped-away pixels are never interactive. - Make rounded surfaces use a radius-safe rectangular content region, preventing low-padding descendants from painting over rounded border arcs or transparent corner pixels; safe geometry now clamps oversized/pill radii exactly like the renderer instead of over-reserving content space. Auto-sized Card/Panel/StyledBox intrinsic measurement now converges against that same renderer-clamped geometry instead of inflating from the raw configured radius.
- Make
StyledBoxrender its configured multi-pixelborderWidthand reserve the renderer-clamped effective border width in child layout/clipping. - Keep Card's one-pixel focus/selection outline gutter stable across transient state changes so focusing or selecting a zero-padding card never reflows its child content.
- Keep
VStack,HStack, andStacknon-clipping/non-scrollable by default; scrolling remains explicit throughUi.scroll(...). - Preserve elevated shadows outside the child clip and preserve dropdowns, popovers, tooltips, dialogs, toasts, and drag feedback as independent overlay roots.
- Prevent vanilla
Screen.mouseClickedfallback from dispatching directly to OpenUI-owned nativeEditBoxwidgets after clip-aware runtime hit-testing rejects the click; unrelated vanilla screen children still retain fallback handling. - Make focus traversal/programmatic focus and keyboard routing reject descendants whose entire laid-out rectangle is removed by an ancestor child clip; preserve zero-size pre-layout focus setup and make focus validation re-entrant-safe for focus-aware
StyledBoxstyles. - Propagate hover through ancestor child clips so fully clipped overflow descendants cannot enter/retain hover state, fire hover events, or trigger hover-driven state/layout changes.
- Make all legacy
childrenMouse*forwarding helpers honor an opted-in child clip for click, scroll, drag, and release, closing the remainingPaneloverflow-input bypass. - Track whether component bounds have actually been established so pre-layout focus setup remains valid while real
0?N/N?0laid-out controls are excluded from focus and keyboard routing. - Treat
ScrollViewas a keyboard-focus viewport rather than invalid overflow: off-screen descendants remain traversable/focusable, newly focused descendants auto-scroll into view, and manually scrolling an already-focused descendant off-screen no longer clears keyboard focus. - Resolve ScrollView focus reveals during layout instead of from focus-time coordinates, so pre-layout initial focus is revealed after overflow is known and nested ScrollViews reveal inner-to-outer from fresh geometry without overshoot.
- Limit the ScrollView focus exemption to vertical overflow: horizontally clipped descendants must still intersect the viewport because ScrollView has no horizontal reveal path.
Diagnostics
- Add inspector/JVM-property development warnings for bounded non-scroll overflow without adding production measurement cost when diagnostics are disabled.
- Suppress overflow advice for constraint-managed/flex subtrees and
fillHeight()sentinel measurements so the documentedcolumn(header, scroll(body).flex())pattern does not produce false warnings. - Publish
LayoutDiagnosticsas an explicit@PublicApidevelopment/tooling surface introduced in 0.0.12.
Compatibility and verification
- Advance the primary released JVM ABI baseline from 0.0.9 to 0.0.11 while retaining the 0.0.7 legacy baseline; teach the checker to exclude classes/members explicitly marked
@Internalso implementation hooks do not become accidental compatibility commitments. - Add render-path regressions across 1.20.1, 1.21.1, and 26.1.2 for real scissor push/pop, nested intersection/restoration, protected content clips, explicit scrolling, and overlay escape behavior.
- Add regressions proving flexed explicit-scroll and direct
fillHeight()layouts do not emit false overflow diagnostics. - Refresh dependency, release, clipping, and custom-surface documentation for the current GitHub Packages/release workflow.
All Relations
- All Relations
- Embedded Library
- Optional Dependency
- Required Dependency
- Tool
- Incompatible
- Include
This mod has no related projects

