Skip to content
uponatime2019Public

About

Animated pixel pets for your Windows desktop, with a built-in pixel art studio to design your own. WinUI 3, fully portable, MIT.

Topics

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

🐾 PetDesk

Charming animated pixel pets that live on your Windows desktop — with a built-in pixel art studio to design your own.

.NET 8 WinUI 3 Windows 10/11 License: MIT Latest Release

🎉 Try It Now

⬇️ Download the latest portable version — zero-install: unzip and run PetDesk.exe. No setup, no account, no store required.

📸 Screenshots

PetDesk Pose Library

PetDesk Pixel Editor

✨ What is PetDesk?

PetDesk brings friendly, animated pixel companions to your Windows desktop while you work, relax, or browse. Pick from eight built-in pet packs — cats, slimes, puppies, bunnies, penguins, foxes, pandas, and ducks — or design your own sprite animations in the integrated pixel art editor. Pets wander, idle, and react on a transparent always-on-top layer, and the app tucks itself into the system tray when you don't need it.

🌟 Features

Desktop pets

  • 🐱 8 built-in pet packs, each with hand-drawn 32×32 multi-frame animations (walk + idle)
  • 🖥️ True per-pixel transparent overlay — borderless topmost windows that stay out of Alt-Tab and the taskbar
  • 🚶 Pet brain with idle/walk behavior — pets wander, turn around, and pause on their own
  • 📐 Scale (50 %–250 %) and animation speed (0.25×–3×) controls
  • 📌 Always-on-top toggle, global pause, and one-click hide/show of every pet
  • 🖱️ Drag pets anywhere — placements persist across restarts
  • 🔄 Per-screen DPI awareness (PerMonitorV2) — pets stay crisp on mixed-DPI setups

Pixel art studio

  • ✏️ Full editor: pencil, eraser, fill, eyedropper, rectangle/ellipse/line/triangle drawing
  • 🎞️ Per-animation frame timeline with add / duplicate / remove and frame reordering
  • 🎨 Palette tools with color picker and live animated preview
  • 🔀 Undo/redo, selection move with arrow keys, Delete and Escape support
  • 💾 Autosave — every edit shows up on your desktop pets immediately

Pack library

  • 📚 Browse, rename, export and delete packs; import packs shared by others (plain JSON)
  • 🏷️ Built-in packs refresh automatically; user packs never overwrite built-ins
  • 🗂️ Packs live in %LOCALAPPDATA%\PetDesk\packs — one JSON file per pet

App niceties

  • 🔔 System tray integration — show/hide pets, pause, reset positions, open the Studio, exit
  • 🌗 Light / dark / system theme with a one-click header toggle
  • 🚀 Optional launch-at-startup (registry Run key, starts minimized to the tray)
  • 🧯 Crash logging to %LOCALAPPDATA%\PetDesk\logs for painless diagnostics
  • 🪟 Single-instance — launching again restores the running Studio

🛠️ Technology Stack

Layer Technology
UI framework WinUI 3 (Windows App SDK 2.4), .NET 8
Language C# 12 (nullable enable)
Rendering WriteableBitmap software sprite renderer + Win32 layered windows (DWM alpha)
Pet AI Lightweight finite-state brain (idle ↔ walk, per-pet timers)
Tray H.NotifyIcon.WinUI
Storage Newtonsoft.Json — settings, theme and pet packs under %LOCALAPPDATA%\PetDesk
Packaging Fully unpackaged + WindowsAppSDKSelfContained — the published zip runs on any Windows 10 (1809+) or Windows 11 x64 machine with no runtime install

Architecture in a nutshell

PetDesk.exe
├── App                     single-instance mutex, tray + overlay lifecycle, Studio window
├── MainWindow (Studio)     NavigationView shell: Pose Library / Editor / Settings
├── PetOverlayManager       owns one PetOverlayWindow per desktop pet; persists placements
│    └── PetOverlayWindow   transparent topmost window + SpriteRenderer + PetBrain
├── PetPackService          loads/saves/imports JSON pet packs (built-ins provisioned on first run)
├── SettingsService         settings.json persistence
├── Helpers
│   ├── PixelArt            pack/animation/frame model + built-in pack art
│   ├── SpriteRenderer      WriteableBitmap compositor (flip, scale, pause, fps)
│   ├── PixelCanvas         interactive pixel grid (pointer + keyboard tools)
│   └── Win32 / WindowHelper layered-window setup, DPI, icons, maximize

🔨 Building from Source

Prerequisites

  • Windows 10 1809+ or Windows 11 (x64)
  • .NET 8 SDK with the Windows 10 SDK build tools (restored automatically as NuGet packages)
  • No MSIX/packaging tools needed — the project is pure unpackaged
git clone https://github.com/uponatime2019/PetDesk.git
cd PetDesk

# Build (Debug)
dotnet build PetDesk.csproj -p:Platform=x64

# Run
dotnet run --project PetDesk.csproj -p:Platform=x64

# Publish a standalone portable folder
dotnet publish PetDesk.csproj -c Release -p:Platform=x64 -o publish_out

The Release publish output is fully self-contained (Windows App SDK + .NET runtime are bundled), so the resulting PetDesk.exe runs on machines without any framework install.

⌨️ Keyboard Controls

Shortcut Action
Ctrl + L Open the Pose Library
Ctrl + E Open the Editor
Ctrl + Z Undo (editor canvas)
Ctrl + Y Redo (editor canvas)
Delete / Backspace Clear the current selection
Esc Cancel the current selection
← → ↑ ↓ Nudge the selection by one pixel

🗺️ Roadmap

  • 8 built-in pet packs with walk + idle animations
  • Pixel art editor with frame timeline and live preview
  • Pack import / export (JSON)
  • Tray integration with quick controls
  • More built-in species (dragon, axolotl, capybara…)
  • Click interactions — pets react when poked or picked up
  • Screen-edge behaviors (climbing, sitting on the taskbar)
  • Speech bubbles / emotes
  • GIF sprite-sheet import for one-click custom pets
  • Multiple pets of the same pack side by side
  • Per-pet scale (global scale today)
  • Portable single-file exe

🤝 Contributing & Community

Contributions are very welcome — PetDesk is a fun project and everyone is invited! 💛

Whether you want to fix a bug, add a pet species, improve the editor, or polish the docs, here's how to get started:

  1. 🍴 Fork the repository and create a branch from master
  2. 🔧 Build & run locally (dotnet build PetDesk.csproj -p:Platform=x64) — see Building from Source
  3. ✅ Make your change, keep the code style, and test the app (pets + editor + tray)
  4. 📥 Open a pull request with a short description of what and why

Other ways to participate:

  • 🐞 Report bugs via Issues — crash logs from %LOCALAPPDATA%\PetDesk\logs are gold
  • 💡 Suggest features or new pet species in an Issue
  • 🎨 Design pet packs and share the JSON in a discussion
  • ⭐ Star the repo if you like it — it genuinely helps discovery!

See CONTRIBUTING.md for details.

📄 License

PetDesk is released under the MIT License — free to use, modify and share.

About

Animated pixel pets for your Windows desktop, with a built-in pixel art studio to design your own. WinUI 3, fully portable, MIT.

Topics

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages