Registration & Ownership
Every consumer registers one stable owner through FTK2API.TryRegister and uses that IModContext consistently.
ModMetadata contains a lowercase dotted mod ID, display metadata, mod version, minimum API version, and optional or required ModDependency entries.
The 0.x compatibility rule is intentionally strict: a consumer requiring 0.5.x does not silently accept a different experimental minor line.
Ownership prevents one mod from replacing, deactivating, or removing another mod's content. Another owner may inspect visible definitions, but owner-changing operations fail with typed results or diagnostic errors.
Keep activation handles and disposables. Releasing the optional owner session removes its remaining subscriptions and owned resources in dependency-safe order.