-
Notifications
You must be signed in to change notification settings - Fork 0
Home
This is the official guide to the MIT-licensed PetPal Desktop client, the Tauri app that displays an animated pet in a transparent desktop window. PetPal Studio is the separate photo-to-pet generation service.
Developers can explore the client and public demo assets without purchasing a custom pet. Install Node.js 20 or later, Rust stable, and the Tauri 2 prerequisites for your operating system.
git clone https://github.com/ethmoon/petpal-desktop.git
cd petpal-desktop
npm install
npm run tauri:devOpen the system-tray menu, or the menu-bar icon on macOS. Choose Import .petpet and select public/standard-mochi.petpet from your checkout. The client also has visibility, click-through, and quit controls. Available animation actions depend on the package.
The native Tauri runtime is needed for local file import. A browser-only Vite preview does not provide the native file-import bridge. The source includes Mac and Windows build targets; this does not establish that every OS version or architecture has been tested. Check installer requirements before using a distributed build. The default bundle configuration has no Linux installer.
A filename extension alone does not make a valid pet. The importer reads an archive containing a recognized manifest and the animation assets it references:
-
petpet.jsonwith a sprite sheet. -
petwebp.jsonwith WebP action files. - Legacy
manifest.jsonwith sprite strips.
See the package format guide for examples. Renaming a photograph to .petpet does not create these files or animation frames.
In src/main.js, importPetpackFile() opens the native file picker. importPetpackPath() invokes the Rust install_petpack_file command and applies the returned manifest and assets.
In src-tauri/src/lib.rs, the command copies the package into an installed-petpacks directory under application data, then loads that copy. The loader reads the archive manifest and referenced assets and returns them to the renderer.
If the import reports “failed to read petpack zip”, check the archive first. If it reports “failed to find asset”, compare the manifest paths with the files inside the archive. These are debugging pointers from the source, not claims that a particular user's package has been tested.
The photo-to-desktop-pet walkthrough explains the hosted service. Start with a clear photo of one pet. AI prepares the animated companion; the result is an interpretation and can differ from the reference photo.
Custom generation is a one-time paid service. Payment unlocks the generated preview, and the private .petpet package becomes available when ready. The current offer and requirements are on PetPal Studio. The MIT client license does not include access to the generation backend or private customer files.
For a client issue, open a GitHub issue with your OS, client version, reproduction steps, and a public demo if possible. Avoid posting private order links, customer photos, or credentials. For website payments or private delivery, use PetPal Studio support.