using System.Collections.Generic;
namespace LLM.Editor.Data
{
///
/// A runtime class to pass temporary data between commands during execution.
/// This does not get serialized.
///
public class CommandContext
{
public object CurrentSubject { get; set; }
public string ErrorMessage { get; set; }
///
/// A map from a logical name (e.g., "MyNewCube") to a persistent identifier
/// (e.g., a scene path "/MyNewCube" or an asset GUID).
/// This allows commands to reference objects created in previous steps,
/// even across domain reloads.
///
public Dictionary IdentifierMap { get; set; } = new();
///
/// The current high-level plan provided by the LLM.
/// This is populated by the UpdateWorkingContextCommand and displayed in the UI.
///
public List Plan { get; set; }
}
}