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:
@@ -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 1 — Foundation |
|
||||
| Passes completed | Pass 0 Continuity gate; Pass 1 Modules/plugins/config; Pass 2 Native C++ hierarchy |
|
||||
| Batch completed | Batch 3 — Per-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 001–004 Begin/End/UseAbility/Charge/ChargeBox connected paths
|
||||
- Player_Amazonian: Ability 001 + UseAbility001 + ReceiveAnyDamage; 002–004 absence
|
||||
- Player_Cleric: Ability 001–004 + 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 3 — Blueprint 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 5 — Deep dive `BP_PlayerCharacterBase` ability/RPC/DEPRECATED/GAS/comments.
|
||||
1. Pass 7 — GAS GE/cue/tag inventory
|
||||
2. Pass 8 — Animation / 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
|
||||
|
||||
Reference in New Issue
Block a user