moodlit-native/README.md
till bbfdff7e3c μ-7.0: Initial moodlit-native Skelett (Pure-Native iOS+macOS)
Pure-Native SwiftUI-App für Moodlit. Pendant zur SvelteKit-Web-App
auf moodlit.mana.how; konsumiert ManaCore + ManaTokens + ManaAuthUI
aus den Schwester-Repos.

Stack:
- SwiftUI Universal (iOS 18 / macOS 15), Swift 6 strict concurrency
- mana-swift-core + mana-swift-ui (lokale SPM-Pakete via XcodeGen)
- Bundle ev.mana.moodlit, Team QP3GLU8PH3, App-Group group.ev.mana.moodlit

Features:
- 24 Mood-Presets als Swift-Konstanten (Port von default-moods.ts)
- Custom-Moods + Sequenzen via MoodlitAPI (Actor mit JWT-Bearer-Calls
  über AuthenticatedTransport, automatischer 401-Retry)
- MoodPlayerView mit Idle-Timer-Off, Status-Bar-Hidden, Timer-Auto-
  Close, Favorite-Toggle, Play/Pause, Auto-Hide-Controls
- SequencePlayerView mit Crossfade-Rotation durch alle Sequence-Moods
  (Net new ggü. Web — dort ist Sequence-Playback nicht verkabelt)
- AnimatedMoodView rendert alle 21 AnimationTypes als 30-fps Timeline-
  View mit sin/cos-modulierten Filter-Effekten
- Cards-Pattern Auth-Gate: Presets ohne Login sichtbar, Custom-
  Creation triggert ManaAuthGate.require → Login-Sheet
- Theme: ManaTheme.twilight Forward (Violett #7c3aed)

Build verified:
- xcodebuild iOS Simulator (iPhone 17) → BUILD SUCCEEDED
- xcodebuild macOS → BUILD SUCCEEDED

Offen (μ-7.1+): Apple-Dev-Portal-Setup (Bundle, Capabilities), TestFlight,
Widget, Settings-UI (Brightness/Speed), Hex-Color-Picker mit Text-Input,
Visual-Polish der per-Animation Effekte.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-18 15:01:04 +02:00

39 lines
1.1 KiB
Markdown

# Moodlit Native
Native iOS + macOS App für [Moodlit](https://moodlit.mana.how) — Ambient
Lighting & Mood-Sequenzen des Vereins **mana e.V.**
> Pendant zur SvelteKit-Web-App in [`../moodlit/`](../moodlit). Pure-
> Native, kein WebView. Konsumiert `ManaCore` + `ManaAuthUI` aus
> [`../mana-swift-core/`](../mana-swift-core) und
> [`../mana-swift-ui/`](../mana-swift-ui).
## Was steht
- 24 Mood-Presets + Custom-Moods + Sequenzen
- Vollbild-Player mit Idle-Timer-Disable (Bildschirm geht im Player
nicht in den Lock)
- **Sequence-Playback** mit Crossfade-Übergängen — net new ggü. Web
- 21 Animation-Stile in SwiftUI TimelineView
- mana-auth Login via ManaAuthUI
## Build
```bash
xcodegen
xcodebuild -project MoodlitNative.xcodeproj -scheme MoodlitNative \
-destination 'platform=iOS Simulator,name=iPhone 17' \
-derivedDataPath /tmp/moodlit-native-dd \
CODE_SIGNING_ALLOWED=NO build
```
## Status
Phase μ-7.0 — Skelett build-grün, noch nicht TestFlight. Siehe
[STATUS.md](STATUS.md).
## Mehr
- [CLAUDE.md](CLAUDE.md) — Architektur & Konventionen
- [STATUS.md](STATUS.md) — aktueller Phasen-Stand
- [../moodlit/](../moodlit) — Web-Counterpart