<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Canvas on CodeKunda Blog</title><link>https://blog.codekunda.com/tags/canvas/</link><description>Recent content in Canvas on CodeKunda Blog</description><generator>Hugo</generator><language>en</language><lastBuildDate>Fri, 06 Nov 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://blog.codekunda.com/tags/canvas/index.xml" rel="self" type="application/rss+xml"/><item><title>Drawing a Tournament Bracket in Flutter: Geometry, CustomPainter, and Team Selection</title><link>https://blog.codekunda.com/posts/flutter-tournament-bracket-custompainter/</link><pubDate>Fri, 06 Nov 2026 00:00:00 +0000</pubDate><guid>https://blog.codekunda.com/posts/flutter-tournament-bracket-custompainter/</guid><description>&lt;p>A tournament bracket looks like a grid until you try to build one. Teams occupy different vertical positions in each round. Two cards converge into one, the right side mirrors the left, and the finalists meet above a champion card. Lines, labels, flags, and tap targets all need to agree about where each card lives.&lt;/p>
&lt;p>BracketIt&amp;rsquo;s Flutter play screen handles this with a geometry generator and separate painters. This article walks through the actual implementation, includes the complete source of the four files, and explains both its useful design choices and its unfinished behavior. This is a review of the existing code, not a rewritten bracket library or a claim that the Flutter application was run for this article.&lt;/p></description></item></channel></rss>