@@ -15,7 +15,7 @@ The core design goal is to make grid-backed spatial systems scalable without
1515forcing every consumer to reinvent ownership, snapping, neighbor resolution,
1616coverage queries, or occupant indexing.
1717
18- Current priorities :
18+ Priorities :
1919
20201 . Preserve deterministic behavior across supported target frameworks.
21212 . Keep runtime APIs anchored to explicit ` GridWorld ` ownership.
@@ -51,12 +51,12 @@ Read these in order before making non-trivial changes:
5151 pooling, tracing, scanning, registration, or other performance-sensitive
5252 behavior.
5353
54- When sibling repositories are available , also check their AGENTS/README files
55- when a change touches shared stack assumptions :
54+ For coordinated stack changes , also check the guidance in the affected
55+ repositories :
5656
57- - ` ../ FixedMathSharp`
58- - ` ../ SwiftCollections`
59- - ` ../ GridForge-Unity`
57+ - [ FixedMathSharp ] ( https://github.com/mrdav30/ FixedMathSharp)
58+ - [ SwiftCollections ] ( https://github.com/mrdav30/ SwiftCollections)
59+ - [ GridForge-Unity ] ( https://github.com/mrdav30/ GridForge-Unity)
6060
6161## Source Of Truth
6262
@@ -70,6 +70,8 @@ workflow changes:
7070- [ ` docs/wiki ` ] ( docs/wiki ) , especially pages covering world ownership, tracing,
7171 scan cells, blockers, occupants, partitions, determinism, testing, and build
7272 workflow.
73+ - [ ` docs/api ` ] ( docs/api ) for the DocFX landing page, navigation, and API build
74+ configuration.
7375- [ ` AGENTS.md ` ] ( AGENTS.md )
7476- [ ` src/GridForge/GridForge.csproj ` ] ( src/GridForge/GridForge.csproj )
7577- [ ` tests/GridForge.Tests ` ] ( tests/GridForge.Tests )
@@ -98,8 +100,9 @@ rewrite.
98100| [ ` src/GridForge/Utility ` ] ( src/GridForge/Utility ) | ` GridTracer ` and ` GridForgeLogger ` | Tracing changes can affect many systems. |
99101| [ ` tests/GridForge.Tests ` ] ( tests/GridForge.Tests ) | xUnit v3 test project | Mirrors subsystem boundaries. |
100102| [ ` tests/GridForge.Benchmarks ` ] ( tests/GridForge.Benchmarks ) | BenchmarkDotNet project | Covers allocation and throughput-sensitive scenarios. |
101- | [ ` docs/wiki ` ] ( docs/wiki ) | Developer-facing usage and architecture documentation | Keep current with public API and workflow changes. |
102- | [ ` .assets/scripts ` ] ( .assets/scripts ) | Versioned build and release packaging helpers | Used for release archive generation. |
103+ | [ ` docs/wiki ` ] ( docs/wiki ) | Developer-facing usage and architecture documentation | Keep aligned with public API and workflow changes. |
104+ | [ ` docs/api ` ] ( docs/api ) | DocFX landing page, navigation, and API build configuration | Generated output stays under ` docs/api/obj ` . |
105+ | [ ` .assets/scripts ` ] ( .assets/scripts ) | PowerShell release packaging helpers | Requires ` GitVersion.Tool ` for versioned archives. |
103106| [ ` .github/workflows ` ] ( .github/workflows ) | CI, coverage, wiki sync, release, and publish automation | Keep workflow names in sync across triggers. |
104107
105108Ignore generated output when reviewing or editing unless the task is explicitly
@@ -127,13 +130,16 @@ about build artifacts:
127130- XML documentation: generated for the library project
128131- Package generation: ` GeneratePackageOnBuild ` is enabled
129132- Configurations: ` Debug ` , ` Release ` , ` ReleaseLean `
133+ - Local prerequisites: the SDK selected by [ ` global.json ` ] ( global.json ) and the
134+ runtimes targeted by tests and benchmarks
130135
131136Package variants:
132137
133138- ` Release ` builds the standard ` GridForge ` package with ` MemoryPack ` ,
134139 ` FixedMathSharp ` , and ` SwiftCollections ` .
135140- ` ReleaseLean ` builds ` GridForge.Lean ` with ` GRIDFORGE_DISABLE_MEMORYPACK ` ,
136- ` FixedMathSharp.Lean ` , and ` SwiftCollections.Lean ` .
141+ ` FixedMathSharp.Lean ` , ` SwiftCollections.Lean ` , and the annotation-only
142+ ` Chronicler.MemoryPackShim ` dependency.
137143
138144Versioning:
139145
@@ -253,8 +259,8 @@ Rules:
253259Match the surrounding file style instead of imposing a new one.
254260
255261- Add explicit ` using ` directives. ` ImplicitUsings ` is disabled.
256- - The library project has nullable enabled ; tests and benchmarks currently have
257- nullable disabled . Follow the local project context .
262+ - The library project enables nullable analysis ; tests and benchmarks disable
263+ it . Follow the project being edited .
258264- ` .editorconfig ` disables implicit ` new(...) ` ; prefer explicit construction.
259265- Public API surface should have XML documentation.
260266- Preserve existing ` #region ` organization in files that already use it.
@@ -276,8 +282,8 @@ dotnet test GridForge.slnx --configuration Debug --no-build
276282CI validates both ` Release ` and ` ReleaseLean ` on Ubuntu and Windows:
277283
278284``` bash
279- dotnet test GridForge.slnx --configuration Release --no-build
280- dotnet test GridForge.slnx --configuration ReleaseLean --no-build
285+ dotnet test GridForge.slnx --configuration Release
286+ dotnet test GridForge.slnx --configuration ReleaseLean
281287```
282288
283289Run benchmarks when changing pooling, tracing, scan cells, occupant
@@ -362,9 +368,11 @@ GitHub wiki publishing.
362368- ` .github/workflows/publish-nuget.yml ` validates release tag version, builds
363369 both package variants, checks for exactly four package artifacts, uploads the
364370 package artifact, and publishes ` .nupkg ` files to NuGet.
365- - ` .github/workflows/coverage.yml ` and ` .github/workflows/sync-wiki.yml ` depend
366- on the ` build-and-test ` workflow name. If the build workflow name changes,
367- update those triggers and README badges together.
371+ - ` .github/workflows/coverage.yml ` builds the DocFX site and publishes coverage
372+ beneath ` /coverage ` in the same GitHub Pages artifact.
373+ - ` .github/workflows/sync-wiki.yml ` publishes ` docs/wiki ` to the GitHub Wiki.
374+ Both workflows depend on the ` build-and-test ` workflow name; update their
375+ triggers and README badges if that name changes.
368376
369377## Pitfalls To Avoid
370378
0 commit comments