[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-76128":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":16,"stars7d":17,"stars30d":18,"stars90d":15,"forks30d":15,"starsTrendScore":19,"compositeScore":20,"rankGlobal":9,"rankLanguage":9,"license":21,"archived":22,"fork":22,"defaultBranch":23,"hasWiki":24,"hasPages":22,"topics":25,"createdAt":9,"pushedAt":9,"updatedAt":26,"readmeContent":27,"aiSummary":28,"trendingCount":15,"starSnapshotCount":15,"syncStatus":29,"lastSyncTime":30,"discoverSource":31},76128,"TomodachiDrawer","Lucas7yoshi\u002FTomodachiDrawer","Lucas7yoshi","A toolset for generating inputs for controlling a Switch to draw whatever in Tomodachi Life, with support for outputting to an RP2040 or RP2350.",null,"C#",309,30,6,21,0,46,65,147,138,94.47,"GNU General Public License v3.0",false,"master",true,[],"2026-06-12 04:01:20","# TomodachiDrawer\n\nTomodachiDrawer is a collection of firmware and software that generates inputs to control a Nintendo Switch to draw arbitrary images in the Palette House.\n\n## WARNING: Switch 1 is prone to desyncs\nSee #12 , unfortunately it seems that the Switch 1 is prone to desyncing randomly from inexplicable lag spikes. Current testing suggests this is related to the 3D preview. Switch 2 users are unaffected, and drawings of types that are just lone transparent images do not seem to be prone to these effects. 0.3.1 and 0.3.2 added some mitigations for some other types of delay, but the lag one is still under investigation. If you have any information or clips of the desync occuring, be sure to comment it on that issue!\n\n\u003Cimg src=\"Docs\u002Fbaconator_preview.webp\" width=\"600\" alt=\"Tomodachi Drawer drawing a Baconator\">\n\u003Cimg src=\"Docs\u002Fnurture_preview.webp\" width=\"600\" alt=\"Tomodachi Drawer drawing the Porter Robinson album art for Nurture\">\n\nThe program splits images into layers matched to colours in the game, and generates optimized routes for the pen to follow to draw your image.\n\nIt has a crossplatform Avalonia UI desktop app that supports flashing directly to a RP2040-Zero which can then be plugged into the USB port of a Switch or Switch 2 where it will begin to draw.\n\n## Hardware Compatibility\nThis was designed for an RP2040-Zero as it was one of the cheapest options, however any RP2040 based board *should* be compatible, with support for the LED on the standard Raspberry Pi Pico too.\n\n## How To Use\n\nInitial setup requires a few steps, made easier by the UI.\n\n### Following the YouTube tutorial is recommended:\n\nNote: flashing lights warning for video, apologies.\n[YouTube Tutorial](https:\u002F\u002Fyoutu.be\u002FGIaiw3gzabo)\n\nAn addendum video covering the changes since that was made is available here:\n[Addendum Tutorial](https:\u002F\u002Fyoutu.be\u002F9rVLea1-nlY)\n\n### Downloads\nDownloads are available in the releases, they come in a few forms\n\n[Releases](https:\u002F\u002Fgithub.com\u002FLucas7yoshi\u002FTomodachiDrawer\u002Freleases)\n\n- TomodachiDrawer.UI.Avalonia.#.#.#.platform.zip\nplatform can be win64 for windows, osx-arm64 for Mac on ARM cpus, osx64 for Mac on x64 cpus, and linux64 and linuxarm64 for the same on linux.\nDownload the one that is right for your computer, for mac users with any recent macbook arm64 should work.\n\nFor Linux and Mac users, you may need to run chmod +x binaryNameHere or go into your settings to allow it.\n\n### Or briefly, in text:\n\n1. Download the Desktop app here, for your platform: https:\u002F\u002Fgithub.com\u002FLucas7yoshi\u002FTomodachiDrawer\u002Freleases\n3. Extract the zip folder\n4. Run TomodachiDrawer.UI.Avalonia.[YourPlatform].exe (or similar for your platform)\n5. Plug in your RP2040-Zero (or Raspberry Pi Pico) to your PC while holding the boot button, or while connected hold BOOT and press reset while still holding boot.\n6. The program should recognize it.\n7. Press \"Flash Base Firmware\", this will install the code that handles sending the inputs.\n8. Repeat the steps to hold the boot button, then open your image by pressing the open button or dragging it in. It must be 256x256 or smaller.\n9. Select the Colour Matcher that looks best (arbitrary uses the full range), adjust the TSP solver time limit (explained in the ? button) as needed.\n10. Select \"Export to RP2040\" which will write it directly to the RP2040.\n11. Unplug the RP2040 and connect it to your switch (Note: Ensure \"Wired Pro Controller Communication\" is enabled in your settings!)\n    - Note: you must have Palette house open, on \"pro\" mode, the cursor in the top left of where you want it drawn, zoomed out, and your top colour to be set to black.\n12. Upon completion, the RGB LED on the Pi will go to a rainbow. If you disconnect it and reconnect it, it will draw it again. Connect to your PC to change the image!\n\n#### If the program does not recognize your RP2040\nThe logic may be delicate for Linux and Mac platforms as those are ones I cannot test.\nIf it does not detect it, you can still drag-and-drop the .uf2 included with the download to your Pi for step 7, and for the image data, select \"export .uf2\" and save it to a destination, and once done, drag and drop onto the RP2040 drive to flash it manually.\n\n## Contributing\n\nThis project is a recreation of a mess of AI coded nonsense that was unmaintainable by me and too fixated to my setup. Please refrain from using AI irresponsibily if you wish to contribute. As I encountered several times, even just leaning on it to think of a general idea on how to approach a problem can send you down a overly complicated rabbit hole that you really dont need to, so be smart.\n\nThis project is split into the TomodachiDrawer.Core which houses all the main pathing logic, the output sinks, and colour palette info, as well as the UI's (which there is just one, the UI.Windows in WinForms)\n\nThe binary format used is .tdld, and is custom made by me for the purposes of controller microcontrollers. Technically speaking, this format is not at all bound to Tomodachi Life as it is just a generic way to represent inputs and delays in a compact form.\n\nVisual Studio 2026 is neccasary as well as the .NET 10 runtime. For the TomodachiDrawer.Firmware, please see the README.md in the folder.\n\nContributions are encouraged, and if you want to make a new UI for a new platform you are more than welcome to, in fact, it would be greatly appreciated!\n\nThe main areas for improvement are optimizations to the routing logic, I strongly discourage letting AI go loose on this as well, as I found my prior ai-slop-proof-of-concept version was actively slower than even the more simpler logic in the first iteration of this!\n\n## License\nThis project is licensed under the GPL-3.0 license, read it in full here: [LICENSE](.\u002FLICENSE)\n\nThe main motivator for this license is that it requires that derivatives share their work with the class openly if they derive from this.\n\n## Used libraries\nThis project depends on the following libraries:\n\n- SkiaSharp\t(For image reading\u002Fwriting)\n- Google.OrTools (for the TSP solving)\n- ImageSharp (For its WuQuantizer)\n","TomodachiDrawer 是一个工具集，用于生成控制 Nintendo Switch 在《朋友生活》游戏中绘制任意图像所需的输入，并支持输出到 RP2040 微控制器。其核心功能包括将图片分解成与游戏内颜色匹配的图层，并生成优化的绘图路径。该项目使用 C# 开发，提供了一个跨平台的 Avalonia UI 桌面应用程序，可以直接将固件刷写到 RP2040-Zero 板上，然后通过 USB 连接到 Switch 控制台进行绘画。它特别适合于希望在《朋友生活》中自动绘制复杂图案或艺术作品的玩家和创作者。尽管存在一些针对特定型号 Switch 的同步问题，但项目团队正在积极寻找解决方案。",2,"2026-06-11 03:54:34","CREATED_QUERY"]