MACHIVERSE / DEVELOPER

世界を動かす側の、現在地と入口。

MachiVerseはC# / .NET 10で開発しているエージェントベースの大規模世界シミュレーターです。 現在のdevelopには、Simulation Core / Gateway / General View / Administration Viewを実接続したAlpha 1.0の再現可能なvertical sliceがあります。

4つの実行単位を、
Protocolでつなぐ。

MachiVerseは4つの最上位コンポーネントを独立した実行・ビルド・配布単位として扱います。 コンポーネント間では内部型や実装DLLを通信契約として共有せず、versioned Protocol / schemaを境界にします。

Simulation CoreWorldState / Operation / Persistence
GatewayAuth / Cache / Publication
General ViewBrowser / Participation / Prediction
Administration ViewHealth / Config / Operations
SIMULATION CORE

正本の世界を持つ

世界シミュレーション、authoritative WorldState、Operation実行、永続化を担当。Alpha 1.0では実起動・mutation・recoveryまで確認されています。

GATEWAY

外部接続の境界

外部接続、認証認可、confirmed cache、操作集約、publicationを担当。Core / View / Adminの実接続が成立しています。

GENERAL VIEW

ダイバーの入口

一般利用者向けの参照・参加・操作UI。Blazor WASM + three.jsで、実browser E2Eとprediction / reconciliationの基礎が接続済みです。

ADMINISTRATION VIEW

運用と設定

監視、Config、運用UIを担当。Alpha 1.0ではhealth確認とConfig read / changeのE2Eが成立しています。

まずはAlpha 1.0を、
ローカルで一周させる。

現在READMEで案内しているQuick StartはWindows向けです。.NET SDK 10.0.400相当と最新のdevelopを前提に、起動スクリプトで4コンポーネントをまとめて立ち上げます。

git checkout develop
git pull
start-alpha.bat
start-alpha.bat --no-build

実装より先に、
世界の契約を壊さない。

DETERMINISM

決定論を守る

同一World Seed・同一設定・同一操作では同一結果へ収束することを基本契約とします。

PROTOCOL

境界はversioned contract

コンポーネント間で内部型や共有DTOライブラリを通信契約として使わず、Protocol / schemaを境界にします。

DESIGN FIRST

未承認仕様を推測しない

実装前に関連設計書とAGENTS.mdを確認し、未承認の仕様を推測して確定事項として実装しません。

CONFIG

調整値は外部Configへ

調整可能な数値は、各コンポーネントが所有する外部Configから変更可能にする方針です。

Alpha 1.0は、
完成版ではない。

現在のlocal Alpha profileはloopback-onlyの開発・integration用であり、production security profileの代替ではありません。

Issue、Discussion、Pull Requestから、
世界の実装へ参加する。

通常の作業は対象コンポーネントの常設ブランチから作業ブランチを切り、Pull Requestで統合します。 プロトコル変更では実装より先に対象のプロトコル設計書を更新し、設計変更も関連ドキュメントへ反映します。

main                 stable / release candidate
  ↑
develop              next integrated version
  ↑
├─ simulation
├─ gateway
├─ view
└─ administration-view