@elite-dangerous-almanac/core 0.2.13 → 0.2.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (134) hide show
  1. package/PROVENANCE/galaxy-map/SOURCES.md +49 -0
  2. package/PROVENANCE/i18n/SOURCES.md +9 -11
  3. package/PROVENANCE/ships/SOURCES.md +17 -15
  4. package/README.md +34 -5
  5. package/THIRD_PARTY_NOTICES.md +13 -10
  6. package/assets/galaxy-map/bookmark.svg +5 -0
  7. package/assets/galaxy-map/community-goal.svg +12 -0
  8. package/assets/galaxy-map/conflict-zone.svg +15 -0
  9. package/assets/galaxy-map/destination.svg +13 -0
  10. package/assets/galaxy-map/engineer.svg +6 -0
  11. package/assets/galaxy-map/fleet-carrier.svg +5 -0
  12. package/assets/galaxy-map/front-line.svg +10 -0
  13. package/assets/galaxy-map/mission.svg +15 -0
  14. package/assets/galaxy-map/squadron-carrier.svg +10 -0
  15. package/assets/galaxy-map/starter-zone.svg +20 -0
  16. package/assets/galaxy-map/station-abandoned.svg +6 -0
  17. package/assets/galaxy-map/station-damaged.svg +19 -0
  18. package/assets/galaxy-map/station-repairing.svg +7 -0
  19. package/assets/galaxy-map/station-under-attack.svg +21 -0
  20. package/assets/galaxy-map/titan.svg +18 -0
  21. package/assets/galaxy-map/waypoint.svg +5 -0
  22. package/dist/astro/body-orbit.d.ts +1 -1
  23. package/dist/astro/body-physics.d.ts +1 -1
  24. package/dist/astro/body-rings.d.ts +1 -1
  25. package/dist/astro/codex-region-lookup.d.ts +2 -2
  26. package/dist/astro/codex-region.d.ts +1 -1
  27. package/dist/astro/hand-authored-regions.d.ts +2 -2
  28. package/dist/astro/index.d.ts +1 -1
  29. package/dist/astro/naming-region-origins.d.ts +1 -1
  30. package/dist/astro/nebulae-all.d.ts +1 -1
  31. package/dist/astro/nebulae-planetary.d.ts +1 -1
  32. package/dist/astro/nebulae-procgen.d.ts +1 -1
  33. package/dist/astro/nebulae-real.d.ts +1 -1
  34. package/dist/astro/nebulae.d.ts +1 -1
  35. package/dist/astro/permit-locked-systems.d.ts +1 -1
  36. package/dist/astro/permit-locks.d.ts +1 -1
  37. package/dist/astro/sector-name.d.ts +1 -1
  38. package/dist/astro/star-physics.d.ts +1 -1
  39. package/dist/astro/system-address.d.ts +1 -1
  40. package/dist/{chunk-7UF4XRIR.js → chunk-ABZPSAIN.js} +1 -1
  41. package/dist/chunk-DAQ3PJ4R.js +1 -0
  42. package/dist/chunk-DAQ3PJ4R.js.map +1 -0
  43. package/dist/{chunk-EXHZ4CFB.js → chunk-EE25IDB7.js} +1 -1
  44. package/dist/{chunk-EXHZ4CFB.js.map → chunk-EE25IDB7.js.map} +1 -1
  45. package/dist/{chunk-RA4YJBU5.js → chunk-F53MPXZY.js} +1 -1
  46. package/dist/{chunk-RA4YJBU5.js.map → chunk-F53MPXZY.js.map} +1 -1
  47. package/dist/{chunk-2GVJNKFW.js → chunk-FMPHK3L5.js} +1 -1
  48. package/dist/{chunk-55R4MYWV.js → chunk-JQ4OPZZ4.js} +1 -1
  49. package/dist/{chunk-55R4MYWV.js.map → chunk-JQ4OPZZ4.js.map} +1 -1
  50. package/dist/{chunk-HE4XE3WR.js → chunk-LLLFK3D5.js} +1 -1
  51. package/dist/{chunk-HE4XE3WR.js.map → chunk-LLLFK3D5.js.map} +1 -1
  52. package/dist/chunk-LXHFRBWK.js +1 -0
  53. package/dist/{chunk-BI3EFLQ7.js.map → chunk-LXHFRBWK.js.map} +1 -1
  54. package/dist/{chunk-JEHKGTP2.js → chunk-N4YDIODB.js} +1 -1
  55. package/dist/chunk-N4YDIODB.js.map +1 -0
  56. package/dist/chunk-T3WRI2U2.js +1 -0
  57. package/dist/chunk-T3WRI2U2.js.map +1 -0
  58. package/dist/{chunk-ZBB7Q3OZ.js → chunk-U4MML7U6.js} +1 -1
  59. package/dist/{chunk-ZBB7Q3OZ.js.map → chunk-U4MML7U6.js.map} +1 -1
  60. package/dist/{chunk-QQFZEOPB.js → chunk-Z266X4JF.js} +1 -1
  61. package/dist/{chunk-QQFZEOPB.js.map → chunk-Z266X4JF.js.map} +1 -1
  62. package/dist/commodities/commodities-rare.d.ts +1 -1
  63. package/dist/commodities/commodities-standard.d.ts +1 -1
  64. package/dist/equipment/modifications.d.ts +1 -1
  65. package/dist/galaxy-map/index.d.ts +42 -0
  66. package/dist/galaxy-map/index.js +1 -0
  67. package/dist/galaxy-map/index.js.map +1 -0
  68. package/dist/galaxy-map/markers.d.ts +93 -0
  69. package/dist/galaxy-map/markers.js +1 -0
  70. package/dist/galaxy-map/markers.js.map +1 -0
  71. package/dist/i18n/index.d.ts +1 -1
  72. package/dist/i18n/index.js +1 -1
  73. package/dist/i18n/module-families.d.ts +3 -3
  74. package/dist/i18n/suits.d.ts +1 -2
  75. package/dist/i18n/suits.js +1 -1
  76. package/dist/materials/index.js +1 -1
  77. package/dist/materials/materials-encoded.d.ts +1 -1
  78. package/dist/materials/materials-manufactured.d.ts +1 -1
  79. package/dist/materials/materials-raw.d.ts +1 -1
  80. package/dist/materials/materials.d.ts +1 -1
  81. package/dist/materials/micro-resources-all.js +1 -1
  82. package/dist/materials/micro-resources-component.d.ts +1 -1
  83. package/dist/materials/micro-resources-consumable.d.ts +1 -1
  84. package/dist/materials/micro-resources-data.d.ts +1 -1
  85. package/dist/materials/micro-resources-item.d.ts +1 -1
  86. package/dist/materials/micro-resources.d.ts +1 -1
  87. package/dist/materials/micro-resources.js +1 -1
  88. package/dist/ships/armour.d.ts +1 -1
  89. package/dist/ships/blueprint-costs.d.ts +1 -1
  90. package/dist/ships/blueprint-journal.d.ts +1 -1
  91. package/dist/ships/blueprints.d.ts +1 -1
  92. package/dist/ships/build-metrics.js +1 -1
  93. package/dist/ships/default-loadouts.d.ts +1 -1
  94. package/dist/ships/distributor.d.ts +1 -1
  95. package/dist/ships/engineering.d.ts +1 -1
  96. package/dist/ships/experimental-effect-costs.d.ts +1 -1
  97. package/dist/ships/experimental-effects.d.ts +1 -1
  98. package/dist/ships/gunsights.d.ts +1 -1
  99. package/dist/ships/heat.d.ts +2 -2
  100. package/dist/ships/index.d.ts +1 -1
  101. package/dist/ships/index.js +1 -1
  102. package/dist/ships/jump-range.d.ts +1 -1
  103. package/dist/ships/mobility-capacitor.d.ts +1 -1
  104. package/dist/ships/mobility.d.ts +1 -1
  105. package/dist/ships/module-limits.d.ts +2 -2
  106. package/dist/ships/modules-all.d.ts +1 -1
  107. package/dist/ships/modules-all.js +1 -1
  108. package/dist/ships/modules-core.d.ts +1 -1
  109. package/dist/ships/modules-hardpoint.d.ts +1 -1
  110. package/dist/ships/modules-internal.d.ts +1 -1
  111. package/dist/ships/modules-utility.d.ts +1 -1
  112. package/dist/ships/modules.d.ts +1 -1
  113. package/dist/ships/modules.js +1 -1
  114. package/dist/ships/power.d.ts +1 -1
  115. package/dist/ships/pre-engineered-stats.js +1 -1
  116. package/dist/ships/pre-engineered.d.ts +0 -5
  117. package/dist/ships/pre-engineered.js +1 -1
  118. package/dist/ships/resistances.d.ts +1 -1
  119. package/dist/ships/shield-capacitor.d.ts +1 -1
  120. package/dist/ships/shield-recovery.d.ts +2 -2
  121. package/dist/ships/shields.d.ts +1 -1
  122. package/dist/ships/ship-loadout.js +1 -1
  123. package/dist/ships/ships.d.ts +1 -1
  124. package/dist/ships/weapons-capacitor.d.ts +1 -1
  125. package/dist/ships/weapons.d.ts +1 -1
  126. package/dist/ships/weapons.js +1 -1
  127. package/dist/{system-address-DmzXRD48.d.ts → system-address-CveshmDX.d.ts} +2 -2
  128. package/package.json +16 -6
  129. package/dist/chunk-BI3EFLQ7.js +0 -1
  130. package/dist/chunk-JEHKGTP2.js.map +0 -1
  131. package/dist/chunk-KLC5XT6F.js +0 -1
  132. package/dist/chunk-KLC5XT6F.js.map +0 -1
  133. /package/dist/{chunk-7UF4XRIR.js.map → chunk-ABZPSAIN.js.map} +0 -0
  134. /package/dist/{chunk-2GVJNKFW.js.map → chunk-FMPHK3L5.js.map} +0 -0
@@ -0,0 +1,49 @@
1
+ # Data sources — `data/galaxy-map/`
2
+
3
+ **Acquired:** 2026-09-20 UTC. **Upstream revision:** unavailable — the game publishes no
4
+ immutable identifier for its interface artwork, so the captures are the evidence.
5
+
6
+ ## Markers
7
+
8
+ - **File:** `markers.jsonc` (one record per galaxy-map marker).
9
+ - **Source:** Frontier Developments plc — bitmap captures of the marker icons the galaxy
10
+ map draws over a system, one PNG per marker.
11
+ - **Derivation:** each record is `{ symbol, color, frameColor }`. `symbol` is a
12
+ kebab-case name for the marker, chosen here rather than taken from the game, which
13
+ exposes no identifier for these icons; it also names the marker's redrawn vector in
14
+ `assets/galaxy-map/`. `color` is the exact RGB value of the capture's dominant opaque
15
+ glyph pixel, written as uppercase `#RRGGBB`. `frameColor` is the same measurement taken
16
+ on the square border.
17
+ - **The captures are not retained in this repository, and no checksum was taken.**
18
+ They are Frontier's artwork, and the media-usage rules in `ATTRIBUTIONS.md` cover the
19
+ redrawn vectors this repository ships, not a redistributed copy of the source
20
+ bitmaps. The vectors are drawn from geometric shapes rather than traced, so a capture
21
+ is not recoverable from one. `data/SNAPSHOTS.md` asks for a checksum where the
22
+ content itself cannot be kept, so this is a gap. Recording each capture's SHA-256
23
+ here closes it, so that a reader holding the same file can confirm every colour
24
+ against it.
25
+
26
+ ### Measuring a capture
27
+
28
+ Read the capture's stored RGB. Do not composite it over a background first: that mixes
29
+ the background into the value, in proportion to how transparent the pixel is.
30
+
31
+ `front-line` is the one capture with no opaque pixel, so the Derivation bullet above
32
+ does not describe it. Its alpha is a flat 198 across the whole canvas, so an alpha-keyed
33
+ measurement returns the canvas rather than the glyph. Both of its colours come from the
34
+ RGB planes, which is where its shape sits.
35
+
36
+ ### Manual corrections
37
+
38
+ None. Every value is a measurement.
39
+
40
+ ### `front-line` is the one marker with two colours
41
+
42
+ The game frames it in `#4A00B5` and draws the arrow inside in `#9418FF`. Every other
43
+ marker frames and draws in one colour, so `frameColor` repeats `color`.
44
+
45
+ ### `station-abandoned` is nearly black on purpose
46
+
47
+ Its `#211C21` is the colour the game uses, not a failed measurement or a transparent
48
+ pixel read by mistake. An abandoned station is drawn dark, and a consumer that treats a
49
+ near-black marker colour as an error would reject a correct record.
@@ -103,9 +103,8 @@ tag follows the rule above, so `pt-PT` resolves to Brazilian Portuguese.
103
103
  shape in the shipped Mk II Vessel Hangar and Mk II Cargo Rack, which suffix `Mk II`;
104
104
  **German does not** — Frontier writes `Mk-II-Schiffshangar` for the hangar and
105
105
  `Frachtgestell für Mk II` for the rack, so the German value here matches neither and is
106
- the likeliest of the five to be wrong. All five are to be replaced by a real
107
- localisation reading on release, and none should be treated as evidence of what
108
- Frontier publishes. #16 tracks them with the records themselves.
106
+ the likeliest of the five to be wrong. A real localisation reading on release replaces
107
+ all five; none is evidence of what Frontier publishes.
109
108
 
110
109
  ## `blueprint-names.jsonc`
111
110
 
@@ -634,9 +633,8 @@ record in this repository is keyed by them.
634
633
  otherwise own, so a consumer that needs a field label supplies its own. The weapon-mount
635
634
  rows are outside this conclusion: `Suit.mounts` carries Frontier's own journal
636
635
  `SlotName` for each one, so a mount row names a record this repository holds and its
637
- localization is a gap rather than an invented key. **This is not the ship slot and
638
- restriction gap of [#320](https://github.com/DarkSession/Elite-Dangerous-Almanac/issues/320)**,
639
- which is about labels no source translates at all.
636
+ localization is a gap rather than an invented key. **The slot and restriction labels
637
+ are a separate gap**: no source translates them at all. §Known gaps records both.
640
638
 
641
639
  ## Known gaps
642
640
 
@@ -645,13 +643,13 @@ stored locale. A language absent from every catalogue is the locale decision
645
643
  recorded above rather than a gap. The accepted sources carry only canonical English for
646
644
  the outfitting-family labels listed above, slot and restriction labels, the suit
647
645
  weapon-mount labels, fixed reward names, and structured loadout, calculation, SLEF and
648
- edit messages. A missing source-backed translation that has no issue of its own
649
- remains tracked by
650
- [#320](https://github.com/DarkSession/Elite-Dangerous-Almanac/issues/320).
646
+ edit messages. An accepted source that publishes the missing values closes each of
647
+ those gaps, except the last: the structured messages are this library's own English
648
+ text, which no source publishes.
651
649
 
652
650
  Every suit, handheld weapon, tool and modification the personal-equipment catalogues
653
651
  hold is complete in all six locales. That area carries these gaps:
654
652
 
655
653
  - **The suit weapon-mount labels are English only.** The game publishes all six locales
656
- for them, so the values exist to be read. The gap is tracked by
657
- [#26](https://github.com/DarkSession/Elite-Dangerous-Almanac/issues/26).
654
+ for them, so the values exist to be read. A reading of the in-game localisation table
655
+ for the five non-English locales closes it.
@@ -1249,8 +1249,8 @@ Records not in coriolis-data / FDevIDs at the acquired revisions:
1249
1249
  No registry carries any of the nine, and the game cannot be asked about most of them
1250
1250
  until the update ships, so none is registry-confirmed and all are outside in-game
1251
1251
  *verification* as this file uses the term — including the size-4 Mk II record, which a
1252
- journal does carry. #16 tracks the verification and lists what closes it; a reading on
1253
- release that disagrees wins outright, symbols included.
1252
+ journal does carry. A reading on release settles each record; where it disagrees with
1253
+ what is stored here, the reading wins outright, symbols included.
1254
1254
  - **The observed line's identity is settled.** The symbol is `Int_LargeBuggyBay_`, not
1255
1255
  the `Int_BuggyBay_…_Class3` this catalogue first guessed — the same `Large` prefix
1256
1256
  Frontier uses for `Int_LargeCargoRack_Size{7,8}_Class1`, whose display name is "Mk II
@@ -1453,7 +1453,7 @@ Records not in coriolis-data / FDevIDs at the acquired revisions:
1453
1453
  release rather than after; §"Records sourced outside the baseline registries" says
1454
1454
  which are observed, which are reported and which are guessed. The exception closes
1455
1455
  the moment the update ships: either a real source confirms them, and they become
1456
- ordinary records, or it does not, and they come out — #16. It is not a precedent for
1456
+ ordinary records, or it does not, and they come out. It is not a precedent for
1457
1457
  carrying any other unreleased identity.
1458
1458
 
1459
1459
  ## Engineering (blueprints and experimental effects)
@@ -2131,16 +2131,18 @@ base module's name: the Mining Laser and the size-5 Frame Shift Drive.
2131
2131
  - **File:** `pre-engineered.jsonc`. Three grade-5 records pair
2132
2132
  `Hpt_FlakMortar_Turret_Medium` with `Decorative_Green`, `Decorative_Red` or
2133
2133
  `Decorative_Yellow`, the same fixed-variant relation used by the other records.
2134
- - **Source:** [issue #53](https://github.com/DarkSession/Elite-Dangerous-Almanac/issues/53)
2135
- preserves the three relevant lines from a repository-owner `StoredModules` capture
2136
- (521 stored modules, 2026-08-07 UTC): one medium turreted Remote Release Flak Launcher
2137
- per colour, carrying `Decorative_Green`, `Decorative_Red` or `Decorative_Yellow` in
2138
- `EngineerModifications`. The full capture is not checked into this repository. The
2139
- repository owner's direct in-game reading supplies grade 5. Those three are the only
2140
- ones of the capture's 46 distinct spellings reported not to name a recipe; every other
2141
- spelling, down to the lower-case `weapon_longrange` written on a Guardian Shard Cannon,
2142
- resolves against the blueprint catalogue. The festive identities have no material cost
2143
- or applying engineer, so they are fixed transformations rather than craftable recipes.
2134
+ - **Source:** three lines of a repository-owner `StoredModules` capture (521 stored
2135
+ modules, 2026-08-07 UTC): one medium turreted Remote Release Flak Launcher per colour,
2136
+ carrying `Decorative_Green`, `Decorative_Red` or `Decorative_Yellow` in
2137
+ `EngineerModifications`. The repository owner's direct in-game reading supplies grade
2138
+ 5. Those three are the only ones of the capture's 46 distinct spellings the repository
2139
+ owner reports as naming no recipe; every other spelling, down to the lower-case
2140
+ `weapon_longrange` written on a Guardian Shard Cannon, resolves against the blueprint
2141
+ catalogue. The festive identities have no material cost or applying engineer, so they
2142
+ are fixed transformations rather than craftable recipes. The capture is not retained
2143
+ here and carries no checksum, so nothing outside this file can re-check these three
2144
+ records. That is a gap: a fixture under `fixtures/ships/` holding the three scrubbed
2145
+ lines, with the capture's SHA-256 in its header, closes it.
2144
2146
  - **They are not cosmetic-only: each carries a −99% `Damage` modifier.** A festive launcher
2145
2147
  fires fireworks rather than flak. The repository owner's outfitting panel reads −99.0%,
2146
2148
  0.3 damage and 0.2 damage/s. The medium turreted launcher's 34 base damage becomes 0.34,
@@ -2152,7 +2154,7 @@ base module's name: the Mining Laser and the size-5 Frame Shift Drive.
2152
2154
  account, not a field in the capture.
2153
2155
  - **The records bind the transformation to what has been observed.** The medium turreted
2154
2156
  Remote Release Flak Launcher (`Hpt_FlakMortar_Turret_Medium`) is the only module the
2155
- public capture excerpt shows carrying one, so it is the only base symbol paired with these identities.
2157
+ capture shows carrying one, so it is the only base symbol paired with these identities.
2156
2158
  Nothing in the evidence supports applying `Decorative_*` to an arbitrary damage-bearing
2157
2159
  module.
2158
2160
  - **`name` pairs the festive naming with the launcher and the id's colour.** No registry
@@ -2164,7 +2166,7 @@ base module's name: the Mining Laser and the size-5 Frame Shift Drive.
2164
2166
  - **Guardian coverage is complete.** There are no pre-engineered Guardian power plant,
2165
2167
  distributor, hull-reinforcement, module-reinforcement, shield-reinforcement or
2166
2168
  FSD-booster reward variants, so the absence of an `Int_Guardian*` row is deliberate. The
2167
- catalogue's seven Guardian rows are all weapons (Gauss, Plasma and Shard), each with a
2169
+ catalogue's Guardian rows are all weapons (Gauss, Plasma and Shard), each with a
2168
2170
  `blueprintSymbol` and no `experimentalEffectSymbol`. Source: maintainer confirmation
2169
2171
  recorded 2026-08-12
2170
2172
  UTC; there is no immutable upstream revision.
package/README.md CHANGED
@@ -31,7 +31,7 @@ Use a feature barrel when a bundler will tree-shake it:
31
31
  import { ProceduralSystem } from '@elite-dangerous-almanac/core/astro';
32
32
  ```
33
33
 
34
- There is no package-wide root entry; choose one of the six feature areas or a leaf.
34
+ There is no package-wide root entry; choose a feature area or a leaf.
35
35
 
36
36
  Use leaf subpaths to avoid evaluating unrelated data modules in native ESM:
37
37
 
@@ -43,7 +43,7 @@ import { ShipLoadout } from '@elite-dangerous-almanac/core/ships/ship-loadout';
43
43
  The heavyweight module registries, planetary/combined nebula catalogues and codex-region
44
44
  coordinate lookup are only exported from their leaf subpaths, not the feature barrels.
45
45
 
46
- The package has six feature areas:
46
+ The package covers these feature areas:
47
47
 
48
48
  - `astro`: procedural names, id64 addresses, regions, nebulae, permit locks, and scanned
49
49
  bodies with their physics;
@@ -53,7 +53,9 @@ The package has six feature areas:
53
53
  - `i18n`: sparse localized catalogue names, descriptions, slot labels and structured
54
54
  diagnostic messages;
55
55
  - `materials`: ship engineering materials and Odyssey micro resources;
56
- - `commodities`: standard and rare market goods.
56
+ - `commodities`: standard and rare market goods;
57
+ - `galaxy-map`: the galaxy map's location markers and the colours the game draws them
58
+ in.
57
59
 
58
60
  ## Ship assets
59
61
 
@@ -98,6 +100,33 @@ foreign or media elements, links, external references, or CSS `url()` values. Th
98
100
  content guarantee applies to the unmodified package files; applications remain
99
101
  responsible for any transformations or user-supplied replacements.
100
102
 
103
+ ## Galaxy-map marker assets
104
+
105
+ The `galaxy-map` catalogue reports each marker's colours, and the installed package
106
+ holds one SVG per marker:
107
+
108
+ ```text
109
+ assets/galaxy-map/<symbol>.svg
110
+ ```
111
+
112
+ `<symbol>` is the exact symbol the catalogue returns. These are static package files
113
+ rather than JavaScript subpath exports, so applications can copy them from the installed
114
+ package into their own public or bundled asset directory.
115
+
116
+ A marker is safe to embed inline as supplied: it holds only static `svg`, `title`,
117
+ `defs`, `mask`, `filter`, `feGaussianBlur`, `g`, `use`, `path`, `rect`, `circle` and
118
+ `ellipse` elements, and every `href`, `mask` and `filter` points inside the same file.
119
+ There are no scripts, styles, event-handler attributes, foreign or media elements,
120
+ links or external references. Every definition id is unique across the set, so a page
121
+ can inline all of them. This content guarantee applies to the unmodified package
122
+ files.
123
+
124
+ Every shape in an asset paints with `currentColor`, and the root `<svg>` carries the
125
+ marker's own colour. A host that embeds the file inline therefore recolours it with one
126
+ CSS `color` declaration, and one that loads it with `<img>` keeps the game's colour.
127
+ `front-line.svg` is the exception: its frame holds the frame colour as a literal, which
128
+ no `color` declaration reaches.
129
+
101
130
  ## Examples
102
131
 
103
132
  ```ts
@@ -277,9 +306,9 @@ that same id.
277
306
  `ShipLoadout.fromSlef` throw `TypeError`, not `RangeError`, and `inspectSlef` reports it
278
307
  as a diagnostic.
279
308
 
280
- The [repository README](https://github.com/DarkSession/Elite-Dangerous-Almanac#readme)
309
+ The [repository README](https://github.com/Elite-Dangerous-Almanac/Almanac-Core#readme)
281
310
  contains the project guide. The generated
282
- [TypeScript wiki](https://github.com/DarkSession/Elite-Dangerous-Almanac/wiki/TypeScript)
311
+ [TypeScript wiki](https://github.com/Elite-Dangerous-Almanac/Almanac-Core/wiki/TypeScript)
283
312
  contains the guides and the complete API reference.
284
313
 
285
314
  ## Data and credits
@@ -156,7 +156,8 @@ a verbatim copy produced at build time — edit this file, never the copy.
156
156
  **CC BY-SA 3.0**) — how the Corrosion Resistant Cargo Racks are obtained, which is why
157
157
  two of them carry no list price.
158
158
  - **Frontier Developments plc** — the game itself, the ship models represented by the
159
- shared vector illustrations, the official
159
+ shared vector illustrations, the galaxy-map marker artwork redrawn as the shared
160
+ vector markers in `assets/galaxy-map/`, the official
160
161
  [Elite Dangerous Gamestore](https://www.elitedangerous.com/store/) product names used
161
162
  to correct the four Karma and three TK handheld weapons, and its published statements:
162
163
  the [media-usage rules](https://forums.frontier.co.uk/threads/elite-dangerous-media-usage-rules.510879/)
@@ -206,8 +207,9 @@ Developments plc — see the notice below.
206
207
 
207
208
  ## Elite Dangerous game data and imagery (Frontier media-usage notice)
208
209
 
209
- The ship and module stat values and the ship illustrations are the property of
210
- **Frontier Developments plc** and are used under Frontier's
210
+ The ship and module stat values, the ship illustrations, and the galaxy-map marker
211
+ colours and vectors are the property of **Frontier Developments plc** and are used
212
+ under Frontier's
211
213
  [media-usage rules](https://forums.frontier.co.uk/threads/elite-dangerous-media-usage-rules.510879/):
212
214
 
213
215
  > Elite Dangerous Almanac was created using assets and imagery from Elite
@@ -222,15 +224,16 @@ Projects that redistribute this data should include the same notice.
222
224
 
223
225
  This file credits. What was taken from each source, when, from which revision, how it was
224
226
  derived and every manual correction are recorded with the data itself, in
225
- [`data/astro/SOURCES.md`](https://github.com/DarkSession/Elite-Dangerous-Almanac/blob/main/data/astro/SOURCES.md),
226
- [`data/materials/SOURCES.md`](https://github.com/DarkSession/Elite-Dangerous-Almanac/blob/main/data/materials/SOURCES.md),
227
- [`data/equipment/SOURCES.md`](https://github.com/DarkSession/Elite-Dangerous-Almanac/blob/main/data/equipment/SOURCES.md),
228
- [`data/i18n/SOURCES.md`](https://github.com/DarkSession/Elite-Dangerous-Almanac/blob/main/data/i18n/SOURCES.md),
229
- [`data/ships/SOURCES.md`](https://github.com/DarkSession/Elite-Dangerous-Almanac/blob/main/data/ships/SOURCES.md)
227
+ [`data/astro/SOURCES.md`](https://github.com/Elite-Dangerous-Almanac/Almanac-Core/blob/main/data/astro/SOURCES.md),
228
+ [`data/materials/SOURCES.md`](https://github.com/Elite-Dangerous-Almanac/Almanac-Core/blob/main/data/materials/SOURCES.md),
229
+ [`data/equipment/SOURCES.md`](https://github.com/Elite-Dangerous-Almanac/Almanac-Core/blob/main/data/equipment/SOURCES.md),
230
+ [`data/i18n/SOURCES.md`](https://github.com/Elite-Dangerous-Almanac/Almanac-Core/blob/main/data/i18n/SOURCES.md),
231
+ [`data/ships/SOURCES.md`](https://github.com/Elite-Dangerous-Almanac/Almanac-Core/blob/main/data/ships/SOURCES.md),
232
+ [`data/commodities/SOURCES.md`](https://github.com/Elite-Dangerous-Almanac/Almanac-Core/blob/main/data/commodities/SOURCES.md)
230
233
  and
231
- [`data/commodities/SOURCES.md`](https://github.com/DarkSession/Elite-Dangerous-Almanac/blob/main/data/commodities/SOURCES.md),
234
+ [`data/galaxy-map/SOURCES.md`](https://github.com/Elite-Dangerous-Almanac/Almanac-Core/blob/main/data/galaxy-map/SOURCES.md),
232
235
  with the rules those files follow in
233
- [`data/SNAPSHOTS.md`](https://github.com/DarkSession/Elite-Dangerous-Almanac/blob/main/data/SNAPSHOTS.md).
236
+ [`data/SNAPSHOTS.md`](https://github.com/Elite-Dangerous-Almanac/Almanac-Core/blob/main/data/SNAPSHOTS.md).
234
237
  The npm package includes matching copies under `PROVENANCE/` (without the `data/`
235
238
  prefix); the links above are absolute so they resolve from inside the package too.
236
239
 
@@ -0,0 +1,5 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" width="64" height="64" color="#FF2800" role="img">
2
+ <title>Bookmark</title>
3
+ <rect x="2" y="2" width="60" height="60" fill="none" stroke="currentColor" stroke-width="4"/>
4
+ <path fill="currentColor" d="M21,14 H43 V50 L32,40 21,50 Z"/>
5
+ </svg>
@@ -0,0 +1,12 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" width="64" height="64" color="#FF9A00" role="img">
2
+ <title>Community goal</title>
3
+ <rect x="2" y="2" width="60" height="60" fill="none" stroke="currentColor" stroke-width="4"/>
4
+ <defs><path id="community-goal-point" d="M41.39,49.66 L22.61,49.66 L32,40.8 Z"/></defs>
5
+ <g fill="currentColor">
6
+ <use href="#community-goal-point"/>
7
+ <use href="#community-goal-point" transform="rotate(72 32 32)"/>
8
+ <use href="#community-goal-point" transform="rotate(144 32 32)"/>
9
+ <use href="#community-goal-point" transform="rotate(216 32 32)"/>
10
+ <use href="#community-goal-point" transform="rotate(288 32 32)"/>
11
+ </g>
12
+ </svg>
@@ -0,0 +1,15 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" width="64" height="64" color="#FFAE00" role="img">
2
+ <title>Conflict zone</title>
3
+ <rect x="2" y="2" width="60" height="60" fill="none" stroke="currentColor" stroke-width="4"/>
4
+ <defs>
5
+ <path id="cz-sword" d="M32 2.4 L34.95 11.5 L35.2 44.5 Q39.8 45.4 41.1 49.2 L33.75 49.2 L33.75 58.8 L32 60.4 L30.25 58.8 L30.25 49.2 L22.9 49.2 Q24.2 45.4 28.8 44.5 L29.05 11.5 Z"/>
6
+ <mask id="cz-cut">
7
+ <rect width="64" height="64" fill="#fff"/>
8
+ <use href="#cz-sword" transform="rotate(-45 32 32)" fill="#000" stroke="#000" stroke-width="6.4" stroke-linejoin="round"/>
9
+ </mask>
10
+ </defs>
11
+ <g fill="currentColor">
12
+ <g mask="url(#cz-cut)"><use href="#cz-sword" transform="rotate(45 32 32)"/></g>
13
+ <use href="#cz-sword" transform="rotate(-45 32 32)"/>
14
+ </g>
15
+ </svg>
@@ -0,0 +1,13 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" width="64" height="64" color="#FF2800" role="img">
2
+ <title>Destination</title>
3
+ <rect x="2" y="2" width="60" height="60" fill="none" stroke="currentColor" stroke-width="4"/>
4
+ <g fill="none" stroke="currentColor">
5
+ <path stroke-width="3.3" d="M18,42.1 L48,33.3"/>
6
+ <path stroke-width="2" d="M48,32 L36.2,15"/>
7
+ </g>
8
+ <g fill="currentColor">
9
+ <circle cx="18" cy="42" r="9.5"/>
10
+ <circle cx="48" cy="31.5" r="7"/>
11
+ <circle cx="36" cy="15" r="4.5"/>
12
+ </g>
13
+ </svg>
@@ -0,0 +1,6 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" width="64" height="64" color="#FF2800" role="img">
2
+ <title>Engineer</title>
3
+ <rect x="2" y="2" width="60" height="60" fill="none" stroke="currentColor" stroke-width="4"/>
4
+ <path fill="none" stroke="currentColor" stroke-width="4.4" d="M32,50.8 L15.72,41.4 L15.72,22.6 L32,13.2 L48.28,22.6 L48.28,41.4 Z"/>
5
+ <circle cx="32" cy="32" r="6" fill="none" stroke="currentColor" stroke-width="3"/>
6
+ </svg>
@@ -0,0 +1,5 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" width="64" height="64" color="#FF2800" role="img">
2
+ <title>Fleet carrier</title>
3
+ <rect x="2" y="2" width="60" height="60" fill="none" stroke="currentColor" stroke-width="4"/>
4
+ <path fill="currentColor" fill-rule="evenodd" d="M28,10 H36 L52.85,43.7 43.55,54 H39.15 L34.6,49 H29.4 L24.85,54 H20.45 L11.15,43.7 Z M43.5,34.5 A11.5,11.5 0 1 0 20.5,34.5 A11.5,11.5 0 1 0 43.5,34.5 Z M39.8,34.5 A7.8,7.8 0 1 0 24.2,34.5 A7.8,7.8 0 1 0 39.8,34.5 Z M27.25,32.75 H36.75 V36.25 H27.25 Z"/>
5
+ </svg>
@@ -0,0 +1,10 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" width="64" height="64" color="#9418FF" role="img">
2
+ <title>Front line</title>
3
+ <rect x="2" y="2" width="60" height="60" fill="none" stroke="#4A00B5" stroke-width="4"/>
4
+ <g fill="none" stroke="currentColor">
5
+ <path stroke-width="3" stroke-opacity="0.5" d="M32.6,11.2 35.75,14.5 M32.5,52.6 36.2,49.75"/>
6
+ <path stroke-width="4.6" stroke-opacity="0.167" d="M31.35,16.45 28.8,21.8 M28.8,42.4 31.3,48.1"/>
7
+ <path stroke-width="2.5" stroke-opacity="0.167" d="M25,25.7 29.95,25.9 M25.1,38.5 29.6,38.1"/>
8
+ </g>
9
+ <path fill="currentColor" d="M11.25,34.64 14.1,29.67 H41 V28.2 L39.8,25.2 50.73,32 39.8,38.8 41,35.8 V34.64 Z"/>
10
+ </svg>
@@ -0,0 +1,15 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" width="64" height="64" color="#005DFF" role="img">
2
+ <title>Mission</title>
3
+ <rect x="2" y="2" width="60" height="60" fill="none" stroke="currentColor" stroke-width="4"/>
4
+ <g fill="none" stroke="currentColor" stroke-width="0.6" stroke-opacity="0.1">
5
+ <ellipse cx="32" cy="32" rx="17.67" ry="20.4"/>
6
+ <ellipse cx="32" cy="32" rx="10.2" ry="20.4"/>
7
+ <path d="M32,11.6 V52.4"/>
8
+ <path d="M21.8,49.67 H42.2"/>
9
+ <path d="M14.33,42.2 H49.67"/>
10
+ <path d="M11.6,32 H52.4"/>
11
+ <path d="M14.33,21.8 H49.67"/>
12
+ <path d="M21.8,14.33 H42.2"/>
13
+ </g>
14
+ <circle cx="32" cy="32" r="20.4" fill="none" stroke="currentColor" stroke-width="2.9"/>
15
+ </svg>
@@ -0,0 +1,10 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" width="64" height="64" color="#63FFF7" role="img">
2
+ <title>Squadron carrier</title>
3
+ <rect x="2" y="2" width="60" height="60" fill="none" stroke="currentColor" stroke-width="4"/>
4
+ <path fill="none" stroke="currentColor" stroke-width="1.6" stroke-opacity="0.18" d="M13,9 H51 V36 L32,55 13,36 Z"/>
5
+ <g transform="translate(32 27) scale(0.613 0.636) translate(-32 -31.75)" fill="none" stroke="currentColor" stroke-width="3.1" stroke-linejoin="round">
6
+ <path d="M28,10 H36 L53.5,43 44.5,53.5 H39.5 L32,47 24.5,53.5 H19.5 L10.5,43 Z"/>
7
+ <circle cx="32" cy="34" r="9.9"/>
8
+ <path stroke-width="2.4" d="M28,34 H36"/>
9
+ </g>
10
+ </svg>
@@ -0,0 +1,20 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" width="64" height="64" color="#FF2800" role="img">
2
+ <title>Starter zone</title>
3
+ <rect x="2" y="2" width="60" height="60" fill="none" stroke="currentColor" stroke-width="4"/>
4
+ <defs>
5
+ <filter id="starter-zone-glow" x="-30%" y="-30%" width="160%" height="160%">
6
+ <feGaussianBlur stdDeviation="2.8"/>
7
+ </filter>
8
+ <g id="starter-zone-logo" fill="currentColor">
9
+ <path d="M17.5,22.5 L19.5,22.5 L26.5,30 L26.5,35.5 L30.5,35.5 L30.5,45.5 L17.5,34.5 Z"/>
10
+ <path d="M46.5,22.5 L44.5,22.5 L37.5,30 L37.5,35.5 L33.5,35.5 L33.5,45.5 L46.5,34.5 Z"/>
11
+ <path d="M32,27.5 L35.5,34 H28.5 Z"/>
12
+ </g>
13
+ </defs>
14
+ <use href="#starter-zone-logo" filter="url(#starter-zone-glow)" opacity="0.2"
15
+ transform="translate(32 31) scale(1.25) translate(-32 -31)"/>
16
+ <circle cx="32" cy="31.5" r="24.8" fill="none" stroke="currentColor" stroke-width="2.1"/>
17
+ <circle cx="51" cy="16.5" r="4.5" fill="currentColor"/>
18
+ <circle cx="12" cy="44.5" r="4.5" fill="currentColor"/>
19
+ <use href="#starter-zone-logo"/>
20
+ </svg>
@@ -0,0 +1,6 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" width="64" height="64" color="#211C21" role="img">
2
+ <title>Station abandoned</title>
3
+ <rect x="2" y="2" width="60" height="60" fill="none" stroke="currentColor" stroke-width="4"/>
4
+ <rect x="10" y="27.1" width="44" height="9.8" fill="currentColor" transform="rotate(45 32 32)"/>
5
+ <rect x="10" y="27.1" width="44" height="9.8" fill="currentColor" transform="rotate(-45 32 32)"/>
6
+ </svg>
@@ -0,0 +1,19 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" width="64" height="64" color="#FF3400" role="img">
2
+ <title>Station damaged</title>
3
+ <rect x="2" y="2" width="60" height="60" fill="none" stroke="currentColor" stroke-width="4"/>
4
+ <path fill="currentColor" d="M30.2,11
5
+ C31.8,12.4 34,14.6 35.1,16.7 C35.9,18.4 36.1,19.9 36.1,21.6
6
+ C36.1,23.6 35.9,25.5 35.4,27.4 C35.2,29.4 35.2,31.4 35.4,33
7
+ C35.9,33.8 36.7,34.1 37.6,34.2 C39.2,33.9 40.4,32.7 41.4,30.8
8
+ C41.5,29.8 41.6,28.9 42,28.3 C43.2,29.2 44.3,30.8 45,32.6
9
+ C45.4,33.8 45.7,35 45.7,36.2 L45.7,42
10
+ C45.5,44.2 44.4,46.2 42.8,47.9 C41.3,49.6 39,50.9 36.6,51.3
11
+ C36,50 36.3,48.5 37.6,47 C38.4,45.6 38,44 36.7,42.6
12
+ L31.6,42.6 L31.2,44.2 L28.8,44.2 L28.4,42.6 L27.4,42.6
13
+ C26.7,41.2 26,39.6 25.5,37.7 L24.7,36.4
14
+ C23.5,38 22.6,40 22.2,42 C22,44.2 23.3,46.4 24,48.2
15
+ C24.4,49.3 25.2,50.2 25.6,51.2 C23.6,50.6 21.6,49.1 20.1,47.3
16
+ C18.2,45.1 16.9,42.6 16.9,40.1 L16.9,35.6
17
+ C17.5,33.4 18.4,31.5 19.7,29.9 C20.9,27.7 22.7,25.3 24.5,22.7
18
+ C26.5,20.1 29,17.3 29.9,14.7 C30.1,13.5 30.2,12.2 30.2,11 Z"/>
19
+ </svg>
@@ -0,0 +1,7 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" width="64" height="64" color="#FF9210" role="img">
2
+ <title>Station repairing</title>
3
+ <rect x="2" y="2" width="60" height="60" fill="none" stroke="currentColor" stroke-width="4"/>
4
+ <path fill="currentColor" d="M18.35,13.1 A7.4,7.4 0 1 1 13.1,18.35 L17.35,22.6 L20.4,22.6 A2.2,2.2 0 0 0 22.6,20.4 L22.6,17.35 Z"/>
5
+ <path fill="none" stroke="currentColor" stroke-width="5.3" d="M22.3,22.3 L44.25,44.25"/>
6
+ <circle cx="44.25" cy="44.25" r="5.6" fill="currentColor"/>
7
+ </svg>
@@ -0,0 +1,21 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" width="64" height="64" color="#FF0000" role="img">
2
+ <title>Station under attack</title>
3
+ <rect x="2" y="2" width="60" height="60" fill="none" stroke="currentColor" stroke-width="4"/>
4
+ <defs>
5
+ <path id="station-under-attack-horn" d="M12.2,19.2 C12.1,21.5 12.2,23.5 12.6,25.4 C13.9,27.4 16.2,30.2 18.5,32.9 C16.8,34.7 14.4,37 13.1,39.5 C12.5,41.5 12.2,44 12.3,46.9 C13.6,44.4 15.8,42 18.3,40.1 C19.8,38.4 21,36 21,33 C21,30 20,27.4 18.3,25.2 C16.4,23.9 14.6,22.2 12.2,19.2 Z"/>
6
+ <path id="station-under-attack-socket" d="M21.9,32.2 C24.1,31.7 26.1,31.8 27.9,32.2 C29.1,33 29.6,34.4 29.5,36.4 C28.1,38 26.7,38.6 25.4,38.5 C23.7,38.3 22.4,37.8 21.8,36.4 C21.3,35 21.2,33.5 21.9,32.2 Z"/>
7
+ <mask id="station-under-attack-face">
8
+ <rect width="64" height="64" fill="#fff"/>
9
+ <g fill="#000">
10
+ <use href="#station-under-attack-socket"/>
11
+ <use href="#station-under-attack-socket" transform="translate(64 0) scale(-1 1)"/>
12
+ <path d="M32,35.9 C30.1,36.9 30.1,38.7 29.9,41.9 L34.1,41.9 C33.9,38.7 33.9,36.9 32,35.9 Z"/>
13
+ </g>
14
+ </mask>
15
+ </defs>
16
+ <g fill="currentColor" mask="url(#station-under-attack-face)">
17
+ <use href="#station-under-attack-horn"/>
18
+ <use href="#station-under-attack-horn" transform="translate(64 0) scale(-1 1)"/>
19
+ <path d="M32,16.1 C25.4,16.1 21.6,18.8 19.9,23 C18.9,25.6 18.5,28.8 18.5,32.6 C18.5,36.8 19.2,40.2 21.1,42.5 C22.4,43.4 23.6,43.2 25.1,43.3 C26,44.7 27.2,46.1 28.2,47.45 C30.3,48.05 33.7,48.05 35.8,47.45 C36.8,46.1 38,44.7 38.9,43.3 C40.4,43.2 41.6,43.4 42.9,42.5 C44.8,40.2 45.5,36.8 45.5,32.6 C45.5,28.8 45.1,25.6 44.1,23 C42.4,18.8 38.6,16.1 32,16.1 Z"/>
20
+ </g>
21
+ </svg>
@@ -0,0 +1,18 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" width="64" height="64" color="#FF0000" role="img">
2
+ <title>Titan</title>
3
+ <rect x="2" y="2" width="60" height="60" fill="none" stroke="currentColor" stroke-width="4"/>
4
+ <defs>
5
+ <path id="titan-blade" d="M21.25,22.32 L17.26,16.19 A15.02,15.02 0 0 1 18.79,14.46 L22.08,17.29 A15.02,15.02 0 0 1 35.06,10.26 L35.14,11.41 A13.87,13.87 0 0 0 21.25,22.32 Z"/>
6
+ </defs>
7
+ <g fill="currentColor">
8
+ <use href="#titan-blade"/>
9
+ <use href="#titan-blade" transform="rotate(45 32 32)"/>
10
+ <use href="#titan-blade" transform="rotate(90 32 32)"/>
11
+ <use href="#titan-blade" transform="rotate(135 32 32)"/>
12
+ <use href="#titan-blade" transform="rotate(180 32 32)"/>
13
+ <use href="#titan-blade" transform="rotate(225 32 32)"/>
14
+ <use href="#titan-blade" transform="rotate(270 32 32)"/>
15
+ <use href="#titan-blade" transform="rotate(315 32 32)"/>
16
+ </g>
17
+ <circle cx="32" cy="32" r="4.62" fill="none" stroke="currentColor" stroke-width="1"/>
18
+ </svg>
@@ -0,0 +1,5 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" width="64" height="64" color="#FF2800" role="img">
2
+ <title>Waypoint</title>
3
+ <rect x="2" y="2" width="60" height="60" fill="none" stroke="currentColor" stroke-width="4"/>
4
+ <path fill="none" stroke="currentColor" stroke-width="2.5" stroke-linejoin="round" d="M26.07,40.27 L42.65,33.62 A5.75,5.75 0 1 0 44.62,26.84 L37.46,17.9 A3.25,3.25 0 1 1 38.21,17.38 L44.1,27.28 A5.75,5.75 0 0 0 42.65,33.61 L25.5,38.56 A8.25,8.25 0 1 0 26.07,40.27 Z"/>
5
+ </svg>
@@ -14,7 +14,7 @@ import './system-address-input.js';
14
14
  *
15
15
  * The maths is ported from the Canonn Research Group's
16
16
  * [canonn-signals](https://github.com/canonn-science/canonn-signals); see
17
- * [ATTRIBUTIONS.md](https://github.com/DarkSession/Elite-Dangerous-Almanac/blob/main/ATTRIBUTIONS.md).
17
+ * [ATTRIBUTIONS.md](https://github.com/Elite-Dangerous-Almanac/Almanac-Core/blob/main/ATTRIBUTIONS.md).
18
18
  *
19
19
  * @example
20
20
  * ```ts
@@ -21,7 +21,7 @@ import './system-address-input.js';
21
21
  *
22
22
  * The maths is ported from the Canonn Research Group's
23
23
  * [canonn-signals](https://github.com/canonn-science/canonn-signals); see
24
- * [ATTRIBUTIONS.md](https://github.com/DarkSession/Elite-Dangerous-Almanac/blob/main/ATTRIBUTIONS.md).
24
+ * [ATTRIBUTIONS.md](https://github.com/Elite-Dangerous-Almanac/Almanac-Core/blob/main/ATTRIBUTIONS.md).
25
25
  *
26
26
  * @example
27
27
  * ```ts
@@ -23,7 +23,7 @@ import './system-address-input.js';
23
23
  * The maths is ported from the Canonn Research Group's
24
24
  * [canonn-signals](https://github.com/canonn-science/canonn-signals), whose ring model is
25
25
  * their own observational research; see
26
- * [ATTRIBUTIONS.md](https://github.com/DarkSession/Elite-Dangerous-Almanac/blob/main/ATTRIBUTIONS.md).
26
+ * [ATTRIBUTIONS.md](https://github.com/Elite-Dangerous-Almanac/Almanac-Core/blob/main/ATTRIBUTIONS.md).
27
27
  *
28
28
  * @example
29
29
  * ```ts
@@ -7,7 +7,7 @@ import { SystemAddressInput } from './system-address-input.js';
7
7
  *
8
8
  * The region a system belongs to is fixed by its position on a flat ≈49.35 ly
9
9
  * (`4096 / 83` ly) grid over the galactic plane. Each region's cells are stored as
10
- * run-length geometry in [`data/astro/galactic-region-cells.jsonc`](https://github.com/DarkSession/Elite-Dangerous-Almanac/blob/main/data/astro/galactic-region-cells.jsonc) (kept separate
10
+ * run-length geometry in [`data/astro/galactic-region-cells.jsonc`](https://github.com/Elite-Dangerous-Almanac/Almanac-Core/blob/main/data/astro/galactic-region-cells.jsonc) (kept separate
11
11
  * from the lightweight metadata so metadata-only consumers never bundle it); this
12
12
  * module rebuilds a per-row lookup index from them. The per-region metadata objects
13
13
  * live in `./codex-region`.
@@ -22,7 +22,7 @@ import { SystemAddressInput } from './system-address-input.js';
22
22
  * data file's attribution.
23
23
  *
24
24
  * Algorithm ported from klightspeed's EliteDangerousRegionMap (`RegionMap.js`).
25
- * See [ATTRIBUTIONS.md](https://github.com/DarkSession/Elite-Dangerous-Almanac/blob/main/ATTRIBUTIONS.md) for credit and licence terms.
25
+ * See [ATTRIBUTIONS.md](https://github.com/Elite-Dangerous-Almanac/Almanac-Core/blob/main/ATTRIBUTIONS.md) for credit and licence terms.
26
26
  *
27
27
  * @packageDocumentation
28
28
  */
@@ -12,7 +12,7 @@
12
12
  *
13
13
  * The region ids and names come from klightspeed's EliteDangerousRegionMap; the
14
14
  * footprint fields are derived from its grayscale region map. See the attribution
15
- * in [`data/astro/galactic-regions.jsonc`](https://github.com/DarkSession/Elite-Dangerous-Almanac/blob/main/data/astro/galactic-regions.jsonc).
15
+ * in [`data/astro/galactic-regions.jsonc`](https://github.com/Elite-Dangerous-Almanac/Almanac-Core/blob/main/data/astro/galactic-regions.jsonc).
16
16
  *
17
17
  * @remarks
18
18
  * Region ids are 1–42; id `0` means "outside the mapped region grid" and has no
@@ -10,11 +10,11 @@ import { G as GalacticPosition } from '../galactic-position-shLkm4Qg.js';
10
10
  * (Sol at the origin); membership is first-match sphere containment.
11
11
  *
12
12
  * Sphere records are compiled and cross-checked against EDSM and Spansh; see
13
- * [`data/astro/SOURCES.md`](https://github.com/DarkSession/Elite-Dangerous-Almanac/blob/main/data/astro/SOURCES.md) for provenance and source terms.
13
+ * [`data/astro/SOURCES.md`](https://github.com/Elite-Dangerous-Almanac/Almanac-Core/blob/main/data/astro/SOURCES.md) for provenance and source terms.
14
14
  *
15
15
  * The list is pre-sorted **smallest-radius-first**, which reproduces the game's
16
16
  * overlap priority: when spheres overlap, the most specific (smallest) region
17
- * wins. Data is loaded once from shared JSON ([`data/astro/`](https://github.com/DarkSession/Elite-Dangerous-Almanac/tree/main/data/astro)).
17
+ * wins. Data is loaded once from shared JSON ([`data/astro/`](https://github.com/Elite-Dangerous-Almanac/Almanac-Core/tree/main/data/astro)).
18
18
  *
19
19
  * @remarks
20
20
  * "Region" is overloaded in this galaxy. A {@link HandAuthoredRegion} is a *hand-authored
@@ -162,7 +162,7 @@ export { EccentricityClass, OrbitExtents, SpinOrbitResonance, classifyEccentrici
162
162
  export { RING_NOMINAL_RADIUS_FRACTION, RingDynamics, VISIBLE_RING_MAX_WIDTH, VISIBLE_RING_MIN_SURFACE_DENSITY, isInvisibleRing, ringDynamics, ringParticleDensity, ringRocheLimits, ringSurfaceDensity } from './body-rings.js';
163
163
  export { CHANDRASEKHAR_LIMIT_SOLAR_MASSES, MassStabilityAssessment, MassStabilityLimit, NEUTRON_STAR_MASS_DROP_OFF_SOLAR_MASSES, NeutronStarClass, SOLAR_RADIUS, SPEED_OF_LIGHT, TOV_LIMIT_SOLAR_MASSES, absoluteBolometricMagnitude, assessMassStability, classifyNeutronStar, mainSequenceLifetime, schwarzschildRadius } from './star-physics.js';
164
164
  export { BoxelLetters, IsProceduralSystemNameOptions, SystemNameParts, boxelCodeToLetters, canonicalizeSystemName, formatSystemName, isProceduralSystemName, lettersToBoxelCode, parseSystemName } from './system-name.js';
165
- export { A as AbsoluteBoxel, D as DecodedAddress, N as NamingRegionOrigin, S as SECTOR_INTERNAL_SIZE, a as absoluteBoxelToBoxelCode, b as boxelCodeToAbsoluteBoxel, c as boxelInternalSize, d as decodeModSystemAddress, e as decodeSystemAddress, f as encodeModSystemAddress, g as encodeSystemAddress, h as getHandAuthoredRegionOrigin, r as resolveNamingRegionOrigin } from '../system-address-DmzXRD48.js';
165
+ export { A as AbsoluteBoxel, D as DecodedAddress, N as NamingRegionOrigin, S as SECTOR_INTERNAL_SIZE, a as absoluteBoxelToBoxelCode, b as boxelCodeToAbsoluteBoxel, c as boxelInternalSize, d as decodeModSystemAddress, e as decodeSystemAddress, f as encodeModSystemAddress, g as encodeSystemAddress, h as getHandAuthoredRegionOrigin, r as resolveNamingRegionOrigin } from '../system-address-CveshmDX.js';
166
166
  export { SystemAddressInput, toSystemAddress, tryToSystemAddress } from './system-address-input.js';
167
167
  export { SectorGridPosition, canonicalizeSectorName, sectorGridPositionFromName, sectorNameFromGridPosition } from './sector-name.js';
168
168
  export { GALAXY_ORIGIN, SECTOR_EDGE_LY, sectorGridPositionFromGalacticPosition, sectorNameFromGalacticPosition } from './galaxy-grid.js';
@@ -1,4 +1,4 @@
1
- export { N as NamingRegionOrigin, S as SECTOR_INTERNAL_SIZE, h as getHandAuthoredRegionOrigin, r as resolveNamingRegionOrigin } from '../system-address-DmzXRD48.js';
1
+ export { N as NamingRegionOrigin, S as SECTOR_INTERNAL_SIZE, h as getHandAuthoredRegionOrigin, r as resolveNamingRegionOrigin } from '../system-address-CveshmDX.js';
2
2
  import './system-name.js';
3
3
  import './sector-name.js';
4
4
  import './system-address-input.js';