-
Notifications
You must be signed in to change notification settings - Fork 0
Mana and Lifecycle
π Mana is a spell's dependency satisfaction status. A spell has mana when every matter type it requires has an active publisher in the river. It loses mana when one of its required types goes dark - no Strand, no Loom producing it.
A Loom that requires MoonPhaseState will sit dormant in NoMana until something starts publishing MoonPhaseState, then transitions to HasMana and begins processing. If the publisher later disposes, the Loom transitions back to NoMana and waits - it does not error or vanish, just stops emitting until its ingredients reappear.
ππ§ Eris doesn't currently contain a spell topology UI, this is coming soon, so all the Mana machinations are happening behind the scenes at the moment.
Spell lifecycle states:
| State | Meaning |
|---|---|
Created |
Spell registered with the river. Required ingredients not yet checked. |
HasMana |
All required matter types have active sources - the spell is alife. |
NoMana |
At least one required matter type has no active source - the spell is dormant but still registered. |
Forgotten |
The spell's IDisposable was called - the spell is gone from the river. |
Strand and Pluck have no input matter types, so they never enter NoMana - they go from Created to HasMana immediately and stay there until disposed. Loom, Weave, and Shuttle all gate on their declared input types.