@elite-dangerous-almanac/core 0.2.8 → 0.2.9

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 (262) hide show
  1. package/PROVENANCE/astro/SOURCES.md +13 -12
  2. package/PROVENANCE/commodities/SOURCES.md +50 -6
  3. package/PROVENANCE/equipment/SOURCES.md +98 -20
  4. package/PROVENANCE/i18n/SOURCES.md +186 -80
  5. package/PROVENANCE/ships/SOURCES.md +344 -200
  6. package/README.md +10 -2
  7. package/THIRD_PARTY_NOTICES.md +11 -3
  8. package/dist/astro/body-rings.d.ts +2 -2
  9. package/dist/astro/codex-region-lookup.d.ts +1 -1
  10. package/dist/astro/codex-region-lookup.js +1 -1
  11. package/dist/astro/hand-authored-regions.d.ts +1 -1
  12. package/dist/astro/index.d.ts +1 -1
  13. package/dist/astro/index.js +1 -1
  14. package/dist/astro/naming-region-origins.d.ts +1 -1
  15. package/dist/astro/naming-region-origins.js +1 -1
  16. package/dist/astro/nebulae-all.d.ts +4 -6
  17. package/dist/astro/nebulae-all.js +1 -1
  18. package/dist/astro/nebulae-all.js.map +1 -1
  19. package/dist/astro/nebulae-planetary.d.ts +4 -5
  20. package/dist/astro/nebulae-planetary.js +1 -1
  21. package/dist/astro/nebulae-procgen.d.ts +3 -3
  22. package/dist/astro/nebulae-real.d.ts +3 -3
  23. package/dist/astro/nebulae.d.ts +8 -8
  24. package/dist/astro/permit-locked-regions.d.ts +2 -2
  25. package/dist/astro/permit-locked-systems.d.ts +1 -1
  26. package/dist/astro/permit-locks.d.ts +2 -2
  27. package/dist/astro/procedural-system.d.ts +3 -3
  28. package/dist/astro/procedural-system.js +1 -1
  29. package/dist/astro/system-address.d.ts +1 -1
  30. package/dist/astro/system-address.js +1 -1
  31. package/dist/astro/system-name.js +1 -1
  32. package/dist/{chunk-XSLPWM5N.js → chunk-2J6NNI3Y.js} +1 -1
  33. package/dist/{chunk-DWRNXUAX.js → chunk-2KIZN3BY.js} +1 -1
  34. package/dist/{chunk-J7BM5NGK.js → chunk-2TY42PTF.js} +1 -1
  35. package/dist/{chunk-773VO2GK.js → chunk-4T3TTYUT.js} +1 -1
  36. package/dist/{chunk-773VO2GK.js.map → chunk-4T3TTYUT.js.map} +1 -1
  37. package/dist/{chunk-W5ULI75F.js → chunk-7C7NJWCF.js} +1 -1
  38. package/dist/{chunk-W5ULI75F.js.map → chunk-7C7NJWCF.js.map} +1 -1
  39. package/dist/{chunk-IMNOEFUE.js → chunk-7Y5EK2VO.js} +1 -1
  40. package/dist/{chunk-IMNOEFUE.js.map → chunk-7Y5EK2VO.js.map} +1 -1
  41. package/dist/{chunk-2OBUSQA7.js → chunk-AAU7OM47.js} +1 -1
  42. package/dist/{chunk-2OBUSQA7.js.map → chunk-AAU7OM47.js.map} +1 -1
  43. package/dist/{chunk-GIGRBFIJ.js → chunk-AC3U7LRK.js} +1 -1
  44. package/dist/{chunk-GIGRBFIJ.js.map → chunk-AC3U7LRK.js.map} +1 -1
  45. package/dist/{chunk-BJU27V6C.js → chunk-AUBV6S7V.js} +1 -1
  46. package/dist/{chunk-BJU27V6C.js.map → chunk-AUBV6S7V.js.map} +1 -1
  47. package/dist/{chunk-DI5RXSJR.js → chunk-BVLBS2QY.js} +1 -1
  48. package/dist/{chunk-DI5RXSJR.js.map → chunk-BVLBS2QY.js.map} +1 -1
  49. package/dist/{chunk-IN36YSS4.js → chunk-C3YZ5KTA.js} +1 -1
  50. package/dist/{chunk-IN36YSS4.js.map → chunk-C3YZ5KTA.js.map} +1 -1
  51. package/dist/{chunk-6UNAD74Z.js → chunk-C4FUV6GF.js} +1 -1
  52. package/dist/{chunk-6UNAD74Z.js.map → chunk-C4FUV6GF.js.map} +1 -1
  53. package/dist/chunk-CEF7SMB2.js +1 -0
  54. package/dist/chunk-CEF7SMB2.js.map +1 -0
  55. package/dist/chunk-E2HDF6PJ.js +1 -0
  56. package/dist/chunk-E2HDF6PJ.js.map +1 -0
  57. package/dist/{chunk-OFZGNWBT.js → chunk-ETREYN5U.js} +1 -1
  58. package/dist/{chunk-OFZGNWBT.js.map → chunk-ETREYN5U.js.map} +1 -1
  59. package/dist/{chunk-KBCA4GEZ.js → chunk-FP2TQJZP.js} +1 -1
  60. package/dist/{chunk-YJAH6DFY.js → chunk-G7WARJ3X.js} +1 -1
  61. package/dist/chunk-G7WARJ3X.js.map +1 -0
  62. package/dist/{chunk-Z4OUB4SJ.js → chunk-GLTCCDN5.js} +1 -1
  63. package/dist/{chunk-Z4OUB4SJ.js.map → chunk-GLTCCDN5.js.map} +1 -1
  64. package/dist/chunk-GVNTKCVF.js +1 -0
  65. package/dist/chunk-GVNTKCVF.js.map +1 -0
  66. package/dist/{chunk-Q6YDPREF.js → chunk-GZLD7RTK.js} +1 -1
  67. package/dist/{chunk-Q6YDPREF.js.map → chunk-GZLD7RTK.js.map} +1 -1
  68. package/dist/{chunk-SC4MEHVY.js → chunk-HIJR7DOC.js} +1 -1
  69. package/dist/{chunk-SC4MEHVY.js.map → chunk-HIJR7DOC.js.map} +1 -1
  70. package/dist/{chunk-ETWMPMZP.js → chunk-K5JK3XQB.js} +1 -1
  71. package/dist/{chunk-GRIK3EDH.js → chunk-KY7KSPU6.js} +1 -1
  72. package/dist/{chunk-GRIK3EDH.js.map → chunk-KY7KSPU6.js.map} +1 -1
  73. package/dist/{chunk-EHFHRQEP.js → chunk-M4STXLXO.js} +1 -1
  74. package/dist/{chunk-EHFHRQEP.js.map → chunk-M4STXLXO.js.map} +1 -1
  75. package/dist/{chunk-5YEHJM6V.js → chunk-OSMBAFRW.js} +1 -1
  76. package/dist/{chunk-5YEHJM6V.js.map → chunk-OSMBAFRW.js.map} +1 -1
  77. package/dist/chunk-PIU24HRN.js +1 -0
  78. package/dist/chunk-PIU24HRN.js.map +1 -0
  79. package/dist/{chunk-ELT3FEA4.js → chunk-PKKBYBL4.js} +1 -1
  80. package/dist/{chunk-ELT3FEA4.js.map → chunk-PKKBYBL4.js.map} +1 -1
  81. package/dist/{chunk-6HMIF2RJ.js → chunk-Q647OXON.js} +1 -1
  82. package/dist/{chunk-6HMIF2RJ.js.map → chunk-Q647OXON.js.map} +1 -1
  83. package/dist/{chunk-BMQM4JBL.js → chunk-QPT2WJYN.js} +1 -1
  84. package/dist/{chunk-BMQM4JBL.js.map → chunk-QPT2WJYN.js.map} +1 -1
  85. package/dist/{chunk-3WGXGBW5.js → chunk-R2AEZYX7.js} +1 -1
  86. package/dist/{chunk-FJIWJYKO.js → chunk-RA4YJBU5.js} +1 -1
  87. package/dist/chunk-RA4YJBU5.js.map +1 -0
  88. package/dist/{chunk-MRLUWHGI.js → chunk-RJ3ZLQRB.js} +1 -1
  89. package/dist/{chunk-MRLUWHGI.js.map → chunk-RJ3ZLQRB.js.map} +1 -1
  90. package/dist/chunk-SFEQXUIA.js +1 -0
  91. package/dist/{chunk-WV7QCDL5.js → chunk-SIL356HB.js} +1 -1
  92. package/dist/{chunk-WV7QCDL5.js.map → chunk-SIL356HB.js.map} +1 -1
  93. package/dist/{chunk-OLKOWR7S.js → chunk-SS7HVNP5.js} +1 -1
  94. package/dist/{chunk-OLKOWR7S.js.map → chunk-SS7HVNP5.js.map} +1 -1
  95. package/dist/chunk-TRGHPX2O.js +1 -0
  96. package/dist/chunk-TRGHPX2O.js.map +1 -0
  97. package/dist/{chunk-GMTAFUAG.js → chunk-TYRH73MO.js} +1 -1
  98. package/dist/{chunk-GMTAFUAG.js.map → chunk-TYRH73MO.js.map} +1 -1
  99. package/dist/{chunk-7TVFV3VO.js → chunk-U3IRMXMR.js} +1 -1
  100. package/dist/{chunk-A7IVMYNF.js → chunk-U73MBQ45.js} +1 -1
  101. package/dist/{chunk-A7IVMYNF.js.map → chunk-U73MBQ45.js.map} +1 -1
  102. package/dist/{chunk-IZIIGK3W.js → chunk-UE22QU7A.js} +1 -1
  103. package/dist/{chunk-IZIIGK3W.js.map → chunk-UE22QU7A.js.map} +1 -1
  104. package/dist/{chunk-DBDCOHI4.js → chunk-UI5RROGI.js} +1 -1
  105. package/dist/{chunk-DBDCOHI4.js.map → chunk-UI5RROGI.js.map} +1 -1
  106. package/dist/chunk-URRPEUIK.js +1 -0
  107. package/dist/{chunk-QJECDMQQ.js.map → chunk-URRPEUIK.js.map} +1 -1
  108. package/dist/chunk-UTWZZOSA.js +1 -0
  109. package/dist/chunk-UTWZZOSA.js.map +1 -0
  110. package/dist/chunk-UVX7RCMP.js +1 -0
  111. package/dist/chunk-UVX7RCMP.js.map +1 -0
  112. package/dist/{chunk-7ATBEOVC.js → chunk-WG4DPXJI.js} +1 -1
  113. package/dist/{chunk-XFDMCPDW.js → chunk-WZIBBJHA.js} +1 -1
  114. package/dist/{chunk-XFDMCPDW.js.map → chunk-WZIBBJHA.js.map} +1 -1
  115. package/dist/{chunk-7EWZGDWY.js → chunk-X3MXPE7G.js} +1 -1
  116. package/dist/{chunk-7EWZGDWY.js.map → chunk-X3MXPE7G.js.map} +1 -1
  117. package/dist/{chunk-JCYOE3C4.js → chunk-XQJERZUS.js} +1 -1
  118. package/dist/{chunk-JCYOE3C4.js.map → chunk-XQJERZUS.js.map} +1 -1
  119. package/dist/{chunk-SD6GNFDX.js → chunk-YBE5M27G.js} +1 -1
  120. package/dist/{chunk-SD6GNFDX.js.map → chunk-YBE5M27G.js.map} +1 -1
  121. package/dist/chunk-ZBUTGTZ3.js +1 -0
  122. package/dist/chunk-ZBUTGTZ3.js.map +1 -0
  123. package/dist/commodities/commodities-all.d.ts +2 -2
  124. package/dist/commodities/commodities-all.js +1 -1
  125. package/dist/commodities/commodities-rare.d.ts +3 -4
  126. package/dist/commodities/commodities-rare.js +1 -1
  127. package/dist/commodities/commodities-standard.d.ts +7 -7
  128. package/dist/commodities/commodities-standard.js +1 -1
  129. package/dist/commodities/commodities.d.ts +12 -12
  130. package/dist/commodities/commodities.js +1 -1
  131. package/dist/commodities/index.js +1 -1
  132. package/dist/equipment/engineering.d.ts +11 -6
  133. package/dist/equipment/engineering.js +1 -1
  134. package/dist/equipment/index.d.ts +4 -4
  135. package/dist/equipment/index.js +1 -1
  136. package/dist/equipment/modification-journal.js +1 -1
  137. package/dist/equipment/modifications.d.ts +23 -14
  138. package/dist/equipment/modifications.js +1 -1
  139. package/dist/equipment/suits.d.ts +2 -145
  140. package/dist/equipment/suits.js +1 -1
  141. package/dist/equipment/tools.d.ts +102 -0
  142. package/dist/equipment/tools.js +1 -0
  143. package/dist/equipment/tools.js.map +1 -0
  144. package/dist/equipment/upgrade-costs.d.ts +2 -3
  145. package/dist/equipment/upgrade-costs.js +1 -1
  146. package/dist/equipment/weapons.d.ts +2 -135
  147. package/dist/equipment/weapons.js +1 -1
  148. package/dist/i18n/blueprints.d.ts +2 -3
  149. package/dist/i18n/blueprints.js +1 -1
  150. package/dist/i18n/commodities.d.ts +36 -0
  151. package/dist/i18n/commodities.js +1 -0
  152. package/dist/i18n/commodities.js.map +1 -0
  153. package/dist/i18n/experimental-effect-descriptions.d.ts +5 -6
  154. package/dist/i18n/experimental-effect-descriptions.js +1 -1
  155. package/dist/i18n/experimental-effects.d.ts +2 -3
  156. package/dist/i18n/experimental-effects.js +1 -1
  157. package/dist/i18n/index.d.ts +19 -9
  158. package/dist/i18n/index.js +1 -1
  159. package/dist/i18n/materials.d.ts +2 -4
  160. package/dist/i18n/materials.js +1 -1
  161. package/dist/i18n/micro-resources.d.ts +2 -4
  162. package/dist/i18n/micro-resources.js +1 -1
  163. package/dist/i18n/module-families.d.ts +3 -5
  164. package/dist/i18n/module-families.js +1 -1
  165. package/dist/i18n/modules.d.ts +3 -6
  166. package/dist/i18n/modules.js +1 -1
  167. package/dist/i18n/personal-modifications.d.ts +4 -6
  168. package/dist/i18n/personal-modifications.js +1 -1
  169. package/dist/i18n/personal-tools.d.ts +33 -0
  170. package/dist/i18n/personal-tools.js +1 -0
  171. package/dist/i18n/personal-tools.js.map +1 -0
  172. package/dist/i18n/personal-weapons.d.ts +3 -4
  173. package/dist/i18n/personal-weapons.js +1 -1
  174. package/dist/i18n/pre-engineered.d.ts +1 -1
  175. package/dist/i18n/slots.d.ts +2 -2
  176. package/dist/i18n/suits.d.ts +36 -6
  177. package/dist/i18n/suits.js +1 -1
  178. package/dist/materials/index.d.ts +4 -3
  179. package/dist/materials/index.js +1 -1
  180. package/dist/materials/materials-all.d.ts +2 -2
  181. package/dist/materials/materials-all.js +1 -1
  182. package/dist/materials/materials-raw.d.ts +3 -4
  183. package/dist/materials/materials-raw.js +1 -1
  184. package/dist/materials/materials.d.ts +18 -15
  185. package/dist/materials/materials.js +1 -1
  186. package/dist/materials/micro-resources-all.d.ts +2 -2
  187. package/dist/materials/micro-resources-all.js +1 -1
  188. package/dist/materials/micro-resources-component.d.ts +2 -2
  189. package/dist/materials/micro-resources-consumable.d.ts +2 -2
  190. package/dist/materials/micro-resources-data.d.ts +2 -2
  191. package/dist/materials/micro-resources-item.d.ts +2 -2
  192. package/dist/materials/micro-resources.d.ts +17 -14
  193. package/dist/materials/micro-resources.js +1 -1
  194. package/dist/ships/ammunition.d.ts +4 -4
  195. package/dist/ships/blueprint-costs.d.ts +13 -13
  196. package/dist/ships/blueprint-costs.js +1 -1
  197. package/dist/ships/blueprint-journal.d.ts +3 -3
  198. package/dist/ships/blueprint-journal.js +1 -1
  199. package/dist/ships/blueprints.d.ts +3 -3
  200. package/dist/ships/build-metrics.d.ts +2 -1
  201. package/dist/ships/build-metrics.js +1 -1
  202. package/dist/ships/default-loadouts.d.ts +2 -3
  203. package/dist/ships/default-loadouts.js +1 -1
  204. package/dist/ships/engineering-options.d.ts +29 -32
  205. package/dist/ships/engineering-options.js +1 -1
  206. package/dist/ships/engineering.d.ts +1 -2
  207. package/dist/ships/engineering.js +1 -1
  208. package/dist/ships/experimental-effect-costs.d.ts +1 -1
  209. package/dist/ships/gunsights.d.ts +3 -3
  210. package/dist/ships/heat.d.ts +1 -1
  211. package/dist/ships/index.d.ts +4 -5
  212. package/dist/ships/index.js +1 -1
  213. package/dist/ships/loadout-validation.d.ts +1 -1
  214. package/dist/ships/module-families.d.ts +1 -1
  215. package/dist/ships/modules-all.d.ts +2 -3
  216. package/dist/ships/modules-all.js +1 -1
  217. package/dist/ships/modules-core.d.ts +3 -3
  218. package/dist/ships/modules-hardpoint.d.ts +4 -5
  219. package/dist/ships/modules-hardpoint.js +1 -1
  220. package/dist/ships/modules-internal.d.ts +5 -6
  221. package/dist/ships/modules-internal.js +1 -1
  222. package/dist/ships/modules-utility.d.ts +3 -4
  223. package/dist/ships/modules-utility.js +1 -1
  224. package/dist/ships/modules.d.ts +26 -24
  225. package/dist/ships/modules.js +1 -1
  226. package/dist/ships/pre-engineered-stats.d.ts +1 -1
  227. package/dist/ships/pre-engineered-stats.js +1 -1
  228. package/dist/ships/pre-engineered.d.ts +9 -10
  229. package/dist/ships/pre-engineered.js +1 -1
  230. package/dist/ships/shield-capacitor.js +1 -1
  231. package/dist/ships/ship-loadout.d.ts +7 -7
  232. package/dist/ships/ship-loadout.js +1 -1
  233. package/dist/ships/ships.d.ts +1 -2
  234. package/dist/ships/ships.js +1 -1
  235. package/dist/ships/slots.d.ts +5 -5
  236. package/dist/ships/weapons.js +1 -1
  237. package/dist/suits-B37rAORs.d.ts +414 -0
  238. package/dist/{system-address-cyJaeZIS.d.ts → system-address-DmzXRD48.d.ts} +6 -4
  239. package/package.json +13 -1
  240. package/dist/chunk-77TT4K53.js +0 -1
  241. package/dist/chunk-DAQ3PJ4R.js +0 -1
  242. package/dist/chunk-DAQ3PJ4R.js.map +0 -1
  243. package/dist/chunk-DHACRCLI.js +0 -1
  244. package/dist/chunk-DHACRCLI.js.map +0 -1
  245. package/dist/chunk-FJIWJYKO.js.map +0 -1
  246. package/dist/chunk-IUSMAX5T.js +0 -1
  247. package/dist/chunk-IUSMAX5T.js.map +0 -1
  248. package/dist/chunk-LWNBWRKL.js +0 -1
  249. package/dist/chunk-LWNBWRKL.js.map +0 -1
  250. package/dist/chunk-MT5AHPNP.js +0 -1
  251. package/dist/chunk-MT5AHPNP.js.map +0 -1
  252. package/dist/chunk-QJECDMQQ.js +0 -1
  253. package/dist/chunk-YJAH6DFY.js.map +0 -1
  254. /package/dist/{chunk-XSLPWM5N.js.map → chunk-2J6NNI3Y.js.map} +0 -0
  255. /package/dist/{chunk-DWRNXUAX.js.map → chunk-2KIZN3BY.js.map} +0 -0
  256. /package/dist/{chunk-J7BM5NGK.js.map → chunk-2TY42PTF.js.map} +0 -0
  257. /package/dist/{chunk-KBCA4GEZ.js.map → chunk-FP2TQJZP.js.map} +0 -0
  258. /package/dist/{chunk-ETWMPMZP.js.map → chunk-K5JK3XQB.js.map} +0 -0
  259. /package/dist/{chunk-3WGXGBW5.js.map → chunk-R2AEZYX7.js.map} +0 -0
  260. /package/dist/{chunk-77TT4K53.js.map → chunk-SFEQXUIA.js.map} +0 -0
  261. /package/dist/{chunk-7TVFV3VO.js.map → chunk-U3IRMXMR.js.map} +0 -0
  262. /package/dist/{chunk-7ATBEOVC.js.map → chunk-WG4DPXJI.js.map} +0 -0
@@ -5,12 +5,12 @@ import { ModuleSlot, SlotRestriction } from './slots.js';
5
5
  /**
6
6
  * Outfitting-module types and lookups.
7
7
  *
8
- * Elite Dangerous has ~1200 fittable modules. This module holds the
8
+ * Elite Dangerous fits ships from a large outfitting registry. This module holds the
9
9
  * {@link OutfittingModule} record shape — a module's **identity and its stats**
10
10
  * together — and the functions that find one ({@link getModuleBySymbol},
11
11
  * {@link getModulesByName}, {@link getBulkheadsForShip}).
12
12
  *
13
- * **Every lookup searches all 1194 modules by default.** A journal `Item` string does
13
+ * **Every lookup searches every module by default.** A journal `Item` string does
14
14
  * not identify its outfitting category, so callers need no category for lookup:
15
15
  *
16
16
  * ```ts
@@ -21,13 +21,16 @@ import { ModuleSlot, SlotRestriction } from './slots.js';
21
21
  * subset — any array you have filtered yourself. The catalogue is also exported split
22
22
  * by Frontier's four outfitting categories:
23
23
  *
24
- * | Module | Export | Entries |
25
- * | --- | --- | --- |
26
- * | `./modules-core` | `CORE_MODULES` | 516 |
27
- * | `./modules-internal` | `INTERNAL_MODULES` | 484 |
28
- * | `./modules-hardpoint` | `HARDPOINT_MODULES` | 159 |
29
- * | `./modules-utility` | `UTILITY_MODULES` | 35 |
30
- * | `./modules-all` | `ALL_MODULES` | 1194 (the default) |
24
+ * Sizes are each module's import graph once your bundler has minified it — the
25
+ * published package itself is not minified — before any transport compression.
26
+ *
27
+ * | Module | Export | Minified | Gzipped |
28
+ * | --- | --- | --- | --- |
29
+ * | `./modules-core` | `CORE_MODULES` | ~129 KiB | ~12 KiB |
30
+ * | `./modules-internal` | `INTERNAL_MODULES` | ~128 KiB | ~13 KiB |
31
+ * | `./modules-hardpoint` | `HARDPOINT_MODULES` | ~70 KiB | ~8 KiB |
32
+ * | `./modules-utility` | `UTILITY_MODULES` | ~10 KiB | ~2 KiB |
33
+ * | `./modules-all` | `ALL_MODULES` | ~335 KiB | ~33 KiB |
31
34
  *
32
35
  * Those four are for **listing** a category — an outfitting screen's hardpoint tab.
33
36
  * They make poor narrowing arguments: no module symbol or display name is shared
@@ -44,7 +47,7 @@ import { ModuleSlot, SlotRestriction } from './slots.js';
44
47
  *
45
48
  * @remarks
46
49
  * **This is the one default that costs real bundle weight.** A lookup imported from
47
- * here pulls all four catalogues — ~338 KiB minified (~33 KiB gzipped) — since
50
+ * here pulls all four catalogues — ~337 KiB minified (~33 KiB gzipped) — since
48
51
  * that is what it falls back to, and passing an explicit catalogue does not undo it.
49
52
  * A build that must carry only one category should import that catalogue and search
50
53
  * it directly:
@@ -266,7 +269,7 @@ interface OutfittingModuleIdentity {
266
269
  * the seven {@link CoreSlotType} core functions.
267
270
  *
268
271
  * @remarks
269
- * Present on every `core` module, and on the fifteen Guardian Hybrid power plants
272
+ * Present on every `core` module, and on the Guardian Hybrid power plants
270
273
  * and power distributors — which Frontier files under `internal`, but which go in
271
274
  * a core mount. Absent on everything else, because there is no one mount to name:
272
275
  * a weapon, a utility fitting or an ordinary optional internal fits any mount of
@@ -342,8 +345,8 @@ interface OutfittingModuleIdentity {
342
345
  * that no outfitting screen sells. Absent on every module a station offers.
343
346
  *
344
347
  * @remarks
345
- * The fifteen are the nine starter `*_free` fittings and the six bundle-granted
346
- * Vessel Hangars. Each is a second identity for an article the game already sells:
348
+ * They are the starter `*_free` fittings and the bundle-granted Vessel Hangars. Each
349
+ * is a second identity for an article the game already sells:
347
350
  * `Int_Engine_Size2_Class1_free` is the 2E Thrusters again, which is why
348
351
  * {@link ShipLoadout.modulesForSlot} leaves them out — a picker that offered both
349
352
  * would list "2E Thrusters" twice, once unpriced.
@@ -381,7 +384,7 @@ interface OutfittingModuleIdentity {
381
384
  * rule: a mount's restriction says which modules it takes, this says which mounts
382
385
  * a module goes in. Most restricted families bind one way only — a cargo rack fits
383
386
  * a `cargo` mount *and* any unrestricted optional — so this is present on just the
384
- * five records the game sells for one kind of mount and nowhere else:
387
+ * records the game sells for one kind of mount and nowhere else:
385
388
  *
386
389
  * | Module | Requires |
387
390
  * | --- | --- |
@@ -438,12 +441,11 @@ interface OutfittingModuleIdentity {
438
441
  * discount or markup, which is what an outfitting screen quotes at 0% discount.
439
442
  *
440
443
  * @remarks
441
- * Absent on the handful of records no registry prices: the starter `*_free`
442
- * variants, the two Community Goal Corrosion Resistant Cargo Racks, and the 1B
443
- * shield generator records no outfitting
444
- * registry carries a figure for — among them the two Corrosion Resistant Cargo
445
- * Racks no station sells, which are not free. Treat `undefined` as "unknown", never
446
- * as free — see [`data/ships/SOURCES.md`](https://github.com/DarkSession/Elite-Dangerous-Almanac/blob/main/data/ships/SOURCES.md).
444
+ * Absent on the handful of records no registry prices: the grant-only `*_free`
445
+ * articles, the Community Goal Corrosion Resistant Cargo Racks, which no station
446
+ * sells but which are not free, and the 1B shield generator. Treat `undefined` as
447
+ * "unknown", never as free; see
448
+ * [`data/ships/SOURCES.md`](https://github.com/DarkSession/Elite-Dangerous-Almanac/blob/main/data/ships/SOURCES.md).
447
449
  */
448
450
  readonly cost?: number;
449
451
  }
@@ -529,8 +531,8 @@ interface OutfittingModuleStats {
529
531
  * outfitting screen labels SCO.
530
532
  *
531
533
  * @remarks
532
- * A sparse capability flag on the 36 Overcharge drives and absent everywhere else,
533
- * including on the 31 ordinary drives of the same sizes and ratings. Read it rather
534
+ * A sparse capability flag on the Overcharge drives and absent everywhere else,
535
+ * including on the ordinary drives of the same sizes and ratings. Read it rather
534
536
  * than matching `Int_Hyperdrive_Overcharge` on the symbol: the capability is the
535
537
  * record's to state, and a pre-engineered or fitted article carries the flag
536
538
  * through while its symbol is not always the one you looked up.
@@ -605,7 +607,7 @@ interface OutfittingModuleStats {
605
607
  * @remarks
606
608
  * A sparse capability flag rather than a percentage: `true` means the protection is
607
609
  * inherent or the grade-1 blueprint grants it, while absence means it is not granted.
608
- * The two Guardian Nanite Torpedo Pylons carry it inherently; read engineered
610
+ * The Guardian Nanite Torpedo Pylons carry it inherently; read engineered
609
611
  * protection from a fitted module's {@link FittedModule.effectiveStats}.
610
612
  */
611
613
  readonly guardianZoneResistance?: boolean;
@@ -802,7 +804,7 @@ interface OutfittingModule extends OutfittingModuleIdentity, OutfittingModuleSta
802
804
  * @param symbol - The internal identifier, e.g. `"Hpt_PulseLaser_Fixed_Small"`.
803
805
  * Leading/trailing whitespace and case are ignored, so the journal's lower-cased
804
806
  * form resolves too.
805
- * @param modules - Optional subset to search instead of all 1194 modules
807
+ * @param modules - Optional subset to search instead of every module
806
808
  * `CORE_MODULES`, `INTERNAL_MODULES`, `HARDPOINT_MODULES`, `UTILITY_MODULES`, or any
807
809
  * array you have filtered yourself. Omit it unless you specifically want to exclude
808
810
  * the other categories; a symbol is unique across all four.
@@ -1 +1 @@
1
- export{getBulkheadsForShip,getModuleBySymbol,getModulesByName}from"../chunk-5YEHJM6V.js"; //# sourceMappingURL=modules.js.map
1
+ export{getBulkheadsForShip,getModuleBySymbol,getModulesByName}from"../chunk-OSMBAFRW.js"; //# sourceMappingURL=modules.js.map
@@ -99,7 +99,7 @@ declare function getPreEngineeredJournalModifiers(variant: PreEngineeredVariant)
99
99
  * The module symbol and blueprint therefore identify the purchase at grade 1 and after
100
100
  * upgrading it through grades 2–5. The fitted grade and experimental effect remain the
101
101
  * loadout's current engineering state; the returned variant carries the original purchase
102
- * grade, Merc Coin price and on the ten rows sold with one the effect the shop bakes
102
+ * grade, Merc Coin price and, on the rows sold with one, the effect the shop bakes
103
103
  * in. So a capture that states a different effect, or none, still identifies the article
104
104
  * it was bought as: read the capture for what is fitted now, the variant for what was
105
105
  * bought.
@@ -1 +1 @@
1
- export{getPreEngineeredJournalModifiers,getPreEngineeredModifiers,getPreEngineeredStats,identifyPreEngineeredVariant,unresolvedModifiers}from"../chunk-IN36YSS4.js"; //# sourceMappingURL=pre-engineered-stats.js.map
1
+ export{getPreEngineeredJournalModifiers,getPreEngineeredModifiers,getPreEngineeredStats,identifyPreEngineeredVariant,unresolvedModifiers}from"../chunk-C3YZ5KTA.js"; //# sourceMappingURL=pre-engineered-stats.js.map
@@ -18,16 +18,16 @@
18
18
  * grade already applied. Most blueprint ids join to `BLUEPRINTS`; the festive
19
19
  * `Decorative_*` ids instead identify fixed grade-5 reward articles with no craftable
20
20
  * recipe or material cost.
21
- * The 22 Mercenary entries are bought at grade 1 and their bespoke recipes start at
21
+ * Mercenary entries are bought at grade 1 and their bespoke recipes start at
22
22
  * grade 2 — price the remaining upgrade with `getBlueprintCost(blueprint, target,
23
23
  * grade)` from `ships/blueprint-costs`, which answers with the materials and the Merc
24
24
  * Coin the climb costs.
25
25
  * Community-goal and tech-broker entries instead identify fixed reward articles; their
26
26
  * blueprint ids do not grant a recipe to the stock module.
27
27
  *
28
- * Note that one base module can appear more than once: the medium Seeker Missile Rack is
29
- * sold or awarded in six different pre-engineered flavours, so
30
- * `Hpt_BasicMissileRack_Fixed_Medium` has six entries. Look variants up with
28
+ * One base module can appear more than once: the medium Seeker Missile Rack is sold or
29
+ * awarded in several pre-engineered flavours, so `Hpt_BasicMissileRack_Fixed_Medium` has
30
+ * one entry per flavour. Look variants up with
31
31
  * {@link getPreEngineeredVariants} (plural) rather than assuming one.
32
32
  *
33
33
  * Most variants carry a `modifiers` block — the hand-set stat
@@ -35,19 +35,19 @@
35
35
  * computed. Resolve them against the base module with `getPreEngineeredStats` from
36
36
  * `./pre-engineered-stats.js`; it lives in its own module so that consumers who only
37
37
  * want the catalogue do not bundle the module and engineering tables.
38
- * Final articles carry {@link PreEngineeredVariant.engineeringLocked}. These are the seven
38
+ * Final articles carry {@link PreEngineeredVariant.engineeringLocked}. These are the
39
39
  * pre-engineered Guardian weapons, whose stock counterparts can take Anti-Guardian Zone
40
- * Resistance, and five fixed Enzyme/AX rewards whose stock modules have no engineering menu.
40
+ * Resistance, and the fixed Enzyme/AX rewards whose stock modules have no engineering menu.
41
41
  *
42
42
  * @packageDocumentation
43
43
  */
44
44
  /**
45
45
  * Where a pre-engineered variant is obtained.
46
46
  *
47
- * - `mercenary` — bought from the Merc-Coin shop; always arrives at grade 1, ten of them
47
+ * - `mercenary` — bought from the Merc-Coin shop; always arrives at grade 1, some of them
48
48
  * with an experimental effect already applied beside that grade-1 blueprint.
49
- * - `communityGoal` — awarded for taking part in a community goal; mostly grade 5, 8 of
50
- * the 30 carrying an experimental effect.
49
+ * - `communityGoal` — awarded for taking part in a community goal; mostly grade 5, a
50
+ * minority carrying an experimental effect.
51
51
  * - `techBroker` — unlocked at a tech broker. Records the route stated by the source.
52
52
  * - `eventReward` — awarded already transformed by an event; the festive articles are grade 5.
53
53
  */
@@ -150,7 +150,6 @@ interface PreEngineeredVariant {
150
150
  * ```ts
151
151
  * import { PRE_ENGINEERED_MODULES } from '@elite-dangerous-almanac/core/ships/pre-engineered';
152
152
  *
153
- * PRE_ENGINEERED_MODULES.length; // -> 76
154
153
  * PRE_ENGINEERED_MODULES[0];
155
154
  * // -> { symbol: 'Hpt_Mining_AbrBlstr_Fixed_Small', name: 'Abrasion Blaster',
156
155
  * // blueprintSymbol: 'AbrasionBlaster_FarReaching', grade: 1,
@@ -1 +1 @@
1
- export{PRE_ENGINEERED_MODULES,getPreEngineeredVariants,isPreEngineered}from"../chunk-BJU27V6C.js"; //# sourceMappingURL=pre-engineered.js.map
1
+ export{PRE_ENGINEERED_MODULES,getPreEngineeredVariants,isPreEngineered}from"../chunk-AUBV6S7V.js"; //# sourceMappingURL=pre-engineered.js.map
@@ -1 +1 @@
1
- export{shieldCapacitorMetrics}from"../chunk-JCYOE3C4.js"; //# sourceMappingURL=shield-capacitor.js.map
1
+ export{shieldCapacitorMetrics}from"../chunk-XQJERZUS.js"; //# sourceMappingURL=shield-capacitor.js.map
@@ -314,8 +314,8 @@ type LoadoutEditErrorCode = 'immutableSlot' | 'requiredSlot' | 'incompatibleModu
314
314
  * An editor request that the current hull or build constraints cannot accept.
315
315
  *
316
316
  * @remarks
317
- * This remains a `TypeError`, so existing `instanceof TypeError` handling continues to
318
- * work. Localized editors should switch on {@link code}, then use {@link constraint}
317
+ * It is a `TypeError`, so `instanceof TypeError` handling catches it. Localized editors
318
+ * should switch on {@link code}, then use {@link constraint}
319
319
  * and {@link params} instead of parsing the English fallback in `message`.
320
320
  *
321
321
  * @example
@@ -990,7 +990,7 @@ declare class ShipLoadout {
990
990
  * omitted.
991
991
  *
992
992
  * @remarks
993
- * This is the outfitting *offer*, so the fifteen {@link ships!OutfittingModule.grantOnly | grantOnly}
993
+ * This is the outfitting *offer*, so the {@link ships!OutfittingModule.grantOnly | grantOnly}
994
994
  * articles are never in it: each is a second identity for a module the game already
995
995
  * sells — `Int_Engine_Size2_Class1_free` is the 2E Thrusters — and listing both puts
996
996
  * the same article on the screen twice, once with no price. A build that already
@@ -1162,7 +1162,7 @@ declare class ShipLoadout {
1162
1162
  * leave the build unchanged and return stable structured data.
1163
1163
  *
1164
1164
  * A Mercenary article is recomputed rather than composed, and that limits what can be
1165
- * done to the effect ten of those rows are sold carrying. At its purchase grade there
1165
+ * done to the effect some of those rows are sold carrying. At its purchase grade there
1166
1166
  * is no recipe to recompute from — the bespoke recipe starts at grade 2 — so every
1167
1167
  * edit is refused with `unsupportedEngineering`. Once engineered to grade 2 or above
1168
1168
  * an edit recomputes normally, but only to an effect the module's own menu offers:
@@ -1298,9 +1298,9 @@ declare class ShipLoadout {
1298
1298
  * Set a fitted module's power-priority group.
1299
1299
  *
1300
1300
  * @param slotKey - The slot's journal key, matched case-insensitively.
1301
- * @param priority - The journal's **zero-based** group, `0`–`4`. Note that the
1302
- * outfitting panel and {@link ships!BuildMetrics.powerBudget | BuildMetrics.powerBudget}'s `bands[].priority` — number the same
1303
- * five groups `1`–`5`.
1301
+ * @param priority - The journal's **zero-based** group, `0`–`4`. The outfitting
1302
+ * panel, and {@link ships!BuildMetrics.powerBudget | BuildMetrics.powerBudget}'s
1303
+ * `bands[].priority`, number the same five groups `1`–`5`.
1304
1304
  * @returns `this`, for chaining.
1305
1305
  * @throws {RangeError} If the slot is empty, or `priority` is not an integer in `[0, 4]`.
1306
1306
  * @throws {TypeError} If `slotKey` is not a string.
@@ -1 +1 @@
1
- export{LoadoutEditError,ShipLoadout}from"../chunk-SC4MEHVY.js"; //# sourceMappingURL=ship-loadout.js.map
1
+ export{LoadoutEditError,ShipLoadout}from"../chunk-HIJR7DOC.js"; //# sourceMappingURL=ship-loadout.js.map
@@ -5,7 +5,7 @@ import { CoreSlots, HardpointSlotSpec, OptionalSlotSpec, ShipSlots } from './slo
5
5
  * stats, and its slot layout in one record**, with the lookups an app needs to turn
6
6
  * an internal symbol or a display name into a {@link Ship}.
7
7
  *
8
- * There is only one list of ships and it is tiny (48 records), so the lookups here
8
+ * There is only one list of ships and it is small, so the lookups here
9
9
  * take no catalogue argument at all — they always search {@link SHIPS}. Importing one
10
10
  * bundles the whole ship list, which is what you wanted anyway. Stock module identities
11
11
  * live in `./default-loadouts`, keeping this small hull catalogue independent of them.
@@ -143,7 +143,6 @@ interface Ship {
143
143
  * ```ts
144
144
  * import { SHIPS } from '@elite-dangerous-almanac/core/ships/ships';
145
145
  *
146
- * SHIPS.length; // -> 48
147
146
  * SHIPS.find((s) => s.symbol === 'Anaconda')?.name; // -> 'Anaconda'
148
147
  * ```
149
148
  */
@@ -1 +1 @@
1
- export{SHIPS,getShipByName,getShipBySymbol,getShipSlots}from"../chunk-6UNAD74Z.js"; //# sourceMappingURL=ships.js.map
1
+ export{SHIPS,getShipByName,getShipBySymbol,getShipSlots}from"../chunk-C4FUV6GF.js"; //# sourceMappingURL=ships.js.map
@@ -5,7 +5,7 @@
5
5
  * A hull offers a fixed set of mounts: seven core internals, a handful of weapon
6
6
  * hardpoints, some tiny utility mounts, and a column of optional internals. Some of
7
7
  * those mounts are **restricted** to one family of modules — military and
8
- * planetary-approach optionals on most hulls, and, on three hulls, cargo-only,
8
+ * planetary-approach optionals on most hulls, and, on a few hulls, cargo-only,
9
9
  * limpet-controller-only, vessel-hangar-only and passenger-cabin-only optionals and
10
10
  * mining-only hardpoints (see {@link SlotRestriction}). This module gives
11
11
  * each mount a stable **slot key** and a {@link BuildSlot} descriptor, and
@@ -15,7 +15,7 @@
15
15
  *
16
16
  * It holds no data; {@link enumerateSlots} takes a {@link ShipSlots} layout (from a
17
17
  * hull's `Ship` record via `getShipSlots` in `./ships`) and expands it into keyed
18
- * {@link BuildSlot}s. Most hulls number their mounts by rule; on ten the game does
18
+ * {@link BuildSlot}s. Most hulls number their mounts by rule; on some the game does
19
19
  * not, and a mount there carries its own `name` — see {@link enumerateSlots}.
20
20
  *
21
21
  * @packageDocumentation
@@ -149,7 +149,7 @@ interface BuildSlotBase {
149
149
  * `core` function name is a *different* string (`thrusters` vs the key
150
150
  * `MainEngines`); see {@link CoreSlotType}.
151
151
  *
152
- * **Do not compute one.** The numbering looks regular and on ten hulls is
152
+ * **Do not compute one.** The numbering looks regular and on some hulls is
153
153
  * not: the Anaconda's smallest optionals are `Slot13_Size2` and `Slot14_Size1`
154
154
  * with no slots 11 or 12, the Type-9 Heavy starts at `Slot00_Size8`, the Type-7
155
155
  * Transporter uses the number `09` twice, and the Keelback's `Slot03_Size3` sits
@@ -341,7 +341,7 @@ interface ParsedSlot {
341
341
  * @returns Every mount the hull offers, as {@link BuildSlot}s.
342
342
  * @remarks
343
343
  * Unrestricted optionals are numbered `Slot01_SizeN`, `Slot02_SizeN`, … with no gaps,
344
- * and hardpoints `1, 2, 3` within each size class. **Ten hulls disagree**, and no
344
+ * and hardpoints `1, 2, 3` within each size class. **Some hulls disagree**, and no
345
345
  * rule derives what they do instead, so a mount on one of them carries its own
346
346
  * {@link OptionalSlotSpec.name} / {@link HardpointSlotSpec.name} and that wins:
347
347
  *
@@ -394,7 +394,7 @@ declare function enumerateSlots(layout: ShipSlots): BuildSlot[];
394
394
  * mount. The returned `core` and `restriction` values keep this library's own
395
395
  * camelCase spelling whatever the input looked like.
396
396
  *
397
- * **A `_SizeN` suffix is what the name says, not what the mount is.** On three hulls
397
+ * **A `_SizeN` suffix is what the name says, not what the mount is.** On some hulls
398
398
  * the game's own key disagrees with the mount it names — the Keelback's
399
399
  * `Slot03_Size3` is a size-4 mount, the Asp Scout's `Slot01_Size4` a size-5 one, and
400
400
  * five of the Type-7 Transporter's ten are off. To size a mount, find it in the hull's
@@ -1 +1 @@
1
- export{armourPiercingFactor,combinedRateOfFire,damageFalloff,damagePerSecond,energyPerSecond,heatPerSecond,splitDamage,sumWeaponMetrics,sustainedDamagePerSecond,sustainedFireFactor,weaponMetrics}from"../chunk-2OBUSQA7.js"; //# sourceMappingURL=weapons.js.map
1
+ export{armourPiercingFactor,combinedRateOfFire,damageFalloff,damagePerSecond,energyPerSecond,heatPerSecond,splitDamage,sumWeaponMetrics,sustainedDamagePerSecond,sustainedFireFactor,weaponMetrics}from"../chunk-AAU7OM47.js"; //# sourceMappingURL=weapons.js.map