diff --git a/docs/design.md b/docs/design.md new file mode 100644 index 0000000..ea05f08 --- /dev/null +++ b/docs/design.md @@ -0,0 +1,89 @@ +# ðī Character Card Standards + +This page explains the standard format and rules used for character cards. + +--- + +## ð Card Dimensions + +- **Canvas Size:** `800x1120px` +- **Print Equivalent:** 2.5 x 3.5 inches (at 300dpi, classic card format) + +--- + +## ð§Đ Layout Regions + +Each card is composed of the following sections: + +- **Top Name Bar** â Displays character name +- **Series Text** â Indicates the collection or set the card belongs to +- **Main Art Zone** â Character illustration +- **Stats Row** â Shows 3 core stats: + - **Power** + - **Charm** + - **Wit** +- **Flavor Text Box** â Optional quote or description +- **Rarity Marker** â Icon, stars, or color code +- **Artist name** - The creator of the Character illustration +- **Kemoverse ID** - Unique SHA-256 code generated for the card, based on the information of the card (Ommiting art) + + +--- + +## ð Rarity Tiers + +Each card belongs to a **rarity tier** which affects both appearance and stat limits. + +| Rarity | Total Stats Cap | Visual Features Recommended | +|--------------|------------------|-------------------------------------| +| **Common** | 100 | Plain template, minimal shine | +| **Uncommon** | 140 | Slightly enhanced frame | +| **Rare** | 180 | Decorative borders, mild shine | +| **Super Rare** | 220 | Unique frame, vibrant shine | +| **Legendary** | 250 | Custom art frames, animated effects | + +--- + +## ðē Rarity Distribution Guidelines + +The following table shows an **example** of how many cards you might include *in a 20-card pack*, but the actual number of cards per rarity is flexible. + +What **matters most** is that rarities follow the **percentage limits** defined below. +These limits ensure balance across the entire card pool â regardless of total size. + +| Rarity | Max % Allowed | Example (20 cards) | Weight | Notes | +|--------------|----------------|--------------------|---------|----------------------------------------| +| **Common** | No upper limit | 10 cards (50%) | 0.7 | Can exceed 50% of total if needed | +| **Uncommon** | 20% | 4 cards | 0.2 | Should not exceed 20% of total | +| **Rare** | 15% | 3 cards | 0.08 | Should not exceed 15% of total | +| **Super Rare** | 10% | 2 cards | 0.015 | Should not exceed 10% of total | +| **Legendary** | 5% | 1 card | 0.005 | Should not exceed 5% of total | + +> â You can include more cards overall (e.g. 40, 100, etc.), +> ð But rarities from **Uncommon to Legendary** must **not exceed their percentage caps**. +> ðŠķ **Common** cards are the only exception â they can scale freely and fill the remaining space. + + +--- + +## ð§Ū Stat Allocation Rules + +Cards have **three core stats**: `Power`, `Charm`, and `Wit`. + +- The **sum** of these three stats **must not exceed** the max for the rarity tier. +- Stats can be distributed however you want, as long as the total stays within the cap. +- Minimum stat per field: `0` +- Maximum per stat: Not enforced, but try to keep cards balanced visually and mechanically. + +--- + +## âĻ Rarity Visual Guide + +The standard cards have the following : + +- ðą Common â Gray +- ðļ Uncommon â Green +- ð· Rare â Blue +- ðŪ Epic â Gold +- ð Legendary â Purple + diff --git a/requirements.txt b/requirements.txt index d747e71..44138e1 100644 --- a/requirements.txt +++ b/requirements.txt @@ -15,8 +15,20 @@ # along with this program. If not, see https://www.gnu.org/licenses/. blinker==1.9.0 +blurhash==1.1.4 +cairocffi==1.7.1 +CairoSVG==2.8.2 +certifi==2025.4.26 +cffi==1.17.1 +charset-normalizer==3.4.2 click==8.1.8 +cssselect2==0.8.0 +decorator==5.2.1 +defusedxml==0.7.1 + Flask==3.1.0 +gunicorn==23.0.0 +idna==3.10 itsdangerous==2.2.0 Jinja2==3.1.6 MarkupSafe==3.0.2 @@ -24,3 +36,14 @@ Werkzeug==3.1.3 Misskey.py==4.1.0 Mastodon.py==1.8.1 filetype==1.2.0 +packaging==25.0 +pillow==11.2.1 +pycparser==2.22 +python-dateutil==2.9.0.post0 +python-magic==0.4.27 +requests==2.32.3 +six==1.17.0 +tinycss2==1.4.0 +urllib3==2.4.0 +watchdog==6.0.0 +webencodings==0.5.1 diff --git a/web/templates/card_creator.html b/web/templates/card_creator.html index 5977472..e36325a 100644 --- a/web/templates/card_creator.html +++ b/web/templates/card_creator.html @@ -34,27 +34,40 @@
Use this tool to create custom Kemoverse cards! Fill in the details below, upload your art, and generate a card image.
+Note: The card ID is generated based on the details, so make sure to fill them out!
+ + + +PI: Pack Index is used to identify the card within a pack.
+SHA: Secure Hash Algorithm is used to generate a unique ID for the card based on its attributes.
+All the processing is done in your browser, no data is sent to the server.