The Algorithmic Universe

The Algorithmic Universe · Профиль сборки

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

Браузерное приложение: React с Vite и importmap, PIXI v8 для рендера, Rapier2D в WASM для физики, @google/genai для ИИ-вкладок. Бэкенда нет; Tailwind и шрифты приходят с CDN.

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

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

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

  • 10 000 частиц, 256-битная «строка вселенной», цикл когнитивного движка на 60 Гц

    Файл constants.ts

  • 16 весов λ в словаре законов; словарь мутабельный — новый закон регистрируется в рантайме

    Файл services/analysis/law_dictionary.ts

  • Целевая функция A = L − λ₁H − λ₂F + ΣλᵢΨᵢ, 32 кандидата, температура Метрополиса 2.0

    Файл services/physics.ts

  • Физика по умолчанию идёт через Rapier2D (Rust/WASM) в основном потоке

    Файл hooks/useSimulation.ts

  • 50 полей телеметрии за кадр: 34 метрики + 16 значений λ

    Файл hooks/useSimulation.ts

  • Автотестов и CI-конфигурации в репозитории нет

    Файл package.json, .github/

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

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

    Проводник и когнитивный цикл

    Движок состояний, сканеры структуры и пространства, «Бестиарий» и шина событий на xoshiro128ss-посеве.

    Файл services/conductor.ts

  2. частично

    Двухконтурная физика и разделяемая память

    SharedArrayBuffer используется только если он доступен; cross-origin изоляция нигде не настраивается, поэтому на статическом хостинге это обычный ArrayBuffer.

    Файл services/visualization/matter/MatterState.ts

  3. частично

    Слой ИИ с откатами, кроме «Оракула»

    Сенат, Учёный и Хронист переходят на правила без ключа; единственный незащищённый путь — вкладка Ask, которая бросает исключение.

    Файл services/ai/

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

    PIXI-рендер WebGL и снапшоты в IndexedDB

    10 000 частиц, тепловая шкала, сетка потенциала и отладочный слой Rapier; именованные сохранения с миниатюрой.

    Файл services/visualization/rendering/CosmicRenderer.ts

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

    WebGPU-решатель и Worker-перенос

    Оба существуют как 18-байтовые заглушки «Deprecated file»; перенос в Worker в журнале оптимизации помечен заблокированным.

    Файл services/visualization/physics/gpu/WebGPUSolver.ts

  6. в плане

    Четырёхмерное дерево, quadtree, CAS и ONNX

    Пункты журнала оптимизации и «технологического радара»; в коде отсутствуют.

    Файл OPTIMIZATION_LOG.md

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

  • Ключа в сборке нет

    В бандле найдена только строка-заглушка PLACEHOLDER_API_KEY; совпадений с форматом ключа Google — 0.

  • Задний физический бэкенд — Rapier WASM

    solverBackend: 'rapier_wasm' в состоянии по умолчанию + RAPIER.init() в инициализаторе.

  • Один реализованный экран недоступен из интерфейса

    Тип вкладки и рендер панели есть, но ни одна кнопка не вызывает setActiveTab('Bestiary').

  • Сборка соответствует закоммиченному состоянию

    Чистое дерево, dist собран за минуту до HEAD-коммита.

  • Ни одно поведение не подтверждено тестами

    0 тестовых файлов, нет скриптов test/lint/typecheck, 0 CI-конфигураций.

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

  • Заявление «10 000 частиц при 60 fps» — цель журнала оптимизации, а не измеренный результат: сохранённого бенчмарка в репозитории нет.
  • Две несовпадающие декларации зависимостей: importmap в index.html и package.json называют разные мажорные версии.
  • Версионная идентичность размыта: папка v8, README — v6.5, package.json — 0.0.0, документ «радара» — v7.0.
  • Взаимодействие рассчитано на мышь: обработчики касания отсутствуют, а meta-тег запрещает масштабирование.
  • tsconfig без strict, а @types/react 18 при React 19 — типизация слабее, чем подразумевает документация.
  • В дереве остались 18-байтовые «deprecated»-заглушки и три неиспользуемых компонента, а две функции сброса — пустые.

Живая сборка

Живая сборкаalgorithmic-universe.moonsugar.space ↗

Ревизия
b4fa933
Каталог сборки
algorithmic-universe-v8/dist

Страница подгружает Tailwind и шрифты с CDN третьей стороны, поэтому без сети оформление ломается. Вкладка «Ask» без ключа Gemini не работает: сборка собрана с литерой-заглушкой вместо ключа, остальные режимы работают.

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

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