view-mate: болванка + концепт + эскизы + сценарии (единый коммит, история очищена от hprof/build)
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
package pw.binom.viewmate.core
|
||||
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
/**
|
||||
* Режимы очков. Переключаются с телефона (и жестом на очках).
|
||||
* Каталог контента — НЕ режим: он живёт на телефоне (и в будущем —
|
||||
* у голосового ассистента), а очки только показывают выбранное.
|
||||
*/
|
||||
@Serializable
|
||||
enum class GlassesMode {
|
||||
/** Кино: видео на очках (ExoPlayer), звук на телефоне. */
|
||||
MOVIE,
|
||||
|
||||
/** Общение с ассистентом (Hermes): выбор сессии + разговор. */
|
||||
CHAT,
|
||||
}
|
||||
|
||||
/**
|
||||
* Состояния режима кино. BROWSING здесь нет — выбор контента
|
||||
* происходит на телефоне (каталог Jellyfin), очки получают готовое.
|
||||
*/
|
||||
@Serializable
|
||||
enum class MovieState {
|
||||
PLAYING,
|
||||
PAUSED,
|
||||
}
|
||||
|
||||
/**
|
||||
* Состояния режима общения.
|
||||
*/
|
||||
@Serializable
|
||||
enum class ChatState {
|
||||
/** Выбор сессии (список сессий Hermes). */
|
||||
SESSION_SELECT,
|
||||
|
||||
/** Разговор в активной сессии. */
|
||||
TALKING,
|
||||
}
|
||||
|
||||
/** Команды управления медиа — единые для очков и телефона. */
|
||||
@Serializable
|
||||
enum class MediaCommand {
|
||||
PLAY,
|
||||
PAUSE,
|
||||
TOGGLE,
|
||||
SEEK_FORWARD,
|
||||
SEEK_BACKWARD,
|
||||
NEXT_AUDIO,
|
||||
PREV_AUDIO,
|
||||
CLOSE,
|
||||
}
|
||||
|
||||
/** Состояние воспроизведения (синхронизация очки ↔ телефон). */
|
||||
@Serializable
|
||||
data class PlaybackState(
|
||||
val itemId: String? = null,
|
||||
val positionMs: Long = 0,
|
||||
val durationMs: Long = 0,
|
||||
val audioIndex: Int = 0,
|
||||
val playing: Boolean = false,
|
||||
)
|
||||
Reference in New Issue
Block a user