diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..828ee9c --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2026 petpet contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..c75e745 --- /dev/null +++ b/README.md @@ -0,0 +1,207 @@ +
+ +petpet + +

petpet

+ +

Real AI Pet Raising

+ +

The harder you work your AI โ€” the mightier your pet becomes. ๐Ÿฃ โ†’ ๐Ÿฆ„

+ +

+ release + license + local-first +

+ +
+ +
+ +
+ +### ๐Ÿฅš Pick your egg + +Download for macOS +  +Download for Windows +  +Download for Linux + +
+ +
+ +
+Install commands (click to expand) + +```sh +# ๐ŸŽ macOS โ€” drag .dmg to /Applications, then clear quarantine on first launch: +xattr -cr /Applications/petpet.app + +# ๐ŸชŸ Windows โ€” double-click the .msi (or _x64-setup.exe for the NSIS variant) + +# ๐Ÿง Debian / Ubuntu +sudo dpkg -i petpet_*_amd64.deb + +# ๐Ÿง Fedora / RHEL +sudo rpm -i petpet-*-1.x86_64.rpm + +# ๐Ÿง Portable (any distro, no install) +chmod +x petpet_*_amd64.AppImage && ./petpet_*_amd64.AppImage +``` + +
+ +
+ +### ๐Ÿพ What is petpet? + +petpet is a desktop companion that quietly listens to **Claude Code / Codex / OpenCode / Aider** โ€” and more providers landing soon โ€” then turns your real AI usage into the pet's growth. Code seriously, your pet thrives. Idle, it sleeps. + +
+ Live pet โ€” hover reveals name, level, XP progress bar, and the upcoming stage +
+ Hover the pet to peek at name ยท level ยท XP bar ยท upcoming stage +
+ +- ๐Ÿ”’ **Zero-risk, fully local.** No cloud, no telemetry, no account, no data ever leaves your machine. Open source, MIT-licensed, fully auditable. +- ๐Ÿชถ **Zero-setup.** No hook configuration. petpet auto-discovers existing session logs on launch. +- ๐Ÿค– **Multi-agent.** One pet eats events from every supported AI coding tool; XP accumulates in a single pool. +- ๐Ÿ—‚๏ธ **Multi-pet.** Raise a fleet โ€” switch the active companion any time; the rest hold their state. + +
+ +### ๐Ÿฆ„ Three Built-in Difficulty Templates + +
+ +Three difficulty eggs + +| | Template | Difficulty | Default name | Hatch (Opus 4.7) | L99 (heavy use) | +|:---:|:---:|:---:|:---:|:---:|:---:| +| | **Unicorn** | ๐ŸŸข Easy | Sparkle | ~5โ€“10 conv | ~30 days | +| | **Sun (Wukong)** | ๐ŸŸก Medium | Wukong | ~15โ€“20 conv | ~60 days | +| | **KingKong** | ๐Ÿ”ด Hard | KingKong | ~30+ conv | ~150 days | + +
+ +**Hard mode philosophy** โ€” KingKong won't budge for idle chat. Only deliberate work counts: AI token usage, completed tasks, dispatched subagents. Want a titan? Earn it. + +
+ +### ๐Ÿ”ฎ The Evolution Engine + +Every pet has **10 evolution stages** โ€” egg โ†’ newborn โ†’ six juvenile / adult forms โ†’ final apex form. XP accrues from real-world events; level thresholds gate visual transformations. + +
+ Evolution stages across the three templates +
+ +**The XP pipeline** + +``` + Token usage โ” + Activity โ”€โ”ผโ”€โ”€โ†’ Algorithm โ”€โ”€โ†’ Rule multiplier โ”€โ”€โ†’ XP + Manual grantsโ”˜ (invariant) (per-template) +``` + +**Algorithm core** (`src/xp/algorithm.rs`, version-pinned, cross-install identical): + +```text +weighted = inputยท1 + outputยท5 + reasoningยท5 + cache_createยท1.25 + cache_readยท0.1 +raw = weighted / 60,000 ร— tier_mult ร— confidence ร— growth_curve(level) +xp = round(raw).clamp(0, tier_cap) +``` + +**Tier multipliers** โ€” capability bands stay stable across vendor price changes: + +| Tier | Examples | Mult | Per-event cap | +|---|---|:---:|:---:| +| ๐ŸŒŒ Frontier | Opus 4.7, GPT-5, o1+ | 1.5ร— | 10 XP | +| ๐ŸŒ™ Mid | Sonnet, GPT-4o, Gemini 2.5 | 1.0ร— | 6 XP | +| ๐Ÿฐ Mini | Haiku, GPT-4o-mini, nano | 0.7ร— | 3 XP | + +**Growth curve** โ€” `1 / (1 + 0.02 ยท level)`. High levels naturally diminish: at L25 you earn 67% per event, at L50 only 50%. No way to whale-rush to L99 in a weekend. + +**Per-template personality** โ€” rule multipliers `[0.5, 2.0]` let each template flavor its preferences. Unicorn rewards every chat (chat-friendly), Sun halves it (medium pacing), KingKong zeros it out (token-only diet). + +
+ +### ๐Ÿ•โ€๐Ÿฆบ Multi-Pet & Custom Templates + +**Switch any time.** The active pet absorbs live events; the rest preserve their state forever. Run a parallel breeding program if you like. + +**Roll your own pet.** The built-in **Template Creator** gets you from blank to playable in under 3 minutes: + +1. Pick a **levels preset** โ€” `short` / `medium` / `long` XP curve +2. Pick a **stages preset** โ€” `simple` (5 stages) / `balanced` (7) / `extended` (10) +3. Fill in: + - Name, description, flavor text + - 10 sprite PNGs (drag-and-drop) + - Per-rule XP weights and per-model boosts + - Theme color + label chips + +Templates live at `~/.petpet/templates//` โ€” pure JSON + PNGs. Hand-edit, git-version, share with friends. No proprietary format anywhere. + +
+ +### ๐Ÿ“Š Dashboard + +Click your pet โ†’ opens the **Trainer Card**: a per-pet (or "All") usage dashboard tracking your spend, XP gains, model breakdown, and every recent move. + +
+ Trainer Card dashboard โ€” All view: 3 pets, $8273.25 lifetime spend, 25K XP, 14B tokens, per-provider breakdown, recent moves +
+ +- ๐Ÿ’ฐ **Feeding Bill** โ€” today / this week / this month / lifetime USD + token totals +- ๐Ÿ“ˆ **Per-provider breakdown** โ€” Claude vs Codex vs OpenCode vs Aider, tokens + XP earned each +- ๐Ÿ“œ **Recent moves** โ€” every XP gain logged with timestamp, pet, amount, and source (`usage` / `activity` / `manual`) +- ๐Ÿ† **All vs single-pet toggle** โ€” `All` aggregates every pet you've ever raised (including pre-install historical sessions, display-only) + +On launch, petpet performs **async historical import** of past session logs โ€” your dashboard isn't empty on Day 1. + +
+ +### ๐Ÿ“ฆ Pet & Template Sharing + +Pack any pet (snapshot + XP history + custom name) or any template into a `.petpet` archive. Toss it on USB / Discord / GitHub releases. The recipient imports, schema is validated end-to-end: + +``` +โœ“ Manifest schema version โœ“ Sprite completeness (10 ร— PNG) +โœ“ XP curve monotonicity โœ“ Rule shape (no unknown source_type) +โœ“ SHA-256 checksums โœ“ No path traversal in archive +``` + +Invalid archives are **rejected**, never silently importing broken state. + +
+ +### ๐Ÿ› ๏ธ Build from Source + +```sh +# Prerequisites: Rust toolchain, Node 22+, pnpm + +git clone https://github.com/ppXD/petpet.git +cd petpet/desktop + +pnpm install +pnpm tauri dev # hot-reload dev build + +# Release bundles โ†’ desktop/src-tauri/target/release/bundle/ +pnpm tauri build +``` + +
+ +### ๐Ÿ“„ License + +MIT โ€” see [LICENSE](LICENSE). Fork it, modify it, ship it commercially. Pet sprites and engine code all under the same hat. + +
+ +
+ +Made with ๐Ÿ“ by humans who use AI too much. + +
diff --git a/assets/screenshots/dashboard.png b/assets/screenshots/dashboard.png new file mode 100644 index 0000000..0daaca3 Binary files /dev/null and b/assets/screenshots/dashboard.png differ diff --git a/assets/screenshots/evolution-strip-all.png b/assets/screenshots/evolution-strip-all.png new file mode 100644 index 0000000..2ed2f76 Binary files /dev/null and b/assets/screenshots/evolution-strip-all.png differ diff --git a/assets/screenshots/pet-hover.png b/assets/screenshots/pet-hover.png new file mode 100644 index 0000000..c8d6055 Binary files /dev/null and b/assets/screenshots/pet-hover.png differ diff --git a/assets/screenshots/three-eggs.png b/assets/screenshots/three-eggs.png new file mode 100644 index 0000000..49eb3a0 Binary files /dev/null and b/assets/screenshots/three-eggs.png differ diff --git a/desktop/src-tauri/icons/128x128.png b/desktop/src-tauri/icons/128x128.png index 6be5e50..f928299 100644 Binary files a/desktop/src-tauri/icons/128x128.png and b/desktop/src-tauri/icons/128x128.png differ diff --git a/desktop/src-tauri/icons/128x128@2x.png b/desktop/src-tauri/icons/128x128@2x.png index e81bece..4ef8a27 100644 Binary files a/desktop/src-tauri/icons/128x128@2x.png and b/desktop/src-tauri/icons/128x128@2x.png differ diff --git a/desktop/src-tauri/icons/32x32.png b/desktop/src-tauri/icons/32x32.png index a437dd5..3e53a9e 100644 Binary files a/desktop/src-tauri/icons/32x32.png and b/desktop/src-tauri/icons/32x32.png differ diff --git a/desktop/src-tauri/icons/64x64.png b/desktop/src-tauri/icons/64x64.png new file mode 100644 index 0000000..6b9168f Binary files /dev/null and b/desktop/src-tauri/icons/64x64.png differ diff --git a/desktop/src-tauri/icons/Square107x107Logo.png b/desktop/src-tauri/icons/Square107x107Logo.png index 0ca4f27..09a526e 100644 Binary files a/desktop/src-tauri/icons/Square107x107Logo.png and b/desktop/src-tauri/icons/Square107x107Logo.png differ diff --git a/desktop/src-tauri/icons/Square142x142Logo.png b/desktop/src-tauri/icons/Square142x142Logo.png index b81f820..84b26cf 100644 Binary files a/desktop/src-tauri/icons/Square142x142Logo.png and b/desktop/src-tauri/icons/Square142x142Logo.png differ diff --git a/desktop/src-tauri/icons/Square150x150Logo.png b/desktop/src-tauri/icons/Square150x150Logo.png index 624c7bf..f8cee1b 100644 Binary files a/desktop/src-tauri/icons/Square150x150Logo.png and b/desktop/src-tauri/icons/Square150x150Logo.png differ diff --git a/desktop/src-tauri/icons/Square284x284Logo.png b/desktop/src-tauri/icons/Square284x284Logo.png index c021d2b..24a1fe6 100644 Binary files a/desktop/src-tauri/icons/Square284x284Logo.png and b/desktop/src-tauri/icons/Square284x284Logo.png differ diff --git a/desktop/src-tauri/icons/Square30x30Logo.png b/desktop/src-tauri/icons/Square30x30Logo.png index 6219700..00154c5 100644 Binary files a/desktop/src-tauri/icons/Square30x30Logo.png and b/desktop/src-tauri/icons/Square30x30Logo.png differ diff --git a/desktop/src-tauri/icons/Square310x310Logo.png b/desktop/src-tauri/icons/Square310x310Logo.png index f9bc048..a10abb9 100644 Binary files a/desktop/src-tauri/icons/Square310x310Logo.png and b/desktop/src-tauri/icons/Square310x310Logo.png differ diff --git a/desktop/src-tauri/icons/Square44x44Logo.png b/desktop/src-tauri/icons/Square44x44Logo.png index d5fbfb2..a318dca 100644 Binary files a/desktop/src-tauri/icons/Square44x44Logo.png and b/desktop/src-tauri/icons/Square44x44Logo.png differ diff --git a/desktop/src-tauri/icons/Square71x71Logo.png b/desktop/src-tauri/icons/Square71x71Logo.png index 63440d7..8878811 100644 Binary files a/desktop/src-tauri/icons/Square71x71Logo.png and b/desktop/src-tauri/icons/Square71x71Logo.png differ diff --git a/desktop/src-tauri/icons/Square89x89Logo.png b/desktop/src-tauri/icons/Square89x89Logo.png index f3f705a..e19047c 100644 Binary files a/desktop/src-tauri/icons/Square89x89Logo.png and b/desktop/src-tauri/icons/Square89x89Logo.png differ diff --git a/desktop/src-tauri/icons/StoreLogo.png b/desktop/src-tauri/icons/StoreLogo.png index 4556388..a09d0d6 100644 Binary files a/desktop/src-tauri/icons/StoreLogo.png and b/desktop/src-tauri/icons/StoreLogo.png differ diff --git a/desktop/src-tauri/icons/android/mipmap-anydpi-v26/ic_launcher.xml b/desktop/src-tauri/icons/android/mipmap-anydpi-v26/ic_launcher.xml new file mode 100644 index 0000000..2ffbf24 --- /dev/null +++ b/desktop/src-tauri/icons/android/mipmap-anydpi-v26/ic_launcher.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/desktop/src-tauri/icons/android/mipmap-hdpi/ic_launcher.png b/desktop/src-tauri/icons/android/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000..db8f728 Binary files /dev/null and b/desktop/src-tauri/icons/android/mipmap-hdpi/ic_launcher.png differ diff --git a/desktop/src-tauri/icons/android/mipmap-hdpi/ic_launcher_foreground.png b/desktop/src-tauri/icons/android/mipmap-hdpi/ic_launcher_foreground.png new file mode 100644 index 0000000..4f45ea0 Binary files /dev/null and b/desktop/src-tauri/icons/android/mipmap-hdpi/ic_launcher_foreground.png differ diff --git a/desktop/src-tauri/icons/android/mipmap-hdpi/ic_launcher_round.png b/desktop/src-tauri/icons/android/mipmap-hdpi/ic_launcher_round.png new file mode 100644 index 0000000..a0eae40 Binary files /dev/null and b/desktop/src-tauri/icons/android/mipmap-hdpi/ic_launcher_round.png differ diff --git a/desktop/src-tauri/icons/android/mipmap-mdpi/ic_launcher.png b/desktop/src-tauri/icons/android/mipmap-mdpi/ic_launcher.png new file mode 100644 index 0000000..3ff2c99 Binary files /dev/null and b/desktop/src-tauri/icons/android/mipmap-mdpi/ic_launcher.png differ diff --git a/desktop/src-tauri/icons/android/mipmap-mdpi/ic_launcher_foreground.png b/desktop/src-tauri/icons/android/mipmap-mdpi/ic_launcher_foreground.png new file mode 100644 index 0000000..a3c18b3 Binary files /dev/null and b/desktop/src-tauri/icons/android/mipmap-mdpi/ic_launcher_foreground.png differ diff --git a/desktop/src-tauri/icons/android/mipmap-mdpi/ic_launcher_round.png b/desktop/src-tauri/icons/android/mipmap-mdpi/ic_launcher_round.png new file mode 100644 index 0000000..11bfd1c Binary files /dev/null and b/desktop/src-tauri/icons/android/mipmap-mdpi/ic_launcher_round.png differ diff --git a/desktop/src-tauri/icons/android/mipmap-xhdpi/ic_launcher.png b/desktop/src-tauri/icons/android/mipmap-xhdpi/ic_launcher.png new file mode 100644 index 0000000..6a7f9c0 Binary files /dev/null and b/desktop/src-tauri/icons/android/mipmap-xhdpi/ic_launcher.png differ diff --git a/desktop/src-tauri/icons/android/mipmap-xhdpi/ic_launcher_foreground.png b/desktop/src-tauri/icons/android/mipmap-xhdpi/ic_launcher_foreground.png new file mode 100644 index 0000000..d497e94 Binary files /dev/null and b/desktop/src-tauri/icons/android/mipmap-xhdpi/ic_launcher_foreground.png differ diff --git a/desktop/src-tauri/icons/android/mipmap-xhdpi/ic_launcher_round.png b/desktop/src-tauri/icons/android/mipmap-xhdpi/ic_launcher_round.png new file mode 100644 index 0000000..9cd0dec Binary files /dev/null and b/desktop/src-tauri/icons/android/mipmap-xhdpi/ic_launcher_round.png differ diff --git a/desktop/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher.png b/desktop/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 0000000..ba3ced1 Binary files /dev/null and b/desktop/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher.png differ diff --git a/desktop/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher_foreground.png b/desktop/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher_foreground.png new file mode 100644 index 0000000..aa04a31 Binary files /dev/null and b/desktop/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher_foreground.png differ diff --git a/desktop/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher_round.png b/desktop/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher_round.png new file mode 100644 index 0000000..bfebff2 Binary files /dev/null and b/desktop/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher_round.png differ diff --git a/desktop/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher.png b/desktop/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher.png new file mode 100644 index 0000000..bdf1e5d Binary files /dev/null and b/desktop/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher.png differ diff --git a/desktop/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher_foreground.png b/desktop/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher_foreground.png new file mode 100644 index 0000000..1ffa4c4 Binary files /dev/null and b/desktop/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher_foreground.png differ diff --git a/desktop/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher_round.png b/desktop/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher_round.png new file mode 100644 index 0000000..20ee998 Binary files /dev/null and b/desktop/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher_round.png differ diff --git a/desktop/src-tauri/icons/android/values/ic_launcher_background.xml b/desktop/src-tauri/icons/android/values/ic_launcher_background.xml new file mode 100644 index 0000000..ea9c223 --- /dev/null +++ b/desktop/src-tauri/icons/android/values/ic_launcher_background.xml @@ -0,0 +1,4 @@ + + + #fff + \ No newline at end of file diff --git a/desktop/src-tauri/icons/icon.icns b/desktop/src-tauri/icons/icon.icns index 12a5bce..4856a17 100644 Binary files a/desktop/src-tauri/icons/icon.icns and b/desktop/src-tauri/icons/icon.icns differ diff --git a/desktop/src-tauri/icons/icon.ico b/desktop/src-tauri/icons/icon.ico index b3636e4..a2a4c20 100644 Binary files a/desktop/src-tauri/icons/icon.ico and b/desktop/src-tauri/icons/icon.ico differ diff --git a/desktop/src-tauri/icons/icon.png b/desktop/src-tauri/icons/icon.png index e1cd261..3e66451 100644 Binary files a/desktop/src-tauri/icons/icon.png and b/desktop/src-tauri/icons/icon.png differ diff --git a/desktop/src-tauri/icons/ios/AppIcon-20x20@1x.png b/desktop/src-tauri/icons/ios/AppIcon-20x20@1x.png new file mode 100644 index 0000000..e6ef6a1 Binary files /dev/null and b/desktop/src-tauri/icons/ios/AppIcon-20x20@1x.png differ diff --git a/desktop/src-tauri/icons/ios/AppIcon-20x20@2x-1.png b/desktop/src-tauri/icons/ios/AppIcon-20x20@2x-1.png new file mode 100644 index 0000000..3a53e29 Binary files /dev/null and b/desktop/src-tauri/icons/ios/AppIcon-20x20@2x-1.png differ diff --git a/desktop/src-tauri/icons/ios/AppIcon-20x20@2x.png b/desktop/src-tauri/icons/ios/AppIcon-20x20@2x.png new file mode 100644 index 0000000..3a53e29 Binary files /dev/null and b/desktop/src-tauri/icons/ios/AppIcon-20x20@2x.png differ diff --git a/desktop/src-tauri/icons/ios/AppIcon-20x20@3x.png b/desktop/src-tauri/icons/ios/AppIcon-20x20@3x.png new file mode 100644 index 0000000..fe864f0 Binary files /dev/null and b/desktop/src-tauri/icons/ios/AppIcon-20x20@3x.png differ diff --git a/desktop/src-tauri/icons/ios/AppIcon-29x29@1x.png b/desktop/src-tauri/icons/ios/AppIcon-29x29@1x.png new file mode 100644 index 0000000..65be73c Binary files /dev/null and b/desktop/src-tauri/icons/ios/AppIcon-29x29@1x.png differ diff --git a/desktop/src-tauri/icons/ios/AppIcon-29x29@2x-1.png b/desktop/src-tauri/icons/ios/AppIcon-29x29@2x-1.png new file mode 100644 index 0000000..7a2b103 Binary files /dev/null and b/desktop/src-tauri/icons/ios/AppIcon-29x29@2x-1.png differ diff --git a/desktop/src-tauri/icons/ios/AppIcon-29x29@2x.png b/desktop/src-tauri/icons/ios/AppIcon-29x29@2x.png new file mode 100644 index 0000000..7a2b103 Binary files /dev/null and b/desktop/src-tauri/icons/ios/AppIcon-29x29@2x.png differ diff --git a/desktop/src-tauri/icons/ios/AppIcon-29x29@3x.png b/desktop/src-tauri/icons/ios/AppIcon-29x29@3x.png new file mode 100644 index 0000000..5bba010 Binary files /dev/null and b/desktop/src-tauri/icons/ios/AppIcon-29x29@3x.png differ diff --git a/desktop/src-tauri/icons/ios/AppIcon-40x40@1x.png b/desktop/src-tauri/icons/ios/AppIcon-40x40@1x.png new file mode 100644 index 0000000..3a53e29 Binary files /dev/null and b/desktop/src-tauri/icons/ios/AppIcon-40x40@1x.png differ diff --git a/desktop/src-tauri/icons/ios/AppIcon-40x40@2x-1.png b/desktop/src-tauri/icons/ios/AppIcon-40x40@2x-1.png new file mode 100644 index 0000000..3622f5a Binary files /dev/null and b/desktop/src-tauri/icons/ios/AppIcon-40x40@2x-1.png differ diff --git a/desktop/src-tauri/icons/ios/AppIcon-40x40@2x.png b/desktop/src-tauri/icons/ios/AppIcon-40x40@2x.png new file mode 100644 index 0000000..3622f5a Binary files /dev/null and b/desktop/src-tauri/icons/ios/AppIcon-40x40@2x.png differ diff --git a/desktop/src-tauri/icons/ios/AppIcon-40x40@3x.png b/desktop/src-tauri/icons/ios/AppIcon-40x40@3x.png new file mode 100644 index 0000000..b6a78d4 Binary files /dev/null and b/desktop/src-tauri/icons/ios/AppIcon-40x40@3x.png differ diff --git a/desktop/src-tauri/icons/ios/AppIcon-512@2x.png b/desktop/src-tauri/icons/ios/AppIcon-512@2x.png new file mode 100644 index 0000000..a90f743 Binary files /dev/null and b/desktop/src-tauri/icons/ios/AppIcon-512@2x.png differ diff --git a/desktop/src-tauri/icons/ios/AppIcon-60x60@2x.png b/desktop/src-tauri/icons/ios/AppIcon-60x60@2x.png new file mode 100644 index 0000000..b6a78d4 Binary files /dev/null and b/desktop/src-tauri/icons/ios/AppIcon-60x60@2x.png differ diff --git a/desktop/src-tauri/icons/ios/AppIcon-60x60@3x.png b/desktop/src-tauri/icons/ios/AppIcon-60x60@3x.png new file mode 100644 index 0000000..c4c3efa Binary files /dev/null and b/desktop/src-tauri/icons/ios/AppIcon-60x60@3x.png differ diff --git a/desktop/src-tauri/icons/ios/AppIcon-76x76@1x.png b/desktop/src-tauri/icons/ios/AppIcon-76x76@1x.png new file mode 100644 index 0000000..93601f8 Binary files /dev/null and b/desktop/src-tauri/icons/ios/AppIcon-76x76@1x.png differ diff --git a/desktop/src-tauri/icons/ios/AppIcon-76x76@2x.png b/desktop/src-tauri/icons/ios/AppIcon-76x76@2x.png new file mode 100644 index 0000000..2d7cd33 Binary files /dev/null and b/desktop/src-tauri/icons/ios/AppIcon-76x76@2x.png differ diff --git a/desktop/src-tauri/icons/ios/AppIcon-83.5x83.5@2x.png b/desktop/src-tauri/icons/ios/AppIcon-83.5x83.5@2x.png new file mode 100644 index 0000000..de4ccda Binary files /dev/null and b/desktop/src-tauri/icons/ios/AppIcon-83.5x83.5@2x.png differ