<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <channel>
        <title>The Wall Documentation Hub Blog</title>
        <link>https://the-wall-docs.tools.flutter.com/news</link>
        <description>The Wall Documentation Hub Blog</description>
        <lastBuildDate>Tue, 02 Jun 2026 00:00:00 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>en</language>
        <item>
            <title><![CDATA[The-Wall Now Speaks to Your AI Agent]]></title>
            <link>https://the-wall-docs.tools.flutter.com/news/2026/06/02/storybook-mcp</link>
            <guid>https://the-wall-docs.tools.flutter.com/news/2026/06/02/storybook-mcp</guid>
            <pubDate>Tue, 02 Jun 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[We've added the official @storybook/addon-mcp to the web package. It turns our running Storybook into an MCP server, letting AI coding agents (Claude Code, Cursor, Copilot, etc.) discover and reuse our real design system components instead of inventing their own.]]></description>
            <content:encoded><![CDATA[<p>We've added the official <a href="https://storybook.js.org/docs/ai/mcp/overview" target="_blank" rel="noopener noreferrer"><code>@storybook/addon-mcp</code></a> to the web package. It turns our running Storybook into an MCP server, letting AI coding agents (Claude Code, Cursor, Copilot, etc.) discover and reuse our real design system components instead of inventing their own.</p>
<h2 class="anchor anchorWithStickyNavbar_fF9Z" id="what-is-it">What Is It<a href="https://the-wall-docs.tools.flutter.com/news/2026/06/02/storybook-mcp#what-is-it" class="hash-link" aria-label="Direct link to What Is It" title="Direct link to What Is It">​</a></h2>
<p>MCP (Model Context Protocol) is a standard way for AI tools to talk to external systems. The Storybook MCP addon exposes our component catalog over that protocol: while Storybook is running, it serves an MCP endpoint that an agent can connect to and query.</p>
<p>In practice, the agent stops guessing what a <code>PrimaryButton</code> looks like or which props <code>QuickStakes</code> accepts — it asks Storybook directly and gets the real stories, args, and source.</p>
<h2 class="anchor anchorWithStickyNavbar_fF9Z" id="what-this-unlocks">What This Unlocks<a href="https://the-wall-docs.tools.flutter.com/news/2026/06/02/storybook-mcp#what-this-unlocks" class="hash-link" aria-label="Direct link to What This Unlocks" title="Direct link to What This Unlocks">​</a></h2>
<ul>
<li><strong>Grounded UI generation</strong> — Agents build screens from our actual components and props, not hallucinated APIs.</li>
<li><strong>Self-serve component discovery</strong> — "What do we have for X?" is answered from the live story catalog.</li>
<li><strong>Accurate prop usage</strong> — Variants, required props, and defaults come straight from the stories.</li>
<li><strong>Less back-and-forth</strong> — Fewer wrong imports and invented props means less time correcting AI output.</li>
</ul>
<h2 class="anchor anchorWithStickyNavbar_fF9Z" id="getting-started">Getting Started<a href="https://the-wall-docs.tools.flutter.com/news/2026/06/02/storybook-mcp#getting-started" class="hash-link" aria-label="Direct link to Getting Started" title="Direct link to Getting Started">​</a></h2>
<p>Run Storybook locally as usual, then point your AI tool at the MCP endpoint it exposes: <code>http://localhost:8000/mcp</code>.</p>
<h3 class="anchor anchorWithStickyNavbar_fF9Z" id="claude-code">Claude Code<a href="https://the-wall-docs.tools.flutter.com/news/2026/06/02/storybook-mcp#claude-code" class="hash-link" aria-label="Direct link to Claude Code" title="Direct link to Claude Code">​</a></h3>
<p>Add it as an HTTP MCP server from the terminal:</p>
<div class="language-bash codeBlockContainer_ZGJx theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_kX1v"><pre tabindex="0" class="prism-code language-bash codeBlock_TAPP thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_AdAo"><span class="token-line" style="color:#393A34"><span class="token plain">claude mcp add --transport http storybook http://localhost:8000/mcp</span><br></span></code></pre></div></div>
<h3 class="anchor anchorWithStickyNavbar_fF9Z" id="cursor">Cursor<a href="https://the-wall-docs.tools.flutter.com/news/2026/06/02/storybook-mcp#cursor" class="hash-link" aria-label="Direct link to Cursor" title="Direct link to Cursor">​</a></h3>
<p>Add the server to your <code>.cursor/mcp.json</code> (project) or <code>~/.cursor/mcp.json</code> (global):</p>
<div class="language-json codeBlockContainer_ZGJx theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_kX1v"><pre tabindex="0" class="prism-code language-json codeBlock_TAPP thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_AdAo"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token property" style="color:#36acaa">"mcpServers"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token property" style="color:#36acaa">"storybook"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">      </span><span class="token property" style="color:#36acaa">"url"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://localhost:8000/mcp"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre></div></div>
<p>Then enable <strong>storybook</strong> under <em>Settings → MCP</em>.</p>
<h3 class="anchor anchorWithStickyNavbar_fF9Z" id="vs-code">VS Code<a href="https://the-wall-docs.tools.flutter.com/news/2026/06/02/storybook-mcp#vs-code" class="hash-link" aria-label="Direct link to VS Code" title="Direct link to VS Code">​</a></h3>
<p>With GitHub Copilot's agent mode, add the server to <code>.vscode/mcp.json</code>:</p>
<div class="language-json codeBlockContainer_ZGJx theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_kX1v"><pre tabindex="0" class="prism-code language-json codeBlock_TAPP thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_AdAo"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token property" style="color:#36acaa">"servers"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token property" style="color:#36acaa">"storybook"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">      </span><span class="token property" style="color:#36acaa">"type"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">      </span><span class="token property" style="color:#36acaa">"url"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://localhost:8000/mcp"</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre></div></div>
<p>Start the server from the MCP view (or the <em>MCP: List Servers</em> command), then use it from the Chat panel in Agent mode.</p>
<blockquote>
<p><strong>Note:</strong> Storybook must be running for the endpoint to be reachable. Start your AI tool's MCP connection after Storybook is up.</p>
</blockquote>
<h2 class="anchor anchorWithStickyNavbar_fF9Z" id="examples-of-usage">Examples of Usage<a href="https://the-wall-docs.tools.flutter.com/news/2026/06/02/storybook-mcp#examples-of-usage" class="hash-link" aria-label="Direct link to Examples of Usage" title="Direct link to Examples of Usage">​</a></h2>
<p>Once connected, try prompts like:</p>
<ul>
<li><em>"Give me all the buttons we have."</em> — the agent lists every button component in the catalog (<code>PrimaryButton</code>, <code>SecondaryButton</code>, <code>SportsbookBetButton</code>, …) with their variants and props.</li>
<li><em>"Using our design system, build a bet confirmation screen with a primary action and a secondary cancel."</em> — the agent pulls <code>PrimaryButton</code> / <code>SecondaryButton</code> with correct props.</li>
<li><em>"What <code>PrimaryButton</code> variants do we have, and which props are required?"</em> — answered from the live story catalog.</li>
<li><em>"Add a stake selector to this view."</em> — the agent finds <code>QuickStakes</code> and wires it up with valid args.</li>
<li><em>"Show me how <code>Switch</code> is used in its stories."</em> — the agent reads the real story source instead of guessing.</li>
</ul>
<h2 class="anchor anchorWithStickyNavbar_fF9Z" id="why-this-matters">Why This Matters<a href="https://the-wall-docs.tools.flutter.com/news/2026/06/02/storybook-mcp#why-this-matters" class="hash-link" aria-label="Direct link to Why This Matters" title="Direct link to Why This Matters">​</a></h2>
<p>A design system only delivers value when teams actually reuse its components. By making Storybook readable by AI agents, we close the gap between "ask an agent for a UI" and "get a UI built on The Wall." Less reinvention, more consistency, and faster delivery — directly from the source of truth.</p>
<h2 class="anchor anchorWithStickyNavbar_fF9Z" id="links">Links<a href="https://the-wall-docs.tools.flutter.com/news/2026/06/02/storybook-mcp#links" class="hash-link" aria-label="Direct link to Links" title="Direct link to Links">​</a></h2>
<ul>
<li><a href="https://storybook.js.org/docs/ai/mcp/overview" target="_blank" rel="noopener noreferrer">Storybook MCP Addon</a></li>
<li><a href="https://modelcontextprotocol.io/" target="_blank" rel="noopener noreferrer">Model Context Protocol</a></li>
</ul>]]></content:encoded>
            <category>storybook</category>
            <category>dx</category>
            <category>tooling</category>
            <category>ai</category>
        </item>
        <item>
            <title><![CDATA[Docusaurus vs Supernova vs Zeroheight]]></title>
            <link>https://the-wall-docs.tools.flutter.com/news/2026/05/13/docusaurus-stays</link>
            <guid>https://the-wall-docs.tools.flutter.com/news/2026/05/13/docusaurus-stays</guid>
            <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[We Evaluated Supernova and Zeroheight — We're Staying on Docusaurus]]></description>
            <content:encoded><![CDATA[<p>We Evaluated Supernova and Zeroheight — We're Staying on Docusaurus</p>
<p>After a structured evaluation of third-party design system documentation platforms, we've decided to keep our current stack: <strong>Figma + Storybook + Style Dictionary + Docusaurus</strong>.</p>
<h2 class="anchor anchorWithStickyNavbar_fF9Z" id="what-we-evaluated">What We Evaluated<a href="https://the-wall-docs.tools.flutter.com/news/2026/05/13/docusaurus-stays#what-we-evaluated" class="hash-link" aria-label="Direct link to What We Evaluated" title="Direct link to What We Evaluated">​</a></h2>
<p>We looked at two SaaS alternatives that have been gaining traction in the design system space:</p>
<ul>
<li><strong>Supernova</strong> — a documentation + token platform with a WYSIWYG editor and direct Figma sync</li>
<li><strong>Zeroheight</strong> — a similar SaaS offering aimed at bridging design and development documentation</li>
</ul>
<p>Both promise to reduce the friction of authoring docs and keeping tokens in sync with Figma. Both replace Docusaurus as the documentation layer.</p>
<h2 class="anchor anchorWithStickyNavbar_fF9Z" id="why-were-staying">Why We're Staying<a href="https://the-wall-docs.tools.flutter.com/news/2026/05/13/docusaurus-stays#why-were-staying" class="hash-link" aria-label="Direct link to Why We're Staying" title="Direct link to Why We're Staying">​</a></h2>
<p>After a head-to-head comparison across 11 decision drivers, the result was close — <strong>6–5</strong>. On raw numbers alone, the case for migrating was real. What broke the tie was AI integration.</p>
<h2 class="anchor anchorWithStickyNavbar_fF9Z" id="the-decisive-factor-ai-integration">The Decisive Factor: AI Integration<a href="https://the-wall-docs.tools.flutter.com/news/2026/05/13/docusaurus-stays#the-decisive-factor-ai-integration" class="hash-link" aria-label="Direct link to The Decisive Factor: AI Integration" title="Direct link to The Decisive Factor: AI Integration">​</a></h2>
<p>Our docs are MDX files on disk in a Git repo. Claude Code, Cursor, and any MCP-based agent can read, write, refactor, and generate pages natively — no glue code, no custom integration, no API wrappers. That's not a small thing.</p>
<p>With Supernova or Zeroheight, content lives behind a vendor API. There is no first-party MCP server for either platform (as of May 2025). To get the same agent access we have today, we'd need to build and maintain our own integration layer. The delta between "agent can touch your files" and "agent has to call an API you built yourself" is compounding every quarter as we invest more in AI-assisted workflows.</p>
<p>Some concrete things that work today and would break with a platform migration:</p>
<ul>
<li>Claude Code reads and writes MDX pages natively via the filesystem</li>
<li>Cursor indexes the full docs repo for inline suggestions and refactors</li>
<li>Any MCP filesystem or GitHub server works out of the box</li>
<li>Bulk content changes are a script, not a support ticket</li>
<li>Docs are grep-able, diff-able, and reviewable in PRs</li>
</ul>
<p><strong>"Docs as files in Git" is increasingly an asset. We're not giving that up.</strong></p>
<h2 class="anchor anchorWithStickyNavbar_fF9Z" id="other-reasons-were-staying">Other Reasons We're Staying<a href="https://the-wall-docs.tools.flutter.com/news/2026/05/13/docusaurus-stays#other-reasons-were-staying" class="hash-link" aria-label="Direct link to Other Reasons We're Staying" title="Direct link to Other Reasons We're Staying">​</a></h2>
<h3 class="anchor anchorWithStickyNavbar_fF9Z" id="full-ownership-zero-lock-in">Full ownership, zero lock-in<a href="https://the-wall-docs.tools.flutter.com/news/2026/05/13/docusaurus-stays#full-ownership-zero-lock-in" class="hash-link" aria-label="Direct link to Full ownership, zero lock-in" title="Direct link to Full ownership, zero lock-in">​</a></h3>
<p>Our content is static HTML and Markdown in Git — version-controlled, diffable, grep-able, deployable anywhere. Both Supernova and Zeroheight store content in their cloud. Export paths exist, but you lose the authoring UX and all automations on the way out. The switching cost compounds over time.</p>
<h3 class="anchor anchorWithStickyNavbar_fF9Z" id="cost">Cost<a href="https://the-wall-docs.tools.flutter.com/news/2026/05/13/docusaurus-stays#cost" class="hash-link" aria-label="Direct link to Cost" title="Direct link to Cost">​</a></h3>
<p>Our current stack costs <strong>$0 in licensing</strong>. A 10-editor Pro plan on Supernova runs ~$2,880–$4,320/year. That's real budget for modest gain. The true cost of Docusaurus is engineering maintenance time (estimated at 2–5 dev-days/year), which we already absorb.</p>
<h3 class="anchor anchorWithStickyNavbar_fF9Z" id="versioning-and-i18n">Versioning and i18n<a href="https://the-wall-docs.tools.flutter.com/news/2026/05/13/docusaurus-stays#versioning-and-i18n" class="hash-link" aria-label="Direct link to Versioning and i18n" title="Direct link to Versioning and i18n">​</a></h3>
<p>Docusaurus ships first-class versioned docs and i18n support. Both evaluated platforms have weaker or plan-gated equivalents.</p>
<h3 class="anchor anchorWithStickyNavbar_fF9Z" id="custom-ux-and-components">Custom UX and components<a href="https://the-wall-docs.tools.flutter.com/news/2026/05/13/docusaurus-stays#custom-ux-and-components" class="hash-link" aria-label="Direct link to Custom UX and components" title="Direct link to Custom UX and components">​</a></h3>
<p>Our MDX pages use custom React components — recharts for token charts, interactive tables, image zoom. A block-based SaaS editor can't replicate this without a custom block API, which is bounded by the vendor's schema.</p>
<h3 class="anchor anchorWithStickyNavbar_fF9Z" id="search">Search<a href="https://the-wall-docs.tools.flutter.com/news/2026/05/13/docusaurus-stays#search" class="hash-link" aria-label="Direct link to Search" title="Direct link to Search">​</a></h3>
<p>We run Lunr today and can upgrade to Algolia DocSearch (free for open projects) with a drop-in config change. Neither Supernova nor Zeroheight's built-in search matches that.</p>
<h2 class="anchor anchorWithStickyNavbar_fF9Z" id="where-the-alternatives-win">Where the Alternatives Win<a href="https://the-wall-docs.tools.flutter.com/news/2026/05/13/docusaurus-stays#where-the-alternatives-win" class="hash-link" aria-label="Direct link to Where the Alternatives Win" title="Direct link to Where the Alternatives Win">​</a></h2>
<p>To be honest about the trade-offs:</p>
<ul>
<li><strong>Authoring friction</strong> — designers can't edit MDX without filing a PR or asking engineering. Supernova's WYSIWYG editor solves this directly.</li>
<li><strong>Maintenance overhead</strong> — Docusaurus upgrades, React version drift, broken plugins, and lunr quirks are a real ongoing tax. With a SaaS, that burden shifts to the vendor.</li>
<li><strong>Documentation quality out-of-the-box</strong> — token tables, component specs, and asset pages come pre-built and Figma-synced on both platforms. With Docusaurus we build and maintain those ourselves.</li>
<li><strong>Figma → token → docs parity</strong> — both platforms sync Figma variables natively; our current pipeline (Figma → Style Dictionary → docs) has manual steps.</li>
<li><strong>Speed to publish</strong> — editing in a SaaS is minutes; our Git-based flow is hours.</li>
</ul>
<p>These are real pain points. If docs were consistently falling out of date because designers can't make changes themselves, the calculation would be different.</p>
<h2 class="anchor anchorWithStickyNavbar_fF9Z" id="what-were-doing-instead">What We're Doing Instead<a href="https://the-wall-docs.tools.flutter.com/news/2026/05/13/docusaurus-stays#what-were-doing-instead" class="hash-link" aria-label="Direct link to What We're Doing Instead" title="Direct link to What We're Doing Instead">​</a></h2>
<p>Rather than migrate platforms, we're addressing the authoring friction within our current stack:</p>
<ul>
<li>Improving Style Dictionary automation to reduce token drift</li>
<li>Documenting a lightweight contribution guide for non-engineers</li>
<li>Exploring AI-assisted doc generation (Claude Code already reads and writes our MDX)</li>
</ul>
<h2 class="anchor anchorWithStickyNavbar_fF9Z" id="decision-scorecard">Decision Scorecard<a href="https://the-wall-docs.tools.flutter.com/news/2026/05/13/docusaurus-stays#decision-scorecard" class="hash-link" aria-label="Direct link to Decision Scorecard" title="Direct link to Decision Scorecard">​</a></h2>
<table><thead><tr><th>Driver</th><th>Winner</th></tr></thead><tbody><tr><td>Cost</td><td>Current stack</td></tr><tr><td>Ownership &amp; portability</td><td>Current stack</td></tr><tr><td>AI agent integration</td><td>Current stack</td></tr><tr><td>Versioning &amp; i18n</td><td>Current stack</td></tr><tr><td>Search</td><td>Current stack</td></tr><tr><td>Custom UX &amp; components</td><td>Current stack</td></tr><tr><td>Authoring ease</td><td>Supernova/Zeroheight</td></tr><tr><td>Maintenance overhead</td><td>Supernova/Zeroheight</td></tr><tr><td>Docs quality out-of-the-box</td><td>Supernova/Zeroheight</td></tr><tr><td>Figma/token parity</td><td>Supernova/Zeroheight</td></tr><tr><td>Speed to publish</td><td>Supernova/Zeroheight</td></tr></tbody></table>
<p><strong>Final score: 6–5 in favour of the current stack.</strong> The margin is narrow — AI agent integration was the tiebreaker. Without it, the case for migrating was credible.</p>
<h2 class="anchor anchorWithStickyNavbar_fF9Z" id="revisiting-this-decision">Revisiting This Decision<a href="https://the-wall-docs.tools.flutter.com/news/2026/05/13/docusaurus-stays#revisiting-this-decision" class="hash-link" aria-label="Direct link to Revisiting This Decision" title="Direct link to Revisiting This Decision">​</a></h2>
<p>We'll revisit if any of the following changes:</p>
<ul>
<li>Token drift becomes a persistent, high-frequency complaint from design</li>
<li>Supernova ships a first-party MCP server that makes it agent-friendly</li>
<li>Budget allocation shifts and licensing cost is no longer a blocker</li>
</ul>]]></content:encoded>
            <category>tooling</category>
            <category>dx</category>
        </item>
        <item>
            <title><![CDATA[Haptics For Delightful Experiences]]></title>
            <link>https://the-wall-docs.tools.flutter.com/news/2026/05/07/haptics-api</link>
            <guid>https://the-wall-docs.tools.flutter.com/news/2026/05/07/haptics-api</guid>
            <pubDate>Thu, 07 May 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[The Wall now provides a Haptics API for native apps, enabling tactile feedback that enhances user interactions across iOS and Android devices.]]></description>
            <content:encoded><![CDATA[<p>The Wall now provides a Haptics API for native apps, enabling tactile feedback that enhances user interactions across iOS and Android devices.</p>
<h2 class="anchor anchorWithStickyNavbar_fF9Z" id="what-it-does">What It Does<a href="https://the-wall-docs.tools.flutter.com/news/2026/05/07/haptics-api#what-it-does" class="hash-link" aria-label="Direct link to What It Does" title="Direct link to What It Does">​</a></h2>
<p>The Haptics API lets you trigger haptic feedback in response to user actions like button taps, successful transactions, or error states. It supports multiple feedback types: interaction, impact (light to heavy), and notifications (success, warning, error).</p>
<p>The API respects operating system haptic settings, so users who disable system haptics won't receive feedback.</p>
<h2 class="anchor anchorWithStickyNavbar_fF9Z" id="getting-started">Getting Started<a href="https://the-wall-docs.tools.flutter.com/news/2026/05/07/haptics-api#getting-started" class="hash-link" aria-label="Direct link to Getting Started" title="Direct link to Getting Started">​</a></h2>
<p>Use the <a href="https://the-wall-docs.tools.flutter.com/docs/components/hooks/use-haptics"><code>useHaptics</code></a> hook in React components or the <a href="https://the-wall-docs.tools.flutter.com/docs/components/api/haptics">Haptics API</a> directly for non-component code.</p>
<p>Haptics are disabled by default. Enable them globally during app initialization with <code>setHapticsEnabled(true)</code>.</p>
<h2 class="anchor anchorWithStickyNavbar_fF9Z" id="built-in-support">Built-in Support<a href="https://the-wall-docs.tools.flutter.com/news/2026/05/07/haptics-api#built-in-support" class="hash-link" aria-label="Direct link to Built-in Support" title="Direct link to Built-in Support">​</a></h2>
<p>Several shared components now include haptic feedback automatically, including <code>PrimaryButton</code>, <code>SecondaryButton</code>, <code>Key</code>, <code>QuickStakes</code>, <code>SportsbookBetButton</code>, and <code>Switch</code>.</p>
<h2 class="anchor anchorWithStickyNavbar_fF9Z" id="why-this-matters">Why This Matters<a href="https://the-wall-docs.tools.flutter.com/news/2026/05/07/haptics-api#why-this-matters" class="hash-link" aria-label="Direct link to Why This Matters" title="Direct link to Why This Matters">​</a></h2>
<p>Haptic feedback is part of our Delightful Experiences initiative, creating more engaging, responsive interactions. It provides immediate physical confirmation of actions, making them feel more natural and satisfying—especially valuable for high-stakes moments like placing bets or completing transactions.</p>]]></content:encoded>
            <category>ux</category>
        </item>
        <item>
            <title><![CDATA[PR Template]]></title>
            <link>https://the-wall-docs.tools.flutter.com/news/2026/04/14/pr-template</link>
            <guid>https://the-wall-docs.tools.flutter.com/news/2026/04/14/pr-template</guid>
            <pubDate>Tue, 14 Apr 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[We've updated our PR template with known issues and guidance on how to handle them. This was a request from contributors, as the PR template is a natural place to surface this information.]]></description>
            <content:encoded><![CDATA[<p>We've updated our PR template with known issues and guidance on how to handle them. This was a request from contributors, as the PR template is a natural place to surface this information.</p>
<h2 class="anchor anchorWithStickyNavbar_fF9Z" id="what-it-does">What It Does<a href="https://the-wall-docs.tools.flutter.com/news/2026/04/14/pr-template#what-it-does" class="hash-link" aria-label="Direct link to What It Does" title="Direct link to What It Does">​</a></h2>
<p>Whenever you open a PR, an automatic template is created for contributors to fill in with details about the scope of their work.
This update adds a new informational section that highlights known issues in the CI pipeline and provides steps on how to address them.</p>
<p><img decoding="async" loading="lazy" alt="PR_Template" src="https://the-wall-docs.tools.flutter.com/assets/images/pr-template-dca5e562779506d2281b9f9a56cf0acc.png" width="847" height="870" class="img__Ss2"></p>
<p><img decoding="async" loading="lazy" alt="PR_Template_Acc" src="https://the-wall-docs.tools.flutter.com/assets/images/pr-template-acessibility-bda55342414122e2dbeab2b4726b01ff.png" width="864" height="771" class="img__Ss2"></p>
<p><img decoding="async" loading="lazy" alt="PR_Template_Visual" src="https://the-wall-docs.tools.flutter.com/assets/images/pr-template-visual-tests-318a46128fc5e7d87fb345da9384d712.png" width="839" height="684" class="img__Ss2"></p>
<h2 class="anchor anchorWithStickyNavbar_fF9Z" id="important-notes">Important Notes<a href="https://the-wall-docs.tools.flutter.com/news/2026/04/14/pr-template#important-notes" class="hash-link" aria-label="Direct link to Important Notes" title="Direct link to Important Notes">​</a></h2>
<p>We're currently testing this approach in the PR template. If you think this information would be more effective elsewhere, let the maintainers know!</p>
<h2 class="anchor anchorWithStickyNavbar_fF9Z" id="why-this-matters">Why This Matters<a href="https://the-wall-docs.tools.flutter.com/news/2026/04/14/pr-template#why-this-matters" class="hash-link" aria-label="Direct link to Why This Matters" title="Direct link to Why This Matters">​</a></h2>
<p>Some CI workflows fail intermittently on contributor PRs due to issues maintainers are actively investigating.
The known issues section acts as a preventive measure, helping contributors stay focused on their work and quickly determine whether test, baseline, or workflow inconsistencies are related to their changes or to a pre-existing issue.</p>]]></content:encoded>
            <category>tooling</category>
            <category>dx</category>
        </item>
        <item>
            <title><![CDATA[Semantic Tokens Now Available]]></title>
            <link>https://the-wall-docs.tools.flutter.com/news/2026/03/06/semantic-tokens</link>
            <guid>https://the-wall-docs.tools.flutter.com/news/2026/03/06/semantic-tokens</guid>
            <pubDate>Fri, 06 Mar 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[The Wall design system now exports semantic tokens, giving you more flexibility and creativity while maintaining consistency across your application.]]></description>
            <content:encoded><![CDATA[<p>The Wall design system now exports semantic tokens, giving you more flexibility and creativity while maintaining consistency across your application.</p>
<h2 class="anchor anchorWithStickyNavbar_fF9Z" id="what-are-semantic-tokens">What Are Semantic Tokens?<a href="https://the-wall-docs.tools.flutter.com/news/2026/03/06/semantic-tokens#what-are-semantic-tokens" class="hash-link" aria-label="Direct link to What Are Semantic Tokens?" title="Direct link to What Are Semantic Tokens?">​</a></h2>
<p>Semantic tokens are design tokens that carry meaning beyond their raw values. Instead of using a color like <code>#1a73e8</code>, you use a token like <code>SmColoursBackgroundStaticNeutralBase</code> that describes its purpose. This makes your code more readable and ensures consistent theming across your application.</p>
<h2 class="anchor anchorWithStickyNavbar_fF9Z" id="theming-made-simple">Theming Made Simple<a href="https://the-wall-docs.tools.flutter.com/news/2026/03/06/semantic-tokens#theming-made-simple" class="hash-link" aria-label="Direct link to Theming Made Simple" title="Direct link to Theming Made Simple">​</a></h2>
<p>The semantic tokens adapt automatically when you switch themes. Use the same token names across different themes, and they update their values to match the active theme. This means you write your styling code once and it works across all supported brands.</p>
<p>You can find the semantic tokens in the <a href="https://github.com/Flutter-Global/the-wall/tree/main/packages/the-wall-design-tokens/generated" target="_blank" rel="noopener noreferrer">themes</a> under the <code>semantic</code> directory.</p>
<h2 class="anchor anchorWithStickyNavbar_fF9Z" id="how-to-use-them">How to Use Them<a href="https://the-wall-docs.tools.flutter.com/news/2026/03/06/semantic-tokens#how-to-use-them" class="hash-link" aria-label="Direct link to How to Use Them" title="Direct link to How to Use Them">​</a></h2>
<h3 class="anchor anchorWithStickyNavbar_fF9Z" id="react-native">React Native<a href="https://the-wall-docs.tools.flutter.com/news/2026/03/06/semantic-tokens#react-native" class="hash-link" aria-label="Direct link to React Native" title="Direct link to React Native">​</a></h3>
<p>Import the tokens from the base theme or your specific theme:</p>
<div class="language-tsx codeBlockContainer_ZGJx theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockTitle_L5qy">MyComponent.tsx</div><div class="codeBlockContent_kX1v"><pre tabindex="0" class="prism-code language-tsx codeBlock_TAPP thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_AdAo"><span class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">import</span><span class="token plain"> </span><span class="token imports punctuation" style="color:#393A34">{</span><span class="token imports"> </span><span class="token imports maybe-class-name">Text</span><span class="token imports punctuation" style="color:#393A34">,</span><span class="token imports"> </span><span class="token imports maybe-class-name">View</span><span class="token imports"> </span><span class="token imports punctuation" style="color:#393A34">}</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">from</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"react-native"</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword" style="color:#00009f">import</span><span class="token plain"> </span><span class="token imports">styles</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">from</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"./MyComponent.styles"</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword" style="color:#00009f">const</span><span class="token plain"> </span><span class="token function-variable function" style="color:#d73a49">MyComponent</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token arrow operator" style="color:#393A34">=&gt;</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token keyword" style="color:#00009f">return</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag class-name" style="color:#00009f">View</span><span class="token tag" style="color:#00009f"> </span><span class="token tag attr-name" style="color:#00a4db">style</span><span class="token tag script language-javascript script-punctuation punctuation" style="color:#393A34">=</span><span class="token tag script language-javascript punctuation" style="color:#393A34">{</span><span class="token tag script language-javascript" style="color:#00009f">styles</span><span class="token tag script language-javascript punctuation" style="color:#393A34">.</span><span class="token tag script language-javascript property-access" style="color:#00009f">container</span><span class="token tag script language-javascript punctuation" style="color:#393A34">}</span><span class="token tag punctuation" style="color:#393A34">&gt;</span><span class="token plain-text"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain-text">      </span><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag class-name" style="color:#00009f">Text</span><span class="token tag" style="color:#00009f"> </span><span class="token tag attr-name" style="color:#00a4db">style</span><span class="token tag script language-javascript script-punctuation punctuation" style="color:#393A34">=</span><span class="token tag script language-javascript punctuation" style="color:#393A34">{</span><span class="token tag script language-javascript" style="color:#00009f">styles</span><span class="token tag script language-javascript punctuation" style="color:#393A34">.</span><span class="token tag script language-javascript property-access" style="color:#00009f">text</span><span class="token tag script language-javascript punctuation" style="color:#393A34">}</span><span class="token tag punctuation" style="color:#393A34">&gt;</span><span class="token plain-text">Hello, World!</span><span class="token tag punctuation" style="color:#393A34">&lt;/</span><span class="token tag class-name" style="color:#00009f">Text</span><span class="token tag punctuation" style="color:#393A34">&gt;</span><span class="token plain-text"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain-text">    </span><span class="token tag punctuation" style="color:#393A34">&lt;/</span><span class="token tag class-name" style="color:#00009f">View</span><span class="token tag punctuation" style="color:#393A34">&gt;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">;</span><br></span></code></pre></div></div>
<div class="language-ts codeBlockContainer_ZGJx theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockTitle_L5qy">MyComponent.styles.ts</div><div class="codeBlockContent_kX1v"><pre tabindex="0" class="prism-code language-ts codeBlock_TAPP thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_AdAo"><span class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">import</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"> StyleSheet </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">from</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"react-native"</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword" style="color:#00009f">import</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"> tokens </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">from</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"@ppb/the-wall-common/base-theme"</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword" style="color:#00009f">export</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">default</span><span class="token plain"> StyleSheet</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">create</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  container</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    backgroundColor</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> tokens</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">SmColoursBackgroundStaticNeutralBase</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  text</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    color</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> tokens</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">SmColoursTextStaticNeutralBase</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><br></span></code></pre></div></div>
<h3 class="anchor anchorWithStickyNavbar_fF9Z" id="web">Web<a href="https://the-wall-docs.tools.flutter.com/news/2026/03/06/semantic-tokens#web" class="hash-link" aria-label="Direct link to Web" title="Direct link to Web">​</a></h3>
<p>Import the CSS file containing the token definitions and use them as CSS custom properties:</p>
<div class="language-tsx codeBlockContainer_ZGJx theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockTitle_L5qy">MyComponent.tsx</div><div class="codeBlockContent_kX1v"><pre tabindex="0" class="prism-code language-tsx codeBlock_TAPP thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_AdAo"><span class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">import</span><span class="token plain"> </span><span class="token imports">styles</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">from</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"./MyComponent.module.css"</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword" style="color:#00009f">const</span><span class="token plain"> </span><span class="token function-variable function" style="color:#d73a49">MyComponent</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token arrow operator" style="color:#393A34">=&gt;</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token keyword" style="color:#00009f">return</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">div</span><span class="token tag" style="color:#00009f"> </span><span class="token tag attr-name" style="color:#00a4db">className</span><span class="token tag script language-javascript script-punctuation punctuation" style="color:#393A34">=</span><span class="token tag script language-javascript punctuation" style="color:#393A34">{</span><span class="token tag script language-javascript" style="color:#00009f">styles</span><span class="token tag script language-javascript punctuation" style="color:#393A34">.</span><span class="token tag script language-javascript property-access" style="color:#00009f">container</span><span class="token tag script language-javascript punctuation" style="color:#393A34">}</span><span class="token tag punctuation" style="color:#393A34">&gt;</span><span class="token plain-text"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain-text">      </span><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">p</span><span class="token tag" style="color:#00009f"> </span><span class="token tag attr-name" style="color:#00a4db">className</span><span class="token tag script language-javascript script-punctuation punctuation" style="color:#393A34">=</span><span class="token tag script language-javascript punctuation" style="color:#393A34">{</span><span class="token tag script language-javascript" style="color:#00009f">styles</span><span class="token tag script language-javascript punctuation" style="color:#393A34">.</span><span class="token tag script language-javascript property-access" style="color:#00009f">text</span><span class="token tag script language-javascript punctuation" style="color:#393A34">}</span><span class="token tag punctuation" style="color:#393A34">&gt;</span><span class="token plain-text">Hello, World!</span><span class="token tag punctuation" style="color:#393A34">&lt;/</span><span class="token tag" style="color:#00009f">p</span><span class="token tag punctuation" style="color:#393A34">&gt;</span><span class="token plain-text"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain-text">    </span><span class="token tag punctuation" style="color:#393A34">&lt;/</span><span class="token tag" style="color:#00009f">div</span><span class="token tag punctuation" style="color:#393A34">&gt;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">;</span><br></span></code></pre></div></div>
<div class="language-css codeBlockContainer_ZGJx theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockTitle_L5qy">MyComponent.module.css</div><div class="codeBlockContent_kX1v"><pre tabindex="0" class="prism-code language-css codeBlock_TAPP thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_AdAo"><span class="token-line" style="color:#393A34"><span class="token atrule rule" style="color:#00a4db">@import</span><span class="token atrule" style="color:#00a4db"> </span><span class="token atrule url function" style="color:#d73a49">url</span><span class="token atrule url punctuation" style="color:#393A34">(</span><span class="token atrule url string url" style="color:#36acaa">"@ppb/the-wall-design-tokens/generated/agnostic/semantic/web/agnostic.default.css"</span><span class="token atrule url punctuation" style="color:#393A34">)</span><span class="token atrule punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token selector class" style="color:#00009f">.container</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token property" style="color:#36acaa">background-color</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> </span><span class="token function" style="color:#d73a49">var</span><span class="token punctuation" style="color:#393A34">(</span><span class="token variable" style="color:#36acaa">--sm-colours-background-static-neutral-base</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token selector class" style="color:#00009f">.text</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token property" style="color:#36acaa">color</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> </span><span class="token function" style="color:#d73a49">var</span><span class="token punctuation" style="color:#393A34">(</span><span class="token variable" style="color:#36acaa">--sm-colours-text-static-neutral-base</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre></div></div>
<h2 class="anchor anchorWithStickyNavbar_fF9Z" id="learn-more">Learn More<a href="https://the-wall-docs.tools.flutter.com/news/2026/03/06/semantic-tokens#learn-more" class="hash-link" aria-label="Direct link to Learn More" title="Direct link to Learn More">​</a></h2>
<p>Check out the full <a href="https://the-wall-docs.tools.flutter.com/docs/foundations/design-tokens/semantic-tokens">Semantic Tokens documentation</a> for detailed usage examples and the complete list of available tokens.</p>]]></content:encoded>
            <category>tokens</category>
        </item>
        <item>
            <title><![CDATA[The Wall Metrics Dashboard]]></title>
            <link>https://the-wall-docs.tools.flutter.com/news/2026/02/25/metrics-dashboard</link>
            <guid>https://the-wall-docs.tools.flutter.com/news/2026/02/25/metrics-dashboard</guid>
            <pubDate>Wed, 25 Feb 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[We're excited to introduce the new Metrics Dashboard! This interactive page provides a comprehensive view of the design system's health and evolution over time.]]></description>
            <content:encoded><![CDATA[<p>We're excited to introduce the new Metrics Dashboard! This interactive page provides a comprehensive view of the design system's health and evolution over time.</p>
<h2 class="anchor anchorWithStickyNavbar_fF9Z" id="whats-included">What's Included<a href="https://the-wall-docs.tools.flutter.com/news/2026/02/25/metrics-dashboard#whats-included" class="hash-link" aria-label="Direct link to What's Included" title="Direct link to What's Included">​</a></h2>
<p>The dashboard tracks three key areas:</p>
<h3 class="anchor anchorWithStickyNavbar_fF9Z" id="tokens">Tokens<a href="https://the-wall-docs.tools.flutter.com/news/2026/02/25/metrics-dashboard#tokens" class="hash-link" aria-label="Direct link to Tokens" title="Direct link to Tokens">​</a></h3>
<ul>
<li><strong>Total count</strong> — Number of unique tokens defined across brands/themes</li>
<li><strong>Not used</strong> — Tokens that aren't referenced in code (helping identify cleanup opportunities)</li>
<li><strong>Misalignment</strong> — Differences between Figma and code (should always be 0 with automated sync)</li>
<li><strong>Bundle size</strong> — Combined size of token CSS chunks</li>
</ul>
<h3 class="anchor anchorWithStickyNavbar_fF9Z" id="components">Components<a href="https://the-wall-docs.tools.flutter.com/news/2026/02/25/metrics-dashboard#components" class="hash-link" aria-label="Direct link to Components" title="Direct link to Components">​</a></h3>
<ul>
<li><strong>Total count</strong> — Number of React components in the-wall-web</li>
<li><strong>Not used</strong> — Components not imported by consumer applications</li>
<li><strong>Misalignment</strong> — Differences between Figma and code (manual tracking for now)</li>
<li><strong>A11y issues</strong> — Components with accessibility issues from Storybook tests</li>
</ul>
<h3 class="anchor anchorWithStickyNavbar_fF9Z" id="icons">Icons<a href="https://the-wall-docs.tools.flutter.com/news/2026/02/25/metrics-dashboard#icons" class="hash-link" aria-label="Direct link to Icons" title="Direct link to Icons">​</a></h3>
<ul>
<li><strong>Total count</strong> — Number of SVG icons available per brand</li>
<li><strong>Not used</strong> — Icons not referenced in consuming code</li>
<li><strong>Bundle size by brand</strong> — JS bundle size for lazy-loaded icon chunks (Betfair, SkyBet, PokerStars, Paddy Power)</li>
</ul>
<h2 class="anchor anchorWithStickyNavbar_fF9Z" id="interactive-charts">Interactive Charts<a href="https://the-wall-docs.tools.flutter.com/news/2026/02/25/metrics-dashboard#interactive-charts" class="hash-link" aria-label="Direct link to Interactive Charts" title="Direct link to Interactive Charts">​</a></h2>
<p>Each section includes:</p>
<ul>
<li><strong>Trend sparklines</strong> — Quick visual of metric evolution</li>
<li><strong>Delta indicators</strong> — See changes compared to last measurement</li>
<li><strong>Detailed trend charts</strong> — Full historical view with multiple metrics overlaid</li>
</ul>
<h2 class="anchor anchorWithStickyNavbar_fF9Z" id="automated-collection">Automated Collection<a href="https://the-wall-docs.tools.flutter.com/news/2026/02/25/metrics-dashboard#automated-collection" class="hash-link" aria-label="Direct link to Automated Collection" title="Direct link to Automated Collection">​</a></h2>
<p>The metrics are now collected automatically via a shell script that:</p>
<ol>
<li>Counts tokens and checks usage across codebases</li>
<li>Runs accessibility tests against the live Storybook</li>
<li>Builds brand apps to measure bundle sizes</li>
<li>Updates the dashboard JSON automatically</li>
</ol>
<p>Run it yourself with:</p>
<div class="language-bash codeBlockContainer_ZGJx theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_kX1v"><pre tabindex="0" class="prism-code language-bash codeBlock_TAPP thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_AdAo"><span class="token-line" style="color:#393A34"><span class="token plain">cd packages/the-wall-metrics</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">yarn collect</span><br></span></code></pre></div></div>
<h2 class="anchor anchorWithStickyNavbar_fF9Z" id="check-it-out">Check It Out<a href="https://the-wall-docs.tools.flutter.com/news/2026/02/25/metrics-dashboard#check-it-out" class="hash-link" aria-label="Direct link to Check It Out" title="Direct link to Check It Out">​</a></h2>
<p>Visit the <a href="https://the-wall-docs.tools.flutter.com/docs/community/metrics">Metrics page</a> to see the dashboard in action!</p>
<p>For implementation details, see:</p>
<ul>
<li><a href="https://github.com/Flutter-Global/the-wall/pull/4997" target="_blank" rel="noopener noreferrer">PR #4997</a> — Initial metrics page</li>
<li><a href="https://github.com/Flutter-Global/the-wall/pull/5306" target="_blank" rel="noopener noreferrer">PR #5306</a> — Automated collection and charts</li>
</ul>]]></content:encoded>
            <category>tooling</category>
        </item>
        <item>
            <title><![CDATA[Storybook Performance Addon]]></title>
            <link>https://the-wall-docs.tools.flutter.com/news/2026/02/25/storybook-performance-addon</link>
            <guid>https://the-wall-docs.tools.flutter.com/news/2026/02/25/storybook-performance-addon</guid>
            <pubDate>Wed, 25 Feb 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[We've added a performance monitoring panel to Storybook! This new addon helps you identify performance issues in components during development.]]></description>
            <content:encoded><![CDATA[<p>We've added a performance monitoring panel to Storybook! This new addon helps you identify performance issues in components during development.</p>
<h2 class="anchor anchorWithStickyNavbar_fF9Z" id="what-it-does">What It Does<a href="https://the-wall-docs.tools.flutter.com/news/2026/02/25/storybook-performance-addon#what-it-does" class="hash-link" aria-label="Direct link to What It Does" title="Direct link to What It Does">​</a></h2>
<p>The <code>@github-ui/storybook-addon-performance-panel</code> provides real-time performance metrics for your stories:</p>
<ul>
<li><strong>Render time</strong> — How long components take to render</li>
<li><strong>Re-render tracking</strong> — Identify unnecessary re-renders</li>
<li><strong>Performance warnings</strong> — Highlights components with concerning metrics</li>
</ul>
<h2 class="anchor anchorWithStickyNavbar_fF9Z" id="how-to-use-it">How to Use It<a href="https://the-wall-docs.tools.flutter.com/news/2026/02/25/storybook-performance-addon#how-to-use-it" class="hash-link" aria-label="Direct link to How to Use It" title="Direct link to How to Use It">​</a></h2>
<p>The addon is automatically available in Storybook. Look for the "Performance" tab in the addon panel when viewing any story.</p>
<h2 class="anchor anchorWithStickyNavbar_fF9Z" id="important-notes">Important Notes<a href="https://the-wall-docs.tools.flutter.com/news/2026/02/25/storybook-performance-addon#important-notes" class="hash-link" aria-label="Direct link to Important Notes" title="Direct link to Important Notes">​</a></h2>
<ul>
<li>The addon was developed for <code>@storybook/react-vite</code>, while we use <code>@storybook/react-webpack5</code>. Some values might not be 100% accurate, but it still helps identify outliers during development.</li>
<li>Storybook was updated to version 10.1+ to ensure compatibility with this addon.</li>
</ul>
<h2 class="anchor anchorWithStickyNavbar_fF9Z" id="why-this-matters">Why This Matters<a href="https://the-wall-docs.tools.flutter.com/news/2026/02/25/storybook-performance-addon#why-this-matters" class="hash-link" aria-label="Direct link to Why This Matters" title="Direct link to Why This Matters">​</a></h2>
<p>Performance issues are often discovered late in development or in production. By surfacing metrics during component development, you can:</p>
<ul>
<li>Catch performance regressions early</li>
<li>Identify components that might need optimisation</li>
<li>Make informed decisions about component complexity</li>
</ul>
<h2 class="anchor anchorWithStickyNavbar_fF9Z" id="links">Links<a href="https://the-wall-docs.tools.flutter.com/news/2026/02/25/storybook-performance-addon#links" class="hash-link" aria-label="Direct link to Links" title="Direct link to Links">​</a></h2>
<ul>
<li><a href="https://github.github.com/storybook-addon-performance-panel/" target="_blank" rel="noopener noreferrer">Storybook Performance Panel Documentation</a></li>
<li><a href="https://github.com/Flutter-Global/the-wall/pull/5030" target="_blank" rel="noopener noreferrer">PR #5030</a></li>
</ul>]]></content:encoded>
            <category>storybook</category>
            <category>dx</category>
        </item>
        <item>
            <title><![CDATA["Semantic-First" tokens for Snowflakes]]></title>
            <link>https://the-wall-docs.tools.flutter.com/news/2026/02/20/semantic-first-snowflakes</link>
            <guid>https://the-wall-docs.tools.flutter.com/news/2026/02/20/semantic-first-snowflakes</guid>
            <pubDate>Fri, 20 Feb 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[The work on semantic tokens and the snowflakes continues to progress!]]></description>
            <content:encoded><![CDATA[<p>The work on semantic tokens and the snowflakes continues to progress!</p>
<p>After the <a href="https://flutteruki.atlassian.net/wiki/x/CgBvhg" target="_blank" rel="noopener noreferrer">future defining decision</a> to adopt a "semantic-first" approach for the snowflakes, we now have a <a href="https://flutteruki.atlassian.net/wiki/x/hQE0lQ" target="_blank" rel="noopener noreferrer">plan to migrate the snowflakes to use the new semantic tokens</a>.</p>
<p>Stay tuned for more updates on this topic, as we will be sharing more details and timelines in the coming weeks. In the meantime, if you have any questions or want to learn more about semantic tokens and how they will impact the snowflakes, feel free to reach out to the design system team!</p>]]></content:encoded>
            <category>tokens</category>
        </item>
        <item>
            <title><![CDATA[Changelog Preview on Pull Requests]]></title>
            <link>https://the-wall-docs.tools.flutter.com/news/2026/01/29/changelog-preview</link>
            <guid>https://the-wall-docs.tools.flutter.com/news/2026/01/29/changelog-preview</guid>
            <pubDate>Thu, 29 Jan 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Ever wondered if your changes will trigger a release? Now you can see exactly what will happen before merging! We've added a changelog preview that appears automatically on every pull request.]]></description>
            <content:encoded><![CDATA[<p>Ever wondered if your changes will trigger a release? Now you can see exactly what will happen before merging! We've added a changelog preview that appears automatically on every pull request.</p>
<h2 class="anchor anchorWithStickyNavbar_fF9Z" id="the-problem">The Problem<a href="https://the-wall-docs.tools.flutter.com/news/2026/01/29/changelog-preview#the-problem" class="hash-link" aria-label="Direct link to The Problem" title="Direct link to The Problem">​</a></h2>
<p>Contributors often had a hard time understanding:</p>
<ul>
<li>Will my changes trigger a package release?</li>
<li>Which packages will be affected?</li>
<li>What will the changelog entry look like?</li>
</ul>
<p>This uncertainty made it difficult to write good commit messages and understand the impact of changes.</p>
<h2 class="anchor anchorWithStickyNavbar_fF9Z" id="the-solution">The Solution<a href="https://the-wall-docs.tools.flutter.com/news/2026/01/29/changelog-preview#the-solution" class="hash-link" aria-label="Direct link to The Solution" title="Direct link to The Solution">​</a></h2>
<p>A new GitHub workflow now runs on all pull requests and posts a comment showing:</p>
<ul>
<li><strong>Which packages will be released</strong> — See exactly which packages are affected</li>
<li><strong>What type of release</strong> — Features, fixes, or dependency updates</li>
<li><strong>The actual changelog entries</strong> — Preview the exact text that will appear in the CHANGELOG</li>
</ul>
<h2 class="anchor anchorWithStickyNavbar_fF9Z" id="example-output">Example Output<a href="https://the-wall-docs.tools.flutter.com/news/2026/01/29/changelog-preview#example-output" class="hash-link" aria-label="Direct link to Example Output" title="Direct link to Example Output">​</a></h2>
<div class="language-markdown codeBlockContainer_ZGJx theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_kX1v"><pre tabindex="0" class="prism-code language-markdown codeBlock_TAPP thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_AdAo"><span class="token-line" style="color:#393A34"><span class="token title important punctuation" style="color:#393A34">#</span><span class="token title important"> Changelog Preview</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">details</span><span class="token tag punctuation" style="color:#393A34">&gt;</span><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">summary</span><span class="token tag punctuation" style="color:#393A34">&gt;</span><span class="token plain">@ppb/the-wall-native</span><span class="token tag punctuation" style="color:#393A34">&lt;/</span><span class="token tag" style="color:#00009f">summary</span><span class="token tag punctuation" style="color:#393A34">&gt;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token title important punctuation" style="color:#393A34">###</span><span class="token title important"> 🚀 Features</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token list punctuation" style="color:#393A34">-</span><span class="token plain"> improve docs #NA (669db4417)</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token title important punctuation" style="color:#393A34">###</span><span class="token title important"> 🧱 Updated Dependencies</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token list punctuation" style="color:#393A34">-</span><span class="token plain"> Updated @ppb/the-wall-design-tokens to 60.0.1</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token list punctuation" style="color:#393A34">-</span><span class="token plain"> Updated @ppb/the-wall-common to 47.1.6</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token tag punctuation" style="color:#393A34">&lt;/</span><span class="token tag" style="color:#00009f">details</span><span class="token tag punctuation" style="color:#393A34">&gt;</span><br></span></code></pre></div></div>
<h2 class="anchor anchorWithStickyNavbar_fF9Z" id="how-it-works">How It Works<a href="https://the-wall-docs.tools.flutter.com/news/2026/01/29/changelog-preview#how-it-works" class="hash-link" aria-label="Direct link to How It Works" title="Direct link to How It Works">​</a></h2>
<p>The workflow:</p>
<ol>
<li>Runs <code>yarn release --dry-run</code> to simulate a release</li>
<li>Parses the output to extract changelog entries</li>
<li>Posts a formatted comment on the PR</li>
</ol>
<p>This gives you immediate feedback on your commit messages and helps ensure changelogs are meaningful.</p>
<p>For more details, see <a href="https://github.com/Flutter-Global/the-wall/pull/4745" target="_blank" rel="noopener noreferrer">PR #4745</a>.</p>]]></content:encoded>
            <category>dx</category>
            <category>tooling</category>
        </item>
        <item>
            <title><![CDATA[Automated Token Change Analysis]]></title>
            <link>https://the-wall-docs.tools.flutter.com/news/2026/01/08/token-analysis</link>
            <guid>https://the-wall-docs.tools.flutter.com/news/2026/01/08/token-analysis</guid>
            <pubDate>Thu, 08 Jan 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Reviewing design token changes in pull requests just got easier! We've added an automated token analyser that provides a clear summary of what's changed, making the review process faster and more transparent.]]></description>
            <content:encoded><![CDATA[<p>Reviewing design token changes in pull requests just got easier! We've added an automated token analyser that provides a clear summary of what's changed, making the review process faster and more transparent.</p>
<h2 class="anchor anchorWithStickyNavbar_fF9Z" id="the-problem">The Problem<a href="https://the-wall-docs.tools.flutter.com/news/2026/01/08/token-analysis#the-problem" class="hash-link" aria-label="Direct link to The Problem" title="Direct link to The Problem">​</a></h2>
<p>When design tokens are updated, the generated files can contain thousands of lines of changes. Reviewing these files individually is time-consuming and makes it easy to miss important changes or potential breaking changes.</p>
<h2 class="anchor anchorWithStickyNavbar_fF9Z" id="the-solution">The Solution<a href="https://the-wall-docs.tools.flutter.com/news/2026/01/08/token-analysis#the-solution" class="hash-link" aria-label="Direct link to The Solution" title="Direct link to The Solution">​</a></h2>
<p>The new token analyser script automatically runs on PRs that modify tokens and generates a summary report with:</p>
<ul>
<li><strong>Categorised changes</strong> — Changes are grouped by type (colors, sizing, spacing, borders, shadows, typography, opacity)</li>
<li><strong>Status indicators</strong> — Each token is marked as 🆕 created, ✏️ edited, or ⚠️ removed (potential breaking change)</li>
<li><strong>Before/after values</strong> — See exactly what changed for each token</li>
<li><strong>Brand/theme grouping</strong> — Changes are organised by brand and theme for easy navigation</li>
</ul>
<h2 class="anchor anchorWithStickyNavbar_fF9Z" id="example-output">Example Output<a href="https://the-wall-docs.tools.flutter.com/news/2026/01/08/token-analysis#example-output" class="hash-link" aria-label="Direct link to Example Output" title="Direct link to Example Output">​</a></h2>
<p>The analysis appears as a comment on your PR:</p>
<div class="language-markdown codeBlockContainer_ZGJx theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_kX1v"><pre tabindex="0" class="prism-code language-markdown codeBlock_TAPP thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_AdAo"><span class="token-line" style="color:#393A34"><span class="token title important punctuation" style="color:#393A34">##</span><span class="token title important"> 🎨 Token Changes</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">Found </span><span class="token bold punctuation" style="color:#393A34">**</span><span class="token bold content">15</span><span class="token bold punctuation" style="color:#393A34">**</span><span class="token plain"> token change(s) across </span><span class="token bold punctuation" style="color:#393A34">**</span><span class="token bold content">3</span><span class="token bold punctuation" style="color:#393A34">**</span><span class="token plain"> theme(s)</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token title important punctuation" style="color:#393A34">###</span><span class="token title important"> Betfair - Sports Dark</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token title important punctuation" style="color:#393A34">####</span><span class="token title important"> 🌈 Color Changes</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token table table-header-row punctuation" style="color:#393A34">|</span><span class="token table table-header-row table-header important"> Token                        </span><span class="token table table-header-row punctuation" style="color:#393A34">|</span><span class="token table table-header-row table-header important"> Before </span><span class="token table table-header-row punctuation" style="color:#393A34">|</span><span class="token table table-header-row table-header important"> After     </span><span class="token table table-header-row punctuation" style="color:#393A34">|</span><span class="token table table-header-row"></span><br></span><span class="token-line" style="color:#393A34"><span class="token table table-header-row"></span><span class="token table table-line punctuation" style="color:#393A34">|</span><span class="token table table-line"> </span><span class="token table table-line punctuation" style="color:#393A34">----------------------------</span><span class="token table table-line"> </span><span class="token table table-line punctuation" style="color:#393A34">|</span><span class="token table table-line"> </span><span class="token table table-line punctuation" style="color:#393A34">------</span><span class="token table table-line"> </span><span class="token table table-line punctuation" style="color:#393A34">|</span><span class="token table table-line"> </span><span class="token table table-line punctuation" style="color:#393A34">---------</span><span class="token table table-line"> </span><span class="token table table-line punctuation" style="color:#393A34">|</span><span class="token table table-line"></span><br></span><span class="token-line" style="color:#393A34"><span class="token table table-line"></span><span class="token table table-data-rows punctuation" style="color:#393A34">|</span><span class="token table table-data-rows table-data"> 🆕 created </span><span class="token table table-data-rows table-data code-snippet code keyword" style="color:#00009f">`--new-token`</span><span class="token table table-data-rows table-data">     </span><span class="token table table-data-rows punctuation" style="color:#393A34">|</span><span class="token table table-data-rows table-data"> </span><span class="token table table-data-rows table-data italic punctuation" style="color:#393A34">_</span><span class="token table table-data-rows table-data italic content">new</span><span class="token table table-data-rows table-data italic punctuation" style="color:#393A34">_</span><span class="token table table-data-rows table-data">  </span><span class="token table table-data-rows punctuation" style="color:#393A34">|</span><span class="token table table-data-rows table-data"> </span><span class="token table table-data-rows table-data code-snippet code keyword" style="color:#00009f">`#ff0000`</span><span class="token table table-data-rows table-data"> </span><span class="token table table-data-rows punctuation" style="color:#393A34">|</span><span class="token table table-data-rows"></span><br></span><span class="token-line" style="color:#393A34"><span class="token table table-data-rows"></span><span class="token table table-data-rows punctuation" style="color:#393A34">|</span><span class="token table table-data-rows table-data"> ✏️ edited </span><span class="token table table-data-rows table-data code-snippet code keyword" style="color:#00009f">`--existing-token`</span><span class="token table table-data-rows table-data"> </span><span class="token table table-data-rows punctuation" style="color:#393A34">|</span><span class="token table table-data-rows table-data"> </span><span class="token table table-data-rows table-data code-snippet code keyword" style="color:#00009f">`#000`</span><span class="token table table-data-rows table-data"> </span><span class="token table table-data-rows punctuation" style="color:#393A34">|</span><span class="token table table-data-rows table-data"> </span><span class="token table table-data-rows table-data code-snippet code keyword" style="color:#00009f">`#111`</span><span class="token table table-data-rows table-data">    </span><span class="token table table-data-rows punctuation" style="color:#393A34">|</span><span class="token table table-data-rows"></span><br></span><span class="token-line" style="color:#393A34"><span class="token table table-data-rows"></span><span class="token table table-data-rows punctuation" style="color:#393A34">|</span><span class="token table table-data-rows table-data"> ⚠️ removed </span><span class="token table table-data-rows table-data code-snippet code keyword" style="color:#00009f">`--old-token`</span><span class="token table table-data-rows table-data">     </span><span class="token table table-data-rows punctuation" style="color:#393A34">|</span><span class="token table table-data-rows table-data"> </span><span class="token table table-data-rows table-data code-snippet code keyword" style="color:#00009f">`#fff`</span><span class="token table table-data-rows table-data"> </span><span class="token table table-data-rows punctuation" style="color:#393A34">|</span><span class="token table table-data-rows table-data"> </span><span class="token table table-data-rows table-data italic punctuation" style="color:#393A34">_</span><span class="token table table-data-rows table-data italic content">removed</span><span class="token table table-data-rows table-data italic punctuation" style="color:#393A34">_</span><span class="token table table-data-rows table-data"> </span><span class="token table table-data-rows punctuation" style="color:#393A34">|</span><br></span></code></pre></div></div>
<h2 class="anchor anchorWithStickyNavbar_fF9Z" id="technical-details">Technical Details<a href="https://the-wall-docs.tools.flutter.com/news/2026/01/08/token-analysis#technical-details" class="hash-link" aria-label="Direct link to Technical Details" title="Direct link to Technical Details">​</a></h2>
<p>The analyser:</p>
<ul>
<li>Iterates over CSS files in the <code>generated/</code> folder</li>
<li>Parses git diffs to detect added, modified, and removed tokens</li>
<li>Categorises tokens based on naming patterns</li>
<li>Generates a markdown report posted as a PR comment</li>
</ul>
<p>For more details, see <a href="https://github.com/Flutter-Global/the-wall/pull/4552" target="_blank" rel="noopener noreferrer">PR #4552</a>.</p>]]></content:encoded>
            <category>tokens</category>
            <category>tooling</category>
        </item>
        <item>
            <title><![CDATA[Storybook Upgraded to Version 10]]></title>
            <link>https://the-wall-docs.tools.flutter.com/news/2025/11/27/storybook-v10</link>
            <guid>https://the-wall-docs.tools.flutter.com/news/2025/11/27/storybook-v10</guid>
            <pubDate>Thu, 27 Nov 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[We've upgraded Storybook from version 9 to version 10 across both web and native packages. This major upgrade brings performance improvements, better TypeScript support, and new features.]]></description>
            <content:encoded><![CDATA[<p>We've upgraded Storybook from version 9 to version 10 across both web and native packages. This major upgrade brings performance improvements, better TypeScript support, and new features.</p>
<h2 class="anchor anchorWithStickyNavbar_fF9Z" id="whats-new-in-storybook-10">What's New in Storybook 10<a href="https://the-wall-docs.tools.flutter.com/news/2025/11/27/storybook-v10#whats-new-in-storybook-10" class="hash-link" aria-label="Direct link to What's New in Storybook 10" title="Direct link to What's New in Storybook 10">​</a></h2>
<p>Storybook 10 introduces several improvements:</p>
<ul>
<li><strong>Faster builds</strong> — Improved bundling and compilation times</li>
<li><strong>Better TypeScript support</strong> — Enhanced type inference for stories</li>
<li><strong>Modernized addons</strong> — Updated addon APIs and improved compatibility</li>
<li><strong>React 19 support</strong> — Full compatibility with the latest React version</li>
</ul>
<h2 class="anchor anchorWithStickyNavbar_fF9Z" id="migration-highlights">Migration Highlights<a href="https://the-wall-docs.tools.flutter.com/news/2025/11/27/storybook-v10#migration-highlights" class="hash-link" aria-label="Direct link to Migration Highlights" title="Direct link to Migration Highlights">​</a></h2>
<p>The migration was mostly automated using <code>npx storybook@latest upgrade</code>, with a few manual fixes for runtime errors.</p>
<h3 class="anchor anchorWithStickyNavbar_fF9Z" id="web-package-updates">Web Package Updates<a href="https://the-wall-docs.tools.flutter.com/news/2025/11/27/storybook-v10#web-package-updates" class="hash-link" aria-label="Direct link to Web Package Updates" title="Direct link to Web Package Updates">​</a></h3>
<ul>
<li>Updated all <code>@storybook/*</code> packages to 10.x</li>
<li>Simplified addon configuration in <code>.storybook/main.ts</code></li>
<li>Updated <code>eslint-plugin-storybook</code> for compatibility</li>
</ul>
<h3 class="anchor anchorWithStickyNavbar_fF9Z" id="native-package-updates">Native Package Updates<a href="https://the-wall-docs.tools.flutter.com/news/2025/11/27/storybook-v10#native-package-updates" class="hash-link" aria-label="Direct link to Native Package Updates" title="Direct link to Native Package Updates">​</a></h3>
<ul>
<li>Migrated to <code>@storybook/react-native</code> 10.x</li>
<li>Updated Metro bundler configuration for the new <code>withStorybook</code> API</li>
<li>Changed action imports from <code>storybook/internal/actions</code> to <code>storybook/actions</code></li>
</ul>
<h2 class="anchor anchorWithStickyNavbar_fF9Z" id="useful-links">Useful Links<a href="https://the-wall-docs.tools.flutter.com/news/2025/11/27/storybook-v10#useful-links" class="hash-link" aria-label="Direct link to Useful Links" title="Direct link to Useful Links">​</a></h2>
<ul>
<li><a href="https://storybook.js.org/docs/releases/migration-guide" target="_blank" rel="noopener noreferrer">Storybook 10 Migration Guide</a></li>
<li><a href="https://github.com/storybookjs/react-native/blob/next/MIGRATION.md#from-version-9-to-10" target="_blank" rel="noopener noreferrer">React Native Storybook Migration</a></li>
<li><a href="https://github.com/Flutter-Global/the-wall/pull/4376" target="_blank" rel="noopener noreferrer">PR #4376</a></li>
</ul>]]></content:encoded>
            <category>storybook</category>
        </item>
        <item>
            <title><![CDATA[New Design Tokens Structure]]></title>
            <link>https://the-wall-docs.tools.flutter.com/news/2025/08/08/new-design-tokens-structure</link>
            <guid>https://the-wall-docs.tools.flutter.com/news/2025/08/08/new-design-tokens-structure</guid>
            <pubDate>Fri, 08 Aug 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[Over the past few weeks, we’ve made a significant improvement to our design tokens structure. The changes have now been merged and fully documented.]]></description>
            <content:encoded><![CDATA[<p>Over the past few weeks, we’ve made a significant improvement to our design tokens structure. The changes have now been merged and fully documented.</p>
<p>You can check out the updated tokens structure diagram and explore the new documentation page <a href="https://the-wall-docs.tools.flutter.com/docs/foundations/design-tokens">here</a>.</p>
<p>With this new structure, we’re excited to say we’re better prepared for the future. Specifically, it now allows us to:</p>
<ul>
<li>Quickly add new brands and themes</li>
<li>Easily incorporate new dimensions such as device type (mobile, desktop, watch) and orientation (left-to-right, right-to-left) when needed</li>
</ul>
<p>Plus, we’ve reduced our tokens file size by 20%, shrinking it from 56,177 lines to 44,735 lines — making it leaner and more efficient.</p>]]></content:encoded>
            <category>tokens</category>
        </item>
        <item>
            <title><![CDATA[Automatic Prismic Icons Sync]]></title>
            <link>https://the-wall-docs.tools.flutter.com/news/2025/02/12/automatic-prismic-icons-sync</link>
            <guid>https://the-wall-docs.tools.flutter.com/news/2025/02/12/automatic-prismic-icons-sync</guid>
            <pubDate>Wed, 12 Feb 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[We've automated the process of syncing icons to Prismic! Now, whenever a new version of @ppb/the-wall-icons is released, the icons are automatically synced to Prismic without any manual intervention.]]></description>
            <content:encoded><![CDATA[<p>We've automated the process of syncing icons to Prismic! Now, whenever a new version of <code>@ppb/the-wall-icons</code> is released, the icons are automatically synced to Prismic without any manual intervention.</p>
<h2 class="anchor anchorWithStickyNavbar_fF9Z" id="how-it-works">How It Works<a href="https://the-wall-docs.tools.flutter.com/news/2025/02/12/automatic-prismic-icons-sync#how-it-works" class="hash-link" aria-label="Direct link to How It Works" title="Direct link to How It Works">​</a></h2>
<p>Previously, syncing icons to Prismic required manually triggering a GitHub workflow. This was easy to forget and could lead to outdated icons in Prismic.</p>
<p>Now, the sync happens automatically:</p>
<ol>
<li>A new version of <code>@ppb/the-wall-icons</code> is released</li>
<li>The release creates a Git tag (e.g., <code>@ppb/the-wall-icons@9.1.0</code>)</li>
<li>This tag triggers the Prismic sync workflow</li>
<li>Icons are automatically updated in Prismic</li>
</ol>
<h2 class="anchor anchorWithStickyNavbar_fF9Z" id="benefits">Benefits<a href="https://the-wall-docs.tools.flutter.com/news/2025/02/12/automatic-prismic-icons-sync#benefits" class="hash-link" aria-label="Direct link to Benefits" title="Direct link to Benefits">​</a></h2>
<ul>
<li><strong>No manual steps</strong> — Icons are always in sync with the latest release</li>
<li><strong>Reduced errors</strong> — No risk of forgetting to trigger the sync</li>
<li><strong>Faster updates</strong> — Changes are available in Prismic immediately after release</li>
</ul>
<h2 class="anchor anchorWithStickyNavbar_fF9Z" id="technical-details">Technical Details<a href="https://the-wall-docs.tools.flutter.com/news/2025/02/12/automatic-prismic-icons-sync#technical-details" class="hash-link" aria-label="Direct link to Technical Details" title="Direct link to Technical Details">​</a></h2>
<p>The automation was implemented by adding a <code>push</code> trigger to the existing <code>sync-prismic-icons.yml</code> workflow that listens for tags matching <code>@ppb/the-wall-icons@*</code>.</p>
<p>For more details, see <a href="https://github.com/Flutter-Global/the-wall/pull/1482" target="_blank" rel="noopener noreferrer">PR #1482</a>.</p>]]></content:encoded>
            <category>tooling</category>
        </item>
        <item>
            <title><![CDATA[CCE - Learning Sessions]]></title>
            <link>https://the-wall-docs.tools.flutter.com/news/2024/12/19/cce-learning-sessions</link>
            <guid>https://the-wall-docs.tools.flutter.com/news/2024/12/19/cce-learning-sessions</guid>
            <pubDate>Thu, 19 Dec 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[The Design System team held some inspiring learning sessions aimed at addressing the main questions that design and development teams had about this essential product. The initiative was carefully planned to cover topics such as what a Design System is, how to contribute to it, and, most importantly, how to use it effectively in daily work.]]></description>
            <content:encoded><![CDATA[<p>The Design System team held some inspiring learning sessions aimed at addressing the main questions that design and development teams had about this essential product. The initiative was carefully planned to cover topics such as what a Design System is, how to contribute to it, and, most importantly, how to use it effectively in daily work.</p>
<p>To ensure that everyone interested had the opportunity to participate and learn, we organized in-person sessions over two days in three different locations. This decentralized approach aimed to bring teams closer together and provide an inclusive space for knowledge sharing and idea exchange.</p>
<p>The conference was not only an opportunity to provide clarification but also to strengthen collaboration among teams. Participants were able to ask questions in real time, explore use cases, and exchange ideas about future improvements. Through interactive activities and open discussions, we fostered a spirit of community and alignment.</p>
<p><img decoding="async" loading="lazy" alt="Team" src="https://the-wall-docs.tools.flutter.com/assets/images/DSCF9630-4b65ef2f419c30ee249ec227f6562b76.jpg" width="2048" height="1365" class="img__Ss2"></p>
<h2 class="anchor anchorWithStickyNavbar_fF9Z" id="what-is-a-design-system-general">What is a design system? <img decoding="async" loading="lazy" src="https://img.shields.io/badge/General-ffffff?style=flat&amp;color=009cde" alt="General" class="img__Ss2"><a href="https://the-wall-docs.tools.flutter.com/news/2024/12/19/cce-learning-sessions#what-is-a-design-system-general" class="hash-link" aria-label="Direct link to what-is-a-design-system-general" title="Direct link to what-is-a-design-system-general">​</a></h2>
<p>If you want to learn more about what a Design System is, how the Design System is structured for the Betfair, Sky Bet, and Paddy Power brands, and what we have planned for the future, check out this video. It’s a comprehensive guide that dives into the core principles, showcases how we ensure consistency across multiple brands, and highlights our vision for the future.</p>
<p><a href="https://www.figma.com/slides/WNErsrXORR98I97ulBGS7F/What-is-a-design-system?t=GuOSWzXoG8sQgkKM-6" target="_blank" rel="noopener noreferrer">Slides</a></p>
<video controls="" height="100%" width="100%"><source src="https://www.dropbox.com/scl/fi/cjjnc1aqen61y00j71t18/WhatIsADesignSystem.mp4?rlkey=65igekyk3ilyp0oaor7k4ddx9&amp;st=okpxcqsl&amp;raw=1"></video>
<h2 class="anchor anchorWithStickyNavbar_fF9Z" id="components-snowflakes--recipes-design">Components, Snowflakes &amp; Recipes <img decoding="async" loading="lazy" src="https://img.shields.io/badge/Design-ffffff?style=flat&amp;color=f277c6" alt="Design" class="img__Ss2"><a href="https://the-wall-docs.tools.flutter.com/news/2024/12/19/cce-learning-sessions#components-snowflakes--recipes-design" class="hash-link" aria-label="Direct link to components-snowflakes--recipes-design" title="Direct link to components-snowflakes--recipes-design">​</a></h2>
<p>If you want to learn more about what a component or a recipe is, or if you’ve heard the term "snowflakes" but have no idea what it means, this video is for you! It breaks down these concepts in an easy-to-understand way and helps you see how they fit into our design and development processes. Watch it to get up to speed!</p>
<p><a href="https://www.figma.com/slides/rfsqGEtUiuQcfhxIO73OLV/Components%2C-Recipes%2C-Snowflakes-and-Patterns?t=GuOSWzXoG8sQgkKM-6" target="_blank" rel="noopener noreferrer">Slides</a></p>
<video controls="" height="100%" width="100%"><source src="https://www.dropbox.com/scl/fi/ittt3bo84jvz038hy634s/ComponentsSnowflakesRecipesAndPatterns.mp4?rlkey=co9tmld67p1ll6j3nlzmelw95&amp;st=apush77m&amp;raw=1"></video>
<h2 class="anchor anchorWithStickyNavbar_fF9Z" id="how-to-use-a-design-system-effectively-design">How To Use A Design System Effectively <img decoding="async" loading="lazy" src="https://img.shields.io/badge/Design-ffffff?style=flat&amp;color=f277c6" alt="Design" class="img__Ss2"><a href="https://the-wall-docs.tools.flutter.com/news/2024/12/19/cce-learning-sessions#how-to-use-a-design-system-effectively-design" class="hash-link" aria-label="Direct link to how-to-use-a-design-system-effectively-design" title="Direct link to how-to-use-a-design-system-effectively-design">​</a></h2>
<p>If you want to learn more about how to use the Design System, which libraries to use, how to contribute, and the process for collaborating with design, this video has you covered! It provides a detailed walkthrough of the tools, workflows, and best practices to help you make the most out of the Design System.</p>
<p><a href="https://www.figma.com/slides/WL4E0xxIBkgZ18JbJCjKwH/How-to-use-the-Design-System-The-Correct-Way-(Copy)?t=GuOSWzXoG8sQgkKM-6" target="_blank" rel="noopener noreferrer">Slides</a></p>
<video controls="" height="100%" width="100%"><source src="https://www.dropbox.com/scl/fi/37rsjyrynvqoumn8qr7p7/HowToUseDesignSystemsEffectively.mp4?rlkey=4qa9ip716p5k9cocpaktlyzkq&amp;st=lwglk3pl&amp;raw=1"></video>
<h2 class="anchor anchorWithStickyNavbar_fF9Z" id="what-is-a-multi-brand-design-system-design">What Is A Multi Brand Design System? <img decoding="async" loading="lazy" src="https://img.shields.io/badge/Design-ffffff?style=flat&amp;color=f277c6" alt="Design" class="img__Ss2"><a href="https://the-wall-docs.tools.flutter.com/news/2024/12/19/cce-learning-sessions#what-is-a-multi-brand-design-system-design" class="hash-link" aria-label="Direct link to what-is-a-multi-brand-design-system-design" title="Direct link to what-is-a-multi-brand-design-system-design">​</a></h2>
<p>If you want to learn more about what a multi-brand Design System is, how icons work across different brands, and our vision for the future of the Design System. It explores the unique challenges and solutions behind managing a Design System for multiple brands, explains the role of icons in ensuring consistency, and shares our exciting plans for the future.</p>
<p><a href="https://www.figma.com/slides/2NhyYwbDjBJijdfel9NU7b/Multi-brand-design-systems?t=GuOSWzXoG8sQgkKM-6" target="_blank" rel="noopener noreferrer">Slides</a></p>
<video controls="" height="100%" width="100%"><source src="https://www.dropbox.com/scl/fi/nzozn0zuadbxo89i3i1b6/MultiBrandDesignsystem.mp4?rlkey=1xo13umnvv8falnlzww4wg26v&amp;st=fwwtit2y&amp;raw=1"></video>
<h2 class="anchor anchorWithStickyNavbar_fF9Z" id="what-product-owners-need-to-know-about-ds-product">What Product Owners Need to Know about DS <img decoding="async" loading="lazy" src="https://img.shields.io/badge/Product-ffffff?style=flat&amp;color=9747FF" alt="Product" class="img__Ss2"><a href="https://the-wall-docs.tools.flutter.com/news/2024/12/19/cce-learning-sessions#what-product-owners-need-to-know-about-ds-product" class="hash-link" aria-label="Direct link to what-product-owners-need-to-know-about-ds-product" title="Direct link to what-product-owners-need-to-know-about-ds-product">​</a></h2>
<p>Whether you’re a seasoned Product Owner or new to the field, this session provides actionable insights to help you leverage design systems for maximum impact. If you’re particularly interested in the unique role Channels POs play, this video is tailored for you.</p>
<p><a href="https://www.figma.com/deck/jLCW09s0MXmByJQF5H96Md/CCE*-.-Rafaela-G-Presentation?node-id=87-1248&amp;viewport=-177%2C-94%2C0.8&amp;t=GqjSglzghJEXjLLV-1&amp;scaling=min-zoom&amp;content-scaling=fixed&amp;page-id=0%3A1" target="_blank" rel="noopener noreferrer">Slides</a></p>
<video controls="" height="100%" width="100%"><source src="https://www.dropbox.com/scl/fi/qdiew3b5muirm25srlufw/WhatProductOwnersNeedToKnow.mp4?rlkey=voy1bqrzz9gt1vaga8fpr0ctu&amp;st=78rpfm19&amp;raw=1"></video>
<h2 class="anchor anchorWithStickyNavbar_fF9Z" id="a-brief-intro-to-the-wall-tech">A Brief Intro To The Wall <img decoding="async" loading="lazy" src="https://img.shields.io/badge/Tech-ffffff?style=flat&amp;color=61d27e" alt="Tech" class="img__Ss2"><a href="https://the-wall-docs.tools.flutter.com/news/2024/12/19/cce-learning-sessions#a-brief-intro-to-the-wall-tech" class="hash-link" aria-label="Direct link to a-brief-intro-to-the-wall-tech" title="Direct link to a-brief-intro-to-the-wall-tech">​</a></h2>
<p>If you're looking for an introduction to <strong>The Wall Design System</strong>, this video is the perfect starting point! It covers everything you need to know, including where to find documentation, how we approach accessibility, and an overview of the monorepo structure. Whether you're new to the system or just looking to dive deeper, this video will guide you through the essentials and help you navigate the resources effectively.</p>
<p><a href="https://www.figma.com/slides/wU9ac25NYOUmWt99yg1DIT/A-Brief-Intro-to-The-Wall?t=GuOSWzXoG8sQgkKM-6" target="_blank" rel="noopener noreferrer">Slides</a></p>
<video controls="" height="100%" width="100%"><source src="https://www.dropbox.com/scl/fi/v260vxgvy659y95ttxhci/ABriefIntroToTheWall.mp4?rlkey=mvgfvney4o9pwp4st4nn3ynqz&amp;st=xw2aaojf&amp;raw=1"></video>
<h2 class="anchor anchorWithStickyNavbar_fF9Z" id="create-my-first-component-part-1-tech">Create My First Component Part 1 <img decoding="async" loading="lazy" src="https://img.shields.io/badge/Tech-ffffff?style=flat&amp;color=61d27e" alt="Tech" class="img__Ss2"><a href="https://the-wall-docs.tools.flutter.com/news/2024/12/19/cce-learning-sessions#create-my-first-component-part-1-tech" class="hash-link" aria-label="Direct link to create-my-first-component-part-1-tech" title="Direct link to create-my-first-component-part-1-tech">​</a></h2>
<p>If you're interested in creating your first component, setting up your environment and learning about tokenization. It walks you through the step-by-step process of building a component from scratch, setting up your development environment, and understanding the importance of tokenization in maintaining design consistency. You'll also learn why and how to implement tokenization effectively in your projects and how the find tokens inside figma.</p>
<p><a href="https://www.figma.com/slides/ydcKP7vCf6me8dsy8gksml/Create-My-First-Component---Part-1?t=GuOSWzXoG8sQgkKM-6" target="_blank" rel="noopener noreferrer">Slides</a></p>
<video controls="" height="100%" width="100%"><source src="https://www.dropbox.com/scl/fi/baytj6qzw9c4waxdw2aiw/CreateMyfirstComponent.mp4?rlkey=58ilx2yxzyfea6s6ucm3b11n8&amp;st=u2aq9up1&amp;raw=1"></video>
<h2 class="anchor anchorWithStickyNavbar_fF9Z" id="create-my-first-component-part-2-tech">Create My First Component Part 2 <img decoding="async" loading="lazy" src="https://img.shields.io/badge/Tech-ffffff?style=flat&amp;color=61d27e" alt="Tech" class="img__Ss2"><a href="https://the-wall-docs.tools.flutter.com/news/2024/12/19/cce-learning-sessions#create-my-first-component-part-2-tech" class="hash-link" aria-label="Direct link to create-my-first-component-part-2-tech" title="Direct link to create-my-first-component-part-2-tech">​</a></h2>
<p>If you're looking to understand how and where to open a pull request, which workflow to follow, and how to handle pre-releases and releases. It provides a clear, step-by-step guide on how to open a pull request, what workflow to run during the process, and the best practices for creating pre-releases and managing final releases.
linked to your file.</p>
<p><a href="https://www.figma.com/slides/jDDfuZmIT6HNjtLwgI0RIc/Create-My-First-Component---Part-2?t=GuOSWzXoG8sQgkKM-6" target="_blank" rel="noopener noreferrer">Slides</a></p>
<video controls="" height="100%" width="100%"><source src="https://www.dropbox.com/scl/fi/yd65e56bvlcbey9s3jt8z/CreateMyfirstComponentPart2.mp4?rlkey=61ddz0uq8jxhsaxiavetjbaem&amp;st=r82ahnks&amp;raw=1"></video>
<h2 class="anchor anchorWithStickyNavbar_fF9Z" id="a-brief-intro-to-abacus-tech">A Brief Intro to Abacus <img decoding="async" loading="lazy" src="https://img.shields.io/badge/Tech-ffffff?style=flat&amp;color=61d27e" alt="Tech" class="img__Ss2"><a href="https://the-wall-docs.tools.flutter.com/news/2024/12/19/cce-learning-sessions#a-brief-intro-to-abacus-tech" class="hash-link" aria-label="Direct link to a-brief-intro-to-abacus-tech" title="Direct link to a-brief-intro-to-abacus-tech">​</a></h2>
<p>In this session, we introduced the Abacus Design System, covering its core principles and how it helps maintain consistency across projects. We also explored how we use GitHub to manage the system effectively, along with an overview of the supported token types that power its flexibility and scalability.</p>
<p><a href="https://www.figma.com/deck/CLMRUYcpquYVFpsJvIE1q7/Abacus-presentation?node-id=1-1611&amp;viewport=-1913%2C-94%2C0.8&amp;t=YTAFSBOCviSjLSCW-1&amp;scaling=min-zoom&amp;content-scaling=fixed&amp;page-id=0%3A1" target="_blank" rel="noopener noreferrer">Slides</a></p>
<video controls="" height="100%" width="100%"><source src="https://www.dropbox.com/scl/fi/x37eb598htmy7udt74gc6/ABriefIntroductionToAbacus.mp4?rlkey=z3e1iys6jolpp33xachspx7v0&amp;st=dlscq10f&amp;raw=1"></video>
<h2 class="anchor anchorWithStickyNavbar_fF9Z" id="abacus-integration-in-gaming-projects-tech">Abacus Integration in Gaming Projects <img decoding="async" loading="lazy" src="https://img.shields.io/badge/Tech-ffffff?style=flat&amp;color=61d27e" alt="Tech" class="img__Ss2"><a href="https://the-wall-docs.tools.flutter.com/news/2024/12/19/cce-learning-sessions#abacus-integration-in-gaming-projects-tech" class="hash-link" aria-label="Direct link to abacus-integration-in-gaming-projects-tech" title="Direct link to abacus-integration-in-gaming-projects-tech">​</a></h2>
<p>In this session, we explored the tools used to work with our design system, how to deal with design updates and manage versions, and discussed how we manage versions effectively. We also covered using Abacus in gaming products, applying tokens to GFE components, and highlighted key challenges and pitfalls to avoid.</p>
<p><a href="https://www.figma.com/deck/tQdLwoI8tx27EXEcE5qzpD/Abacus-Integration?node-id=1-1624&amp;viewport=-14064%2C-94%2C0.8&amp;t=448cWILvWPuXjSbJ-1&amp;scaling=min-zoom&amp;content-scaling=fixed&amp;page-id=0%3A1" target="_blank" rel="noopener noreferrer">Slides</a></p>
<video controls="" height="100%" width="100%"><source src="https://www.dropbox.com/scl/fi/p8yp928lgqknvidp3otfx/AbacusIntegrationInGamingProducts.mp4?rlkey=j2yoo0db7ss7q39syepj5ckib&amp;st=s3izc71n&amp;raw=1"></video>
<p><img decoding="async" loading="lazy" alt="Joel" src="https://the-wall-docs.tools.flutter.com/assets/images/DSCF9579-9875a5af765d61aaac10888af9260672.jpg" width="2048" height="1365" class="img__Ss2"></p>
<p><img decoding="async" loading="lazy" alt="Rita" src="https://the-wall-docs.tools.flutter.com/assets/images/DSCF9529-c720334f4c3ac983f74ae7c34007ef35.jpg" width="2048" height="1365" class="img__Ss2"></p>
<p>By the end of the sessions, the positive impact of this initiative was evident. Many questions were answered, and new insights emerged, reinforcing the importance of initiatives like this for the success of collaborative projects. As next steps, the Design System team plans to consolidate the contributions received and continue promoting more educational and inclusive events.</p>
<p>The conference was a significant milestone in spreading knowledge and fostering a more collaborative culture around the Design System. We are excited about what lies ahead and confident that, together, we can achieve even more!</p>
<p><img decoding="async" loading="lazy" alt="End" src="https://the-wall-docs.tools.flutter.com/assets/images/1000060214-eb143a29d175b9a161843c2a456799b4.jpg" width="2173" height="2688" class="img__Ss2"></p>]]></content:encoded>
            <category>events</category>
        </item>
    </channel>
</rss>