Commit Graph

13 Commits

Author SHA1 Message Date
Steve Biedermann eac68db433 feat: run shards as separate processes behind a gateway
The server is now a gateway that starts SIM_SHARDS shard processes
(`sim shard --index I --count N ...`), each with its own database from
the SHARD_DATABASE_URL template. The gateway steps all shards in
lockstep over a /control WebSocket, publishes the entity directory and
market board between steps, merges the shards' views into one world
for the UI and routes edits to the shards they concern.

Shards send entity messages and transfers to each other directly over
/remote WebSockets; every step waits until its outgoing messages are
accepted, so nothing is in flight when the next step starts or a
snapshot is taken. Shard processes exit when the gateway goes away.

Update Picard to f88b9cb and register every other shard as a console
peer `shard-N`, so one console session can list, inspect, manage and
message the actors of all shards.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-12 20:29:11 +02:00
Steve Biedermann 7e09e30e4e chore: enable picard remoting feature
Add tracing, tungstenite and uuid as workspace dependencies for the
upcoming shard cluster.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-12 18:46:40 +02:00
Steve Biedermann 21f66981fa chore: update picard to 054449c
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-12 16:25:51 +02:00
Steve Biedermann fd243b30d6 feat(actor-console): expose Picard over WebSocket
Update Picard and forward console/serde features, serialize actor messages, and route console requests through the simulation thread.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-12 12:43:05 +02:00
Steve Biedermann b6bab90503 feat(sim): expose Picard runtime stats and tracing
Enable Picard's stats and tracing features, publish actor counters to the UI, and initialize configurable tracing output.\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-11 18:58:07 +02:00
Steve Biedermann 81581132ad feat(sim): integrate Picard actors for living entities
Give people and animals persistent Picard actors and document runtime boundary.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-11 17:30:28 +02:00
Steve Biedermann 238de74f5b feat: add same-seed reset and world regeneration 2026-10-08 09:10:42 +02:00
Steve Biedermann c58c590b5d feat: add database persistence and Docker setup 2026-10-08 09:10:42 +02:00
Steve Biedermann 2daf8f30f2 build: bundle the Leptos UI during Cargo builds 2026-10-08 09:10:42 +02:00
Steve Biedermann ef47209c79 refactor: stream simulation state over WebSockets 2026-10-08 09:10:42 +02:00
Steve Biedermann e4a4cb0190 feat: build the frontend with Leptos and WebAssembly 2026-10-08 09:10:42 +02:00
Steve Biedermann dd02a16d36 feat: drive agent behavior with Rune scripts 2026-10-08 09:10:42 +02:00
Steve Biedermann 5760d097f7 feat: create the world simulation server 2026-10-08 09:10:42 +02:00