EvoSphere

EvoSphere · Профиль сборки

Разбор по файлам собственного репозитория: что реализовано, что частично, что осталось на бумаге.

Браузерное приложение без бандлера: ES-модули, Canvas 2D в три слоя, Howler 2.2.4 для звука. Итог — статические index.html и index.ru.html; GPU не требуется.

3 реализовано · 2 не реализовано · 1 частично

Концептуальная иллюстрация: EvoSphere. Не скриншот продукта

Что читается в коде

  • Рендер — Canvas 2D в трёх слоях (фон, мир, интерфейс), не WebGL

    Файл js/renderer/core/CanvasManager.js

  • Старт: 16 агентов (4 семьи × 4), жёсткий потолок — 100

    Файл js/constants.js

  • Геном: ~45 скалярных генов + вектор поведенческих склонностей; мутация 0.055

    Файл js/core/genome.js

  • 38 типов действий, 22 модуля-оценщика в «мозге», 10 эмоций, 10 глобальных событий, 3 болезни

    Файл js/constants.js, js/entities/agentBrain.js

  • 43 звуковых файла и единственная рантайм-зависимость Howler 2.2.4

    Файл assets/sounds/, package.json

  • Сборка: 42 файла, 3.03 МБ, включая 1.56 МБ sourcemap

    Файл dist/

Состояние модулей

  1. реализовано

    Генетика и наследование

    Случайный геном, выбор значения от одного из родителей и мутация; кроссинговера и дупликаций генов нет.

    Файл js/core/genome.js

  2. реализовано

    Мозг агента на оценщиках

    Нормированные потребности (здоровье, энергия, еда, кислород) и отсортированный список действий; нейросети в коде нет.

    Файл js/entities/agentBrain.js

  3. реализовано

    Экология: семьи, вожаки, логова, трупы, падальщики

    Вожак выдаёт команды attack/defend/gather/explore; глобальные события меняют ресурсы и здоровье.

    Файл js/sim_modules/

  4. не реализовано

    Нейросети, экспорт состояния, аналитика, Electron

    Пункты README без соответствующего кода; в состояние симуляции сохраняется только сводка результатов в localStorage.

    Файл README.md

  5. не реализовано

    Автотесты вообще

    Скрипт test выводит ошибку и выходит с ненулевым кодом; в CI шаг тестов закомментирован.

    Файл package.json, .github/workflows/ci.yml

  6. частично

    Двуязычный вход: EN и RU

    Две входные страницы собраны; арабской локализации в проекте нет.

    Файл index.html, index.ru.html

Как это проверено

  • Сеть в рантайме не используется

    Ни fetch, ни XMLHttpRequest, ни api_key в js/ не найдены.

  • CI собирает и публикует, но не тестирует

    В workflow есть build и deploy на GitHub Pages; тестовый шаг оставлен комментарием.

  • Потолок популяции — константа, а не настройка

    MAX_POPULATION = 100 зафиксирована в js/constants.js.

    Файл js/constants.js

Границы утверждений

  • Рекомендации README про «100–200 агентов плавно, 500+ требуют GPU» противоречат жёсткому потолку в 100 агентов и ничем не измерены.
  • Таблица «протестированных» браузеров не подкреплена ни одним прогоном тестов.
  • Научная рамка (эпигенетические ландшафты, теория игр) — описательная аналогия: в коде реализованы гены и отбор, а не эти модели.
  • Примеры JS-API в README (новый Simulation с параметрами среды, события вымирания) не имеют реализации.
  • Проект распространяется под CC BY-NC 4.0: право на коммерческое использование остаётся у правообладателя, то есть у автора.
  • В js/main.js остался путь-«заглушка» для паузы рядом с рабочим обработчиком.

Живая сборка

Живая сборкаevosphere.moonsugar.space ↗

Ревизия
41c9a6a
Каталог сборки
dist

В собранном интерфейсе нет органов управления параметрами симуляции: доступны запуск, пауза, перезапуск и просмотр результатов. Жёсткий потолок популяции — 100 агентов. Рендер идёт на Canvas 2D, видеокарта не требуется.

Сама страница не подтверждает доступность: хост проверяется в момент публикации сборки.

Назад к описанию проекта ↗