<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"><channel><description>🔵 Creator of motion.dev&#xA;📷 Photographer citizenofnowhe.re</description><link>https://bsky.app/profile/citizenofnowhe.re</link><title>@citizenofnowhe.re - Matt Perry</title><item><link>https://bsky.app/profile/citizenofnowhe.re/post/3m524sq3tzs25</link><description>Hello, here&#39;s a brain dump of everything I know about animation performance.&#xA;&#xA;Animating layout isn&#39;t always bad. Global CSS variables are a performance killer. Hardware accelerated blurs can crash sites.&#xA;&#xA;Surprised? Those and more in this post: https://motion.dev/blog/web-animation-performance-tier-list</description><pubDate>07 Nov 2025 12:55 +0000</pubDate><guid isPermaLink="false">at://did:plc:jqvil2la5t4yccau2abpmj6t/app.bsky.feed.post/3m524sq3tzs25</guid></item><item><link>https://bsky.app/profile/citizenofnowhe.re/post/3lykwwet2xc2g</link><description>🚀 We&#39;ve launched a brand new tutorials hub! Tutorials were buried in the examples microsite, now they&#39;re all in one easy-to-browse redesigned space. And each example has received a massive facelift.&#xA;&#xA;Check it out: motion.dev/tutorials</description><pubDate>11 Sep 2025 14:19 +0000</pubDate><guid isPermaLink="false">at://did:plc:jqvil2la5t4yccau2abpmj6t/app.bsky.feed.post/3lykwwet2xc2g</guid></item><item><link>https://bsky.app/profile/citizenofnowhe.re/post/3lxf2dfqrzk2w</link><description>By default, a carousel should paginate as many items as possible. But with a non-looping carousel you sometimes end up in the situation where you&#39;ve got a this kind of straggler page.&#xA;&#xA;🧵 [1/2]</description><pubDate>27 Aug 2025 12:39 +0000</pubDate><guid isPermaLink="false">at://did:plc:jqvil2la5t4yccau2abpmj6t/app.bsky.feed.post/3lxf2dfqrzk2w</guid></item><item><link>https://bsky.app/profile/citizenofnowhe.re/post/3lxcc4vbnxk2j</link><description>Super excited to welcome @sanity.io as the newest Motion sponsor!&#xA;&#xA;Sanity have been longtime users of Motion and it&#39;s amazing they&#39;re helping support its future as a platinum sponsor. &#xA;&#xA;Check them out: sanity.io</description><pubDate>26 Aug 2025 10:20 +0000</pubDate><guid isPermaLink="false">at://did:plc:jqvil2la5t4yccau2abpmj6t/app.bsky.feed.post/3lxcc4vbnxk2j</guid></item><item><link>https://bsky.app/profile/citizenofnowhe.re/post/3lwydkraot224</link><description>I have two rules for carousel pagination controls.&#xA;&#xA;1. A &#34;page&#34; is calculated from the current item to the start of the next partially-obscured item.&#xA;2. Use the current *target* offset, not the current visual offset, to find the next partially-obscured item 🧵</description><pubDate>22 Aug 2025 11:19 +0000</pubDate><guid isPermaLink="false">at://did:plc:jqvil2la5t4yccau2abpmj6t/app.bsky.feed.post/3lwydkraot224</guid></item><item><link>https://bsky.app/profile/citizenofnowhe.re/post/3lwr2zaghos2c</link><description>🚀 New example &amp; tutorial: Card stack&#xA;&#xA;Honestly my favourite part of making this demo was realising:&#xA;&#xA;rotate = mix(min, max, Math.sin(index))&#xA;&#xA;Nice SSR-safe alternative to Math.random() that actually provides a nicer distribution of rotations through the stack.&#xA;&#xA;https://examples.motion.dev/react/card-stack</description><pubDate>19 Aug 2025 13:57 +0000</pubDate><guid isPermaLink="false">at://did:plc:jqvil2la5t4yccau2abpmj6t/app.bsky.feed.post/3lwr2zaghos2c</guid></item><item><link>https://bsky.app/profile/citizenofnowhe.re/post/3lwofoooxv225</link><description>New Motion+ Example: Material Design Ripple&#xA;&#xA;This animation spawns ripples wherever an element&#39;s pressed. Once upon a time I tried this effect with a single element using background-image, but multiple elements &amp; scale allow it to be hardware accelerated.&#xA;&#xA;https://examples.motion.dev/react/material-design-ripple</description><pubDate>18 Aug 2025 12:30 +0000</pubDate><guid isPermaLink="false">at://did:plc:jqvil2la5t4yccau2abpmj6t/app.bsky.feed.post/3lwofoooxv225</guid></item><item><link>https://bsky.app/profile/citizenofnowhe.re/post/3lwc2cc2af226</link><description>I had a question on the Motion+ Discord about how you&#39;d create port this GSAP ScrollTrigger effect to Motion. &#xA;&#xA;My intuition was it&#39;s doable with CSS position: sticky. There&#39;s a little trick in here with position: relative too.&#xA;&#xA;CSS https://examples.motion.dev/js/layered-sections&#xA;GSAP https://codepen.io/GreenSock/pen/qEEJBGP</description><pubDate>13 Aug 2025 14:35 +0000</pubDate><guid isPermaLink="false">at://did:plc:jqvil2la5t4yccau2abpmj6t/app.bsky.feed.post/3lwc2cc2af226</guid></item><item><link>https://bsky.app/profile/citizenofnowhe.re/post/3lvdsdbfuac2x</link><description>Friday&#xA;&#xA;[contains quote post or other embedded content]</description><pubDate>01 Aug 2025 13:52 +0000</pubDate><guid isPermaLink="false">at://did:plc:jqvil2la5t4yccau2abpmj6t/app.bsky.feed.post/3lvdsdbfuac2x</guid></item><item><link>https://bsky.app/profile/citizenofnowhe.re/post/3lvdpowf5fs2m</link><description>🚀 Just published a new example: Cursor Trail&#xA;&#xA;No need to wire your own pointer events: usePointerPosition() in Motion+ returns x/y motion values powered by a single site-wide event handler, throttled to the frameloop.&#xA;&#xA;https://examples.motion.dev/react/cursor-trail</description><pubDate>01 Aug 2025 13:05 +0000</pubDate><guid isPermaLink="false">at://did:plc:jqvil2la5t4yccau2abpmj6t/app.bsky.feed.post/3lvdpowf5fs2m</guid></item><item><link>https://bsky.app/profile/citizenofnowhe.re/post/3lvbbcgmy2s2n</link><description>🚀 The Motion x @base-ui.com integration guide is out now!&#xA;&#xA;Additionally, Motion+ members get access to the source code of 13 Motion x Base UI examples, plus a custom LLM ruleset file.&#xA;&#xA;motion.dev/docs/base-ui</description><pubDate>31 Jul 2025 13:42 +0000</pubDate><guid isPermaLink="false">at://did:plc:jqvil2la5t4yccau2abpmj6t/app.bsky.feed.post/3lvbbcgmy2s2n</guid></item><item><link>https://bsky.app/profile/citizenofnowhe.re/post/3luzlwjhqgc2s</link><description>🚀 Long requested (issue was 5 years old)... New children entering into a staggered list now also stagger in!&#xA;&#xA;As easy as delayChildren: stagger(0.2).&#xA;&#xA;Motion+ Infinite Loading demo and tutorial: https://examples.motion.dev/react/infinite-loading</description><pubDate>28 Jul 2025 12:31 +0000</pubDate><guid isPermaLink="false">at://did:plc:jqvil2la5t4yccau2abpmj6t/app.bsky.feed.post/3luzlwjhqgc2s</guid></item><item><link>https://bsky.app/profile/citizenofnowhe.re/post/3lumwyteptk2m</link><description>🚀 Introducing Motion+ Typewriter! I&#39;ll let it speak for itself...&#xA;&#xA;motion.dev/docs/react-typewriter</description><pubDate>23 Jul 2025 11:45 +0000</pubDate><guid isPermaLink="false">at://did:plc:jqvil2la5t4yccau2abpmj6t/app.bsky.feed.post/3lumwyteptk2m</guid></item><item><link>https://bsky.app/profile/citizenofnowhe.re/post/3ltz3ielqak2c</link><description>🚀 New Motion+ example: Scroll Highlight&#xA;&#xA;Use Motion&#39;s inView function to highlight items as they hit a certain point in the viewport. Built on IntersectionObserver, it&#39;s more performant than scroll tracking.&#xA;&#xA;https://examples.motion.dev/react/scroll-highlight</description><pubDate>15 Jul 2025 14:12 +0000</pubDate><guid isPermaLink="false">at://did:plc:jqvil2la5t4yccau2abpmj6t/app.bsky.feed.post/3ltz3ielqak2c</guid></item><item><link>https://bsky.app/profile/citizenofnowhe.re/post/3ltwlanjae224</link><description>Many thanks to Build UI for supporting Motion from the very start 🙏 Now that Build UI is winding down we&#39;re looking for new sponsors!&#xA;&#xA;Support Motion, get your brand in front of over 100k developers a month, and receive Motion+ for your whole team: motion.dev/sponsor</description><pubDate>14 Jul 2025 14:16 +0000</pubDate><guid isPermaLink="false">at://did:plc:jqvil2la5t4yccau2abpmj6t/app.bsky.feed.post/3ltwlanjae224</guid></item><item><link>https://bsky.app/profile/citizenofnowhe.re/post/3ltjzet223k26</link><description>🚀 Improved error messaging in Motion&#xA;&#xA;Starting with the most common, error messages and warnings will increasingly provide a link to a page that explains the error message in more detail, and offers solutions.&#xA;&#xA;i.e https://motion.dev/error/no-valid-elements</description><pubDate>09 Jul 2025 14:24 +0000</pubDate><guid isPermaLink="false">at://did:plc:jqvil2la5t4yccau2abpmj6t/app.bsky.feed.post/3ltjzet223k26</guid></item><item><link>https://bsky.app/profile/citizenofnowhe.re/post/3lt5f4cv4gs2j</link><description>🎨 Motion Studio is in development.&#xA;&#xA;The landing page is a proper CSS &amp; Motion transition editor, built using the upcoming Motion Studio SDK.&#xA;&#xA;Changes are saved via the URL, so you can bookmark your faves!&#xA;&#xA;Build your transitions now: motion.dev/studio</description><pubDate>04 Jul 2025 13:49 +0000</pubDate><guid isPermaLink="false">at://did:plc:jqvil2la5t4yccau2abpmj6t/app.bsky.feed.post/3lt5f4cv4gs2j</guid></item><item><link>https://bsky.app/profile/citizenofnowhe.re/post/3lsyblt5y3223</link><description>🚀 Motion+ Ticker now supports overflow!&#xA;&#xA;This means you can lay a ticker out within your document flow, and items will visually extend out to the edges of your viewport. &#xA;&#xA;Ticker&#39;s optimal cloning strategy will incorporate the viewport dimensions for minimal cloned elements.</description><pubDate>02 Jul 2025 13:03 +0000</pubDate><guid isPermaLink="false">at://did:plc:jqvil2la5t4yccau2abpmj6t/app.bsky.feed.post/3lsyblt5y3223</guid></item><item><link>https://bsky.app/profile/citizenofnowhe.re/post/3lsvvqqg2322r</link><description>🚀 Motion for React 12.22 introduces stagger() support for delayChildren!&#xA;&#xA;This allows greater stagger control than the now-deprecated staggerChildren/Direction. With staggering out from the center or indexed item, plus support for eased stagger.</description><pubDate>01 Jul 2025 14:26 +0000</pubDate><guid isPermaLink="false">at://did:plc:jqvil2la5t4yccau2abpmj6t/app.bsky.feed.post/3lsvvqqg2322r</guid></item><item><link>https://bsky.app/profile/citizenofnowhe.re/post/3lstbhsahcs23</link><description>🔔 Stay ahead of the (bezier) curve — Motion+ Team admins can now enable Slack notifications for new Motion releases!&#xA;&#xA;Granular controls allow you opt-in to alerts for either new features, bug fixes, or both!</description><pubDate>30 Jun 2025 13:18 +0000</pubDate><guid isPermaLink="false">at://did:plc:jqvil2la5t4yccau2abpmj6t/app.bsky.feed.post/3lstbhsahcs23</guid></item><item><link>https://bsky.app/profile/citizenofnowhe.re/post/3lsbmq5cy5c2a</link><description>Motion 12.19 adds the usePageInView() hook for responding to changes in tab visibility. Pause animations and videos in background tabs for CPU-friendly websites 🌿&#xA;&#xA;https://motion.dev/docs/react-use-page-in-view</description><pubDate>23 Jun 2025 12:51 +0000</pubDate><guid isPermaLink="false">at://did:plc:jqvil2la5t4yccau2abpmj6t/app.bsky.feed.post/3lsbmq5cy5c2a</guid></item><item><link>https://bsky.app/profile/citizenofnowhe.re/post/3lrxm3p3s2c2c</link><description>Motion+ users can now use the bezier curve editor in @vscode.dev!&#xA;&#xA;Directly edit CSS and Motion via the GUI, and preview in real-time.&#xA;&#xA;motion.dev/docs/tools-vs-code-extension</description><pubDate>19 Jun 2025 13:13 +0000</pubDate><guid isPermaLink="false">at://did:plc:jqvil2la5t4yccau2abpmj6t/app.bsky.feed.post/3lrxm3p3s2c2c</guid></item><item><link>https://bsky.app/profile/citizenofnowhe.re/post/3lrsffwnipc2l</link><description>Level up your animations in @vscode.dev with the new Motion for VS Code extension!&#xA;&#xA;📚 Add Motion docs to Copilot&#xA;🤖 Generate CSS springs&#xA;🤫 More non-AI dev tools coming soon&#xA;&#xA;🔗 marketplace.visualstudio.com/items?itemName=Motion.motion-vscode-extension</description><pubDate>17 Jun 2025 11:30 +0000</pubDate><guid isPermaLink="false">at://did:plc:jqvil2la5t4yccau2abpmj6t/app.bsky.feed.post/3lrsffwnipc2l</guid></item><item><link>https://bsky.app/profile/citizenofnowhe.re/post/3lrplhclts22e</link><description>Motion usage continues to explode on npm. Downloads have more than doubled in a year.&#xA;&#xA;BUT - site visitors are gradually trending downwards 🤔&#xA;&#xA;Perhaps there&#39;s a summer lull but IMO these two trends are intuitively incompatible without a broader shift at play (you can guess)</description><pubDate>16 Jun 2025 08:40 +0000</pubDate><guid isPermaLink="false">at://did:plc:jqvil2la5t4yccau2abpmj6t/app.bsky.feed.post/3lrplhclts22e</guid></item><item><link>https://bsky.app/profile/citizenofnowhe.re/post/3lrfzzkq4bk2d</link><description>🚀 Motion+ Ticker is now available for Vue!&#xA;&#xA;The ultimate accessible ticker, with keyboard nav, velocity-defined animations and optimal cloning strategy.&#xA;&#xA;Docs: motion.dev/docs/vue-ticker or braindump directly into your LLM with the Motion+ MCP 🤖</description><pubDate>12 Jun 2025 13:35 +0000</pubDate><guid isPermaLink="false">at://did:plc:jqvil2la5t4yccau2abpmj6t/app.bsky.feed.post/3lrfzzkq4bk2d</guid></item><item><link>https://bsky.app/profile/citizenofnowhe.re/post/3lrdeulpr622p</link><description>🤖 Introducing Motion for AI&#xA;&#xA;Supercharge your LLM with the new Motion MCP:&#xA;• CSS spring and bounce generators&#xA;• Spring and easing visualisations&#xA;• Documentation&#xA;&#xA;Plus Motion+ Rules and vibe coding guides for @framer.com, @v0.dev, and @figma.com &#xA;&#xA;Get started now: motion.dev/docs/ai-quick-start</description><pubDate>11 Jun 2025 12:11 +0000</pubDate><guid isPermaLink="false">at://did:plc:jqvil2la5t4yccau2abpmj6t/app.bsky.feed.post/3lrdeulpr622p</guid></item><item><link>https://bsky.app/profile/citizenofnowhe.re/post/3lqubx6gmes2x</link><description>🚀 Introducing Motion+ Ticker for React&#xA;&#xA;Lightweight, accessible, multi-axis, performant, flexible, responsive.&#xA;&#xA;This is the ultimate ticker component. Let&#39;s dive in 🤿&#xA;&#xA;https://motion.dev/blog/building-the-ultimate-ticker</description><pubDate>05 Jun 2025 12:08 +0000</pubDate><guid isPermaLink="false">at://did:plc:jqvil2la5t4yccau2abpmj6t/app.bsky.feed.post/3lqubx6gmes2x</guid></item><item><link>https://bsky.app/profile/citizenofnowhe.re/post/3lqpgqm7of22g</link><description>📏 Introducing resize() in Motion 12.16!&#xA;&#xA;This tiny utility has a simple API for tracking changes to viewport and element size. Element tracking uses a single shared ResizeObserver for optimal performance.&#xA;&#xA;🔗 motion.dev/docs/resize&#xA;http://motion.dev/docs/resize</description><pubDate>03 Jun 2025 13:51 +0000</pubDate><guid isPermaLink="false">at://did:plc:jqvil2la5t4yccau2abpmj6t/app.bsky.feed.post/3lqpgqm7of22g</guid></item></channel></rss>