Verify bounded ordinary-input approach to the prison gate
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
# Native prison-lock alignment: next bounded experiment
|
||||
|
||||
This is a source- and telemetry-based plan, **not an executed alignment or lock-picking proof**. Do not change action availability, context radius, assets, actor pose, camera pose or the original observation lifetime to obtain a pass.
|
||||
|
||||
## What the ordinary approach established
|
||||
|
||||
The ordinary session `logs_2026-09-19_19-13-42`, nonce `31a3be1395be435294173595c4fb0659`, ended its approach with ten W pulses and fourteen relative turns. The root’s independent raw-route review accepted the interior route; its original runner result failed a legacy inventory-summary requirement. That failure must remain in the original archive. Neither route completion nor proximity establishes a selected lock action.
|
||||
|
||||
At native **sample 296, real 63752 ms**, the raw console records:
|
||||
|
||||
| Measurement | Native value |
|
||||
|---|---|
|
||||
| Actor `GetOrigin()` | `<6092.42,211.297,7155.81>` |
|
||||
| Actual camera position | `<6092.42,212.921,7155.71>` |
|
||||
| Actual view direction | `<0.807436,0,-0.589955>` |
|
||||
| Registered gate context origin | `<6092.77,213.226,7154>` |
|
||||
| Context radius | `2` |
|
||||
| Prison center / gate origin | `<6090,211.444,7160>` / `<6090,211.344,7154>` |
|
||||
|
||||
The player was stopped and still inside. Selected lock, selected context and cached permission remained false in the final observations; door state/control remained zero. The context/action/component references remained pinned by the native observer.
|
||||
|
||||
Calculated from that actual camera sample, current yaw is **126.154°** and pitch **0°**. The handle center requires yaw **168.433°**, a **+42.279°** correction, and pitch **+9.912°**. Camera-to-handle distance is **1.772m**; actor-origin-to-handle distance is **2.668m**, including **1.929m** of height difference. These calculations identify the handle direction, not the engine’s exact selection volume or reference-bone position.
|
||||
|
||||
## Installed collection rules and their limits
|
||||
|
||||
Read directly from installed `Arma Reforger/addons/data/data007.pak`, resource `{6E2BB64764E3BE9B}Prefabs/Characters/Core/DefaultPlayerController.et` configures:
|
||||
|
||||
```text
|
||||
SCR_InteractionHandlerComponent {
|
||||
GlobalVisibilityRange 2.5
|
||||
ReferenceBoneName "head"
|
||||
NearbySphereRadius 5
|
||||
}
|
||||
```
|
||||
|
||||
`DefaultPlayerControllerMP.et` inherits that prefab. Thus the authored context radius of 2m is **not evidence that collection measures a two-metre sphere from the player’s feet**. A native head reference is configured; it is not necessarily identical to the rendered camera origin.
|
||||
|
||||
Generated `scripts/Game/generated/UserAction/ExtBaseInteractionHandlerComponent.c` describes preferred collection as a sphere cast followed by a sphere query, selecting a valid actions-manager context. Its exact native implementation is unavailable here. `UserActionContext.GetOrigin()` is documented as world space. On-foot `SCR_InteractionHandlerComponent.DoIntersectCheck()` normally returns false; it enables the alternate context-radius intersection test for vehicle/inspection cases. Do not assume a radius-only test models ordinary walking selection.
|
||||
|
||||
There is also a distinct **scripted context-change** rule: `scripts/Game/Interactions/SCR_InteractionHandlerComponent.c:325–374` computes distance from `m_ControlledEntity.GetOrigin()` to the context and allows a context change beyond `context.GetVisibilityRange(handler.GetVisibilityRange())² × 1.1`. With the configured 2.5m range and no action-specific extension, that threshold is **2.622m**. The measured feet distance is 0.046m beyond it. This rule permits a context change; it neither proves initial collection failed nor forces the current context to clear. The native read-only visibility getters can confirm the effective range if further diagnostics are needed. `UpdateLastReferencePoint()` updates state and should not be used as telemetry.
|
||||
|
||||
Installed selection code (`SCR_InteractionHandlerComponent.c:690–832`) indexes the filtered/aggregated actions and preserves previous selection. Even a gathered gate context does not guarantee the selected action is `ERR_UnlockPrisonAction`.
|
||||
|
||||
## Smallest next step
|
||||
|
||||
Use a separately explicit **alignment-only** variant after the independently verified interior approach. Keep the original player/world/life/nonce pins, private display/focus/pointer ownership, mute/hidden display, no held keys, and original 45-second observation window.
|
||||
|
||||
1. Freeze the final stopped body and measured gate geometry. Recompute handle bearing from fresh native camera/handle positions. First attempt bounded horizontal relative turns only, using the same run’s proven signed yaw calibration, at most 128 pixels per step and the existing measured turn/settling guards. Do not walk closer merely because the feet distance exceeds the context radius.
|
||||
2. Stop turning once two fresh consecutive native observations identify the original lock/context with cached permission, or once the bounded yaw target/budget is reached. Require zero action input/progress throughout. Native action selection—not an estimated aim point—is the result being tested.
|
||||
3. If yaw alignment does not acquire the lock, record the failure. The calculated +9.9° pitch is a candidate for a later explicitly bounded vertical-input experiment; horizontal calibration does not establish vertical gain/sign. Only after native evidence distinguishes aiming from reach should an additional small, stopped physical approach be considered. No selection setter, direct completion, context modification or teleport is an alternative.
|
||||
|
||||
The original input QUEUED clock is **30094ms**. Its unchanged expiry is **75094ms**, leaving approximately **11.3 seconds** after the observed approach completion. Roughly 42° of yaw, potentially 9.9° of pitch, native settling, and a four-second held action leave little margin. **Alignment-only is the next logical experiment.** Do not extend the observation or approach deadlines to fit F into this run.
|
||||
|
||||
A later F-only proof must start with at least six seconds of the original observation budget remaining and stable exact selection, use one bounded F-down/up pair, retain the proposed five-second F lease without changing W’s lease, and prove native progress plus PRISON → RADIO_SEARCH and gate response while still inside. Until those prerequisites are observed, send no F. No runtime or input changes were made for this audit.
|
||||
Reference in New Issue
Block a user