Skip to content

Repository files navigation

Emergent Worlds

Emergent Worlds is a fast, accessible web application for creating and observing rule-driven 2D worlds.

The frontend lives in web/. It currently includes a deterministic local Game of Life simulation so the visualization and controls are usable before the ASP.NET Core API is connected.

Run the frontend

cd web
npm ci
npm run dev

Useful checks (run the dotnet commands from the repository root, the npm commands from web/):

dotnet build EmergentWorlds.sln --configuration Release
dotnet test EmergentWorlds.sln --configuration Release --no-build
npm run build
npm run test

The canvas supports pointer dragging to pan and the mouse wheel (or trackpad) to zoom. Saved worlds are kept in browser local storage; the Export and Import controls use the versioned portable JSON format.

Repository layout

  • src/EmergentWorlds.Core is the dependency-free .NET domain and simulation library.
  • src/EmergentWorlds.Api is the ASP.NET Core HTTP boundary (GET /health is the bootstrap health check).
  • tests/EmergentWorlds.Core.Tests contains Core unit tests.
  • web is the TypeScript, React, and Vite frontend.
  • docs/architecture.md records the initial layer boundaries and determinism contract.

The repository targets .NET 8 LTS and Node.js 20 or newer. All changes land through pull requests; CI runs .NET restore/build/test and frontend lint/test/build on pull requests and pushes to main.

About

Emergent Worlds: explore rule-driven digital worlds

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages