@elite-dangerous-almanac/core 0.2.14 → 0.2.16

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 (112) hide show
  1. package/PROVENANCE/galaxy-map/SOURCES.md +8 -6
  2. package/PROVENANCE/i18n/SOURCES.md +9 -11
  3. package/PROVENANCE/ships/SOURCES.md +17 -15
  4. package/README.md +36 -10
  5. package/THIRD_PARTY_NOTICES.md +11 -9
  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-T3WRI2U2.js → chunk-B5ZKDHBW.js} +1 -1
  41. package/dist/{chunk-T3WRI2U2.js.map → chunk-B5ZKDHBW.js.map} +1 -1
  42. package/dist/{chunk-EXHZ4CFB.js → chunk-EE25IDB7.js} +1 -1
  43. package/dist/{chunk-EXHZ4CFB.js.map → chunk-EE25IDB7.js.map} +1 -1
  44. package/dist/{chunk-RA4YJBU5.js → chunk-F53MPXZY.js} +1 -1
  45. package/dist/{chunk-RA4YJBU5.js.map → chunk-F53MPXZY.js.map} +1 -1
  46. package/dist/{chunk-P5SIDTV5.js → chunk-JQ4OPZZ4.js} +1 -1
  47. package/dist/{chunk-P5SIDTV5.js.map → chunk-JQ4OPZZ4.js.map} +1 -1
  48. package/dist/{chunk-QNHGTVMZ.js → chunk-LLLFK3D5.js} +1 -1
  49. package/dist/{chunk-S4BZ64WE.js → chunk-N4YDIODB.js} +1 -1
  50. package/dist/{chunk-XCLOOKC2.js → chunk-U4MML7U6.js} +1 -1
  51. package/dist/commodities/commodities-rare.d.ts +1 -1
  52. package/dist/commodities/commodities-standard.d.ts +1 -1
  53. package/dist/equipment/modifications.d.ts +1 -1
  54. package/dist/galaxy-map/index.d.ts +14 -2
  55. package/dist/galaxy-map/index.js +1 -1
  56. package/dist/galaxy-map/markers.d.ts +4 -3
  57. package/dist/galaxy-map/markers.js +1 -1
  58. package/dist/i18n/index.d.ts +1 -1
  59. package/dist/i18n/index.js +1 -1
  60. package/dist/i18n/module-families.d.ts +3 -3
  61. package/dist/i18n/suits.d.ts +1 -2
  62. package/dist/i18n/suits.js +1 -1
  63. package/dist/materials/materials-encoded.d.ts +1 -1
  64. package/dist/materials/materials-manufactured.d.ts +1 -1
  65. package/dist/materials/materials-raw.d.ts +1 -1
  66. package/dist/materials/materials.d.ts +1 -1
  67. package/dist/materials/micro-resources-component.d.ts +1 -1
  68. package/dist/materials/micro-resources-consumable.d.ts +1 -1
  69. package/dist/materials/micro-resources-data.d.ts +1 -1
  70. package/dist/materials/micro-resources-item.d.ts +1 -1
  71. package/dist/materials/micro-resources.d.ts +1 -1
  72. package/dist/ships/armour.d.ts +1 -1
  73. package/dist/ships/blueprint-costs.d.ts +1 -1
  74. package/dist/ships/blueprint-journal.d.ts +1 -1
  75. package/dist/ships/blueprints.d.ts +1 -1
  76. package/dist/ships/build-metrics.js +1 -1
  77. package/dist/ships/default-loadouts.d.ts +1 -1
  78. package/dist/ships/distributor.d.ts +1 -1
  79. package/dist/ships/engineering.d.ts +1 -1
  80. package/dist/ships/experimental-effect-costs.d.ts +1 -1
  81. package/dist/ships/experimental-effects.d.ts +1 -1
  82. package/dist/ships/gunsights.d.ts +1 -1
  83. package/dist/ships/heat.d.ts +2 -2
  84. package/dist/ships/index.d.ts +1 -1
  85. package/dist/ships/index.js +1 -1
  86. package/dist/ships/jump-range.d.ts +1 -1
  87. package/dist/ships/mobility-capacitor.d.ts +1 -1
  88. package/dist/ships/mobility.d.ts +1 -1
  89. package/dist/ships/module-limits.d.ts +2 -2
  90. package/dist/ships/modules-all.d.ts +1 -1
  91. package/dist/ships/modules-core.d.ts +1 -1
  92. package/dist/ships/modules-hardpoint.d.ts +1 -1
  93. package/dist/ships/modules-internal.d.ts +1 -1
  94. package/dist/ships/modules-utility.d.ts +1 -1
  95. package/dist/ships/modules.d.ts +1 -1
  96. package/dist/ships/power.d.ts +1 -1
  97. package/dist/ships/pre-engineered-stats.js +1 -1
  98. package/dist/ships/pre-engineered.d.ts +0 -5
  99. package/dist/ships/pre-engineered.js +1 -1
  100. package/dist/ships/resistances.d.ts +1 -1
  101. package/dist/ships/shield-capacitor.d.ts +1 -1
  102. package/dist/ships/shield-recovery.d.ts +2 -2
  103. package/dist/ships/shields.d.ts +1 -1
  104. package/dist/ships/ship-loadout.js +1 -1
  105. package/dist/ships/ships.d.ts +1 -1
  106. package/dist/ships/weapons-capacitor.d.ts +1 -1
  107. package/dist/ships/weapons.d.ts +1 -1
  108. package/dist/{system-address-DmzXRD48.d.ts → system-address-CveshmDX.d.ts} +2 -2
  109. package/package.json +5 -4
  110. /package/dist/{chunk-QNHGTVMZ.js.map → chunk-LLLFK3D5.js.map} +0 -0
  111. /package/dist/{chunk-S4BZ64WE.js.map → chunk-N4YDIODB.js.map} +0 -0
  112. /package/dist/{chunk-XCLOOKC2.js.map → chunk-U4MML7U6.js.map} +0 -0
@@ -14,12 +14,14 @@ immutable identifier for its interface artwork, so the captures are the evidence
14
14
  `assets/galaxy-map/`. `color` is the exact RGB value of the capture's dominant opaque
15
15
  glyph pixel, written as uppercase `#RRGGBB`. `frameColor` is the same measurement taken
16
16
  on the square border.
17
- - **The captures are not retained, and they carry no checksum.** They are
18
- Frontier's artwork, and the media-usage rules in `ATTRIBUTIONS.md` cover the redrawn
19
- vectors this repository ships, not a redistributed copy of the source bitmaps. The
20
- vectors are drawn from geometric shapes rather than traced, so a capture is not
21
- recoverable from one. `data/SNAPSHOTS.md` asks for a checksum where the content itself
22
- cannot be kept, so this is a gap: #59 records what would close it.
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.
23
25
 
24
26
  ### Measuring a capture
25
27
 
@@ -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
@@ -68,9 +68,19 @@ assets/ships/<symbol>/schematic-top.svg
68
68
  assets/ships/<symbol>/schematic-bottom.svg
69
69
  ```
70
70
 
71
- `<symbol>` is the exact ship symbol returned by the ships catalogue. These are static
72
- package files rather than JavaScript subpath exports, so applications can copy them from
73
- the installed package into their own public or bundled asset directory.
71
+ `<symbol>` is the exact ship symbol returned by the ships catalogue. The package exports
72
+ every asset path under `@elite-dangerous-almanac/core/assets/`, so an application names
73
+ the file the catalogue names and lets its own bundler emit it:
74
+
75
+ ```text
76
+ import illustration from '@elite-dangerous-almanac/core/assets/ships/SideWinder/illustration.svg?url';
77
+ ```
78
+
79
+ The `?url` suffix is Vite's syntax, not the package's. Another bundler reaches the same
80
+ path through its own asset rule — webpack 5 takes a plain import against an
81
+ `asset/resource` rule, or `new URL('<path>', import.meta.url)`. TypeScript needs an
82
+ ambient declaration for whichever form you use, such as `vite/client` or your own
83
+ `declare module '*.svg?url'`; the package ships none, because the form is the bundler's.
74
84
 
75
85
  `gunsight.svg` is a `600 × 600` frontal plot of the fixed-weapon aim points at a nominal
76
86
  1,000-metre target range. Each weapon group under `#weapon-dots` carries the same
@@ -102,11 +112,27 @@ responsible for any transformations or user-supplied replacements.
102
112
 
103
113
  ## Galaxy-map marker assets
104
114
 
105
- The `galaxy-map` catalogue reports each marker's colours, and one SVG per marker holds
106
- the icon. The package does not carry those files. They live in the repository, at
107
- [`assets/galaxy-map/<symbol>.svg`](https://github.com/DarkSession/Elite-Dangerous-Almanac/tree/main/assets/galaxy-map),
108
- where `<symbol>` is the exact symbol the catalogue returns. Copy them into your own
109
- asset directory.
115
+ The `galaxy-map` catalogue reports each marker's colours, and the installed package
116
+ holds one SVG per marker:
117
+
118
+ ```text
119
+ assets/galaxy-map/<symbol>.svg
120
+ ```
121
+
122
+ `<symbol>` is the exact symbol the catalogue returns, and the package exports that path,
123
+ so the catalogue and the artwork stay one source:
124
+
125
+ ```text
126
+ import titan from '@elite-dangerous-almanac/core/assets/galaxy-map/titan.svg?url';
127
+ ```
128
+
129
+ A marker is safe to embed inline as supplied: it holds only static `svg`, `title`,
130
+ `defs`, `mask`, `filter`, `feGaussianBlur`, `g`, `use`, `path`, `rect`, `circle` and
131
+ `ellipse` elements, and every `href`, `mask` and `filter` points inside the same file.
132
+ There are no scripts, styles, event-handler attributes, foreign or media elements,
133
+ links or external references. Every definition id is unique across the set, so a page
134
+ can inline all of them. This content guarantee applies to the unmodified package
135
+ files.
110
136
 
111
137
  Every shape in an asset paints with `currentColor`, and the root `<svg>` carries the
112
138
  marker's own colour. A host that embeds the file inline therefore recolours it with one
@@ -293,9 +319,9 @@ that same id.
293
319
  `ShipLoadout.fromSlef` throw `TypeError`, not `RangeError`, and `inspectSlef` reports it
294
320
  as a diagnostic.
295
321
 
296
- The [repository README](https://github.com/DarkSession/Elite-Dangerous-Almanac#readme)
322
+ The [repository README](https://github.com/Elite-Dangerous-Almanac/Almanac-Core#readme)
297
323
  contains the project guide. The generated
298
- [TypeScript wiki](https://github.com/DarkSession/Elite-Dangerous-Almanac/wiki/TypeScript)
324
+ [TypeScript wiki](https://github.com/Elite-Dangerous-Almanac/Almanac-Core/wiki/TypeScript)
299
325
  contains the guides and the complete API reference.
300
326
 
301
327
  ## Data and credits
@@ -207,8 +207,9 @@ Developments plc — see the notice below.
207
207
 
208
208
  ## Elite Dangerous game data and imagery (Frontier media-usage notice)
209
209
 
210
- The ship and module stat values and the ship illustrations are the property of
211
- **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
212
213
  [media-usage rules](https://forums.frontier.co.uk/threads/elite-dangerous-media-usage-rules.510879/):
213
214
 
214
215
  > Elite Dangerous Almanac was created using assets and imagery from Elite
@@ -223,15 +224,16 @@ Projects that redistribute this data should include the same notice.
223
224
 
224
225
  This file credits. What was taken from each source, when, from which revision, how it was
225
226
  derived and every manual correction are recorded with the data itself, in
226
- [`data/astro/SOURCES.md`](https://github.com/DarkSession/Elite-Dangerous-Almanac/blob/main/data/astro/SOURCES.md),
227
- [`data/materials/SOURCES.md`](https://github.com/DarkSession/Elite-Dangerous-Almanac/blob/main/data/materials/SOURCES.md),
228
- [`data/equipment/SOURCES.md`](https://github.com/DarkSession/Elite-Dangerous-Almanac/blob/main/data/equipment/SOURCES.md),
229
- [`data/i18n/SOURCES.md`](https://github.com/DarkSession/Elite-Dangerous-Almanac/blob/main/data/i18n/SOURCES.md),
230
- [`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)
231
233
  and
232
- [`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),
233
235
  with the rules those files follow in
234
- [`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).
235
237
  The npm package includes matching copies under `PROVENANCE/` (without the `data/`
236
238
  prefix); the links above are absolute so they resolve from inside the package too.
237
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';
@@ -12,7 +12,7 @@ import '../galactic-position-shLkm4Qg.js';
12
12
  * (`./nebulae-real`, `./nebulae-planetary`, `./nebulae-procgen`) and nothing else
13
13
  * gets bundled.
14
14
  *
15
- * Data from EDAstro; see [ATTRIBUTIONS.md](https://github.com/DarkSession/Elite-Dangerous-Almanac/blob/main/ATTRIBUTIONS.md) for credit and licence terms.
15
+ * Data from EDAstro; see [ATTRIBUTIONS.md](https://github.com/Elite-Dangerous-Almanac/Almanac-Core/blob/main/ATTRIBUTIONS.md) for credit and licence terms.
16
16
  *
17
17
  * @packageDocumentation
18
18
  */
@@ -11,7 +11,7 @@ import '../galactic-position-shLkm4Qg.js';
11
11
  * real-world nebulae use `./nebulae-real` instead (~16 KiB). Because each catalogue
12
12
  * is its own module, importing that one never pulls this one in.
13
13
  *
14
- * Data from EDAstro; see [ATTRIBUTIONS.md](https://github.com/DarkSession/Elite-Dangerous-Almanac/blob/main/ATTRIBUTIONS.md) for credit and licence terms.
14
+ * Data from EDAstro; see [ATTRIBUTIONS.md](https://github.com/Elite-Dangerous-Almanac/Almanac-Core/blob/main/ATTRIBUTIONS.md) for credit and licence terms.
15
15
  *
16
16
  * @packageDocumentation
17
17
  */
@@ -10,7 +10,7 @@ import '../galactic-position-shLkm4Qg.js';
10
10
  * catalogue identity. About 16 KiB bundled; the far larger planetary class lives in
11
11
  * `./nebulae-planetary`.
12
12
  *
13
- * Data from EDAstro; see [ATTRIBUTIONS.md](https://github.com/DarkSession/Elite-Dangerous-Almanac/blob/main/ATTRIBUTIONS.md) for credit and licence terms.
13
+ * Data from EDAstro; see [ATTRIBUTIONS.md](https://github.com/Elite-Dangerous-Almanac/Almanac-Core/blob/main/ATTRIBUTIONS.md) for credit and licence terms.
14
14
  *
15
15
  * @packageDocumentation
16
16
  */