NotEvil
737a4fd59b
feat(D-01/A): interaction routing + TyingInteractionHelper (A8)
- DataDrivenBondageItem.use(): shift+click cycles bind mode for ARMS items
- DataDrivenBondageItem.interactLivingEntity(): region-based routing
- ARMS → TyingInteractionHelper (tying task with progress bar)
- NECK → deferred to Branch C (no V2 collar JSONs yet)
- Other regions → instant equip via parent AbstractV2BondageItem
- TyingInteractionHelper: extracted tying flow using V2TyingPlayerTask
- Distance/LoS validation, swap if already tied, task lifecycle