Epic: #64 (AffinityEngine)
Depends on: #65 (crate scaffold)
What
Implement MigrationState in crates/arcane-affinity/src/hysteresis.rs:
- Per-entity cooldown tracking via
HashMap<Uuid, u32>
- Methods:
new(), record_migration(), is_on_cooldown(), tick(), remove_entity(), cooldown_count()
tick() decrements all cooldowns by 1, removes entries at 0
Acceptance criteria
- All methods implemented
- Unit tests for: new state empty, record sets cooldown, is_on_cooldown works, tick decrements, expiry at exactly cooldown_ticks, remove_entity clears
Spec
See arcane-engine repo: in_08_03_hysteresis.md
Epic: #64 (AffinityEngine)
Depends on: #65 (crate scaffold)
What
Implement
MigrationStateincrates/arcane-affinity/src/hysteresis.rs:HashMap<Uuid, u32>new(),record_migration(),is_on_cooldown(),tick(),remove_entity(),cooldown_count()tick()decrements all cooldowns by 1, removes entries at 0Acceptance criteria
Spec
See
arcane-enginerepo:in_08_03_hysteresis.md