worldbox-observer-mod/IdleSpectator/Narrative/NarrativeEventModels.cs
DazedAnon ff4b40d00e feat(narrative): enhance narrative probes and presentation coverage.
- 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
2026-07-23 14:12:23 -05:00

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 = "";
}