# iOS core reuse Первый workspace split готовит код к будущему iOS-клиенту, но не добавляет Swift, SwiftUI, UniFFI, C ABI или XCFramework. ## Уже в `tele-core` - Typed IDs и shared domain-типы: `types`. - TDLib client wrapper, auth/chats/messages/reactions/users/update handling. - `TdClientConfig` и `TdCredentials`: credentials передаются явно из клиента. - Core-neutral `IncomingMessageEvent` вместо прямой зависимости от desktop notifications. - Pure message grouping. - Pure account profile structs and validation. - Reusable `FakeTdClient` and TDLib test data. ## Остаётся TUI-only - `ratatui`, `crossterm`, UI state, input handling and snapshots. - Runtime config loading, `.env`, `accounts.toml`, XDG/macOS paths and lock files. - Desktop notifications, clipboard, URL opening, terminal images and `ffplay`. - PTY fixture and `termwright` E2E tests. ## Следующий этап 1. Decide the iOS-facing API shape on top of `tele-core`. 2. Add UniFFI or a C ABI only after the Rust boundary is stable. 3. Validate TDLib linking and database paths for `aarch64-apple-ios`. 4. Keep platform delivery concerns outside `tele-core`.