//
// Regenerate with the 2026-07-29 enum verification campaign tooling; see
// docs/research/2026-07-29-enum-verification-campaign.md for the oracle set,
// the extraction method, and the open-question ledger.
// Hand edits are pinned by PropertyEnumConformanceTests — change the oracle,
// not the enum.
//
namespace AcDream.Core.Properties;
///
/// AC's PropertyInt64 property table — the numeric keys the server sends in
/// PrivateUpdatePropertyInt64 (0x02D1)
/// and in the property bundles carried by CreateObject / PlayerDescription /
/// IdentifyResponse. The CLR payload for this table is long.
///
/// Verified 2026-07-29 against two independent oracles: the vendored
/// client-side enum catalog (references/acclientlib/UtilityBelt.Common/Enums/Enums.cs,
/// which names this table Int64Id) and the 38,985-file ACE weenie export corpus
/// (references/weenies/), whose per-stat _comment carries the enum member
/// name beside the numeric key. 3 of these 9 members are attested by BOTH
/// oracles with zero value conflicts; the remainder are single-sourced from the
/// catalog because no weenie in the corpus sets them.
///
/// This enum is a vocabulary, not a parser contract: the wire carries a raw
/// uint and unknown keys must still round-trip untouched, so never assume a
/// received key is a defined member.
///
public enum PropertyInt64 : uint
{
Undef = 0,
TotalExperience = 1,
AvailableExperience = 2,
/// 7 weenie attestations.
AugmentationCost = 3,
/// 79 weenie attestations.
ItemTotalXp = 4,
/// 79 weenie attestations.
ItemBaseXp = 5,
AvailableLuminance = 6,
MaximumLuminance = 7,
InteractionReqs = 8,
}