svelte_novella
Это визуальная новелла/интерактивная история с Дракулой, построенная на Svelte 5.
Технологический стек:
Frontend: Svelte 5 (runes), TypeScript, Vite
Бэкенд: Supabase (хранилище файлов, аутентификация)
Анимации: Rive (интерактивные анимации персонажей и фонов)
Основные компоненты:
- Игровой режим (src/lib/novella/)
Main.svelte: Главный компонент, загружает историю из JSON
DialogueCard.svelte: Отображение диалогов с выбором вариантов
Поддержка статических и Rive-анимаций для фонов и персонажей
Система инвентаря и предметов
Мини-игры (например, "Память Теней")
- Редактор (src/lib/editor/)
Editor.svelte: Визуальный редактор историй
Компоненты: EditorSidebar, DialogueForm, ItemsManager, PreviewPanel
Создание/редактирование глав, сцен, диалогов
Загрузка ресурсов в Supabase
Предпросмотр в реальном времени
- Telegram интеграция (src/lib/novella_telegram/)
Аутентификация через Telegram Mini App
Профиль пользователя и сессии Supabase
- Архитектура данных:
StoryData: главы, диалоги, предметы, мини-игры
Dialogue: текст, фон, персонаж, варианты ответов
Option: текст, переход, условия видимости, действия
Поддержка условий (наличие предмета, статы) и действий (дать предмет, изменить статы)
Основные сторы:
gameStore: игровой прогресс, инвентарь, статы
editorStore: состояние редактора
resourceStore, storyStore: управление ресурсами и историями