Document Batch 2–3 Phase 1 archaeology: shared player-base architecture and per-character ability inventories.

Captures Blueprint hierarchy, legacy ability/RPC paths, animation dependency seeds, and handoff state without modifying Unreal assets.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-07-16 20:29:10 -07:00
co-authored by Cursor
parent ff5640a020
commit 0d045d142f
11 changed files with 1106 additions and 463 deletions
+87 -69
View File
@@ -5,16 +5,16 @@
- **Scope:** Authoritative cross-model continuation document for Phase 1.
- **Last updated:** 2026-07-16
- **Current phase:** Phase 1 — Static Architecture
- **Last completed pass / batch:** Batch 1 (Passes 0, 1, 2)
- **Next authorized work:** Wait for user — recommend **Batch 2** (Passes 3 + 5)
- **Last completed pass / batch:** Batch 3 (Pass 6)
- **Next authorized work:** Wait for user — recommend **Batch 4** (Pass 4 sessions / Pass 7 GAS / Pass 8 animation — only as authorized)
## Phase completed
| Item | Value |
|------|--------|
| Phase | Phase 1 — Static Architecture (in progress) |
| Batch completed | Batch 1Foundation |
| Passes completed | Pass 0 Continuity gate; Pass 1 Modules/plugins/config; Pass 2 Native C++ hierarchy |
| Batch completed | Batch 3Per-character ability archaeology |
| Passes completed | Pass 6 (Paladin → Amazonian → Cleric → Wizard → Gunslinger) |
| Date completed | 2026-07-16 |
| Model identifier | Cursor Grok 4.5 |
@@ -22,132 +22,150 @@
## Repository integrity
### Starting state (Pass 0)
### Starting state (Batch 3)
- **Git:** Not a git repository (`fatal: not a git repository`). Read-only git commands unavailable for dirty-file tracking.
- **Filesystem Archaeology baseline:** Only `Documentation/Archaeology/00-MCP-Capability-Calibration.md` present (SHA256 `91CDDBC1BD2880FA892CCC3753BA0C5B582D95916E62151251AC35C131134AA5`).
- **Pre-existing modified/untracked (git):** N/A — no git. No attempt to clean or alter other project files.
- **Editor:** `IsPIERunning=false`; current level `/Game/_Main/Levels/Testing/Test01`; selected actor `BP_Enemy_Skeleton_C_1` (matches calibration).
- **Git:** Dirty with expected Batch 2 Archaeology Markdown only (not unexpected):
- Modified: `03`, `06`, `08`, `09`, `11`, `13`, `14`, `15`
- Untracked: `05-LegacyAbilityArchitecture.md`
- **Baseline commit:** `ff5640a0` Establish UE 5.8 known-good baseline with Batch 1 archaeology docs.
- **Editor:** `IsPIERunning=false`; level `/Game/_Main/Levels/Testing/Test01`; selected actor `BP_Enemy_Skeleton_C_1`.
### Ending state (Batch 1 close)
- New/modified files: Markdown only under `Documentation/Archaeology/` (listed below).
- `00-MCP-Capability-Calibration.md` hash unchanged (must verify at close).
- No source, config, plugin, map, or Unreal asset writes performed.
### Ending state (Batch 3 close)
- Modified/created files: Markdown only under `Documentation/Archaeology/` (listed below).
- **Unexpected untracked file reported (not reverted):** `Documentation/Archaeology/01-Phase-1-Plan.md` — present at close; not created by Pass 6 doc writes; contents not inspected this closeout.
- No source, config, plugin, map, or Unreal asset writes.
- PIE not started; level and selection not changed intentionally.
- Ending Git check: only Archaeology Markdown dirty (confirm at close).
---
## Areas fully inspected (Batch 1 tools)
## Areas fully inspected (Batch 3 tools)
- All `.h`/`.cpp` under `Source/REALMSINRUIN/`
- `REALMSINRUIN_DEV.uproject`, Targets, Build.cs, module startup
- `Plugins/AdvancedSessions` + `AdvancedSteamSessions` descriptors and Build.cs
- `Config/DefaultEngine.ini`, `DefaultGame.ini`, `DefaultGameplayTags.ini`, `DefaultInput.ini` (input file partially — defaults + Jump/Move mappings)
- PluginToolset ListEnabledPlugins; GetPluginInfo AdvancedSessions/AdvancedSteamSessions
- Editor continuity: PIE, level, selection
- search_subclasses seeds for player/enemy/effect/HUD/PC/PS/GA/widget/GameMode/GameInstance
- Player_Paladin: Ability 001004 Begin/End/UseAbility/Charge/ChargeBox connected paths
- Player_Amazonian: Ability 001 + UseAbility001 + ReceiveAnyDamage; 002004 absence
- Player_Cleric: Ability 001004 + ConcentrateHandle/EndConcentrate + UseAbility002/004
- Player_Wizard: EventGraph walk; alternate UseAbility/input/spell search; unwired assets
- Player_Gunslinger: IsDataOnly confirmation; Parent-only EventGraph; inherited stubs
## Areas partially inspected
- DefaultInput.ini beyond movement/look mappings (full VR axis noise present; ability actions absent)
- Enabled engine plugin usage (listed; not usage-verified)
- GAS GE assets (known from calibration; CDOs not re-inspected this batch)
- FCanUseMana function body (call sites only)
- Client_Charge / ChargeTimeline numeric curve details
- PlayerHitCheck graphs (existence known; full absorb logic → later)
- Montage notify tracks (seeded in doc 10 → Pass 8)
## Areas not yet inspected
- All Blueprint graph/variable deep dives (Batch 2+)
- Frontend/session flows (Batch 4)
- Per-character abilities (Batch 3)
- Animation (Batch 4 Pass 8)
- Enemy BP AI (Batch 4 Pass 9)
- Full UI trees / pickups graphs (Batch 4)
- Synthesis docs 01, 05, 07, 10 (not created — no substantive Batch 1 content for 05/07/10/01)
- Frontend/session flows (Batch 4 Pass 4)
- GE/cue systemwide inventory (Batch 4 Pass 7)
- Animation deep dive / AnimNotify → UseAbility (Batch 4 Pass 8)
- Enemy BP AI deep dive (Batch 4 Pass 9)
- Full UI trees / pickups (Batch 4)
- Cross-character migration matrix doc 07 (Pass 11)
---
## Blueprints inspected
None in depth. **Path seeds only** recorded in 03/08/09/11/12.
| Asset | Depth |
|-------|--------|
| BP_PlayerCharacterBase | Correlation only (Batch 2 deep dive stands) |
| Player_Paladin | Pass 6 full ability path reconstruction |
| Player_Amazonian | Pass 6 full ability path reconstruction |
| Player_Cleric | Pass 6 full ability path reconstruction |
| Player_Wizard | Pass 6 ability + alternate path search |
| Player_Gunslinger | Pass 6 data-only / inherited stub confirmation |
Referenced when required for ability identity: montage paths, MagicSpell_01_Cue, BP_PlayerProjectile (unwired), GE_* DefaultAttributes (orphans), NS_Wizard_Ability001 (unwired).
## C++ classes inspected
ARIRBaseCharacter, ARIRPlayerCharacter, ARIRBaseEnemyCharacter, ARIRPlayerState, ARIRPlayerController, ARIRHUD, URIRAbilitySystemComponent, URIRAttributeSet, URIRGameplayAbility, ARIREffectActor, URIRUserWidget, URIRWidgetController, UOverlayWidgetController, ITargetInterface / UTargetInterface; module REALMSINRUIN.h/cpp.
None new this batch (Batch 1 inventory stands).
## Assets / configs inspected
Listed in §Areas fully inspected. No Unreal assets modified or saved.
Unreal content via MCP read-only only. No config file writes.
## Files created
| File | Status |
|------|--------|
| Documentation/Archaeology/02-ProjectArchitecture.md | Draft |
| Documentation/Archaeology/03-ClassHierarchy.md | Draft |
| Documentation/Archaeology/10-AnimationDependencies.md | Draft |
## Files updated
| File | Status |
|------|--------|
| Documentation/Archaeology/05-LegacyAbilityArchitecture.md | Draft (major Pass 6 rewrite) |
| Documentation/Archaeology/06-PartialGASArchitecture.md | Draft |
| Documentation/Archaeology/08-CharacterSystems.md | Draft |
| Documentation/Archaeology/09-EnemyAI-StaticAnalysis.md | Draft |
| Documentation/Archaeology/11-UI-HUD-And-Sessions.md | Draft |
| Documentation/Archaeology/12-Pickups-And-Effects.md | Draft |
| Documentation/Archaeology/13-Unknowns-And-RuntimeQuestions.md | Draft |
| Documentation/Archaeology/14-EvidenceIndex.md | Draft |
| Documentation/Archaeology/15-HandoffStatus.md | Draft |
## Files updated
None pre-existing except this handoff/index created new. **00-MCP-Capability-Calibration.md not modified.**
**03-ClassHierarchy.md not modified** (no Batch 2 structural correction required).
**00-MCP-Capability-Calibration.md not modified.**
**07-AbilityMigrationMatrix.md not created** (Pass 11).
## Toolsets used
EditorAppToolset (IsPIERunning, GetSelectedActors); SceneTools (get_current_level); PluginToolset (ListEnabledPlugins, GetPluginInfo); ObjectTools (search_subclasses); filesystem reads of Source/Config/Plugins.
EditorAppToolset (IsPIERunning, GetSelectedActors); SceneTools (get_current_level); AssetTools (class/tags/deps/refs); BlueprintTools (graphs/events/functions/variables/find_nodes/get_node_infos/get_connected_subgraph/read_graph_dsl); ObjectTools (get_properties).
## Tool limitations / failed queries
- Git unavailable (not a repository)
- Some parallel CallMcpTool batches failed with schema errors; succeeded when retried singly
- SemanticSearch not used (not configured)
- GetPluginInfo for GameplayAbilities/CommonUI/IsEnabled calls failed in parallel batch (AdvancedSessions info succeeded on retry); ListEnabledPlugins already confirmed AdvancedSessions/Steam/CommonUI/GameplayAbilities enabled
- CustomEvent Reliable/Unreliable flags: **Unknown — MCP property visibility limitation**
- `find_nodes(title="Comment")` returned [] — comment-box regions Unknown
- SemanticSearch unavailable
- Some CallMcpTool invocations initially failed when `server`/`toolName` wrapper omitted; retried successfully
- Blocked read-only continuity queries (if any): recorded as tool limitation, not mutation
## Contradictory evidence
1. **Enemy ASC ownership vs GetAbilitySystemComponent:** Enemy creates ASC on self; base character GetASC uses PlayerState only. Both Observed Implementation. Better supported: both true — interface path likely wrong for enemies. Logged for Batch 4 / runtime.
2. **Documented Intent URIRGameplayAbility “all abilities” vs no subclasses / no GA assets:** Infrastructure only. Better supported: not migrated.
3. **DefaultAttributesGameplayEffect declared vs never applied in native:** Scaffolding; apply path Unknown (Blueprint?).
1. Dual HUD: native ASC Overlay vs DEPRECATED float UpdatePlayerHUD — both active statically.
2. DefaultAttributes: GE assets exist (incl. character orphans); BP_PlayerState=None; C++ never applies.
3. Enemy ASC ownership vs GetASC PlayerState path — unchanged from Batch 1.
4. Cleric Ability 004: FCanUseMana executed but Branch uses literal true — structural defect.
## Unresolved naming ambiguities
- `Player_Amazonian` vs GE `Amazon` folder naming
- `WBP_PlayerHUD` returned as RIRHUD subclass
- Amazon vs Amazonian GE folder naming (Pass 7)
- WBP_PlayerHUD naming — resolved class-wise; name still misleading
## Requires Manual Editor Inspection
- OnlineSubsystem/Steam config location
- Confirm WBP_PlayerHUD asset type
- CommonUI content usage
- CustomEvent Reliable/Unreliable flags
- DEPRECATED comment-box visual boundaries
- Montage notify tracks → UseAbility*
## Requires Runtime Inspection / PIE
- Enemy GetASC / EffectActor apply
- Default attribute values after spawn
- HUD overlay creation success
- Session flows (later)
- Dual HUD behavior
- Default attribute spawn values
- Enemy GetASC impact
- Cleric Ability 004 / Wizard BeginPlay Parent skip
- Ability networking feel / reliability
## Suggested next bounded task
**Authorize Batch 2 only:**
**Authorize Batch 4 only** (choose one or more Passes explicitly):
1. Pass 3Blueprint hierarchy for `BP_PlayerCharacterBase`, five `Player_*`, `BP_EnemyCharacterBase`, `BP_Enemy_Skeleton`, `BPI_*`, `GI_Dungeoneer`, `GM_*`, `PC_Character`, `BP_PlayerState` (structure: parents, vars, graphs list, events — not full ability path walk yet where Pass 5 owns deep dive).
2. Pass 5Deep dive `BP_PlayerCharacterBase` ability/RPC/DEPRECATED/GAS/comments.
1. Pass 7GAS GE/cue/tag inventory
2. Pass 8Animation / AnimNotify → UseAbility wiring
3. Pass 4 — Frontend / session flows
4. Pass 9 — Enemy BP AI
**Do not begin** Pass 11 migration matrix or PIE until authorized.
**Exact starting files for next model:**
- Read: `00-MCP-Capability-Calibration.md`, `15-HandoffStatus.md`, `14-EvidenceIndex.md`, `03-ClassHierarchy.md`, `08-CharacterSystems.md`
- Inspect first: `/Game/_Main/Blueprints/Characters/PlayerCharacters/BP_PlayerCharacterBase`
**Subsystem continuity:** Keep player-base ability reconstruction with one model through Batch 2 Pass 5 before switching mid-graph.
- Read: `00`, `05`, `06`, `08`, `10`, `13`, `14`, `15`
- For Pass 7: start GE assets under `/Game/_Main/` + ASC defaults
- For Pass 8: start montages listed in `10-AnimationDependencies.md`
## Confirmation
- No Unreal assets modified
- No source/config/map/plugin modified
- No editor state intentionally modified (PIE not started; level/selection/camera not changed)
- No work beyond Pass 2 performed
- No editor state intentionally modified (PIE not started; level/selection unchanged)
- No work beyond Pass 6 performed
- Waiting for explicit authorization before Batch 4