Keep daemon viewport hooks client-neutral
This commit is contained in:
parent
a66e1e9e9d
commit
bf5e06a284
4 changed files with 31 additions and 6 deletions
|
|
@ -1500,6 +1500,31 @@ static void RequireNoDeadRuntimeProjectionClasses(string root)
|
|||
"Active architecture docs must not point future work at deleted runtime-specific shared authorities: " +
|
||||
string.Join("; ", docHits));
|
||||
}
|
||||
|
||||
var daemonRuntimeSpecificHookPhrases = new[]
|
||||
{
|
||||
"daemon RTS viewport",
|
||||
"Daemon RTS viewport",
|
||||
"temporary RUDP RTS viewport",
|
||||
"RUDP RTS viewport",
|
||||
"daemon RTS command",
|
||||
"Daemon RTS command"
|
||||
};
|
||||
var hookPhraseHits = Directory.EnumerateFiles(activeDocsRoot, "*.md", SearchOption.AllDirectories)
|
||||
.SelectMany(path =>
|
||||
{
|
||||
var text = File.ReadAllText(path);
|
||||
return daemonRuntimeSpecificHookPhrases
|
||||
.Where(phrase => text.Contains(phrase, StringComparison.Ordinal))
|
||||
.Select(phrase => $"{Path.GetRelativePath(root, path)} contains {phrase}");
|
||||
})
|
||||
.ToArray();
|
||||
if (hookPhraseHits.Length > 0)
|
||||
{
|
||||
throw new InvalidOperationException(
|
||||
"Active architecture docs must describe daemon RUDP hooks as client-neutral compatibility, not RTS-specific daemon authority: " +
|
||||
string.Join("; ", hookPhraseHits));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -229,12 +229,12 @@ Done:
|
|||
- `scripts/generate-rts-bindings.mjs` derives schema ids, command kind ids, and
|
||||
slot maps from the C# MessagePack document declarations into
|
||||
`aetheria-rts-generated-bindings.ts` for daemon command, daemon frame, daemon
|
||||
health, RTS viewport payloads, nested daemon snapshot payloads, Verse
|
||||
health, game viewport payloads, nested daemon snapshot payloads, Verse
|
||||
authority policy, authority rule, and authority lease;
|
||||
- `AetheriaRuntimeGameViewportDocuments` owns typed viewport projection over local
|
||||
daemon frame state, including controlled-unit visibility union, status,
|
||||
inventory, and gravity influence intersections;
|
||||
- daemon RUDP snapshot handling delegates RTS viewport construction to
|
||||
- daemon RUDP snapshot handling delegates game viewport construction to
|
||||
`AetheriaRuntimeGameViewportDocuments` instead of carrying map projection logic
|
||||
inline;
|
||||
- `Aetheria.State.AuthoritySmoke` verifies the projection behavior against a
|
||||
|
|
@ -275,7 +275,7 @@ Remaining:
|
|||
3. Replace the remaining semantic command construction arrays with a CultMesh
|
||||
TS typed document writer once that primitive is available locally.
|
||||
4. Narrow Electron preload/main IPC behind a typed runtime facade.
|
||||
5. Keep the daemon RTS viewport handler only as temporary compatibility plumbing
|
||||
5. Keep the daemon local viewport handler only as temporary compatibility plumbing
|
||||
until no client or diagnostic path depends on it.
|
||||
6. Keep the verifier checking for old public generic surfaces and transport
|
||||
wrapper layout leaks:
|
||||
|
|
|
|||
|
|
@ -334,7 +334,7 @@ Build:
|
|||
- Project the map viewport in TS from the frame document.
|
||||
- Use controlled-unit visibility union for fog of war.
|
||||
- Include objects, status, inventory, gravity influences, and body views.
|
||||
- Keep remote RTS viewport document handling as daemon compatibility only.
|
||||
- Keep remote game viewport document handling as daemon compatibility only.
|
||||
|
||||
Outputs:
|
||||
|
||||
|
|
|
|||
|
|
@ -736,7 +736,7 @@ Current artifacts:
|
|||
using the same typed projection facade.
|
||||
- `Packages/org.gamecult.aetheria.state/Runtime/AetheriaRuntimeGameViewportDocuments.cs`
|
||||
owns typed map viewport projection over local daemon frame state.
|
||||
- `Aetheria.State.Daemon/Program.cs` delegates the temporary RUDP RTS viewport
|
||||
- `Aetheria.State.Daemon/Program.cs` delegates the temporary RUDP game viewport
|
||||
snapshot hook to the shared projection API.
|
||||
- `Aetheria.Rts.Web/scripts/verify-stage7b-rts-client.ps1` fails if public
|
||||
generic APIs return or if the Electron transport wrapper regains document
|
||||
|
|
@ -753,7 +753,7 @@ Remaining Stage 7B work:
|
|||
canonical peer health surface.
|
||||
3. Replace the remaining semantic command construction arrays with a CultMesh TS
|
||||
typed document writer once that primitive is available locally.
|
||||
4. Delete or narrow the daemon RTS viewport RUDP hook once no compatibility
|
||||
4. Delete or narrow the daemon local viewport RUDP hook once no compatibility
|
||||
client or diagnostic path depends on it.
|
||||
|
||||
Stop line:
|
||||
|
|
|
|||
Loading…
Reference in a new issue