Skip to content

World-graph projection becomes a complete client read model - #459

Merged
The-Running-Dev merged 4 commits into
mainfrom
feature/world-graph-client-projection
Sep 7, 2026
Merged

World-graph projection becomes a complete client read model#459
The-Running-Dev merged 4 commits into
mainfrom
feature/world-graph-client-projection

Conversation

@The-Running-Dev

@The-Running-Dev The-Running-Dev commented Sep 7, 2026

Copy link
Copy Markdown
Owner

What changed, and why. Expands the world-graph projection contract into the complete player-observable spatial read model required by external clients such as Sun Trap. It keeps simulation authority private instead of exposing raw kind state or adding kind-specific SessionStore escape hatches, and records the limits where historical data would require a separate persisted-state change.

Verified

Ran and passed:

  • Typecheck — npm --prefix src/engine run typecheck: tsc --noEmit and tsc --noEmit -p tsconfig.scripts.json both exited 0.
  • Lint — npm --prefix src/engine run lint: eslint src scripts exited 0.
  • Test — npm --prefix src/engine test: 97 test files passed, 1594 tests passed, 0 failed.
  • Pack package — npm pack --silent produced the-running-dev-game-engine-0.10.0.tgz and exited 0.
  • Inspect tarball — tar -tzf inspected 332 entries: no package/src/, tsconfig JSON, or test artifacts were present, and package/dist/ was present.
  • Consumer smoke — npm ci completed, compiler clean removed prior emitted files, install:engine installed the inspected tarball, and npm run build plus npm run smoke exited 0.
  • Parse-check PowerShell scripts — Every repository *.ps1 parsed with System.Management.Automation.Language.Parser.ParseFile; 0 parse errors.
  • Run Pester tests — Invoke-Pester -Path tools -PassThru: 324 passed, 0 failed, 35 skipped, 359 total.
  • Validate Markdown links, terminology, and generated files — ./build/Test-Documentation.ps1: drift checks passed across 18 generated engine pages, compatibility pointers, and the guide; documentation checks passed across 199 Markdown files.
  • Build documentation — The authenticated Docker host build ran the docs-template command pwsh /template/scripts/docs-build.ps1 -SourceDocs ./docs -OutputPath artifacts/docs; Docusaurus generated the static site successfully.
  • Build and verify landing page — npm --prefix src/engine run build and npm --prefix site run check exited 0: formatting, lint, typecheck, 17 unit tests, 23 browser tests, production-build inspection, and merge-fixture verification passed.
  • Merge landing page into documentation build — The authenticated Docker host build ran npm --prefix site run merge against the completed artifacts/docs tree; the landing pages merged while preserving the protected docs subtree.
  • Test the host — dotnet test src/host/SubZeroDev.GameEngine.Host.Tests/SubZeroDev.GameEngine.Host.Tests.csproj -c Release: 12 passed, 0 failed, 0 skipped.
  • Positive route and probe smoke — The locally built host image returned 200 for /, /roadmap/, /docs/, /health/live, and /health/ready, and 404 for /this-route-does-not-exist.
  • Negative fixture -- corrupted artifact must fail to start — The negative-fixture image removed roadmap/index.html and its container exited 1 as required, proving the missing-artifact startup guard.

Ran and failed:

  • None.

Did not run:

  • None.

Agent detail
  • Unit: Contract amendment — design/20-contract.md § World-Graph Kind / §10 Projection
  • Criteria met: renderable spatial state; discoverable action parameter domains; current entity inspectors; canonical ordering; hidden-state exclusions; generated detailed docs and guide digest
  • Left undone: implementation and historical per-building/guest metrics are intentionally separate work

@The-Running-Dev
The-Running-Dev merged commit 645dd01 into main Sep 7, 2026
8 checks passed
@The-Running-Dev
The-Running-Dev deleted the feature/world-graph-client-projection branch September 7, 2026 08:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant