generated from nhcarrigan/template
Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
9fe720b6a7
|
|||
|
f3c2e8fa40
|
+1
-1
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "tatsumi",
|
"name": "tatsumi",
|
||||||
"private": true,
|
"private": true,
|
||||||
"version": "1.2.0",
|
"version": "1.0.0",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "vite",
|
"dev": "vite",
|
||||||
|
|||||||
Generated
+1
-1
@@ -3716,7 +3716,7 @@ checksum = "61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "tatsumi"
|
name = "tatsumi"
|
||||||
version = "1.2.0"
|
version = "1.0.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"base64 0.22.1",
|
"base64 0.22.1",
|
||||||
"dirs 5.0.1",
|
"dirs 5.0.1",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "tatsumi"
|
name = "tatsumi"
|
||||||
version = "1.2.0"
|
version = "1.0.0"
|
||||||
description = "Tatsumi - AI art generation using Google Gemini"
|
description = "Tatsumi - AI art generation using Google Gemini"
|
||||||
authors = ["Naomi Carrigan"]
|
authors = ["Naomi Carrigan"]
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 17 MiB After Width: | Height: | Size: 17 MiB |
@@ -11,11 +11,11 @@ Character design (always required):
|
|||||||
- Wavy ashen brown hair (colour and texture fixed; hairstyle can vary)
|
- Wavy ashen brown hair (colour and texture fixed; hairstyle can vary)
|
||||||
- Very pale skin tone
|
- Very pale skin tone
|
||||||
- Vibrant sky-blue eyes — important, commonly missed
|
- Vibrant sky-blue eyes — important, commonly missed
|
||||||
- Vampire fangs (only visible when mouth is open)
|
- Vampire fangs
|
||||||
- Glasses (pink-framed preferred, other styles acceptable)
|
- Glasses (pink-framed preferred, other styles acceptable)
|
||||||
- Painted fingernails and toenails (any colour, never unpolished)
|
- Painted fingernails and toenails (any colour, never unpolished)
|
||||||
- Slender build
|
- Slender build
|
||||||
- Full body visible in frame
|
- Full body visible in frame; always barefoot, never wears socks
|
||||||
|
|
||||||
Composition (always required):
|
Composition (always required):
|
||||||
- Single character only
|
- Single character only
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"$schema": "https://schema.tauri.app/config/2",
|
"$schema": "https://schema.tauri.app/config/2",
|
||||||
"productName": "tatsumi",
|
"productName": "tatsumi",
|
||||||
"version": "1.2.0",
|
"version": "1.0.0",
|
||||||
"identifier": "com.naomi.tatsumi",
|
"identifier": "com.naomi.tatsumi",
|
||||||
"build": {
|
"build": {
|
||||||
"beforeDevCommand": "pnpm dev",
|
"beforeDevCommand": "pnpm dev",
|
||||||
|
|||||||
+16
-113
@@ -25,118 +25,15 @@ import type {
|
|||||||
Thread,
|
Thread,
|
||||||
} from "./types/index.ts";
|
} from "./types/index.ts";
|
||||||
|
|
||||||
const adjectives = [
|
const generateThreadName = (mode: Mode, text?: string): string => {
|
||||||
"Amber",
|
if (
|
||||||
"Ancient",
|
mode === "replace"
|
||||||
"Arctic",
|
|| text === undefined
|
||||||
"Azure",
|
|| text.trim().length === 0
|
||||||
"Blazing",
|
) {
|
||||||
"Celestial",
|
return `Replace - ${new Date().toLocaleString()}`;
|
||||||
"Cobalt",
|
}
|
||||||
"Crimson",
|
return text.trim().slice(0, 40);
|
||||||
"Crystal",
|
|
||||||
"Dark",
|
|
||||||
"Distant",
|
|
||||||
"Ember",
|
|
||||||
"Emerald",
|
|
||||||
"Eternal",
|
|
||||||
"Ethereal",
|
|
||||||
"Fleeting",
|
|
||||||
"Frosted",
|
|
||||||
"Gilded",
|
|
||||||
"Golden",
|
|
||||||
"Hidden",
|
|
||||||
"Hollow",
|
|
||||||
"Indigo",
|
|
||||||
"Ivory",
|
|
||||||
"Jade",
|
|
||||||
"Lunar",
|
|
||||||
"Midnight",
|
|
||||||
"Mystic",
|
|
||||||
"Neon",
|
|
||||||
"Obsidian",
|
|
||||||
"Onyx",
|
|
||||||
"Opal",
|
|
||||||
"Pale",
|
|
||||||
"Pearl",
|
|
||||||
"Radiant",
|
|
||||||
"Rusted",
|
|
||||||
"Sapphire",
|
|
||||||
"Scarlet",
|
|
||||||
"Shattered",
|
|
||||||
"Silent",
|
|
||||||
"Silver",
|
|
||||||
"Spectral",
|
|
||||||
"Twilight",
|
|
||||||
"Velvet",
|
|
||||||
"Verdant",
|
|
||||||
"Veiled",
|
|
||||||
"Violet",
|
|
||||||
"Wandering",
|
|
||||||
"Wild",
|
|
||||||
"Woven",
|
|
||||||
"Arcane",
|
|
||||||
];
|
|
||||||
|
|
||||||
const nouns = [
|
|
||||||
"Abyss",
|
|
||||||
"Archive",
|
|
||||||
"Aria",
|
|
||||||
"Bloom",
|
|
||||||
"Cascade",
|
|
||||||
"Chronicle",
|
|
||||||
"Cipher",
|
|
||||||
"Compass",
|
|
||||||
"Crown",
|
|
||||||
"Dawn",
|
|
||||||
"Dream",
|
|
||||||
"Echo",
|
|
||||||
"Elegy",
|
|
||||||
"Ember",
|
|
||||||
"Equinox",
|
|
||||||
"Flame",
|
|
||||||
"Fragment",
|
|
||||||
"Garden",
|
|
||||||
"Horizon",
|
|
||||||
"Labyrinth",
|
|
||||||
"Lantern",
|
|
||||||
"Mirage",
|
|
||||||
"Mist",
|
|
||||||
"Murmur",
|
|
||||||
"Nexus",
|
|
||||||
"Nocturne",
|
|
||||||
"Oracle",
|
|
||||||
"Phantom",
|
|
||||||
"Prism",
|
|
||||||
"Requiem",
|
|
||||||
"Reverie",
|
|
||||||
"Ruin",
|
|
||||||
"Shadow",
|
|
||||||
"Shard",
|
|
||||||
"Silence",
|
|
||||||
"Solstice",
|
|
||||||
"Sonata",
|
|
||||||
"Specter",
|
|
||||||
"Storm",
|
|
||||||
"Tempest",
|
|
||||||
"Throne",
|
|
||||||
"Tide",
|
|
||||||
"Veil",
|
|
||||||
"Vortex",
|
|
||||||
"Whisper",
|
|
||||||
"Zenith",
|
|
||||||
"Sigil",
|
|
||||||
"Glyph",
|
|
||||||
"Dusk",
|
|
||||||
"Omen",
|
|
||||||
];
|
|
||||||
|
|
||||||
const generateThreadName = (): string => {
|
|
||||||
const adjectiveIndex = Math.floor(Math.random() * adjectives.length);
|
|
||||||
const nounIndex = Math.floor(Math.random() * nouns.length);
|
|
||||||
const adjective = adjectives[adjectiveIndex] ?? "Arcane";
|
|
||||||
const noun = nouns[nounIndex] ?? "Reverie";
|
|
||||||
return `${adjective} ${noun}`;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
const generateId = (): string => {
|
const generateId = (): string => {
|
||||||
@@ -177,7 +74,13 @@ const resolveUpdatedThread = (updatedThread: Thread): Thread => {
|
|||||||
return updatedThread;
|
return updatedThread;
|
||||||
}
|
}
|
||||||
|
|
||||||
const name = generateThreadName();
|
const firstTextPart = firstMessage.parts.find((part) => {
|
||||||
|
return part.type === "text";
|
||||||
|
});
|
||||||
|
const name = generateThreadName(
|
||||||
|
updatedThread.mode,
|
||||||
|
firstTextPart?.text,
|
||||||
|
);
|
||||||
return { ...updatedThread, name };
|
return { ...updatedThread, name };
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user