feat: add shareable Developer Trainer Card with clipboard export and PNG save (#260) - #341
Closed
justinjeong5 wants to merge 5 commits into
Closed
justinjeong5 wants to merge 5 commits into
justinjeong5 wants to merge 5 commits into
Conversation
…PNG save (chattymin#260) - Add TrainerCardCanvasView for rendering high-resolution (Retina @2x) retro Pokémon trainer cards combining active companion metadata and developer token statistics. - Support 1-click clipboard PNG copying and native NSSavePanel file export. - Include customizable trainer name, 5-digit trainer ID, species sprite, shiny badge, type badges, level/stage, and developer rank badges (Poké Ball to Champion). - Provide complete 7-language localization (ko, en, ja, es, fr, pt, de). - Add comprehensive unit tests covering type colors, rank tiers, image export, navigation state, and localization.
justinjeong5
marked this pull request as draft
September 22, 2026 08:17
Contributor
Author
|
Thanks for the heads-up @DyRize! I took a look at #331 — the two-sided card layout, the team-of-six picker, and the Collection tab integration look fantastic and much more complete and polished. I was just experimenting with some prototype card ideas here, so I am closing this draft in favor of #331. Really looking forward to seeing #331 merged into main! Rooting for your PR! 🚀 🤖 Generated with Antigravity 2.0 (AGY 2.0) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Addresses #260 (Part 3) by introducing a shareable Developer Pokémon TCG Card (
TrainerCardView/TrainerCardCanvasView) that combines a developer's active Pokémon companion identity with their AI coding token achievements into an authentic Pokémon Trading Card Game (TCG) card format, complete with bragging-rights killer specs.Developers frequently want to share their Pokémon growth milestones (e.g. hatching an egg, evolving a Charizard, or celebrating a heavy coding session) with teammates on Slack/Discord or on social media without risking privacy leaks (paths, repo names, prompt text, or account emails).
Key Highlights
#FAE138), type-driven gradient card stock, and rounded corners.기본 알,1단계,2단계,3단계), Pokémon name, and developer rank badge (🟣 마스터볼 개발자,🔵 수퍼볼 개발자, etc.).@2x.interpolation(.none)), plus a shiny badge stamp when applicable.NO. 149 · Nature · Types · Level.42,800,000) + prominent compact badge (42.8M).1,420,000,000) + prominent compact badge (1.42B).14일/14d).98.5M).48/151).12마리 졸업), or remaining hatch tokens for eggs (10.0M tokens to hatch).TRAINER: {TrainerName} · ID: #{TrainerID},SINCE {YYYY.MM}, and collector promo number★ 048/151 PROMO.[📋 Copy]): Renders @2x Retina PNG (660 × 930 px) via SwiftUIImageRendererdirectly intoNSPasteboardfor immediate paste (Cmd+V) into Slack, Discord, or web browsers, accompanied by a responsive checkmark animation.[💾 Save]): Triggers nativeNSSavePanelto exportPokeTokenCard_YYYYMMDD.pnganywhere.Type of change
UI changes
person.text.rectangle). Clicking it opens an in-popoverTrainerCardViewfeaturing a scaled preview of the authentic Pokémon TCG card homage with killer specs (Streak, Peak Day, Pokédex, Hall of Fame), editable trainer nickname, 1-click clipboard copy ([📋 Copy to Clipboard]), and PNG file saving ([💾 Save Image]).Checklist
swift buildandswift testpass locally🤖 Generated with Antigravity 2.0 (AGY 2.0)