Risks¶
Shared binary ownership¶
BP_RephraseCharacter1, both input mapping contexts, DA_RuneDrawingGraph, puzzle Blueprints, and maps can only be edited safely by one owner at a time.
Mitigation: assign ownership before checkout and keep each shared-asset change in one focused changelist.
Rune-matrix growth¶
Every new Verb × Noun row can multiply implementation and test work.
Mitigation: approve rows before implementation, reuse status transitions, and use noun overrides before adding bespoke effect classes.
Drawing-pattern collisions¶
Two words with the same exact stroke set are indistinguishable.
Mitigation: validate uniqueness on DA_RuneDrawingGraph and test extra-stroke rejection before promotion.
Command collision gaps¶
The command orb reaches actors through overlap queries. Missing or disabled query collision makes a visually nearby receiver unreachable.
Mitigation: include collision and command-range checks in every rune-content PIE checklist.
Presentation re-entry¶
Commands that arrive while a puzzle performance or repair sequence plays can create conflicting state and camera ownership.
Mitigation: a puzzle plays one performance at a time and lets Freeze through; test repeated commands at each transition boundary.
Input-context conflicts¶
Menus, the drawing tablet, and alternate pawns can leave a mapping context or focus mode active after possession/UI changes.
Mitigation: keep add/remove ownership in URuneCoordinatorComponent, use explicit restore policy, and test controller changes and menu overlap.
Save compatibility¶
Runeable object tags and puzzle presentation state will evolve after players have saves.
Mitigation: version the schema from its first implementation and define defaults/migrations for added statuses.
Content throughput¶
Custom C++ for every matrix row would bottleneck rune production.
Mitigation: matrix rows are data on each noun, and puzzles pick from shared performance behaviors, so most rows need no C++.
Change history¶
- 2026-09-17 — Gabriel Li — Replaced retired carry/calculator risks with current binary ownership, pattern, collision, presentation, input, save, and content-scaling risks.
- 2026-08-12 — Gabriel Li — Engine pin moved to UE 5.8 / MSVC 14.50 for Unreal MCP.
- 2026-05-08 — Gabriel Li — Added baseline change history section for weekly wiki maintenance.