devlog: 3 Tage geschrieben (v0.1.0 → v0.9.4)

Tag 1: β-0 bis β-7 Marathon (Skelett → App-Store-Vorbereitung).
Tag 2: Cardecky-Web-Look + alle 7 Card-Types + ManaAuthUI +
Guest-Mode + γ-1 bis γ-8 (AI/CSV-Import, Marketplace, PDF).
Tag 3: kleiner Style-Polish.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Till JS 2026-05-15 22:22:29 +02:00
parent 8280d3d0ba
commit c0b0c902bc
9 changed files with 939 additions and 0 deletions

317
devlog/2026-05-13/data.json Normal file
View file

@ -0,0 +1,317 @@
{
"date": "2026-05-13",
"day_number": 2,
"weekday": "Mittwoch",
"commits": 22,
"authors": [
{
"name": "Till JS",
"count": 22
}
],
"additions": 6206,
"deletions": 1511,
"net_lines": 4695,
"files_changed": 87,
"new_files": 0,
"deleted_files": 0,
"session": {
"first_commit_at": "2026-05-13T11:17:41.000Z",
"last_commit_at": "2026-05-14T00:04:29.000Z",
"total_span_minutes": 767,
"active_minutes": 167,
"pauses": [
{
"from": "13:29",
"to": "14:06",
"minutes": 37
},
{
"from": "15:11",
"to": "15:46",
"minutes": 35
},
{
"from": "16:02",
"to": "17:20",
"minutes": 77
},
{
"from": "18:15",
"to": "19:08",
"minutes": 54
},
{
"from": "19:26",
"to": "01:23",
"minutes": 357
},
{
"from": "01:23",
"to": "02:03",
"minutes": 40
}
],
"longest_focus_minutes": 65
},
"top_dirs": [
{
"path": "Sources/Core/Domain",
"pct": 11
},
{
"path": "project.yml",
"pct": 9
},
{
"path": "Sources/Features/Decks",
"pct": 9
},
{
"path": "Sources/Features/Study",
"pct": 8
},
{
"path": "Sources/Core/Sync",
"pct": 6
}
],
"top_extensions": [
{
"ext": ".swift",
"count": 115
},
{
"ext": ".yml",
"count": 15
},
{
"ext": ".md",
"count": 10
},
{
"ext": ".xcstrings",
"count": 4
},
{
"ext": ".json",
"count": 2
},
{
"ext": ".gitignore",
"count": 1
}
],
"tags": [
"decks",
"auth",
"study",
"editor",
"ui"
],
"commits_list": [
{
"hash": "468ef29",
"short": "feat: DEVELOPMENT_TEAM=QP3GLU8PH3 für Code-Signing",
"type": null,
"scope": null,
"additions": 13,
"deletions": 8,
"timestamp": "2026-05-13T13:17:41+02:00"
},
{
"hash": "4dfb32b",
"short": "chore: Rebrand auf ev.mana.cardecky",
"type": null,
"scope": null,
"additions": 203,
"deletions": 94,
"timestamp": "2026-05-13T13:29:04+02:00"
},
{
"hash": "6d9a191",
"short": "chore: Archive-Polish — Versions-Sync + Orientations + Mac-Icon",
"type": null,
"scope": null,
"additions": 32,
"deletions": 7,
"timestamp": "2026-05-13T14:06:11+02:00"
},
{
"hash": "6a4d66f",
"short": "chore: Sendable-Warning + AppIcon-Asset-Cleanup",
"type": null,
"scope": null,
"additions": 19,
"deletions": 14,
"timestamp": "2026-05-13T14:12:29+02:00"
},
{
"hash": "e24e0e6",
"short": "fix(editor): PhotosPicker Sendable-Warning durch Sub-View struct",
"type": "fix",
"scope": "editor",
"additions": 105,
"deletions": 17,
"timestamp": "2026-05-13T14:39:09+02:00"
},
{
"hash": "2eb7f61",
"short": "fix: ITMS-90129 — DisplayName Cards → Cardecky + Build 2",
"type": null,
"scope": null,
"additions": 11,
"deletions": 11,
"timestamp": "2026-05-13T15:05:33+02:00"
},
{
"hash": "b5edf5c",
"short": "fix: User-facing Strings Cards → Cardecky komplett, Build 3",
"type": null,
"scope": null,
"additions": 19,
"deletions": 19,
"timestamp": "2026-05-13T15:11:11+02:00"
},
{
"hash": "f528ea4",
"short": "fix: PublicDeckOwner.pseudonym ist Bool, nicht String?",
"type": null,
"scope": null,
"additions": 10,
"deletions": 6,
"timestamp": "2026-05-13T15:46:20+02:00"
},
{
"hash": "e8b898a",
"short": "feat(decks): Card-Liste im DeckDetailView + listCards-API",
"type": "feat",
"scope": "decks",
"additions": 169,
"deletions": 17,
"timestamp": "2026-05-13T16:02:59+02:00"
},
{
"hash": "0b0872c",
"short": "fix: 404 auf allen Query-Endpoints — pulls ManaCore v1.0.1 fix",
"type": null,
"scope": null,
"additions": 3,
"deletions": 3,
"timestamp": "2026-05-13T17:20:03+02:00"
},
{
"hash": "aa94601",
"short": "feat(ui): Cardecky-Web-Design — Fan-Stack-Tiles + CardSurface",
"type": "feat",
"scope": "ui",
"additions": 396,
"deletions": 162,
"timestamp": "2026-05-13T17:28:11+02:00"
},
{
"hash": "8b1dd51",
"short": "feat(study): Multiple-Choice-Karten gerendert",
"type": "feat",
"scope": "study",
"additions": 225,
"deletions": 4,
"timestamp": "2026-05-13T17:34:07+02:00"
},
{
"hash": "505aa9d",
"short": "feat(study): Typing-Karten + Levenshtein-Match-Logik",
"type": "feat",
"scope": "study",
"additions": 323,
"deletions": 4,
"timestamp": "2026-05-13T17:39:39+02:00"
},
{
"hash": "33101d7",
"short": "feat(auth): DEBUG-Auto-Login (Memoro-Pattern)",
"type": "feat",
"scope": "auth",
"additions": 52,
"deletions": 12,
"timestamp": "2026-05-13T17:50:29+02:00"
},
{
"hash": "90201d7",
"short": "feat(decks): Tile-Redesign — Tap=Study, Edit-Icon, Explore-Konsistenz",
"type": "feat",
"scope": "decks",
"additions": 154,
"deletions": 74,
"timestamp": "2026-05-13T18:03:47+02:00"
},
{
"hash": "0e90f4b",
"short": "chore: PLAN.md auf v0.9.4-Stand + Localizable.xcstrings",
"type": null,
"scope": null,
"additions": 67,
"deletions": 8,
"timestamp": "2026-05-13T18:15:22+02:00"
},
{
"hash": "6805bd7",
"short": "feat(decks): iOS-26 tabViewBottomAccessory für „Neues Deck\"-Pille",
"type": "feat",
"scope": "decks",
"additions": 57,
"deletions": 10,
"timestamp": "2026-05-13T19:08:57+02:00"
},
{
"hash": "710ede6",
"short": "fix(api): code:nil bei AuthError.serverError-Calls",
"type": "fix",
"scope": "api",
"additions": 3,
"deletions": 3,
"timestamp": "2026-05-13T19:09:01+02:00"
},
{
"hash": "da66797",
"short": "feat(auth): ManaAuthUI-Migration — vollständige Auth-Reise nativ",
"type": "feat",
"scope": "auth",
"additions": 173,
"deletions": 99,
"timestamp": "2026-05-13T19:26:12+02:00"
},
{
"hash": "8ca7bd3",
"short": "feat(auth): Guest-Mode + Login-optionale Surface",
"type": "feat",
"scope": "auth",
"additions": 271,
"deletions": 155,
"timestamp": "2026-05-14T01:23:30+02:00"
},
{
"hash": "73f9081",
"short": "feat(decks): γ-1 bis γ-8 — AI/CSV-Import, Card-Edit, Pull-Update, Marketplace-Publish + Moderation + PDF",
"type": "feat",
"scope": "decks",
"additions": 3412,
"deletions": 435,
"timestamp": "2026-05-14T02:03:59+02:00"
},
{
"hash": "aece169",
"short": "chore(lint): SwiftLint-Config + 0-Warnings-Pass + Swift-6-Concurrency-Fixes",
"type": "chore",
"scope": "lint",
"additions": 489,
"deletions": 349,
"timestamp": "2026-05-14T02:04:29+02:00"
}
],
"review_state": "auto",
"llm": {
"model": null,
"generated_at": null
}
}