namespace Nexus.Core; public record QuestProgress { /// QuestState.dat row index (POE2 int_vector mode). 0 if using legacy pointer mode. public int QuestStateIndex { get; init; } public string? QuestName { get; init; } /// Internal quest ID from dat row (e.g. "TreeOfSouls2", "IncursionQuest1_Act1"). public string? InternalId { get; init; } /// Encounter state: 1=locked/not encountered, 2=available/started. public byte StateId { get; init; } /// True if this quest is the currently tracked/active quest in the UI. public bool IsTracked { get; init; } public string? StateText { get; init; } public string? ProgressText { get; init; } }