Спецификация системных требований для Suika3
===========================================

## 1. Обзор

Suika3 — это высокопроизводительная среда выполнения скриптов, оптимизированная для Visual
Novels (VN) и 2D-игр. Она предоставляет многослойную DSL-среду,
сочетающую простоту использования с расширяемостью профессионального уровня.

## 2. Основные компоненты (стек DSL)

Suika3 предоставляет авторам четыре специализированных языка:

- NovelML (DSL на основе тегов): простой язык разметки, использующий
  теги `[]` для быстрой разработки сценариев VN.

- Anime (DSL для анимации): специализированная система для послойной анимации растровых
  изображений с управлением последовательностями аффинных преобразований.

- GUI (UI/UX DSL): гибкий набор инструментов для создания интерактивных экранов
   с кнопками, оптимизированными под требования VN.

- Ray (скриптовый язык общего назначения): мощный скриптовый
  язык с VN API.
    - Настройка: определение собственных тегов NovelML.
    - Производительность: JIT-компиляция на ПК для быстрых итераций; AOT-компиляция
      в нативные бинарные файлы для соответствия требованиям iOS.
    - Низкоуровневый доступ: прямые точки подключения к C API ядра Suika3.

## 3. Ключевые цели и философия дизайна

- Подход mobile-first: спроектировано исходя из идеи, что смартфоны
  являются основным вычислительным устройством. Suika3 избегает UI/UX, ориентированного на ПК,
  в пользу нативного мобильного ощущения.

- Совместимость с публикацией в магазинах: полное соответствие политикам магазинов iOS/Android
  за счет AOT-компиляции и адаптивного дизайна.

- Высокая переносимость:
    - Уровень 1: iOS, Android, HarmonyOS NEXT, Windows, macOS, Linux
    - Уровень 2: игровые консоли
    - Уровень 3: Chromebook, Wasm (WebAssembly)

- За пределами визуальных новелл: хотя движок ориентирован на VN, базовая 2D-основа
  позволяет смешивать жанры (например, VN + RPG или Action).

## 4. Вне области применения / ограничения

Для сохранения переносимости и производительности Suika3 явно исключает:

- Возможности только для ПК: Suika3 не является заменой устаревшим
  VN-движкам, предназначенным только для ПК.

- Полноценное веб-развертывание: порт Wasm предназначен для демонстраций, а не
  для основного распространения.

- 3D-графика: в настоящее время фокус сделан на 2D (поддержка 3D в будущем планируется
  вместе с генерацией ассетов на основе ИИ).

- Проприетарное middleware: закрытые технологии вроде
  Live2D не поддерживаются, чтобы обеспечить максимальную переносимость движка.

## 5. NovelML

## 6. Ray

## 7. Anime

## 8. GUI

## 9. Config