← Fly the simulatorRelease history
Versions identify deployed builds. Historical releases without a recorded commit are listed without inferred changes. Dates below are UTC.
v2026.10.12.193044-b90c968
2026-10-12T19:30:44.264Z · b90c968- Serve training landing page in local development
- Release v2026.10.12.000146-8709557: record deployment in ledger
- Show pending welcome when starting live flight after a demo
- Link the training introduction from About
- Normalize landing source whitespace
- Add acquisition page and real hover demonstration entry
- Add transport curriculum with contextual progress and next lessons
- Guide first-time pilots with safe controls and a focused hover lesson
v2026.10.12.000146-8709557
2026-10-12T00:02:11.759287Z · 8709557- Add private /admin/ dashboard for pilot stats and live GA flows (#76)
- Add repeatable GA baselines and private reporting dashboard (#71)
- docs: preserve native flight research methods in maintenance skill (#70)
- Release v2026.10.09.123822-ff39e54: record deployment in ledger
v2026.10.09.123822-ff39e54
2026-10-09T12:38:35.963892Z · ff39e54- content: refresh guides from 2026-10-09 brief; add Season 2 + guides + weekly section
- Release v2026.10.09.034534-7f6b111: record deployment in ledger
v2026.10.09.034534-7f6b111
2026-10-09T03:46:04.276588Z · 7f6b111- docs: one score-history line after merging main (#64 with the Lakota pitch: 140.9 / 94.3)
- Make the game engine the default; fly the demos on it
- engine: Lakota pitch, the release brake in rad/s and the cyclic x translational lift
- engine: the Havoc's vertical drag only while sinking; vertical response measured
- Release v2026.10.09.010951-0db4d10: record deployment in ledger
v2026.10.09.010951-0db4d10
2026-10-09T01:10:59.82654Z · 0db4d10- engine: round 3 re-fit after merging #60, #61, #62; roll torque back to 1.3
- engine: the rotor as an angle of attack against its own inflow; field names by length
- docs(engine): assist semantics, per change and combined
- engine: read the assist graph as the enums name it
- engine: the game's crash and damage rules; the rear-rotor curve on tail RPM
- paks: read a CurveVector's three channels (the G-force falloff kept only Z)
- docs(handoff): the combined score history line (159.8 / 103.6; re-read 154.1 / 96.4)
- docs: every rotary flight label in memory.bin, mapped; the enums by name
- engine: the collective's velocity measures in km/h, as the enum names them
- engine: pitch vane on the Y inertia; damping and flight-float readings tested
- engine: the collective's ease is UE's InterpEaseInOut (method 2 named)
- engine: translational lift sized by the rotor's TranslationalLift.Percent
- rig: the out-of-bounds escape banks round at once instead of hovering first
- rig: J-hook the turn back into the map instead of settling to a hover first
- ux: the smaller fixes, and analytics events for dogfights, controls and the view
- docs: bring the handoffs up to date for the next agents
- ux: first visit on the training ground, the verdict on the end panel, km/h throughout, Esc, pause on blur
- engine: Havoc vertical drag from the drag asset's bool 0x68; body data tested
- engine: Havoc hover pedal faded out at speed; yaw release stabiliser only where its condition sets c
- paks: export and convert the helicopters' vehicle assets
- engine: yaw vane saturates at speed; yaw limited past the flight asset's 0x11c
- Trainer page: tidy the header and view chips at tablet and phone widths
- rig: read the HUD digits over snow (SlotReader), live and in hud.py extract
- rig: hud-samples, 455 live HUD grabs read by eye for the digit reader
- engine: roll conditions' b/c read as release bound and hold time; roll gain 1.3
- Add the taste-skill and apply it to the trainer page and guide pages
- rig: the valley scan off by default (the Lakota crashed circling in it)
- docs: the speed-sign reading of the pitch levelling's start, rejected (204.3 / 197.8 vs 196.5)
- engine: the nose levels at low speed, as a rate (summed 199.4 -> 196.5)
- fit: clean the replay's data (damaged logs, digit slips, lost lags) and report bad runs
- rig: turn round 180 deg on the game's "RETURN TO THE COMBAT AREA" banner
- Release v2026.10.08.172119-3ee7af1: record deployment in ledger
- rig: an unreadable HUD isn't a crash until it stays unreadable for 20 s
v2026.10.08.172119-3ee7af1
2026-10-08T17:21:44.115439Z · 3ee7af1- Release v2026.10.08.171944-a31dd62: record deployment in ledger
- dogfight: clicking the tab puts you in a room, no name or code
v2026.10.08.171944-a31dd62
2026-10-08T17:20:19.209342Z · a31dd62- controls: game-like collective, free look, mouse off, controller layouts, pad and camera fixes
- Release v2026.10.08.164010-6cfc04e: record deployment in ledger
v2026.10.08.164010-6cfc04e
2026-10-08T16:40:52.472784Z · 6cfc04e- trainer: header mode switch, sign-in pill, launch bar on the view, two-card sidebar
- docs(handoff): the Havoc pedal runs' late lag hides its fast pedal onset; lower the floor after
- rig: before a fast card, look round and face open ground (face_valley)
- rig: valley_corridor(card) widens face_valley's corridor on the side a card's pedal swings
- rig: terrain_view finds the skyline and the open heading; autopilot.face_valley scans for it
- Give the demo drills 20 s: the full suite starves them while map JSONs parse
- game engine: yaw coasts after release (YawLimitedAtSpeed as a yaw-rate limit)
- Rebuild the maps end to end on the cooked landscape; ground scenery on it
- Release v2026.10.08.150327-42bc51e: record deployment in ledger
- rig: fast cards start 50 m higher; after rising ground the next fast run-in turns back
- rig: a failed boarding retries the door, then the route without buying
- Map terrain from the cooked landscape heightmaps: full coverage, 32 m placement fix
- rig: the departure turn imports autopilot (NameError after a lift-off)
- Terrain relief: lower terrain light, slope shading, 8 m detail out to ~1.15 km
- Sit the heli level on its skids, and move map spawns off slopes
v2026.10.08.150327-42bc51e
2026-10-08T15:03:51.502029Z · 42bc51e- Shooting tests for the game's ballistics; a steady timeout for the demo flights
- Weapons fly the game's ballistics: muzzle speeds from the weapon stats, and its drag law
- tools/paks/ballistics.py, a SoftClassPtr mapping fix, and what the paks say about drag
- Weapons: projectile speeds from the game's paks
- Multiplayer analytics events and shooting tests
- docs: ENGINE-HANDOFF.md for the next agent on the game engine; record the 8 Oct deployment
v2026.10.08.131238-cc97361
2026-10-08T13:12:54.039323Z · cc97361- Release v2026.10.08.112332-f0c3f29: record deployment in ledger
- feat(engine): rotor lift falls with height above ground, translational lift, damping 0.4
- fix(engine): pitch on the Z inertia, the pitch release stabiliser holds
- fix(engine): yaw drag from the rotation and horizontal drag per sqrt(kg)
- rig: let the rotor spin up 20 s before a takeoff pulls collective
- docs(engine): repair ENGINE.md, where dfdf550 replaced 344 'c's with a table-cell fragment
- wip: pedal and speed experiments
- rig: turn right off the pad before climbing away (depart_turn, default 90; ?depart= in a link); fit runs in node again
- feat(engine): hover lift capped by the collective force's b / mass; collective as a share of it
- rig: a link sets up the panel (?aircraft=&cards=&hover=&stab=&turnCoord=&repeat=¬es=)
- docs(engine): the EQ scan after the collective rework, and why it isn't applied
- docs(engine): the collective's ease, forces and replay fixes; hypotheses and scores
- fix(engine): the collective as the arcs show it, and a vertical model that climbs
- wip: collective experiments
- fit(engine): Havoc yaw in banked slides - settle-on-rate stabilisers, PIDs in degrees, vane x speed^2
- input: the game's HOTAS dead zone (0.05) and the settings import's per-axis dead zone; PLAN 8 findings
- paks: inputs.py exports the helicopter's Enhanced Input assets; aircraft/game/input.json
- docs: log the Discord report that the cyclic doesn't self-zero without hover assist (unverified)
- fit(engine): game engine's shared constants scanned over every session
- feat(engine): ?engine=game flies the game's own flight data
- paks: assists.py decodes the stabilized-after-release condition's value and component
- Document recovered assist conditions and packaged physics timing
- docs: PORTING.md, flight numbers now come from the game files; why the equations don't
- docs: ENGINE.md, rebuild the flight model on the game's own structure
v2026.10.08.112332-f0c3f29
2026-10-08T11:23:46.578589Z · f0c3f29- Extract and version all 311 helicopter WAV assets (#31)
- Release v2026.10.08.111404-cfb36dc: record deployment in ledger
- HUD out of the way, no repeated instruments while flying, one corner scale
- Flight feel: rotor and engine sound, a full-window flying view, downwash and camera shake
- Preview environment: separate workers.dev Worker and D1 for trying branches
- Fullscreen button that keeps Ctrl+W/T/N from the browser, and a hint for pilots flying on Ctrl
- Dev server takes the preview pane's PORT, so parallel sessions don't collide on 5178
- Ask before leaving whenever Ctrl is down, so Ctrl+W can't close the tab mid-flight
v2026.10.08.111404-cfb36dc
2026-10-08T11:14:15.599668Z · cfb36dc- Release v2026.10.08.040441-31b3e2f: record multiplayer deployment in ledger
- Start the heli on its team helipad, on the ground, on game maps
v2026.10.08.040441-31b3e2f
2026-10-08T04:04:54.101364Z · 31b3e2f- First release with verified deployment-to-commit tracking. Earlier deployment changes remain unverified.
Historical deployment · Cloudflare version 39
2026-10-07T21:12:42.519306Z · Commit unknownNo verified commit range is available for this release.
Historical deployment · Cloudflare version 38
2026-10-07T05:29:10.66298Z · Commit unknownNo verified commit range is available for this release.
Historical deployment · Cloudflare version 37
2026-10-07T05:14:51.959717Z · Commit unknownNo verified commit range is available for this release.
Historical deployment · Cloudflare version 36
2026-10-05T20:29:51.640513Z · Commit unknownNo verified commit range is available for this release.
Historical deployment · Cloudflare version 35
2026-10-05T19:46:37.721979Z · Commit unknownNo verified commit range is available for this release.
Historical deployment · Cloudflare version 34
2026-10-05T19:35:27.345905Z · Commit unknownNo verified commit range is available for this release.
Historical deployment · Cloudflare version 33
2026-10-05T17:06:34.2393Z · Commit unknownNo verified commit range is available for this release.
Historical deployment · Cloudflare version 32
2026-10-05T02:39:53.848498Z · Commit unknownNo verified commit range is available for this release.
Historical deployment · Cloudflare version 31
2026-10-02T20:02:11.548429Z · Commit unknownNo verified commit range is available for this release.
Historical deployment · Cloudflare version 30
2026-10-01T19:14:41.530306Z · Commit unknownNo verified commit range is available for this release.