re(flight): the throttle is analogue — target speed interpolates cruise -> maximum
RT is an analogue trigger, so "held" was one point on a curve. Walking it 0.00 -> 1.00 (throttle_curve.py) gives a straight ramp: 438, 626, 879, 1094, 1342 units/s. Dividing by the ~1.2 time-base factor, the endpoints land on the definition's own numbers (365 vs CruisingVelocity 350; 1118 vs MaximumVelocity 1200) and the midpoint follows, so target speed = CruisingVelocity + RT * (MaximumVelocity - CruisingVelocity) which refines the earlier "selects one of three targets" reading: those three are the curve's endpoints. It also refutes the standing afterburner hypothesis that full RT is the burner: the curve is smooth through full deflection with no step, and the shield does not move. The LT half is not measured yet — the entity scan needs the craft moving when it runs, so a mission left idling drops out of it. Bind early. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01NptfmpjdpNCKEez6d2xvA9
This commit is contained in:
@@ -22,8 +22,9 @@ differentiated over **1-second windows**, never per sample.
|
||||
| `LT` held | 203 121 135 121 115 146 122 | **~125** | `MinimumVelocity` 100 |
|
||||
| release | 369 451 427 425 445 390 465 | back to **~430** | — |
|
||||
|
||||
So the throttle **selects a target speed** — minimum / cruise / maximum — and the
|
||||
craft converges to it; releasing either trigger returns it to cruise. It is not a
|
||||
So the throttle **selects a target speed** and the craft converges to it; releasing
|
||||
either trigger returns it to cruise. (**Refined below**: the trigger is analogue, so
|
||||
the target is a continuous interpolation and these three are its endpoints.) It is not a
|
||||
force model with the throttle adding thrust, which is what a reimplementation would
|
||||
most likely have assumed from `Acceleration`/`Deceleration` alone. Those two fields
|
||||
govern the **convergence rate**: the release phase falls ~1 314 → ~432 in about two
|
||||
@@ -131,3 +132,44 @@ anyone re-probes the obvious buttons.
|
||||
|
||||
(`RB` is the nose gun, `Y` the missile mount and the d-pad the tactical map — see
|
||||
[flight controls](flight-controls-runtime.md) — so those were not held here.)
|
||||
|
||||
---
|
||||
|
||||
# The throttle is ANALOGUE: the target speed interpolates cruise → maximum
|
||||
|
||||
`RT` is an analogue trigger, so "held" was only ever one point on a curve. Walking
|
||||
it in five steps ([`tools/re-capture/throttle_curve.py`](../../tools/re-capture/throttle_curve.py),
|
||||
2.5 s to converge then 5 s of sampling per step):
|
||||
|
||||
| `RT` | settled speed (1 s windows) | mean |
|
||||
|---|---|---|
|
||||
| 0.00 | 465 · 411 · 373 · 504 | **438** |
|
||||
| 0.25 | 648 · 554 · 678 · 622 | **626** |
|
||||
| 0.50 | 739 · 961 · 897 · 919 | **879** |
|
||||
| 0.75 | 1028 · 1086 · 977 · 1283 | **1094** |
|
||||
| 1.00 | 1359 · 1306 · 1517 · 1186 | **1342** |
|
||||
|
||||
A straight ramp. Dividing by the ~1.2 time-base factor established above, the
|
||||
endpoints land on the definition's own numbers — 438/1.2 ≈ **365** against
|
||||
`CruisingVelocity` **350**, and 1342/1.2 ≈ **1118** against `MaximumVelocity`
|
||||
**1200** — and the midpoint follows: 879/1.2 ≈ 733 against the predicted
|
||||
350 + 0.5·(1200−350) = 775. So
|
||||
|
||||
```
|
||||
target speed = CruisingVelocity + RT · (MaximumVelocity − CruisingVelocity)
|
||||
```
|
||||
|
||||
with `LT` presumably mirroring it down to `MinimumVelocity` (measured only at full
|
||||
deflection so far: ~125 against 100).
|
||||
|
||||
**This also refutes a live hypothesis about the afterburner.** Full `RT` producing
|
||||
more than `MaximumVelocity` looked like it might *be* the burner; it is not — the
|
||||
curve is smooth through full deflection, with no step, and the shield does not move.
|
||||
Full throttle is simply full throttle.
|
||||
|
||||
Raw samples: [`captures/throttle-curve-rt.csv`](captures/throttle-curve-rt.csv).
|
||||
|
||||
⏳ The `LT` half of the curve is **not measured**: the entity scan that locks onto
|
||||
the player needs the craft to be *moving* when it runs (it searches changing position
|
||||
triples), and a mission left idling long enough for the craft to slow or die drops
|
||||
out of the scan. Bind early, while the craft still has speed.
|
||||
|
||||
Reference in New Issue
Block a user