aim-assist ยท diff
git:20260912.78b4003 to git:20260913.3042912
26 added, 16 removed. Audit A to A.
---
name: aim-assist
- description: Stick or mouse help onto a target. Ask off vs friction vs rotation vs magnet. Publish the help. Magnet that finishes a combo belongs only to lock-on-brawler.
+ description: Use when raw look or aim input needs an explicit, bounded assist transform such as friction, rotation or magnetism with stable profile/target identity and evidence that does not alter hit geometry or damage truth.
---
# Aim assist
- Ask the column:
+ Ask: `off | friction | rotation | magnet`.
- | Column | What it does |
- |---|---|
- | off | raw look |
- | friction | slow the stick on target |
- | rotation | steer toward target while firing |
- | magnet | snap inside a small cone |
+ ## Ownership
- ## Rules
+ `aim-assist` transforms **aim intent**. Target eligibility/visibility comes from the project's targeting/perception owner; `projectile-hitscan` resolves the shot; hitboxes and damage stay with their owners. Assist never enlarges hit geometry or rewrites a resolved hit.
- 1. Assist is a look modifier. It does not grow hitboxes.
- 2. Mouse and stick may use different columns. Matchmaking should not hide that. See matchmaking.
- 3. ADS look is slower than hip look. That split is data, not a secret.
- 4. Occluded or dead targets drop assist the same frame lock-on would drop.
- 5. a11y aim-help is the same table with a published larger cone. It still cannot change damage.
+ ## Contract
- ## Accept
+ Publish:
+ - stable `assist_profile_id` and revision
+ - input class/profile
+ - candidate/selected `target_id` when applicable
+ - raw aim vector/angle
+ - assisted aim vector/angle
+ - bounded strength/cone/friction parameters from project data
+ - acquire/retain/drop reason
- Player can name whether the stick is raw. A bullet that hits only because the box grew is a hitbox bug, not assist.
+ Mouse, stick, gyro or accessibility profiles may use different authored values. ADS/hip values are project data, not universal relative speeds.
+
+ ## Runtime rules
+
+ 1. Candidate changes use deterministic project tie-break/hysteresis rather than render iteration order.
+ 2. A stale or no-longer-eligible target is dropped before a new assist result is committed.
+ 3. Accessibility variants may widen or strengthen assist only through an explicit profile; they still do not modify damage, collision or target health.
+ 4. Presentation reticles may visualize the selected target but are not the source of target truth.
+ 5. Replay evidence records profile revision, raw intent, assisted intent and selected target ID.
+
+ ## Acceptance
+
+ Given the same raw aim, candidate set, target state and assist-profile revision, the same assisted intent is produced. Disabling assist changes only that transform; the same authoritative shot query still owns hit/no-hit resolution.