AABB / Hit Testing System #138
Labels
No Label
Alpha Release Requirement
Bugfix
Demo Target
Documentation
Major Feature
Minor Feature
priority:tier1-active
priority:tier2-foundation
priority:tier3-future
Refactoring & Cleanup
system:animation
system:documentation
system:grid
system:input
system:performance
system:python-binding
system:rendering
system:ui-hierarchy
Tiny Feature
workflow:blocked
workflow:needs-benchmark
workflow:needs-documentation
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: john/McRogueFace#138
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Universal axis-aligned bounding box computation for all UIDrawables, enabling mouse event handling and composite bounds calculation.
Context
Mouse events (click, enter, exit) require knowing whether a point is inside an element. Currently hit testing is ad-hoc. This issue creates a consistent AABB system across all drawable types.
Definition of Done
getBounds()returningsf::FloatRectoverflowproperty on UIFrame: when true, clip children to parent bounds during renderboundsproperty returning (x, y, w, h) tuplepoint_in_bounds(drawable, x, y)considering global positionTechnical Notes
Caption Challenge
SFML doesn't provide text bounds until after rendering. Solution:
sf::Text::getLocalBounds()after setting string/fontComposite Bounds
For parent-child hierarchies (post #122):
Overflow Clipping
When
frame.overflow = False(default), children render beyond parent bounds.When
frame.overflow = True, use scissor test or render-to-texture to clip.Dependencies
Related Issues
closed-by:
6d5a5e9e16