@dopejs/deckle
камера, транзакции хранилища сцены, жизненный цикл, видимость, бюджеты
camera (400, 300) · zoom 0.90
Держать сотни сгенерированных страниц живыми в iframe не масштабируется. Свести их к изображениям — значит потерять выделение и события. Deckle занимает пространство между: кэшированная отрисовка, внутрь которой всё ещё можно попасть.
Артефакт = исходник + устойчивое состояние + дерево взаимодействия + кэш отрисовки + опциональная живая среда
Жизненный цикл
Каждый артефакт проходит явный конечный автомат. Живой DOM, среды выполнения и текстуры GPU — это бюджетируемые ресурсы, выдаваемые по видимости и взаимодействию, и никогда не существующие по умолчанию.
Потоковая передача
Агент выдаёт артефакт токен за токеном. Каждый вид фиксируется на своей границе — графема, строка, закрытая markdown-конструкция, значение JSON, решённый HTML-тег — и эта граница движется только вперёд, поэтому читатель никогда не увидит, как трактовка отзывается назад.
Пакеты
Оптимизированные реализации поставляются рядом с наивными эталонными и дифференциально тестируются против них — оракул остаётся доступным как путь отката.
камера, транзакции хранилища сцены, жизненный цикл, видимость, бюджеты
сеточный пространственный индекс и наивный дифференциальный оракул
ревизии, дерево взаимодействия, каноническая сериализация
санитайзер статического профиля, политика URL, квоты, права
протокол сообщений среды, эпохи, мост с проверкой прав
удерживаемые изображения, нативная отрисовка контента на холсте, LOD, бюджет текстур
внутренняя проверка попаданий, модель выделения, виртуальные пути событий
общий словарь предрелиза
пробы возможностей HTML-in-Canvas, манифесты свидетельств
Статус
Контракты движка реализованы и покрыты тестами. Браузерные шлюзы доказательств не пройдены: поддержка экспериментальных API HTML-in-Canvas — это возможность, которую мы обнаруживаем, а не обещание, которое мы даём. Лицензия с открытым исходным кодом ещё не выбрана.