- Introduce new narrative probes for episode grammar, ensemble balance, and prose redundancy - Implement narrative presentation coverage tracking for better event visibility - Update harness scenarios to include new narrative ingestion and persistence tests - Refactor event emission to include narrative development IDs and presentations - Expand InterestCandidate to support narrative presentation models and roles
56 lines
1.4 KiB
C#
56 lines
1.4 KiB
C#
namespace IdleSpectator;
|
|
|
|
public enum NarrativeEventKind
|
|
{
|
|
Unknown,
|
|
BondFormed,
|
|
BondBroken,
|
|
ChildBorn,
|
|
FriendFormed,
|
|
Kill,
|
|
Death,
|
|
RoleChanged,
|
|
HomeChanged,
|
|
Founding,
|
|
WarChanged,
|
|
PlotChanged
|
|
}
|
|
|
|
/// <summary>One immutable confirmed world observation, shared by all character perspectives.</summary>
|
|
public sealed class NarrativeEventRecord
|
|
{
|
|
public string Id = "";
|
|
public string DedupeKey = "";
|
|
public NarrativeEventKind Kind;
|
|
public long SubjectId;
|
|
public LifeSagaIdentity Subject;
|
|
public long OtherId;
|
|
public LifeSagaIdentity Other;
|
|
public string DevelopmentId = "";
|
|
public string CorrelationKey = "";
|
|
public string FamilyKey = "";
|
|
public string CityKey = "";
|
|
public string KingdomKey = "";
|
|
public string WarKey = "";
|
|
public string PlotKey = "";
|
|
public string PreviousState = "";
|
|
public string NewState = "";
|
|
public string Outcome = "";
|
|
public string Note = "";
|
|
public bool Resolved;
|
|
public string EvidenceSource = "";
|
|
public string DateLabel = "";
|
|
public double WorldTime;
|
|
public float ObservedAt;
|
|
public float Magnitude;
|
|
public float Confidence = 1f;
|
|
}
|
|
|
|
public sealed class NarrativeEventReceipt
|
|
{
|
|
public bool IsNew;
|
|
public string EventId = "";
|
|
public string DevelopmentId = "";
|
|
public NarrativePresentationModel Presentation;
|
|
public string RejectionReason = "";
|
|
}
|