McRogueFace/tests
John McCardle e3d8f54d46 feat: Implement Phase A UI hierarchy foundations (closes #122, #102, #116, #118)
Parent-Child UI System (#122):
- Add parent weak_ptr to UIDrawable for hierarchy tracking
- Add setParent(), getParent(), removeFromParent() methods
- UICollection now tracks owner and sets parent on append/insert
- Auto-remove from old parent when adding to new collection

Global Position Property (#102):
- Add get_global_position() that walks up parent chain
- Expose as read-only 'global_position' property on all UI types
- Add UIDRAWABLE_PARENT_GETSETTERS macro for consistent bindings

Dirty Flag System (#116):
- Modify markDirty() to propagate up the parent chain
- Add isDirty() and clearDirty() methods for render optimization

Scene as Drawable (#118):
- Add position, visible, opacity properties to Scene
- Add setProperty()/getProperty() for animation support
- Apply scene transformations in PyScene::render()
- Fix lifecycle callbacks to clear errors when methods don't exist
- Add GameEngine::getScene() public accessor

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-27 16:33:17 -05:00
..
benchmarks refactor: comprehensive test suite overhaul and demo system 2025-11-25 23:37:05 -05:00
demo fix: Resolve --exec double script execution bug 2025-11-26 13:20:22 -05:00
geometry_demo fix: Refine geometry demos for 1024x768 and fix animations 2025-11-26 04:54:13 -05:00
integration Squashed commit of the following: [alpha_presentable] 2025-07-15 21:30:49 -04:00
notes feat: Exit on first Python callback exception (closes #133) 2025-11-26 10:26:30 -05:00
regression refactor: comprehensive test suite overhaul and demo system 2025-11-25 23:37:05 -05:00
unit feat: Implement Phase A UI hierarchy foundations (closes #122, #102, #116, #118) 2025-11-27 16:33:17 -05:00
run_tests.py refactor: comprehensive test suite overhaul and demo system 2025-11-25 23:37:05 -05:00