Files
realms-in-ruin-dev/Documentation/Archaeology/13-Unknowns-And-RuntimeQuestions.md
T
tedwardsandCursor aa0058a018 Document Pass 11 Phase 1 synthesis and close static archaeology.
Add executive summary and ability migration matrix; finalize evidence index, runtime validation plan, and Phase 1 handoff.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-16 23:40:52 -07:00

12 KiB
Raw Blame History

13 — Unknowns and Runtime Questions

Status: Draft

  • Scope: Unresolved questions after Phase 1 static archaeology (Batches 15). Static defects are recorded; runtime validation is planned but not executed.
  • Inspection method: Consolidation through Pass 11 synthesis.
  • Evidence classifications used: Observed Implementation, Documented Intent, Observed Runtime Behavior, Inferred, Unknown.
  • Tool or visibility limitations: Semantic Search unavailable; AnimGraph transition DSL empty; Sphere CDO collision unreadable; CustomEvent Reliability unreadable; no PIE in Phase 1.
  • Last updated: 2026-07-16
  • Current phase: Phase 1 — Static Architecture (complete); runtime validation deferred
  • Last completed pass: Pass 11 (Batch 5 synthesis)
  • Next pass expected to contribute: Phase 2A runtime-baseline when explicitly authorized

Draft tracking

Completed sections

  • Batch 14D resolutions (Passes 010)
  • Pass 11: bounded runtime validation plan (groups 112)
  • Static vs runtime boundary clarified

Pending sections

  • All runtime test execution (not authorized in Phase 1)
  • Manual Editor notify trigger times / ABP Death pins / sphere GenerateOverlapEvents

Evidence still required

  • All rows in Runtime validation plan below
  • FCanUseMana implementation body detail
  • Client_Charge numeric timeline details

Why Draft remains

Runtime execution has not begun. Static scope for Phase 1 unknowns is fully inventoried.


Static vs runtime boundary

Category Examples Phase 1 status
Confirmed static defects Enemy chase missing; GetASC nullptr; AddGold unimplemented; Cleric 004 mana bypass Closed as static findings
Active but Unverified connected paths Overlay bars; EffectActor apply; session host/find Require runtime
Unknown — Tool Limitation CustomEvent Reliability; montage notify times Manual Editor or MCP gap
Design decisions Wizard orphan intent; whirlwind; Gunslinger kit Defer pending design

Do not treat runtime questions as confirmed defects until tested.


Resolved in prior passes (summary)

Pass/Batch Examples resolved statically
Batch 4D Sessions in PC_MainMenu not GI; OSS INI Missing; char-select spawn; UpdatePlayerHUD/AddGold unimplemented; EffectActor authority risk; Overlay Health/Mana only
Pass 9 Chase/attack Implementation Missing independent of GetASC
Pass 8 UseAbility* callers = AN_Ability_*; AN_AttackComplete cleanup; montage pins unwired
Pass 7 Dual resource boundary; no GA grant/activate; orphan default GEs
Pass 6 Per-character ability statuses

Full tables remain in docs 0212.


Confirmed static defects with runtime questions

Confirmed finding Issue Runtime question
Chase/attack Implementation Missing Existing Baseline Defect Confirm idle forever when possessed
No navmesh in Test01 External Dependency Missing (secondary) Would MoveTo work after mesh bake alone?
AutoPossessAI PlacedInWorld Possession Configuration Conflict for spawned enemies Do spawners create uncontrolled pawns?
ABP SetIsDead(false) Connected but Incomplete Death state ever entered?
No enemy damage reception Existing Baseline Defect Player hits show nothing?
Enemy GetASC nullptr Incomplete Refactor EffectActor on enemy destroys loot without heal?
UpdatePlayerHUD unimplemented Incomplete Refactor Does Server_UpdateHUD no-op?
AddGold unimplemented Incomplete Refactor Gold SFX+destroy without score?
EffectActor no authority Authority Risk Client/server double-destroy or missed GE?
JoinSession no OnSuccess pin Partial Does join travel occur?
OnlineSubsystem INI Missing Missing LAN/Steam sessions fail silently?
Char-select server-only create Partial Remote clients stuck without pawn UI?
Orphan default GEs / dual resources Incomplete Refactor Spawn Health/Mana vs Overlay
Montage completion pins unwired Networking Risk Interrupt leaves CurrentlyAttacking stuck?
Cleric 004 mana bypass + empty SpawnActor Existing Baseline Defect Confirm free cast + no projectile

Runtime validation plan (do not execute in Phase 1)

For each test: distinguish PIE, Listen-server, Dedicated-server, Two-client, Standalone, Manual Editor.

1. Player attributes and HUD

Test Static prerequisite Setup Observation Pass condition Failure implication Mode
Spawn ASC Init values Dual SoT documented Standalone NewGame→Test01→select Paladin Overlay Health/Mana at spawn Match native Init (75/100, 25/50) or documented policy Orphan GE / Init mismatch Standalone / PIE
Potion updates Overlay EffectActor path Overlap HealthPotion Overlay Health rises +25 ASC Health changed; bar updates Overlay or apply broken PIE
Combat vs potion divergence Dual resources Take legacy damage then potion DEPRECATED vs ASC values Divergence documented or SoT enforced Confirms P0 dual-resource risk PIE

2. Ability authority and replication

Test Static prerequisite Setup Observation Pass condition Failure implication Mode
Amazonian 001 listen-server Implemented path Host+client; Amazonian melee Damage Authority; montage both Authority damage once; clients see montage Authority/replication defect Listen-server + Two-client
Wizard stub Stub Activate Ability 001 PrintString / no combat Stub only Unexpected child override PIE

3. Animation callback execution

Test Static prerequisite Setup Observation Pass condition Failure implication Mode
AN_Ability_001 fires UseAbility AN wiring Paladin/Amazonian 001 Hit window applies damage Damage at notify time Notify not evaluated on server PIE / Listen-server
Cleric 001 dead receiver Unimplemented UseAbility001 Cleric 001 Montage plays; no hit Partial confirmed Unexpected hit path PIE

4. Ability interruption and cleanup

Test Static prerequisite Setup Observation Pass condition Failure implication Mode
Interrupt mid-montage Pins unwired Cancel/stun/move cancel mid-001 CurrentlyAttacking state Clears or stuck documented P1 cleanup risk confirmed PIE
AN_AttackComplete path Connected notify Complete full montage CurrentlyAttacking false Lockout released Cleanup broken even on complete PIE

5. Player damage and death

Test Static prerequisite Setup Observation Pass condition Failure implication Mode
Amazonian AnyDamage death Partial death path Reduce health to ≤0 PlayerDeath; ABP Death Death reached Death unreachable PIE
Paladin lethal path Inherited death Apply lethal damage source Death or no-op Path documented Missing inbound damage PIE

6. Enemy ASC compatibility

Test Static prerequisite Setup Observation Pass condition Failure implication Mode
Potion on enemy GetASC nullptr Overlap potion on skeleton GE apply + destroy Early-out no heal; actor may destroy Confirms destroy-without-heal PIE
Direct enemy ASC Health ASC on self Inspect ASC after spawn Health Init present Component alive despite GetASC defect ASC missing entirely PIE / Manual Editor

7. Enemy damage reception and death

Test Static prerequisite Setup Observation Pass condition Failure implication Mode
Player hit skeleton No ReceiveAnyDamage Amazonian 001 on skeleton Health/death response No health change (expected today) Unexpected consumer found PIE
IsDead forced false ABP Update Force IsDead true then tick Death state Forced false prevents Death Or Death somehow reachable PIE / Manual Editor
AIController possession PlacedInWorld PIE possess check Controller class Possessed by AIController Unpossessed PIE

8. Pickup authority and replication

Test Static prerequisite Setup Observation Pass condition Failure implication Mode
EffectActor listen-server Authority Risk Host+client overlap potion GE apply count; destroy Single authoritative apply Double apply/destroy Listen-server + Two-client
Gold authority Authority gated Overlap gold SFX+destroy; AddGold No score change (unimplemented) Unexpected score store PIE

9. Character-selection networking

Test Static prerequisite Setup Observation Pass condition Failure implication Mode
Remote client select UI Server-only create Listen-server two clients Widget on client Client has UI and can spawn Client stuck — P1 confirmed Listen-server + Two-client
Gunslinger absence Not in UI Open select Class buttons No Gunslinger Unexpected button Standalone

10. Session create/find/join/travel/destroy

Test Static prerequisite Setup Observation Pass condition Failure implication Mode
Host create Partial host path HostGame Session + travel Dev_Island Lands listen-server OSS/config failure Listen-server
Find sessions Find connected Refresh Slot list Rows appear Find broken Two-client
Join travel No OnSuccess pin JoinGame Travel to host map Client travels Join travel broken Two-client
Destroy/leave Missing DestroySession Return MainMenu mid-session Session state Document leak/orphan session Confirms Missing cleanup Listen-server

11. Gold and currency

Test Static prerequisite Setup Observation Pass condition Failure implication Mode
AddGold no-op Unimplemented Pick gold Score/UI No persistent gold Unexpected implementation elsewhere PIE
No stamina pickup Negative inventory Search/play No stamina collectible Confirmed Missing Asset found Standalone

12. Respawn and HUD recreation

Test Static prerequisite Setup Observation Pass condition Failure implication Mode
Respawn Overlay Server_RespawnPlayer Die → respawn Overlay bars HUD recreated; attrs reset per policy HUD/attr stuck PIE
Possessed Server_UpdateHUD Delay 0.4 path Possess Legacy HUD call No-op (expected) Unexpected UpdatePlayerHUD impl PIE

Requires Manual Editor Inspection

Question Priority
AnimNotify trigger times / track indices Medium
Montage section / blend / root-motion flags Low
ABP_Skeleton Death transition pin wiring Low
Sphere GenerateOverlapEvents / collision profile on EffectActors Medium
FCanUseMana function body Medium
CommonUI content usage Low

Priority order for later verification

  1. Phase 2A design: canonical attribute/authority/cleanup contracts (do not skip)
  2. Controlled PIE — menu→Test01 spawn, Overlay, potion GE, gold no-op, enemy idle, Amazonian 001
  3. Interrupt cleanup + dual-resource divergence
  4. Multiplayer PIE — host Dev_Island, join travel, remote char-select, EffectActor authority
  5. Manual Editor — collision templates, AnimGraph pins, notify times

Do not begin Phase 2 implementation until Phase 2A contracts are approved.