Commit Graph
2624 Commits
Author SHA1 Message Date
Sameh Khamis c1b12a6aa4 Merge branch 'main' into fix/multipart-cable-feature-ownership 2026-11-02 07:00:05 -08:00
Sameh Khamis 151ce3dee7 Merge pull request #1448 from Rohilalala/fix/e-local-adsb-geom-rate
fix(local-adsb): show a decoder feed's GNSS-sourced vertical rate
2026-11-02 00:18:11 -08:00
Sameh Khamis d479c1c6f6 Read an ADS-B vertical rate from one shared field reader 2026-11-02 00:09:18 -08:00
Sameh Khamis 780d8903ee Merge branch 'main' into fix/e-local-adsb-geom-rate 2026-11-02 00:09:11 -08:00
Sameh Khamis abe138884e Merge pull request #1436 from Rohilalala/fix/d-military-geom-vertical-rate
fix(military): read a GNSS-sourced vertical rate when no baro rate is sent
2026-11-02 00:09:05 -08:00
Sameh Khamis d25951272b Merge branch 'main' into fix/d-military-geom-vertical-rate 2026-11-02 00:01:44 -08:00
Sameh Khamis dc261025ea Merge pull request #1453 from Rohilalala/fix/e-satellite-launch-year
fix(satellites): stop matching a mission to a namesake from another year
2026-11-02 00:01:39 -08:00
Sameh Khamis 411cfd850b Record the shared launch-year parser in the state doc and fragment 2026-11-01 23:53:25 -08:00
Sameh Khamis 6a01355560 Merge branch 'main' into fix/e-satellite-launch-year 2026-11-01 23:51:11 -08:00
Sameh Khamis 5a2bd8d9f9 Merge pull request #1449 from Rohilalala/fix/e-cable-tool-duplicates
fix(tools): list a split submarine cable once in find_submarine_cables
2026-11-01 23:51:06 -08:00
Sameh Khamis e6be83cad7 Merge branch 'main' into fix/e-cable-tool-duplicates 2026-11-01 23:42:33 -08:00
Sameh Khamis bd4f10b225 Merge pull request #1442 from Rohilalala/fix/e-traffic-coverage-rounding
fix(traffic): stop a few matched roads reading as "no matches"
2026-11-01 23:42:28 -08:00
Sameh Khamis 36410c7f82 Merge branch 'main' into fix/e-traffic-coverage-rounding 2026-11-01 23:35:19 -08:00
Sameh Khamis c40f67a345 Merge pull request #1434 from Rohilalala/fix/c-unknown-altitude-speech
fix(voice): leave out an unreported altitude instead of saying 0 feet
2026-11-01 23:35:07 -08:00
Sameh Khamis 01c6977cdd Merge branch 'main' into fix/c-unknown-altitude-speech 2026-11-01 23:25:42 -08:00
Sameh Khamis 7e952d031c Merge pull request #1444 from Rohilalala/fix/e-replay-speed-countdown
fix(missions): keep the replay countdown real-time when the speed changes
2026-11-01 23:25:32 -08:00
Sameh Khamis 004b452966 Merge branch 'main' into fix/e-replay-speed-countdown 2026-11-01 23:16:11 -08:00
Sameh Khamis 0c67f54d2b Merge pull request #1443 from Rohilalala/fix/e-replay-countdown-ten
fix(missions): run the full T-10 replay countdown after the tile hold
2026-11-01 23:15:58 -08:00
Sameh Khamis e4c39fbea9 Merge branch 'main' into fix/e-replay-countdown-ten 2026-11-01 23:06:41 -08:00
Sameh Khamis a38c9a6b22 Merge pull request #1433 from Rohilalala/fix/b-awareness-marker-km
fix(awareness): show a 999.6 m contact marker as 1.0 km, not 1000 m
2026-11-01 23:06:33 -08:00
Sameh Khamis 8a5cad98fa Merge branch 'main' into fix/b-awareness-marker-km 2026-11-01 22:57:14 -08:00
Sameh Khamis 4ef37d44c5 Merge pull request #1502 from bilawalsidhu/sameh/core-leftovers
Keep the timing test's Vite cache out of the package tree
2026-11-01 22:53:51 -08:00
Sameh Khamis 4779432e48 Read a satellite's launch year from one TLE parser
The catalog stored the designator on satrec.intldesg for
internationalDesignatorYear, while the active-TLE lookup parsed the same
columns with tleLineLaunchYear. Each catalog entry now keeps launchYear from
tleLineLaunchYear, which moves to src/sources/tle.js beside the other TLE
field readers, and internationalDesignatorYear goes.

A blank designator now reads as an unknown year in both lookups; the
active-TLE lookup read it as 2000.
2026-11-01 22:53:35 -08:00
Sameh Khamis bfeec17c81 Merge branch 'main' into fix/e-satellite-launch-year 2026-11-01 22:51:43 -08:00
Sameh Khamis 98173afd6b test(launches): stub the replay panel the speed control now publishes to
On main, setReplaySpeed publishes the speed control through
parts.panel.publishPanel, so the replay rig needs a panel stub.
2026-11-01 22:51:37 -08:00
Sameh Khamis 950d1b78ce Merge branch 'main' into fix/b-awareness-marker-km 2026-11-01 22:47:58 -08:00
Sameh Khamis e40bff37d2 test(traffic): keep the timing test's Vite cache out of the package tree
The traffic timing test starts a Vite server rooted at the package, which
wrote its dependency cache to node_modules/.vite and kept writing after the
server closed. A host running Core's suite then finds files inside Core and
its check refuses them. The server now uses a temporary cache directory,
removed afterwards, and skips dependency discovery, which the SSR-loaded
modules never need.

The HUD place-lookup changelog note credits its PR, #1459.
2026-11-01 22:47:05 -08:00
Sameh Khamis e8d5e8793e Merge pull request #1501 from bilawalsidhu/sameh/rail-pills
Show the panel rails as labelled pills until a panel opens
2026-11-01 22:47:03 -08:00
Sameh Khamis d14205160a Format every metre/kilometre distance through one shared helper
Directions, the Contacts marker and panel, placed annotation labels, the
drawn-line measure, the Cockpit and formatRouteDistance each chose the unit
and precision on their own, and most chose before rounding: #1450, #1433 and
formatDistanceText or kilometreDigits from src/data/distanceFormat.js, which
cut after rounding. Each keeps its own metre step and rendering.

That also fixes the 10 km cut the Contacts marker and panel, the drawn-line
measure and the Cockpit still had (9,960 m read 10.0 km). The helper returns
kilometres already rounded, so the plain marker and the localized panel no
longer disagree on half-tenths such as 1,450 m.

A negative annotation distance now leaves the label without a distance, and
a drawn line with a coordinate that is not a number shows no measure, rather
than printing 0 m or NaN km. The HUD altitude tag and the spoken view height
keep their own unit choice.
2026-11-01 22:40:28 -08:00
Sameh Khamis c6fff6e7b8 changelog: note the rail pills 2026-11-01 22:40:17 -08:00
Sameh Khamis d546d65380 feat(kit): show the panel rails as labelled pills until a panel opens
UiRail takes `collapsible`: while no panel on its side is open, each item
shows its icon and label as a pill, and once one opens the labels fold away
to the icon rail, making room for the panel. The tip is not shown while the
label is on screen; the button keeps its accessible name and the visible
label is hidden from assistive technology. The side panel rails turn it on.

Each rail is now placed by its screen-side edge, at the rail clearance, so a
rail that widens grows toward the middle of the screen; collapsed, it sits
6px outside its stack as before.
2026-11-01 22:40:17 -08:00
Sameh Khamis 2124f56f92 Merge branch 'main' into fix/b-awareness-marker-km 2026-11-01 22:40:10 -08:00
Sameh Khamis 6acaa01ca8 Merge pull request #1445 from Rohilalala/fix/e-route-label-kilometre
fix(annotations): label a 996 m line or route as 1.0 km, not 1000 m
2026-11-01 22:40:05 -08:00
Sameh Khamis 54f12140cf Merge branch 'main' into fix/e-route-label-kilometre 2026-11-01 22:30:51 -08:00
Sameh Khamis 561141fe55 Merge pull request #1450 from Rohilalala/fix/e-route-distance-ten-km
fix(directions): show a 9.96 km route as 10 km, not 10.0 km
2026-11-01 22:30:48 -08:00
Sameh Khamis 941a7a392e Merge branch 'main' into fix/e-route-distance-ten-km 2026-11-01 22:22:22 -08:00
Sameh Khamis 27000cf6da Merge pull request #1454 from Rohilalala/fix/e-context-heading-north
fix(flights): read a 359.6° track as 0° in the voice context, not 360°
2026-11-01 22:22:14 -08:00
Sameh Khamis 639a7fb23a Merge branch 'main' into fix/e-context-heading-north 2026-11-01 21:58:41 -08:00
Sameh Khamis 0c28dc78a5 Merge pull request #1500 from bilawalsidhu/sameh/vue-loader-cache
Cache compiled components and load them on the test thread
2026-11-01 21:56:55 -08:00
Sameh Khamis edf8c0929d changelog: note the component cache 2026-11-01 21:50:25 -08:00
Sameh Khamis 7d236a1174 build: cache compiled components and load them on the test thread
Since the UI moved to single-file components, every unit-test process
compiled the views it imports from scratch, and the loader ran off-thread
(module.register), adding a round trip to every module a test imports,
including the ones that are not components. Core's unit tests took about
twice as long, and a host running Core's suite on smaller runners passed
its CI time limit.

register-vue now installs synchronous hooks on the loading thread
(module.registerHooks). Compiled components are kept in the system temp
directory, keyed by the file's path and text, the Vue version and the
loader's own code, so each one compiles once across test processes; the
compiler itself loads only on a cache miss. Cached modules run as code, so
the directory is used only when it is a real directory owned by the current
user and writable by no one else; on Windows it lives in the user's local
app data instead of a temp directory that may be shared. The cache never
sits inside the package tree, and GEV_VUE_CACHE=0 compiles every time.

On four cores the full suite went from 441 s to 240 s from a cold cache.
2026-11-01 21:50:25 -08:00
Sameh Khamis 0e90a03de7 Round every heading readout through one shared helper
The transit, ALPR, vessel, CCTV and flight/military context fixes each
wrapped 359.5° to north with an inline Math.round(x) % 360. They now call
roundHeadingDegrees in src/data/headingDegrees.js, which also wraps negative
and multi-turn bearings. normalizeHeading moves there with it, and
cockpitMath re-exports it so existing imports keep working. It now adds a
turn only to a negative remainder, so a bearing just under half a degree
keeps its precision.

The awareness, Local ADS-B, cockpit wind, cockpit heading and Street Level
readouts use the same helper. The Cockpit's TRACK ACQUIRED signal rounded
without wrapping and could read COURSE 360°; it now uses
formatHeadingReadout, which shows --- for a track that is not finite.
2026-11-01 21:41:49 -08:00
Sameh Khamis e200e46695 Merge branch 'main' into fix/e-context-heading-north 2026-11-01 21:41:48 -08:00
Sameh Khamis 13a04a8957 Merge pull request #1441 from Rohilalala/fix/e-cctv-heading-north
fix(cctv): show a camera facing 359.6° as HDG 0°, not HDG 360°
2026-11-01 21:41:39 -08:00
Sameh Khamis 0e942de38c Merge branch 'main' into fix/e-cctv-heading-north 2026-11-01 21:28:43 -08:00
Sameh Khamis ebb726c03c Merge pull request #1432 from Rohilalala/fix/b-vessel-course-north
fix(vessels): show a 359.7° course as 0°, not 360°
2026-11-01 21:28:31 -08:00
Sameh Khamis 87e2a2eaa8 Merge branch 'main' into fix/b-vessel-course-north 2026-11-01 21:16:27 -08:00
Sameh Khamis 87e5cf3f93 Merge pull request #1451 from Rohilalala/fix/e-alpr-direction-360
fix(alpr): show a 359.6° camera bearing as 0°, not 360°
2026-11-01 21:16:18 -08:00
Sameh Khamis e5fb496d90 Merge branch 'main' into fix/b-awareness-marker-km 2026-11-01 21:04:42 -08:00
Sameh Khamis 188dd4fd29 Merge branch 'main' into fix/e-alpr-direction-360 2026-11-01 21:04:29 -08:00