McRogueFace/tests
John McCardle 967ebcf478 feat(rendering): implement RenderTexture base infrastructure and UIFrame clipping (#6)
- Added RenderTexture support to UIDrawable base class
  - std::unique_ptr<sf::RenderTexture> for opt-in rendering
  - Dirty flag system for optimization
  - enableRenderTexture() and markDirty() methods

- Implemented clip_children property for UIFrame
  - Python-accessible boolean property
  - Automatic RenderTexture creation when enabled
  - Proper coordinate transformation for nested frames

- Updated UIFrame::render() for clipping support
  - Renders to RenderTexture when clip_children=true
  - Handles nested clipping correctly
  - Only re-renders when dirty flag is set

- Added comprehensive dirty flag propagation
  - All property setters mark frame as dirty
  - Size changes recreate RenderTexture
  - Animation system integration

- Created tests for clipping functionality
  - Basic clipping test with visual verification
  - Advanced nested clipping test
  - Dynamic resize handling test

This is Phase 1 of the RenderTexture overhaul, providing the foundation
for advanced rendering effects like blur, glow, and viewport rendering.
2025-07-06 16:13:12 -04:00
..
WORKING_automation_test_example.py Squashed commit of the following: [interpreter_mode] 2025-07-05 17:23:09 -04:00
animation_demo.py Squashed commit of the following: [interpreter_mode] 2025-07-05 17:23:09 -04:00
api_createScene_test.py Squashed commit of the following: [interpreter_mode] 2025-07-05 17:23:09 -04:00
api_keypressScene_test.py Squashed commit of the following: [interpreter_mode] 2025-07-05 17:23:09 -04:00
api_sceneUI_test.py Squashed commit of the following: [interpreter_mode] 2025-07-05 17:23:09 -04:00
api_setScene_currentScene_test.py Squashed commit of the following: [interpreter_mode] 2025-07-05 17:23:09 -04:00
api_timer_test.py Squashed commit of the following: [interpreter_mode] 2025-07-05 17:23:09 -04:00
automation_click_issue78_analysis.py Squashed commit of the following: [interpreter_mode] 2025-07-05 17:23:09 -04:00
automation_click_issue78_test.py Squashed commit of the following: [interpreter_mode] 2025-07-05 17:23:09 -04:00
automation_screenshot_test.py Squashed commit of the following: [interpreter_mode] 2025-07-05 17:23:09 -04:00
automation_screenshot_test_simple.py Squashed commit of the following: [interpreter_mode] 2025-07-05 17:23:09 -04:00
debug_render_test.py Squashed commit of the following: [interpreter_mode] 2025-07-05 17:23:09 -04:00
empty_script.py Squashed commit of the following: [interpreter_mode] 2025-07-05 17:23:09 -04:00
exit_immediately_test.py Squashed commit of the following: [interpreter_mode] 2025-07-05 17:23:09 -04:00
force_non_interactive.py Squashed commit of the following: [interpreter_mode] 2025-07-05 17:23:09 -04:00
generate_caption_screenshot_fixed.py Squashed commit of the following: [interpreter_mode] 2025-07-05 17:23:09 -04:00
generate_docs_screenshots.py Squashed commit of the following: [interpreter_mode] 2025-07-05 17:23:09 -04:00
generate_docs_screenshots_simple.py Squashed commit of the following: [interpreter_mode] 2025-07-05 17:23:09 -04:00
generate_entity_screenshot_fixed.py Squashed commit of the following: [interpreter_mode] 2025-07-05 17:23:09 -04:00
generate_grid_screenshot.py Squashed commit of the following: [interpreter_mode] 2025-07-05 17:23:09 -04:00
generate_sprite_screenshot.py Squashed commit of the following: [interpreter_mode] 2025-07-05 17:23:09 -04:00
grid_at_argument_test.py feat(Grid): flexible at() method arguments 2025-07-05 20:35:33 -04:00
issue_9_minimal_test.py Squashed commit of the following: [alpha_streamline_1] 2025-07-05 18:56:02 -04:00
issue_9_rendertexture_resize_test.py Squashed commit of the following: [alpha_streamline_1] 2025-07-05 18:56:02 -04:00
issue_9_simple_test.py Squashed commit of the following: [alpha_streamline_1] 2025-07-05 18:56:02 -04:00
issue_9_test.py Squashed commit of the following: [alpha_streamline_1] 2025-07-05 18:56:02 -04:00
issue_12_gridpoint_instantiation_test.py Squashed commit of the following: [alpha_streamline_1] 2025-07-05 18:56:02 -04:00
issue_26_28_iterator_comprehensive_test.py Squashed commit of the following: [alpha_streamline_1] 2025-07-05 18:56:02 -04:00
issue_37_simple_test.py Squashed commit of the following: [alpha_streamline_1] 2025-07-05 18:56:02 -04:00
issue_37_test.py Squashed commit of the following: [alpha_streamline_1] 2025-07-05 18:56:02 -04:00
issue_37_windows_scripts_comprehensive_test.py Squashed commit of the following: [alpha_streamline_1] 2025-07-05 18:56:02 -04:00
issue_76_test.py Squashed commit of the following: [alpha_streamline_1] 2025-07-05 18:56:02 -04:00
issue_76_uientitycollection_type_test.py Squashed commit of the following: [alpha_streamline_1] 2025-07-05 18:56:02 -04:00
issue_79_color_properties_test.py Squashed commit of the following: [alpha_streamline_1] 2025-07-05 18:56:02 -04:00
issue_80_caption_font_size_test.py Squashed commit of the following: [alpha_streamline_1] 2025-07-05 18:56:02 -04:00
issue_81_sprite_index_standardization_test.py Squashed commit of the following: [alpha_streamline_1] 2025-07-05 18:56:02 -04:00
issue_82_sprite_scale_xy_test.py Squashed commit of the following: [alpha_streamline_1] 2025-07-05 18:56:02 -04:00
issue_83_position_tuple_test.py Squashed commit of the following: [alpha_streamline_1] 2025-07-05 18:56:02 -04:00
issue_84_pos_property_test.py Squashed commit of the following: [alpha_streamline_1] 2025-07-05 18:56:02 -04:00
issue_95_uicollection_repr_test.py Squashed commit of the following: [alpha_streamline_1] 2025-07-05 18:56:02 -04:00
issue_96_uicollection_extend_test.py Squashed commit of the following: [alpha_streamline_1] 2025-07-05 18:56:02 -04:00
issue_99_texture_font_properties_test.py Squashed commit of the following: [alpha_streamline_1] 2025-07-05 18:56:02 -04:00
keypress_scene_validation_test.py Squashed commit of the following: [interpreter_mode] 2025-07-05 17:23:09 -04:00
run_all_tests.sh feat: stabilize test suite and add UIDrawable methods 2025-07-06 09:51:37 -04:00
run_issue_tests.py Squashed commit of the following: [alpha_streamline_1] 2025-07-05 18:56:02 -04:00
screenshot_transparency_fix_test.py Squashed commit of the following: [interpreter_mode] 2025-07-05 17:23:09 -04:00
simple_screenshot_test.py Squashed commit of the following: [interpreter_mode] 2025-07-05 17:23:09 -04:00
simple_timer_screenshot_test.py Squashed commit of the following: [interpreter_mode] 2025-07-05 17:23:09 -04:00
test_frame_clipping.py feat(rendering): implement RenderTexture base infrastructure and UIFrame clipping (#6) 2025-07-06 16:13:12 -04:00
test_frame_clipping_advanced.py feat(rendering): implement RenderTexture base infrastructure and UIFrame clipping (#6) 2025-07-06 16:13:12 -04:00
test_grid_background.py docs: create RenderTexture overhaul design document 2025-07-06 16:00:11 -04:00
test_stdin_theory.py Squashed commit of the following: [interpreter_mode] 2025-07-05 17:23:09 -04:00
trace_exec_behavior.py Squashed commit of the following: [interpreter_mode] 2025-07-05 17:23:09 -04:00
trace_interactive.py Squashed commit of the following: [interpreter_mode] 2025-07-05 17:23:09 -04:00
ui_Entity_issue73_test.py Squashed commit of the following: [interpreter_mode] 2025-07-05 17:23:09 -04:00
ui_Frame_test.py Squashed commit of the following: [interpreter_mode] 2025-07-05 17:23:09 -04:00
ui_Frame_test_detailed.py Squashed commit of the following: [interpreter_mode] 2025-07-05 17:23:09 -04:00
ui_Grid_none_texture_test.py Squashed commit of the following: [interpreter_mode] 2025-07-05 17:23:09 -04:00
ui_Grid_null_texture_test.py Squashed commit of the following: [interpreter_mode] 2025-07-05 17:23:09 -04:00
ui_Grid_test.py Squashed commit of the following: [interpreter_mode] 2025-07-05 17:23:09 -04:00
ui_Grid_test_no_grid.py Squashed commit of the following: [interpreter_mode] 2025-07-05 17:23:09 -04:00
ui_Grid_test_simple.py Squashed commit of the following: [interpreter_mode] 2025-07-05 17:23:09 -04:00
ui_Sprite_issue19_test.py Squashed commit of the following: [interpreter_mode] 2025-07-05 17:23:09 -04:00
ui_UICollection_issue69_test.py Squashed commit of the following: [interpreter_mode] 2025-07-05 17:23:09 -04:00
unified_click_example.cpp feat: implement name system for finding UI elements (#39/40/41) 2025-07-06 12:02:37 -04:00
validate_screenshot_test.py Squashed commit of the following: [interpreter_mode] 2025-07-05 17:23:09 -04:00
working_timer_test.py Squashed commit of the following: [interpreter_mode] 2025-07-05 17:23:09 -04:00