thats-me/backend/database/data/lifelines/characters/bruno.json
Kevin Adametz b262a6771f Backend: Medien-Typen, Sprachnotizen, Event-Felder und Sync-Härtung
- Event-Medien tragen Typ (image/video/audio), Dauer und Notiz; Videos
  bekommen ein Poster, Audio wird per ffmpeg nach AAC (audio/mp4)
  gewandelt, Originale werden mit Range-Unterstützung gestreamt.
- Upload nimmt eine Notiz (caption) direkt mit, PATCH ändert sie später.
- Neue Event-Felder: Zeitraum (end_date), Kategorie, Personen, Meilenstein.
  Regeln zentral in EventFields, damit CRUD und Sync gleich prüfen.
- Titel darf leer sein: ein Event entsteht mit dem ersten Eintrag.
- Artisan-Befehl media:transcode-voice-notes wandelt alte WebM/Ogg-Notizen,
  die Safari nicht abspielen kann.
- Login-Throttling, Settings-Validierung, Sync-Fehlercodes ohne Rohtext.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-25 07:00:35 +00:00

88 lines
3.5 KiB
JSON

{
"lifeline": "bruno",
"style": "Candid amateur smartphone photo, realistic family snapshot, natural light, no retouching, no text or readable writing anywhere, no watermark.",
"portrait": "Close-up portrait of the head and chest, looking straight into the camera, neutral bright daylight, plain light wall background, no text.",
"era": {
"2014-2016": "shot on an early smartphone: decent sharpness, slightly flat colours",
"2017-2024": "shot on a modern smartphone: sharp, clean colours"
},
"characters": {
"bruno": {
"name": "Bruno",
"birthYear": 2014,
"description": "a yellow Labrador retriever mix dog: sandy golden short coat, slightly floppy ears, a distinctive small white patch of fur on the bridge of the nose just above the black nose leather, warm brown eyes, black nose, a lighter cream-coloured chest",
"ageLabels": {
"0": "a puppy about three months old",
"1": "a one-year-old young dog"
},
"aging": {
"0": "a small puppy about three months old: small body, oversized paws, soft baby fur, short puppy muzzle, floppy ears, the white patch on the nose already visible",
"1": "a lanky one-year-old young dog, adult size but slim, smooth face",
"6": "adult dog in his prime, first few white hairs on the chin",
"8": "mature dog, muzzle and chin visibly greying, slightly heavier",
"10": "senior dog, muzzle and eyebrows white-grey, slightly cloudy eyes, thinner, gentle tired expression"
},
"base": 3,
"anchors": [
0,
1,
3,
6,
8,
10
],
"birthMonth": 3
},
"lena": {
"name": "Lena",
"birthYear": 1985,
"description": "German woman, Bruno's owner. Oval face, long dark brown hair usually in a messy bun, dark brown eyes, a small nose, a wide smile with a dimple on the right cheek, tortoiseshell glasses sometimes. Style: hoodies, jeans, rain jackets, sneakers.",
"aging": {
"38": "a few fine lines around the eyes, hair a bit shorter"
},
"anchors": [
29,
38
]
},
"jan": {
"name": "Jan",
"birthYear": 1983,
"description": "German man, Lena's partner. Long narrow face, short dark blonde hair, blue eyes, a short beard, thin-rimmed glasses, a calm friendly smile. Tall. Style: t-shirts, flannel shirts, a beanie.",
"aging": {
"40": "beard with a bit of grey, slightly receding hairline"
},
"anchors": [
34,
40
]
},
"emma": {
"name": "Emma",
"birthYear": 2019,
"description": "Daughter of Lena and Jan. Round face, fine blonde hair, her mother's dark brown eyes and dimple, a small button nose, a cheeky grin.",
"ageLabels": {
"0": "a newborn baby",
"1": "a toddler about 18 months old"
},
"aging": {
"0": "newborn, a few days old, wrinkled pink skin, fine blonde fuzz, eyes closed",
"1": "toddler about 18 months old, chubby cheeks, wispy blonde hair, big dark brown eyes",
"5": "five-year-old girl, blonde hair in a ponytail, dimple, missing a front tooth"
},
"base": 3,
"baseDescription": "three-year-old girl, round face, fine blonde hair in two small bunches, dark brown eyes, a dimple on the right cheek, button nose, cheeky grin",
"parents": [
"lena",
"jan"
],
"anchors": [
0,
1,
3,
5
],
"birthMonth": 4
}
}
}