1. 05.10.2026 2 коммита
    • Nikitos's avatar
      feat(dist): папка на каждую платформу, README+AGENTS с полной докой, шифрование опционально
      · da6acde9
      Nikitos создал
      Шифрование груза:
      * флаг --encrypt добавлен; --no-encrypt был;
      * по умолчанию включено на Linux и Windows и ВЫКЛЮЧЕНО на macOS — там
        собранный файл всё равно переподписывают (codesign), и шифрование лишний шаг;
      * в отчёте сборки прямо сказано, что выключено и как включить;
      * описано в docs/BUILD.md (таблица «по умолчанию» + почему на macOS иначе)
        и в README.
      
      dist/:
      * сборки лежат папками по платформам: dist/<платформа>/;
      * в каждой папке README.md — «как подготовить движок к первому проекту»
        (проверить, создать mygame/, запустить, собрать в один файл) и AGENTS.md —
        то же для ИИ-агента: режим агента, протокол команд, примеры на shell и Python;
      * в AGENTS.md дополнительно вшивается ВСЯ документация движка (27 файлов,
        ~480 КБ) одним приложением с оглавлением — скачав одну папку, модель не
        ищет ничего в интернете;
      * шаблоны: tools/templates/README-platform.md и AGENTS-platform.md;
        release.py рендерит их под платформу при упаковке;
      * новая опция release.py --extra ФАЙЛ кладёт в пакет платформы готовый файл —
        так в папке оказалась собранная игра (russiano2d-platformer).
      
      macOS-пакет: dist/macos-arm64/ + архив, контрольные суммы сходятся
      (shasum -a 256 -c), игра и движок из пакета запускаются.
      
      CI: в список пакетов добавлены libxtst-dev (SDL3 требует XTEST) и
      libfreetype-dev (RmlUi) — без них сборка падала.
      da6acde9
    • Nikitos's avatar
      Russiano2D 0.1.0 — первый публичный релиз
      · a6768866
      Nikitos создал
      Российский 2D-игровой движок: ядро на C11, игровая логика на JavaScript,
      единая точка входа — объект `$` в стиле jQuery.
      
      Стек: SDL3 (окно, ввод, SDL_GPU: Vulkan/Metal/DirectX 12), QuickJS-ng 0.10,
      Box2D v3.1, SDL3_mixer, RmlUi 6.3, Dear ImGui, свои 2D BSP-дерево и полигоны
      видимости, Material Design Icons, опционально libcurl для $.http.
      
      Что умеет:
      - высокоуровневое API `$`: создание узлов `$('<player>', {...})`, CSS-подобные
        селекторы, цепочки, события, твины;
      - подсистемы: анимация клипами и машина состояний ($.anim), TileMap со слоями,
        автотайлом, террейнами и Y-sort ($.tilemap), CPU-частицы ($.particles),
        навигация A* и navmesh ($.nav), prefab и сериализация сцен ($.prefab),
        аудио-шины и эффекты ($.audio), канвас-слои и параллакс ($.layers),
        UI-контролы с якорями и темами ($.ui), Tween в стиле Godot ($.tween),
        зоны enter/leave ($.triggers), локализация ($.i18n), пул объектов ($.pool),
        HTTP-запросы ($.http);
      - физика: формы тел (прямоугольник, круг, капсула, полигон), односторонние
        платформы, события контакта collide/separate/hit, суставы;
      - blend-режимы alpha/add/multiply/none на узле и на кадр;
      - сборка игры в один исполняемый файл с шифрованием груза (ChaCha20-Poly1305);
      - интеграция с ИИ-агентами: агентский режим (JSON по stdin/stdout), headless,
        детерминированный прогон --fixed-dt/--seed, eval/state/screenshot,
        виртуальный ввод с текстом, $.agent/$.test, Python-клиент и раннер тестов.
      
      Проверки: 24 агентских теста (tools/run_tests.py), 18 наборов юнит-тестов
      под qjs, отдельные C-тесты JSON и криптографии. CI: .gitlab-ci.yml собирает
      Linux (gcc и clang) и Windows (MSVC), упаковывает dist/ и выпускает релиз по
      тегу v*.
      
      Документация: docs/HIGH_LEVEL_API.md, docs/API.md, docs/AGENT_API.md,
      docs/BUILD.md, docs/RELEASING.md, docs/GAP_ANALYSIS.md, docs/tutorial-first-game.md
      и справочники подсистем в docs/highlevel/.
      
      Лицензия авторская: использовать, менять, распространять и продавать свободно;
      если выпустишь игру на движке — скажи спасибо автору, можно не вслух (LICENSE).
      
      Репозиторий: https://hub.mos.ru/dem4ev48/russiano2d
      a6768866