- Removed `render_tree_builder` and `render_tree_integration` test directories and their associated CMakeLists and source files.
- Updated `CMakeLists.txt` to exclude the removed test directories.
- Modified buffer creation templates to include `vk::Result` in expected return types for better error handling.
- Added scroll_box class to manage scrolling of content exceeding viewport size.
- Introduced scroll_state class to encapsulate scrolling state and calculations.
- Created scrollbar_manager class to handle scrollbar creation, layout, and updates.
- Developed smooth_scroll_animator class for smooth scrolling animations with easing functions.
- Enhanced child widget management using slots and improved event handling.
- Utilized C++23 features for better code structure and readability.
- Implemented various scrolling modes: vertical, horizontal, and both.
- Added methods for setting scroll offsets, scrolling to specific positions, and querying scroll properties.
- Implemented binary search optimization for rendering commands in HStack and VStack to improve performance when rendering child widgets.
- Enhanced ScrollBox to only tick child widgets that are within the viewport, reducing unnecessary updates.
- Introduced a viewport cache to manage visibility states of widgets, allowing for efficient visibility checks and updates.
- Updated dirty state management in widget states to use a more structured approach with a new dirty_state enum, improving clarity and functionality.
- Added methods to invalidate and manage viewport cache, ensuring that visibility states are accurately maintained during layout changes.
- Marked widgets for re-rendering when their properties change, ensuring visual updates are reflected correctly.