refactor(runtime): own canonical action state

Move selection, combat, and interaction target mode under one Runtime owner; make plugins, retained UI, session routing, and typed runtime views borrow its exact children; and add failure-safe reset, instance isolation, source ownership, and normalized checkpoint coverage without changing retail ordering.

Co-authored-by: Codex <codex@openai.com>
This commit is contained in:
Erik 2026-07-26 10:44:09 +02:00
parent bb45afef33
commit b298f99f91
38 changed files with 711 additions and 93 deletions

View file

@ -509,6 +509,7 @@ public class InventoryControllerTests
using var interaction = new ItemInteractionController(
objects,
new InventoryTransactionState(objects),
new InteractionState(),
playerGuid: () => Player,
sendUse: null,
sendUseWithTarget: null,
@ -546,6 +547,7 @@ public class InventoryControllerTests
var interaction = new ItemInteractionController(
objects,
new InventoryTransactionState(objects),
new InteractionState(),
playerGuid: () => Player,
sendUse: null,
sendUseWithTarget: null,
@ -715,6 +717,7 @@ public class InventoryControllerTests
using var interaction = new ItemInteractionController(
objects,
new InventoryTransactionState(objects),
new InteractionState(),
playerGuid: () => Player,
sendUse: null,
sendUseWithTarget: null,
@ -760,6 +763,7 @@ public class InventoryControllerTests
using var interaction = new ItemInteractionController(
objects,
new InventoryTransactionState(objects),
new InteractionState(),
playerGuid: () => Player,
sendUse: null,
sendUseWithTarget: null,
@ -812,6 +816,7 @@ public class InventoryControllerTests
using var interaction = new ItemInteractionController(
objects,
new InventoryTransactionState(objects),
new InteractionState(),
playerGuid: () => Player,
sendUse: null,
sendUseWithTarget: null,
@ -870,6 +875,7 @@ public class InventoryControllerTests
using var interaction = new ItemInteractionController(
objects,
new InventoryTransactionState(objects),
new InteractionState(),
playerGuid: () => Player,
sendUse: null,
sendUseWithTarget: null,
@ -939,6 +945,7 @@ public class InventoryControllerTests
using var interaction = new ItemInteractionController(
objects,
new InventoryTransactionState(objects),
new InteractionState(),
playerGuid: () => Player,
sendUse: null,
sendUseWithTarget: null,
@ -1002,6 +1009,7 @@ public class InventoryControllerTests
using var interaction = new ItemInteractionController(
objects,
new InventoryTransactionState(objects),
new InteractionState(),
playerGuid: () => Player,
sendUse: null,
sendUseWithTarget: null,
@ -1062,6 +1070,7 @@ public class InventoryControllerTests
using var interaction = new ItemInteractionController(
objects,
new InventoryTransactionState(objects),
new InteractionState(),
playerGuid: () => Player,
sendUse: null,
sendUseWithTarget: null,
@ -1109,6 +1118,7 @@ public class InventoryControllerTests
using var interaction = new ItemInteractionController(
objects,
new InventoryTransactionState(objects),
new InteractionState(),
playerGuid: () => Player,
sendUse: null,
sendUseWithTarget: null,
@ -1149,6 +1159,7 @@ public class InventoryControllerTests
using var interaction = new ItemInteractionController(
objects,
new InventoryTransactionState(objects),
new InteractionState(),
playerGuid: () => Player,
sendUse: null,
sendUseWithTarget: null,
@ -1188,6 +1199,7 @@ public class InventoryControllerTests
using var interaction = new ItemInteractionController(
objects,
new InventoryTransactionState(objects),
new InteractionState(),
playerGuid: () => Player,
sendUse: null,
sendUseWithTarget: null,