Sameh Khamis
a2bca0fb22
feat(ui): render the Cockpit instruments, route and vision selector from a store
...
The Cockpit controller no longer writes the HUD's instruments, the flight
plan card, the visor's destination arrow or the vision selector. It keeps
them as plain state, starting from cockpitInstrumentState.js, and
publishes copies to the gev-cockpit store: the instruments on every HUD
update, the route only when it changed, the vision selector when the mode
changes. CockpitView renders the callsign, aircraft meta and emergency
mark, speed and altitude rims and ticks, compass tape, clock, position,
HUD layer, destination arrow and vision selector; a new CockpitRoute
component renders the flight plan card inside the briefing card.
The odometer readouts become CockpitRollingValue components. Their
throttle and digit roll move unchanged from setCockpitRollingValue into
cockpitRollingValue.js: every accepted reading restamps the throttle, a
change inside it is dropped, and each accepted change draws fresh glyphs
so the roll animation restarts. A rim tick with no reading still hides
where it stood, and a hidden arrow keeps its last angle and label.
In a dev build the HUD's Vue patch costs about 0.5 ms per update (1.4 ms
at 4x CPU throttle), against 0.4 ms (2.1 ms) for the DOM writes it
replaces, at about 10 updates a second.
2026-10-31 14:36:32 -07:00
..
2026-10-20 14:02:09 +04:00
2026-10-23 14:51:42 -07:00
2026-10-16 11:01:25 +01:00
2026-09-28 19:07:57 -05:00
2026-10-20 13:56:44 +04:00
2026-09-28 19:07:57 -05:00
2026-10-20 13:56:44 +04:00
2026-10-02 18:29:42 -07:00
2026-08-24 17:02:16 -05:00
2026-10-25 17:21:41 -07:00
2026-09-24 16:25:55 +05:30
2026-10-30 17:23:45 -07:00
2026-09-10 23:01:51 -07:00
2026-10-16 17:09:03 +05:30
2026-09-14 07:35:38 -07:00
2026-10-19 23:23:52 +01:00
2026-08-24 17:02:16 -05:00
2026-09-15 07:26:32 -07:00
2026-10-30 17:47:52 -07:00
2026-10-30 16:11:48 -07:00
2026-10-13 18:54:58 -04:00
2026-09-11 15:08:23 -07:00
2026-10-30 18:13:11 -07:00
2026-09-28 19:07:57 -05:00
2026-09-28 19:07:57 -05:00
2026-09-14 21:12:01 -07:00
2026-09-24 16:25:55 +05:30
2026-09-14 07:35:38 -07:00
2026-10-31 14:36:32 -07:00
2026-10-16 17:09:03 +05:30
2026-10-16 15:28:39 -07:00
2026-08-31 17:49:45 -05:00
2026-08-31 17:49:45 -05:00
2026-08-31 17:49:45 -05:00
2026-09-14 19:34:23 -05:00
2026-10-19 17:02:06 +01:00
2026-09-14 07:35:38 -07:00
2026-10-21 15:22:00 +02:00
2026-09-28 19:07:57 -05:00
2026-10-02 15:12:37 -06:00
2026-09-28 19:07:57 -05:00
2026-10-21 14:21:14 +04:00
2026-09-11 17:03:35 -07:00
2026-09-10 23:08:26 -07:00
2026-10-07 22:41:29 +04:00
2026-08-24 17:02:16 -05:00
2026-08-24 17:02:16 -05:00
2026-10-14 15:36:35 -07:00
2026-10-22 22:09:37 -07:00
2026-10-19 23:31:52 +01:00
2026-10-20 15:12:33 +01:00
2026-10-22 19:26:09 -07:00
2026-10-29 14:22:01 +00:00
2026-10-03 23:10:32 -07:00
2026-10-14 15:36:35 -07:00
2026-09-15 16:53:26 -07:00
2026-09-15 19:16:49 -07:00
2026-09-15 17:59:53 -07:00
2026-09-15 20:15:32 -07:00
2026-10-28 14:35:01 +00:00
2026-10-14 15:36:35 -07:00
2026-10-14 17:43:13 +02:00
2026-10-03 23:10:32 -07:00
2026-10-22 18:09:37 -07:00
2026-10-22 19:08:10 -07:00
2026-10-14 14:48:53 -07:00
2026-10-30 17:47:52 -07:00
2026-10-29 11:28:56 +00:00
2026-10-03 23:10:32 -07:00
2026-09-10 23:08:26 -07:00
2026-10-11 13:52:30 -07:00
2026-08-24 17:02:16 -05:00
2026-08-31 17:49:45 -05:00
2026-09-10 23:08:26 -07:00
2026-10-11 13:52:30 -07:00
2026-10-03 23:10:32 -07:00
2026-10-21 15:35:49 +02:00
2026-10-13 23:48:21 +02:00
2026-10-15 04:10:41 +02:00
2026-10-15 04:10:41 +02:00
2026-10-15 04:10:41 +02:00
2026-10-20 16:24:53 -04:00
2026-10-14 17:53:19 +02:00
2026-10-03 23:10:32 -07:00
2026-09-10 23:08:26 -07:00
2026-09-11 08:59:32 -07:00
2026-09-28 19:07:57 -05:00
2026-09-28 19:07:57 -05:00
2026-09-28 19:07:57 -05:00
2026-10-22 19:26:09 -07:00
2026-09-10 23:08:26 -07:00
2026-10-22 18:09:37 -07:00
2026-09-22 17:45:39 -05:00
2026-09-24 16:25:55 +05:30
2026-10-20 14:37:57 +01:00
2026-10-31 12:19:44 -07:00
2026-10-31 12:11:35 -07:00
2026-10-31 12:11:35 -07:00
2026-09-28 19:07:57 -05:00
2026-09-16 12:14:15 +05:30
2026-10-03 23:10:32 -07:00
2026-10-20 00:15:49 +01:00
2026-10-30 22:41:07 -07:00
2026-10-31 00:51:29 -07:00
2026-10-14 15:36:35 -07:00
2026-10-30 23:56:20 -07:00
2026-10-16 21:00:28 +04:00
2026-10-29 14:04:28 +00:00
2026-10-21 13:21:23 +02:00
2026-10-21 14:21:14 +04:00
2026-10-03 23:10:32 -07:00
2026-10-30 21:54:42 -07:00
2026-10-22 18:09:37 -07:00
2026-09-28 19:07:57 -05:00
2026-09-10 23:08:26 -07:00
2026-10-14 14:48:53 -07:00
2026-09-28 19:07:57 -05:00
2026-09-13 14:47:26 -07:00
2026-10-22 19:08:10 -07:00
2026-10-14 14:48:53 -07:00
2026-10-23 12:12:27 +01:00
2026-10-20 14:07:13 +01:00
2026-10-20 14:07:13 +01:00
2026-10-14 15:36:35 -07:00
2026-10-20 15:12:33 +01:00
2026-10-20 15:12:33 +01:00
2026-10-23 12:09:26 +01:00
2026-10-20 14:02:09 +04:00
2026-10-22 19:08:10 -07:00
2026-09-10 23:08:26 -07:00
2026-09-11 14:43:13 -07:00
2026-10-29 11:20:49 +00:00
2026-10-30 23:56:20 -07:00
2026-10-30 17:47:52 -07:00
2026-10-04 23:03:09 +05:00
2026-09-28 21:19:23 -05:00
2026-10-19 11:01:18 +05:30
2026-09-15 12:05:01 -07:00
2026-09-22 17:45:39 -05:00
2026-09-22 17:45:39 -05:00
2026-10-22 18:09:37 -07:00
2026-10-20 14:37:05 +01:00
2026-09-22 17:45:39 -05:00
2026-08-24 17:02:16 -05:00
2026-10-30 17:47:52 -07:00
2026-10-24 08:25:42 -07:00
2026-10-30 23:13:37 -07:00
2026-10-20 15:12:32 +01:00
2026-09-28 21:19:23 -05:00