acdream/src/AcDream.Runtime/Session
Erik 369729f06a feat(runtime): FA2 -- RuntimeFellowshipState + RuntimeAllegianceState sibling J-owners
Two new sibling Runtime owners under GameRuntime per the Slice-J
pattern (D2): RuntimeFellowshipState is session-scoped (a new
RuntimeGenerationResetStage.Fellowship clears it at every generation
reset, matching the ExternalContainer precedent); RuntimeAllegianceState
survives reconnect behind a HasServerSeed-style one-way latch and
participates in NO reset stage (its data persists like a real
disconnect does not sever allegiance membership).

Fellowship: full-update REPLACE, incremental-fellow UPSERT, self-vs-
other quit/dismiss removal (self clears the whole snapshot), disband
clear, and retail's leader hand-off rule for the Quit button
(RequiresLeaderHandoffBeforeQuit -- the current leader quitting WITHOUT
disbanding must send 0x0290 AssignNewLeader before 0x00A3, lane B
§2.5/§3.6).

Allegiance: seeded by AllegianceUpdate (0x0020, always self) and,
self-gated on TargetGuid == playerGuid(), by AllegianceInfoResponse
(0x027C); wraps the FA1-assembled flat AllegianceMemberRecord list
directly (AllegianceTree was deleted at FA1 -- nothing left to wrap).

Both apply the full 8-edit J-owner template: construction + fault
points + Owner/View properties + CaptureOwnership + a new
GameRuntimeTeardownStage pair (FellowshipDisposed/AllegianceDisposed,
stage count 11->13) + RuntimeGameplayOwnershipSnapshot inclusion +
RuntimeStateCheckpoint/trace fields. IRuntimeFellowshipCommands/
IRuntimeAllegianceCommands added to IGameRuntimeCommands and
implemented on DirectGameRuntimeCommandAdapter. No IRuntimeEventObserver
member added (D2) -- consumers poll Snapshot.Revision.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-12 01:31:54 +02:00
..
DirectGameRuntimeCommandAdapter.cs feat(runtime): FA2 -- RuntimeFellowshipState + RuntimeAllegianceState sibling J-owners 2026-08-12 01:31:54 +02:00
LiveSessionContracts.cs feat(headless): complete portable single-session host 2026-07-27 07:36:53 +02:00
LiveSessionController.cs fix(runtime,net): OP1 review fixes — server-seed gate, tick-wired auto-save/logout flush, fellowship mutual exclusion 2026-08-11 00:39:51 +02:00
LiveSessionEventRouter.cs feat(runtime): FA2 -- RuntimeFellowshipState + RuntimeAllegianceState sibling J-owners 2026-08-12 01:31:54 +02:00
LiveSessionHost.cs refactor(runtime): unify generation reset for direct hosts 2026-07-27 00:43:26 +02:00
LiveSessionLifecycleHost.cs refactor(runtime): unify generation reset for direct hosts 2026-07-27 00:43:26 +02:00
RuntimeAcceptedPositionDriveController.cs refactor(physics): delete legacy PhysicsEngine.Resolve/ResolvePlacement/HasCellSurface (C5a, AP-1/AD-1) 2026-08-05 14:11:31 +02:00
RuntimeFirstEntryDriveController.cs fix(runtime): transient collision-seal failure no longer terminal for login (#357) 2026-08-09 12:32:53 +02:00
RuntimeLiveEntitySessionController.cs fix(headless,runtime): OP7 review fixes + docs: OP3 re-review REOPEN (narrow) 2026-08-11 03:22:54 +02:00
RuntimeRemotePlacementDriveController.cs fix(physics): C4 route 7 — child cell propagation moves from a render tick into Runtime 2026-08-04 23:53:05 +02:00
TurbineChatDisplayNames.cs feat(chat): Campaign CH slice CH1 — retail LogTextType color table 2026-08-09 15:24:09 +02:00