fix: paint root canvas in Win32 renderer - #4
Conversation
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (1)
Included review availability: Your plan provides up to 10 included reviews per hour; 9 remain after this review. 📝 WalkthroughWalkthroughSurface painting now draws a canvas owner into the surface client area. Surface synchronization also invalidates the surface when its owner is a canvas. ChangesCanvas-owned surface rendering
Priority: ➖ Normal Estimated code review effort: 2 (Simple) | ~8 minutes Change: Bug fix Suggested reviewers: Merge Risk: ⚪ Minimal · up to The Win32 root-canvas path now paints the owner buffer before its descendants. No demonstrated rendering failure warrants holding the merge. 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches 💡 1📝 Generate docstrings 💡
🧪 Generate unit tests (beta)
Comment |
Problem
Canvas apps with a canvas as the mounted root build on Windows but display a blank window. Win32 declines the batched present path, so the framework replays drawing into the canvas buffer. The native surface painter draws the root's children but skips the root canvas itself, and the repaint condition only counts canvas descendants.
Change
Paint a canvas root before its children and include it in the existing canvas repaint condition. Other root types keep the same path.
Verification
The three example manifests do not currently declare Windows support. This fixes the observed canvas rendering gap when those apps are built for Windows.
Summary by CodeRabbit