@elite-dangerous-almanac/core 0.2.8 → 0.2.10

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 (263) hide show
  1. package/PROVENANCE/astro/SOURCES.md +13 -12
  2. package/PROVENANCE/commodities/SOURCES.md +50 -6
  3. package/PROVENANCE/equipment/SOURCES.md +137 -45
  4. package/PROVENANCE/i18n/SOURCES.md +187 -81
  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-BJU27V6C.js → chunk-AUBV6S7V.js} +1 -1
  44. package/dist/{chunk-BJU27V6C.js.map → chunk-AUBV6S7V.js.map} +1 -1
  45. package/dist/{chunk-DI5RXSJR.js → chunk-BVLBS2QY.js} +1 -1
  46. package/dist/{chunk-DI5RXSJR.js.map → chunk-BVLBS2QY.js.map} +1 -1
  47. package/dist/{chunk-IN36YSS4.js → chunk-C3YZ5KTA.js} +1 -1
  48. package/dist/{chunk-IN36YSS4.js.map → chunk-C3YZ5KTA.js.map} +1 -1
  49. package/dist/{chunk-6UNAD74Z.js → chunk-C4FUV6GF.js} +1 -1
  50. package/dist/{chunk-6UNAD74Z.js.map → chunk-C4FUV6GF.js.map} +1 -1
  51. package/dist/chunk-C6G7IN74.js +1 -0
  52. package/dist/chunk-C6G7IN74.js.map +1 -0
  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-UVX7RCMP.js +1 -0
  109. package/dist/chunk-UVX7RCMP.js.map +1 -0
  110. package/dist/{chunk-7ATBEOVC.js → chunk-WG4DPXJI.js} +1 -1
  111. package/dist/{chunk-XFDMCPDW.js → chunk-WZIBBJHA.js} +1 -1
  112. package/dist/{chunk-XFDMCPDW.js.map → chunk-WZIBBJHA.js.map} +1 -1
  113. package/dist/{chunk-7EWZGDWY.js → chunk-X3MXPE7G.js} +1 -1
  114. package/dist/{chunk-7EWZGDWY.js.map → chunk-X3MXPE7G.js.map} +1 -1
  115. package/dist/{chunk-JCYOE3C4.js → chunk-XQJERZUS.js} +1 -1
  116. package/dist/{chunk-JCYOE3C4.js.map → chunk-XQJERZUS.js.map} +1 -1
  117. package/dist/{chunk-SD6GNFDX.js → chunk-YBE5M27G.js} +1 -1
  118. package/dist/{chunk-SD6GNFDX.js.map → chunk-YBE5M27G.js.map} +1 -1
  119. package/dist/chunk-YI5XKWW2.js +1 -0
  120. package/dist/{chunk-GIGRBFIJ.js.map → chunk-YI5XKWW2.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-B4sQMLFe.d.ts +450 -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-GIGRBFIJ.js +0 -1
  247. package/dist/chunk-IUSMAX5T.js +0 -1
  248. package/dist/chunk-IUSMAX5T.js.map +0 -1
  249. package/dist/chunk-LWNBWRKL.js +0 -1
  250. package/dist/chunk-LWNBWRKL.js.map +0 -1
  251. package/dist/chunk-MT5AHPNP.js +0 -1
  252. package/dist/chunk-MT5AHPNP.js.map +0 -1
  253. package/dist/chunk-QJECDMQQ.js +0 -1
  254. package/dist/chunk-YJAH6DFY.js.map +0 -1
  255. /package/dist/{chunk-XSLPWM5N.js.map → chunk-2J6NNI3Y.js.map} +0 -0
  256. /package/dist/{chunk-DWRNXUAX.js.map → chunk-2KIZN3BY.js.map} +0 -0
  257. /package/dist/{chunk-J7BM5NGK.js.map → chunk-2TY42PTF.js.map} +0 -0
  258. /package/dist/{chunk-KBCA4GEZ.js.map → chunk-FP2TQJZP.js.map} +0 -0
  259. /package/dist/{chunk-ETWMPMZP.js.map → chunk-K5JK3XQB.js.map} +0 -0
  260. /package/dist/{chunk-3WGXGBW5.js.map → chunk-R2AEZYX7.js.map} +0 -0
  261. /package/dist/{chunk-77TT4K53.js.map → chunk-SFEQXUIA.js.map} +0 -0
  262. /package/dist/{chunk-7TVFV3VO.js.map → chunk-U3IRMXMR.js.map} +0 -0
  263. /package/dist/{chunk-7ATBEOVC.js.map → chunk-WG4DPXJI.js.map} +0 -0
@@ -12,7 +12,7 @@ import { MicroResource } from './micro-resources.js';
12
12
  */
13
13
 
14
14
  /**
15
- * All 125 data micro resources, in catalogue order.
15
+ * Every data micro resource, in catalogue order.
16
16
  *
17
17
  * @remarks
18
18
  * Every record has `category: 'data'`. The array and its records are frozen.
@@ -21,7 +21,7 @@ import { MicroResource } from './micro-resources.js';
21
21
  * ```ts
22
22
  * import { DATA_MICRO_RESOURCES } from '@elite-dangerous-almanac/core/materials/micro-resources-data';
23
23
  *
24
- * DATA_MICRO_RESOURCES.length; // -> 125
24
+ * DATA_MICRO_RESOURCES.find((resource) => resource.symbol === 'nocdata')?.name; // -> 'NOC Data'
25
25
  * ```
26
26
  */
27
27
  declare const DATA_MICRO_RESOURCES: readonly MicroResource[];
@@ -12,7 +12,7 @@ import { MicroResource } from './micro-resources.js';
12
12
  */
13
13
 
14
14
  /**
15
- * All 62 item micro resources, in catalogue order.
15
+ * Every item micro resource, in catalogue order.
16
16
  *
17
17
  * @remarks
18
18
  * Every record has `category: 'item'`. The array and its records are frozen.
@@ -21,7 +21,7 @@ import { MicroResource } from './micro-resources.js';
21
21
  * ```ts
22
22
  * import { ITEM_MICRO_RESOURCES } from '@elite-dangerous-almanac/core/materials/micro-resources-item';
23
23
  *
24
- * ITEM_MICRO_RESOURCES.length; // -> 62
24
+ * ITEM_MICRO_RESOURCES.find((resource) => resource.symbol === 'castfossil')?.name; // -> 'Cast Fossil'
25
25
  * ```
26
26
  */
27
27
  declare const ITEM_MICRO_RESOURCES: readonly MicroResource[];
@@ -8,7 +8,7 @@
8
8
  * ({@link getMicroResourceBySymbol}, {@link getMicroResourceByName},
9
9
  * {@link microResourcesInCategory}).
10
10
  *
11
- * **Every lookup searches all 226 micro resources by default** — you do not have to
11
+ * **Every lookup searches every micro resource by default** — you do not have to
12
12
  * hand it a catalogue:
13
13
  *
14
14
  * ```ts
@@ -18,22 +18,25 @@
18
18
  * The two **by-key** lookups take an optional second argument to **narrow** the search
19
19
  * to a subset — one category's catalogue, or any array you have filtered yourself:
20
20
  *
21
- * | Module | Export | Entries |
22
- * | --- | --- | --- |
23
- * | `./micro-resources-component` | `COMPONENT_MICRO_RESOURCES` | 33 |
24
- * | `./micro-resources-consumable` | `CONSUMABLE_MICRO_RESOURCES` | 6 |
25
- * | `./micro-resources-data` | `DATA_MICRO_RESOURCES` | 125 |
26
- * | `./micro-resources-item` | `ITEM_MICRO_RESOURCES` | 62 |
27
- * | `./micro-resources-all` | `ALL_MICRO_RESOURCES` | 226 (the default) |
21
+ * Sizes are each module's import graph once your bundler has minified it — the
22
+ * published package itself is not minified — before any transport compression.
23
+ *
24
+ * | Module | Export | Minified | Gzipped |
25
+ * | --- | --- | --- | --- |
26
+ * | `./micro-resources-component` | `COMPONENT_MICRO_RESOURCES` | ~2 KiB | ~1 KiB |
27
+ * | `./micro-resources-consumable` | `CONSUMABLE_MICRO_RESOURCES` | ~1 KiB | <1 KiB |
28
+ * | `./micro-resources-data` | `DATA_MICRO_RESOURCES` | ~7 KiB | ~2 KiB |
29
+ * | `./micro-resources-item` | `ITEM_MICRO_RESOURCES` | ~3 KiB | ~1 KiB |
30
+ * | `./micro-resources-all` | `ALL_MICRO_RESOURCES` | ~12 KiB | ~3 KiB |
28
31
  *
29
32
  * It narrows *results*, not bundle size: importing a lookup pulls all four
30
- * catalogues, since that is what it falls back to — ~13 KiB minified for all 226.
33
+ * catalogues, since that is what it falls back to — ~12 KiB minified for the set.
31
34
  * {@link microResourcesInCategory} reaches the same subsets from a plain string.
32
35
  *
33
36
  * **Only `ALL_MICRO_RESOURCES` itself is indexed.** A by-key lookup answers from an
34
37
  * O(1) index when the catalogue you pass *is* `ALL_MICRO_RESOURCES` — the same object,
35
38
  * not a copy — and scans linearly otherwise, including for `[...ALL_MICRO_RESOURCES]`,
36
- * which holds the same 226 records. Omitting the argument always takes the indexed
39
+ * which holds the same records. Omitting the argument always takes the indexed
37
40
  * path, so pass one only when you mean to exclude the rest.
38
41
  *
39
42
  * {@link microResourcesInCategory} takes no catalogue: it returns an array, so
@@ -89,8 +92,8 @@ interface MicroResource {
89
92
  *
90
93
  * @param symbol - The internal symbol, e.g. `"graphene"`, or the lower-cased form the
91
94
  * player journal reports. Leading/trailing whitespace and case are ignored.
92
- * @param microResources - Optional subset to search instead of all 226 micro
93
- * resources — `COMPONENT_MICRO_RESOURCES`, `CONSUMABLE_MICRO_RESOURCES`,
95
+ * @param microResources - Optional subset to search instead of every micro
96
+ * resource — `COMPONENT_MICRO_RESOURCES`, `CONSUMABLE_MICRO_RESOURCES`,
94
97
  * `DATA_MICRO_RESOURCES`, `ITEM_MICRO_RESOURCES`, or any array you have filtered
95
98
  * yourself. Omit it unless you specifically want to exclude the rest: the indexed O(1)
96
99
  * path is taken only when the argument is omitted or is `ALL_MICRO_RESOURCES` **by
@@ -138,8 +141,8 @@ declare function getMicroResourceByName(name: string, microResources?: readonly
138
141
  * ```ts
139
142
  * import { microResourcesInCategory } from '@elite-dangerous-almanac/core/materials/micro-resources';
140
143
  *
141
- * microResourcesInCategory('consumable').length; // -> 6
142
- * microResourcesInCategory('Consumable').length; // -> 6; case is ignored
144
+ * microResourcesInCategory('consumable')[0]?.name; // -> 'Medkit'
145
+ * microResourcesInCategory('Consumable')[0]?.name; // -> 'Medkit'; case is ignored
143
146
  * ```
144
147
  */
145
148
  declare function microResourcesInCategory(category: string): MicroResource[];
@@ -1 +1 @@
1
- export{getMicroResourceByName,getMicroResourceBySymbol,microResourcesInCategory}from"../chunk-7EWZGDWY.js"; //# sourceMappingURL=micro-resources.js.map
1
+ export{getMicroResourceByName,getMicroResourceBySymbol,microResourcesInCategory}from"../chunk-X3MXPE7G.js"; //# sourceMappingURL=micro-resources.js.map
@@ -75,10 +75,10 @@ interface AmmunitionCapacity {
75
75
  *
76
76
  * @param stats - The module's stats. A catalogue record works as-is; pass a
77
77
  * post-engineering record (`FittedModule.effectiveStats`, `effectiveModule`) to get the
78
- * capacity a build actually flies with. Fifteen blueprints move one figure or both — High
79
- * Capacity, the chaff, heat-sink and point-defence capacity recipes among them and three
80
- * experimental effects move the reserve: Corrosive Shell costs a fifth of it, and Plasma
81
- * Slug (in both its forms) empties it, because the weapon then reloads from ship fuel.
78
+ * capacity a build actually flies with. Blueprints such as High Capacity and the chaff,
79
+ * heat-sink and point-defence capacity recipes move one figure or both, and experimental
80
+ * effects move the reserve: Corrosive Shell costs a fifth of it, and Plasma Slug (in both
81
+ * its forms) empties it, because the weapon then reloads from ship fuel.
82
82
  * @returns The {@link AmmunitionCapacity}, or `null` for a module that carries no
83
83
  * ammunition at all — the lasers, which state neither figure because they draw from the
84
84
  * weapons capacitor instead.
@@ -14,7 +14,7 @@ import './slots.js';
14
14
  * Use {@link getBlueprintGradeCost} for that per-roll recipe or {@link getBlueprintCost}
15
15
  * for the complete weighted climb to a target grade. Both answer with a
16
16
  * {@link BlueprintCost} — the materials consumed *and* the **Merc Coin** billed beside
17
- * them, since 25 recipes charge a currency as well. The matching stat modifiers live in
17
+ * them, since some recipes charge a currency as well. The matching stat modifiers live in
18
18
  * `ships/blueprints`.
19
19
  *
20
20
  * Data from EDCD/coriolis-data (`modifications/blueprints.json`), with Operations and
@@ -85,8 +85,8 @@ declare function getBlueprintCosts(blueprintSymbol: string): BlueprintGradeCosts
85
85
  *
86
86
  * @remarks
87
87
  * Merc Coin has no credit equivalent and is not a material, so it is its own member
88
- * rather than an entry in `materials`. Only 25 of the catalogued blueprints charge any;
89
- * on every other recipe `mercCoins` is `0`, which is a real amount rather than a missing
88
+ * rather than an entry in `materials`. Only a minority of the catalogued blueprints charge
89
+ * any; on every other recipe `mercCoins` is `0`, which is a real amount rather than a missing
90
90
  * one — a step that is catalogued at all reports both halves of its cost.
91
91
  */
92
92
  interface BlueprintCost {
@@ -99,10 +99,10 @@ interface BlueprintCost {
99
99
  * The Merc Coin the step bills, already weighted for however many rolls the step
100
100
  * covers, exactly as the `materials` counts are.
101
101
  *
102
- * `0` either where the recipe charges no currency — 25 blueprints do and the rest do
103
- * not — or where this particular step covers no grade that charges. It is therefore
102
+ * `0` either where the recipe charges no currency — a minority of blueprints charge
103
+ * it — or where this particular step covers no grade that charges. It is therefore
104
104
  * an amount for *this* step, and reading `0` as "this blueprint never charges Merc
105
- * Coin" is wrong on exactly the 25 that do.
105
+ * Coin" is wrong on every recipe that does.
106
106
  */
107
107
  readonly mercCoins: number;
108
108
  }
@@ -144,9 +144,9 @@ declare function getBlueprintGradeCost(blueprintSymbol: string, grade: number):
144
144
  * `currentGrade` to `grade − 1`; use {@link getBlueprintGradeCost} for one roll.
145
145
  *
146
146
  * A Mercenary article is bought at grade 1 and its recipe defines grades 2–5, so pass
147
- * `1` to price what an engineer can still add. The four ordinary-menu recipes that also
148
- * bill Merc Coin `FuelScoop_Efficiency` and the three `*Laser_ThermalPlasmaConversion`
149
- * define grades 1–5 on a stock module and climb from `0` like any other recipe.
147
+ * `1` to price what an engineer can still add. The ordinary-menu recipes that also bill
148
+ * Merc Coin, `FuelScoop_Efficiency` and the `*Laser_ThermalPlasmaConversion` recipes,
149
+ * define grades 1–5 on a stock module and climb from `0` like any other recipe.
150
150
  *
151
151
  * This is blueprint cost only. An experimental effect is a separate application, and it
152
152
  * costs materials alone; combine its `getExperimentalEffectCost` result with
@@ -203,11 +203,11 @@ type BlueprintMercCoinCosts = Readonly<Record<string, number>>;
203
203
  * @remarks
204
204
  * The raw catalogue behind {@link BlueprintCost.mercCoins}; reach for
205
205
  * {@link getBlueprintCost} or {@link getBlueprintGradeCost} unless you want the table
206
- * itself. A small subset of {@link BLUEPRINT_COSTS} — 25 of its ids, in two shapes.
207
- * Twenty-one are the bespoke grade-2–5 recipes that only a Mercenary article, bought
208
- * already at grade 1, can be taken through. The other four are ordinary
206
+ * itself. A small subset of {@link BLUEPRINT_COSTS}'s ids, in two shapes. Most are the
207
+ * bespoke grade-2–5 recipes that only a Mercenary article, bought
208
+ * already at grade 1, can be taken through. The others are ordinary
209
209
  * engineering-menu recipes spanning grades 1–5 that happen to bill the currency too:
210
- * `FuelScoop_Efficiency` and the three `*Laser_ThermalPlasmaConversion`. Every other
210
+ * `FuelScoop_Efficiency` and the `*Laser_ThermalPlasmaConversion` recipes. Every other
211
211
  * blueprint is absent rather than zero. Merc Coin has no credit equivalent, so it is
212
212
  * never folded into a material list.
213
213
  *
@@ -1 +1 @@
1
- export{BLUEPRINT_COSTS,BLUEPRINT_MERC_COIN_COSTS,getBlueprintCost,getBlueprintCosts,getBlueprintGradeCost}from"../chunk-ETWMPMZP.js"; //# sourceMappingURL=blueprint-costs.js.map
1
+ export{BLUEPRINT_COSTS,BLUEPRINT_MERC_COIN_COSTS,getBlueprintCost,getBlueprintCosts,getBlueprintGradeCost}from"../chunk-K5JK3XQB.js"; //# sourceMappingURL=blueprint-costs.js.map
@@ -24,7 +24,8 @@
24
24
  * The same holds for `Weapon_Overcharged`, which the game writes for every weapon, though
25
25
  * a multi-cannon's also cuts the clip — 3% at grade 1 falling to 15% at grade 5.
26
26
  * `BLUEPRINTS` keys that side under `MC_Overcharged`, and this is the common case: 70 of
27
- * the build corpus's 1902 declared entries go through it, against one for the scanners.
27
+ * the build corpus's 1902 declared entries go through it, against a single entry for the
28
+ * Long Range collision above.
28
29
  * The clip penalty is folded only where a module's menu offers the multi-cannon recipe —
29
30
  * anti-xeno multi-cannons have no ordinary menu, and cannons, fragment cannons and plasma
30
31
  * accelerators take no clip leg. See
@@ -49,8 +50,7 @@
49
50
  * @throws {TypeError} If `blueprintSymbol` is not a string, including when it is missing — this
50
51
  * returns an id rather than reporting whether one is known, so there is no miss for a
51
52
  * nullish one to be. A nullish `moduleSymbol` *is* a miss: an unknown module offers no
52
- * menu,
53
- * and `blueprintSymbol` comes back unchanged.
53
+ * menu, and `blueprintSymbol` comes back unchanged.
54
54
  * @example
55
55
  * ```ts
56
56
  * import { resolveBlueprintForModule } from '@elite-dangerous-almanac/core/ships/blueprint-journal';
@@ -1 +1 @@
1
- export{resolveBlueprintForModule}from"../chunk-XSLPWM5N.js"; //# sourceMappingURL=blueprint-journal.js.map
1
+ export{resolveBlueprintForModule}from"../chunk-2J6NNI3Y.js"; //# sourceMappingURL=blueprint-journal.js.map
@@ -29,8 +29,8 @@ import './slots.js';
29
29
  * leaves it alone. `ships/blueprint-journal` keeps those three spellings apart from this
30
30
  * full mechanics catalogue and resolves one against a module.
31
31
  *
32
- * A further 25 keys are the **Operations** ids: 21 recipes a module is *sold*
33
- * carrying (`ships/pre-engineered`) and four Operations recipes a player rolls at an
32
+ * Further keys are the **Operations** ids: recipes a module is *sold*
33
+ * carrying (`ships/pre-engineered`) and the four Operations recipes a player rolls at an
34
34
  * engineer (`ships/engineering-options`). No journal spelling has been observed for those
35
35
  * Operations ids — a gap in the evidence, not a claim that the game writes none.
36
36
  *
@@ -39,7 +39,7 @@ import './slots.js';
39
39
  * Guardian modules; the Inara registry's `recipe_guardianmodule_sturdy` and
40
40
  * `recipe_guardianweapon_sturdy` are that registry's own spellings of the same recipe and
41
41
  * are not keys here.
42
- * Enumerate the 107 blueprints with `Object.keys(BLUEPRINTS)`.
42
+ * Enumerate every blueprint with `Object.keys(BLUEPRINTS)`.
43
43
  *
44
44
  * Data from EDCD/coriolis-data (`modifications/blueprints.json`): `features` from the
45
45
  * grade with journal Labels resolved via EDSY; see
@@ -42,7 +42,8 @@ import './loadout-validation.js';
42
42
  * Every calculation here is also available data-free: `./jump-range`, `./power`,
43
43
  * `./heat`, `./mobility`, `./mobility-capacitor`, `./shields`, `./shield-capacitor`,
44
44
  * `./shield-recovery`, `./armour`, `./weapons`, `./weapons-capacitor` and
45
- * `./distributor` each take a plain input object and import no catalogue. This class is the convenience that reads those inputs off a build.
45
+ * `./distributor` each take a plain input object and import no catalogue. This class is
46
+ * the convenience that reads those inputs off a build.
46
47
  *
47
48
  * Metrics that depend on optional build state return a {@link CalculationResult}: its
48
49
  * `value` is the completed figure or `null`, and `issues` explains an unavailable one.
@@ -1 +1 @@
1
- export{BuildMetrics}from"../chunk-YJAH6DFY.js"; //# sourceMappingURL=build-metrics.js.map
1
+ export{BuildMetrics}from"../chunk-G7WARJ3X.js"; //# sourceMappingURL=build-metrics.js.map
@@ -31,7 +31,7 @@ interface DefaultLoadout {
31
31
  readonly modules: readonly DefaultLoadoutModule[];
32
32
  }
33
33
  /**
34
- * Default loadouts for all 48 player-flyable hulls, in
34
+ * Default loadouts for every player-flyable hull, in
35
35
  * {@link ships!SHIPS | SHIPS} catalogue order.
36
36
  *
37
37
  * @remarks
@@ -42,7 +42,6 @@ interface DefaultLoadout {
42
42
  * ```ts
43
43
  * import { DEFAULT_LOADOUTS } from '@elite-dangerous-almanac/core/ships/default-loadouts';
44
44
  *
45
- * DEFAULT_LOADOUTS.length; // -> 48
46
45
  * DEFAULT_LOADOUTS[0]?.modules.find((module) => module.slot === 'FrameShiftDrive')?.symbol;
47
46
  * // -> 'Int_Hyperdrive_Size2_Class1'
48
47
  * ```
@@ -60,7 +59,7 @@ declare const DEFAULT_LOADOUTS: readonly DefaultLoadout[];
60
59
  * ```ts
61
60
  * import { getDefaultLoadout } from '@elite-dangerous-almanac/core/ships/default-loadouts';
62
61
  *
63
- * getDefaultLoadout(' sidewinder ')?.modules.length; // -> 16
62
+ * getDefaultLoadout(' sidewinder ')?.symbol; // -> 'SideWinder'
64
63
  * getDefaultLoadout('not_a_ship'); // -> null
65
64
  * ```
66
65
  */
@@ -1 +1 @@
1
- export{DEFAULT_LOADOUTS,getDefaultLoadout}from"../chunk-GRIK3EDH.js"; //# sourceMappingURL=default-loadouts.js.map
1
+ export{DEFAULT_LOADOUTS,getDefaultLoadout}from"../chunk-KY7KSPU6.js"; //# sourceMappingURL=default-loadouts.js.map
@@ -8,20 +8,17 @@
8
8
  * this module?" is the question the game actually answers. So modules are grouped, and
9
9
  * each group lists what it offers.
10
10
  *
11
- * The catalogue groups 1000 of the 1194 modules — every stock module with an ordinary
12
- * engineering menu. The other 194 have no ordinary menu: whole families (fuel tanks,
11
+ * The catalogue groups every stock module with an ordinary engineering menu. The rest
12
+ * have no ordinary menu: whole families (fuel tanks,
13
13
  * cargo racks, passenger cabins, the repair, recon, research, decontamination and
14
14
  * multi-limpet controllers, meta-alloy and ordinary module reinforcement, the Pulse Wave
15
15
  * Analyser, the mining launchers, Shock Cannons, Nanite Torpedo Pylons, fighter and vehicle
16
16
  * hangars, docking computers and Supercruise Assist, the module stabilisers, the planetary
17
17
  * approach suites, the cargo hatch and the AX utility modules), plus the individual
18
18
  * modules denied every ordinary blueprint — every anti-xeno multi-cannon and missile rack,
19
- * the Enzyme Missile Rack, all seven mining tools, the remote-release launchers and the Mk II
20
- * Plasma Shock Accelerator. Six module symbols without a menu still have a Mercenary upgrade
21
- * route: the Enzyme Missile Rack, fixed Mining Laser, fixed Abrasion Blaster, size-5 class-2
22
- * Module Reinforcement Package, and size-5 and size-6 cargo racks. Their qualifying articles can
23
- * take grades 2–5 of their bespoke recipes through
24
- * `ships/pre-engineered`; fixed community-goal cargo racks remain final articles.
19
+ * the Enzyme Missile Rack, every mining tool, the remote-release launchers and the Mk II
20
+ * Plasma Shock Accelerator. A few module symbols without a menu still have a Mercenary
21
+ * upgrade route through `ships/pre-engineered`; {@link getEngineeringGroup} names them.
25
22
  *
26
23
  * **A group is one menu.** Where the same kind of module comes in two flavours with
27
24
  * different menus, they are two groups: a Guardian Power Plant takes only Anti-Guardian
@@ -102,8 +99,7 @@ interface EngineeringOptionGroup {
102
99
  * ```ts
103
100
  * import { ENGINEERING_OPTION_GROUPS } from '@elite-dangerous-almanac/core/ships/engineering-options';
104
101
  *
105
- * ENGINEERING_OPTION_GROUPS['beamLasers'].experimentals.length; // -> 9
106
- * ENGINEERING_OPTION_GROUPS['beamLasers'].blueprints.length; // -> 7
102
+ * ENGINEERING_OPTION_GROUPS['beamLasers'].blueprints.includes('Weapon_Efficient'); // -> true
107
103
  * ```
108
104
  */
109
105
  declare const ENGINEERING_OPTION_GROUPS: Readonly<Record<EngineeringGroupId, EngineeringOptionGroup>>;
@@ -111,11 +107,13 @@ declare const ENGINEERING_OPTION_GROUPS: Readonly<Record<EngineeringGroupId, Eng
111
107
  * The group id a module is engineered as, or `null` when this catalogue does not group
112
108
  * it.
113
109
  *
114
- * `null` means **"this stock module has no ordinary engineering menu"**. For 188 of the
115
- * 194 ungrouped modules that is the same as "has no engineering route". Six instead
116
- * retain Mercenary upgrade routes: the Enzyme Missile Rack, fixed Mining Laser and Abrasion
110
+ * `null` means **"this stock module has no ordinary engineering menu"**. For nearly every
111
+ * ungrouped module that is the same as "has no engineering route". A few instead keep a
112
+ * Mercenary upgrade route: the Enzyme Missile Rack, fixed Mining Laser and Abrasion
117
113
  * Blaster, size-5 and size-6 cargo racks, and size-5 class-2 Module Reinforcement Package
118
- * have no stock menu while their qualifying Mercenary articles retain bespoke upgrade routes.
114
+ * have no stock menu, while their qualifying Mercenary articles take grades 2–5 of their
115
+ * bespoke recipes through `ships/pre-engineered`. The fixed community-goal cargo racks are
116
+ * final articles.
119
117
  * The build corpus also contains an unsupported declaration on the Mk II Plasma Shock
120
118
  * Accelerator, which upstream denies every blueprint.
121
119
  *
@@ -184,15 +182,15 @@ declare function getBlueprintsForModule(symbol: string): readonly string[];
184
182
  * Every experimental effect in a stock module's ordinary menu — its group's list, minus
185
183
  * the effects that particular module is excluded from.
186
184
  *
187
- * Most modules take their whole group's list, but 23 are exceptions: 13 Multi-cannons
188
- * cannot take Phasing Sequence, six dumbfire racks cannot take Drag Munitions, and four
185
+ * Most modules take their whole group's list, but some are exceptions: most Multi-cannons
186
+ * cannot take Phasing Sequence, dumbfire racks cannot take Drag Munitions, and some
189
187
  * missile racks are short of Penetrator Munitions or FSD Interrupt. Those are applied
190
188
  * here, so the result is the exact set for this module.
191
189
  *
192
- * **An empty array is the common answer, and it usually means "blueprints only".** 368
193
- * of the 1000 grouped modules have no experimental slot; all sit in the 27 of 48 groups
194
- * that offer none — life support, sensors, the limpet controllers, the utility scanners,
195
- * and every Guardian group, weapons and modules alike. An ungrouped module answers empty
190
+ * **An empty array is the common answer, and it usually means "blueprints only".** Whole
191
+ * groups offer no experimental effect at all life support, sensors, the limpet
192
+ * controllers, the utility scanners, and every Guardian group, weapons and modules alike
193
+ * so every module in them answers empty. An ungrouped module answers empty
196
194
  * too; {@link getEngineeringGroup} tells the two apart.
197
195
  *
198
196
  * @param symbol - A module symbol. Leading/trailing whitespace and case are ignored.
@@ -204,10 +202,10 @@ declare function getBlueprintsForModule(symbol: string): readonly string[];
204
202
  * ```ts
205
203
  * import { getExperimentalsForModule } from '@elite-dangerous-almanac/core/ships/engineering-options';
206
204
  *
207
- * getExperimentalsForModule('Hpt_MultiCannon_Fixed_Medium').length; // -> 12
205
+ * getExperimentalsForModule('Hpt_MultiCannon_Fixed_Medium').includes('special_phasing_sequence'); // -> true
208
206
  *
209
207
  * // The small Multi-cannon is one effect short — no Phasing Sequence.
210
- * getExperimentalsForModule('Hpt_MultiCannon_Fixed_Small').length; // -> 11
208
+ * getExperimentalsForModule('Hpt_MultiCannon_Fixed_Small').includes('special_phasing_sequence'); // -> false
211
209
  *
212
210
  * // The stock Abrasion Blaster has no ordinary engineering menu.
213
211
  * getExperimentalsForModule('Hpt_Mining_AbrBlstr_Fixed_Small'); // -> []
@@ -222,19 +220,18 @@ declare function getExperimentalsForModule(symbol: string): readonly string[];
222
220
  * `Weapon_LongRange` does not offer every effect listed here, only its own group's. Use
223
221
  * {@link getExperimentalsForModule} once you know the module — that is the exact answer.
224
222
  *
225
- * The groups name 85 of the 107 blueprints in `BLUEPRINTS`. Of the other 22, 21 are
226
- * Operations keys of modules sold already engineered rather than offered in a menu (see
227
- * `ships/pre-engineered`); the last is the fixed Expanded Cargo Rack reward identity.
228
- * All 22 answer `[]` here exactly as an unknown id would, so read this function's empty answer with
223
+ * The groups do not name every id in `BLUEPRINTS`. The ones they miss are Operations keys
224
+ * of modules sold already engineered rather than offered in a menu (see
225
+ * `ships/pre-engineered`), plus the fixed Expanded Cargo Rack reward identity.
226
+ * They answer `[]` here exactly as an unknown id would, so read this function's empty answer with
229
227
  * {@link getExperimentalsForModule} rather than as a claim about the recipe.
230
228
  *
231
- * Four Operations keys **are** named by a group, because they are recipes a player applies
229
+ * Some Operations keys **are** named by a group, because they are recipes a player applies
232
230
  * rather than a purchase: the Merc-Coin blueprints published with a full grade 1–5,
233
- * `FuelScoop_Efficiency` and the three lasers' `PulseLaser_ThermalPlasmaConversion`,
234
- * `BurstLaser_ThermalPlasmaConversion` and
235
- * `BeamLaser_ThermalPlasmaConversion`. Anti-Guardian Zone Resistance answers `[]`, and there
236
- * that is the exact answer rather
237
- * than a miss: it has no experimental slot, on any of the nine groups that offer it.
231
+ * `FuelScoop_Efficiency` and the lasers' `PulseLaser_ThermalPlasmaConversion`,
232
+ * `BurstLaser_ThermalPlasmaConversion` and `BeamLaser_ThermalPlasmaConversion`.
233
+ * Anti-Guardian Zone Resistance answers `[]`, and there that is the exact answer rather
234
+ * than a miss: it has no experimental slot, on any group that offers it.
238
235
  *
239
236
  * @param blueprintSymbol - A blueprint recipe's Frontier symbol, e.g. `"Weapon_Efficient"`.
240
237
  * Leading/trailing whitespace and case are ignored.
@@ -1 +1 @@
1
- export{ENGINEERING_OPTION_GROUPS,getBlueprintsForModule,getEngineeringGroup,getExperimentalsForBlueprint,getExperimentalsForModule}from"../chunk-EHFHRQEP.js"; //# sourceMappingURL=engineering-options.js.map
1
+ export{ENGINEERING_OPTION_GROUPS,getBlueprintsForModule,getEngineeringGroup,getExperimentalsForBlueprint,getExperimentalsForModule}from"../chunk-M4STXLXO.js"; //# sourceMappingURL=engineering-options.js.map
@@ -37,8 +37,7 @@ import './slots.js';
37
37
  * Frontier exposes; {@link ShipLoadout.applyBlueprint} performs that presentation step.
38
38
  *
39
39
  * The catalogues live in `./blueprints` and `./experimental-effects`; this module
40
- * holds no data. {@link ShipLoadout.applyBlueprint} uses this calculator, then presents
41
- * its result in Frontier's journal form.
40
+ * holds no data.
42
41
  *
43
42
  * @example
44
43
  * ```ts
@@ -1 +1 @@
1
- export{computeModifiers,sumMaterials}from"../chunk-A7IVMYNF.js"; //# sourceMappingURL=engineering.js.map
1
+ export{computeModifiers,sumMaterials}from"../chunk-U73MBQ45.js"; //# sourceMappingURL=engineering.js.map
@@ -41,7 +41,7 @@ declare const EXPERIMENTAL_EFFECT_COSTS: Readonly<Record<string, readonly Engine
41
41
  *
42
42
  * @remarks
43
43
  * Materials are the whole cost: an experimental effect charges no Merc Coin, unlike the
44
- * 25 blueprints whose {@link ships/blueprint-costs!getBlueprintCost | getBlueprintCost}
44
+ * blueprints whose {@link ships/blueprint-costs!getBlueprintCost | getBlueprintCost}
45
45
  * reports a non-zero `mercCoins`.
46
46
  *
47
47
  * @param experimentalEffectSymbol - The effect id, e.g. `"special_fsd_heavy"`, matched
@@ -49,9 +49,9 @@ type ShipGunsightCatalogue = Readonly<Record<string, ShipGunsight>>;
49
49
  * by {@link ships!SHIPS | SHIPS}.
50
50
  *
51
51
  * @remarks
52
- * The map, each hull array and every offset pair are deeply frozen. It contains 48
53
- * hulls and 234 hardpoints. Importing this module adds only the compact offset map; it
54
- * does not import the ship or outfitting catalogues.
52
+ * The map, each hull array and every offset pair are deeply frozen. It covers every
53
+ * hardpoint of every player-flyable hull. Importing this module adds only the compact
54
+ * offset map; it does not import the ship or outfitting catalogues.
55
55
  *
56
56
  * @example
57
57
  * ```ts
@@ -13,7 +13,7 @@
13
13
  * settles at heatLevel = √(thermal load / heatDissipation)
14
14
  * ```
15
15
  *
16
- * Two consequences are worth stating outright, because they are what the numbers mean:
16
+ * Two consequences follow, and they are what the numbers mean:
17
17
  * a build whose thermal load stays under the hull's `heatDissipation` **always settles**
18
18
  * below heat level `1` and never overheats, however long it holds the trigger; and one
19
19
  * whose load goes over it **never settles** — heat climbs until the ship cooks, and the
@@ -28,7 +28,7 @@
28
28
  * {@link ships/default-loadouts!DEFAULT_LOADOUTS | default-loadouts} subpath carries
29
29
  * the stock modules {@link ShipLoadout.default} turns into a live build.
30
30
  * - **Modules** — the {@link OutfittingModule} type and the lookups
31
- * ({@link getModuleBySymbol} & co.), which search all 1194 modules unless you hand
31
+ * ({@link getModuleBySymbol} & co.), which search the whole catalogue unless you hand
32
32
  * them a narrower set; capability guards such as {@link hasWeaponDamageStats} narrow
33
33
  * the sparse record before stat access. The catalogues live on explicit subpaths split
34
34
  * by Frontier's four outfitting categories —
@@ -111,8 +111,8 @@
111
111
  * ```
112
112
  *
113
113
  * @example
114
- * **The lookup layer.** One small hull catalogue, and 1194 modules split by Frontier's
115
- * four outfitting categories. Lookups ignore case and surrounding whitespace.
114
+ * **The lookup layer.** One small hull catalogue, and the outfitting modules split by
115
+ * Frontier's four categories. Lookups ignore case and surrounding whitespace.
116
116
  *
117
117
  * ```ts
118
118
  * import { getShipBySymbol } from '@elite-dangerous-almanac/core/ships/ships';
@@ -121,8 +121,7 @@
121
121
  *
122
122
  * getShipBySymbol('empire_trader')?.name; // -> 'Imperial Clipper'
123
123
  *
124
- * // Pass a category to bound what you bundle; omit it to search all 1194.
125
- * CORE_MODULES.length; // -> 516
124
+ * // Pass a category to bound what you bundle; omit it to search every module.
126
125
  * getModuleBySymbol('Int_Hyperdrive_Size6_Class5', CORE_MODULES)?.name;
127
126
  * // -> 'Frame Shift Drive'
128
127
  * ```
@@ -1 +1 @@
1
- export{LoadoutEditError,ShipLoadout}from"../chunk-SC4MEHVY.js";export{validateLoadout}from"../chunk-3GNYPM6J.js";export{hasFrameShiftDriveJumpStats,hasMassCurveStats,hasPowerDistributorStats,hasPowerGenerationStats,hasShieldRegenerationStats,hasWeaponDamageStats}from"../chunk-JTQVWIGL.js";export{OUTFITTING_FAMILIES}from"../chunk-M6G3UDTX.js";export{SHIP_MODULE_LIMITS,calculateModuleLimits}from"../chunk-KPETDYQX.js";export{SHIP_GUNSIGHTS,getShipGunsight,projectGunsight}from"../chunk-XSN53F7W.js";export{BuildMetrics}from"../chunk-YJAH6DFY.js";export{weaponsCapacitorMetrics}from"../chunk-M4FZRDAH.js";export{shieldCapacitorMetrics}from"../chunk-JCYOE3C4.js";export{cellBankSummary,shieldRecovery}from"../chunk-JMAXSXXQ.js"; export{armourPiercingFactor,combinedRateOfFire,damageFalloff,damagePerSecond,energyPerSecond,heatPerSecond,splitDamage,sumWeaponMetrics,sustainedDamagePerSecond,sustainedFireFactor,weaponMetrics}from"../chunk-2OBUSQA7.js";export{shieldMassCurveMultiplier,shieldMetrics,shieldStrength}from"../chunk-5VWACBTN.js";export{SHIPS,getShipByName,getShipBySymbol,getShipSlots}from"../chunk-6UNAD74Z.js";export{getLoadoutModifier,inspectSlef,parseSlef,stringifySlef,toSlef}from"../chunk-T4MKUKYS.js";export{getSourceModuleValue,sourcePurchaseFromLoadout,sumSourceModuleValues}from"../chunk-NIURLW2F.js";export{powerBudget}from"../chunk-GGQMIQPC.js";export{getPreEngineeredJournalModifiers,getPreEngineeredModifiers,getPreEngineeredStats,identifyPreEngineeredVariant,unresolvedModifiers}from"../chunk-IN36YSS4.js";export{getBulkheadsForShip,getModuleBySymbol,getModulesByName}from"../chunk-5YEHJM6V.js";export{PRE_ENGINEERED_MODULES,getPreEngineeredVariants,isPreEngineered}from"../chunk-BJU27V6C.js"; export{mobilityCapacitorMetrics}from"../chunk-VEEBJFJ7.js";export{mobilityMetrics,thrusterMassCurveMultiplier}from"../chunk-A4QKXXZD.js"; export{EXPERIMENTAL_EFFECTS,getExperimentalEffect}from"../chunk-77I24V6B.js";export{OVERHEAT_HEAT_LEVEL,effectiveWeaponThermalLoad,equilibriumHeatLevel,heatLevelAtTime,heatMetrics,secondsToHeatLevel}from"../chunk-6HA2YIKW.js";export{frameShiftDriveMassFactor,fuelPerJump,singleJumpRange,totalRange}from"../chunk-VTMCSCXV.js";export{calculateCargoCapacity,calculateFuelCapacity,calculatePassengerCapacity,calculateUnladenMass}from"../chunk-C3LLPLLD.js";export{armourMetrics}from"../chunk-Q5ALV3DI.js";export{effectiveHitPoints,mapDamageTypes,stackArmourResistance,stackShieldResistance,systemsResistance}from"../chunk-F44QX47A.js"; export{computeModifiers,sumMaterials}from"../chunk-A7IVMYNF.js"; export{resolveBlueprintForModule}from"../chunk-XSLPWM5N.js";export{BLUEPRINTS,getBlueprint,getBlueprintGrade}from"../chunk-AYAKU4YA.js"; export{distributorMetrics}from"../chunk-M2TCZKRT.js"; export{ENGINEERING_OPTION_GROUPS,getBlueprintsForModule,getEngineeringGroup,getExperimentalsForBlueprint,getExperimentalsForModule}from"../chunk-EHFHRQEP.js";export{ammunitionCapacity}from"../chunk-AA3K5XUE.js"; export{SLOT_RESTRICTION_LABELS,enumerateSlots,parseSlotName}from"../chunk-RAO35XDF.js"; //# sourceMappingURL=index.js.map
1
+ export{LoadoutEditError,ShipLoadout}from"../chunk-HIJR7DOC.js";export{validateLoadout}from"../chunk-3GNYPM6J.js";export{SHIP_MODULE_LIMITS,calculateModuleLimits}from"../chunk-KPETDYQX.js";export{hasFrameShiftDriveJumpStats,hasMassCurveStats,hasPowerDistributorStats,hasPowerGenerationStats,hasShieldRegenerationStats,hasWeaponDamageStats}from"../chunk-JTQVWIGL.js";export{OUTFITTING_FAMILIES}from"../chunk-M6G3UDTX.js";export{SHIP_GUNSIGHTS,getShipGunsight,projectGunsight}from"../chunk-XSN53F7W.js";export{BuildMetrics}from"../chunk-G7WARJ3X.js";export{weaponsCapacitorMetrics}from"../chunk-M4FZRDAH.js";export{shieldCapacitorMetrics}from"../chunk-XQJERZUS.js";export{cellBankSummary,shieldRecovery}from"../chunk-JMAXSXXQ.js"; export{getLoadoutModifier,inspectSlef,parseSlef,stringifySlef,toSlef}from"../chunk-T4MKUKYS.js";export{getSourceModuleValue,sourcePurchaseFromLoadout,sumSourceModuleValues}from"../chunk-NIURLW2F.js";export{armourPiercingFactor,combinedRateOfFire,damageFalloff,damagePerSecond,energyPerSecond,heatPerSecond,splitDamage,sumWeaponMetrics,sustainedDamagePerSecond,sustainedFireFactor,weaponMetrics}from"../chunk-AAU7OM47.js";export{getPreEngineeredJournalModifiers,getPreEngineeredModifiers,getPreEngineeredStats,identifyPreEngineeredVariant,unresolvedModifiers}from"../chunk-C3YZ5KTA.js";export{PRE_ENGINEERED_MODULES,getPreEngineeredVariants,isPreEngineered}from"../chunk-AUBV6S7V.js";export{shieldMassCurveMultiplier,shieldMetrics,shieldStrength}from"../chunk-5VWACBTN.js";export{SHIPS,getShipByName,getShipBySymbol,getShipSlots}from"../chunk-C4FUV6GF.js";export{getBulkheadsForShip,getModuleBySymbol,getModulesByName}from"../chunk-OSMBAFRW.js"; export{powerBudget}from"../chunk-GGQMIQPC.js";export{frameShiftDriveMassFactor,fuelPerJump,singleJumpRange,totalRange}from"../chunk-VTMCSCXV.js";export{calculateCargoCapacity,calculateFuelCapacity,calculatePassengerCapacity,calculateUnladenMass}from"../chunk-C3LLPLLD.js"; export{mobilityCapacitorMetrics}from"../chunk-VEEBJFJ7.js";export{mobilityMetrics,thrusterMassCurveMultiplier}from"../chunk-A4QKXXZD.js"; export{distributorMetrics}from"../chunk-M2TCZKRT.js"; export{EXPERIMENTAL_EFFECTS,getExperimentalEffect}from"../chunk-77I24V6B.js";export{OVERHEAT_HEAT_LEVEL,effectiveWeaponThermalLoad,equilibriumHeatLevel,heatLevelAtTime,heatMetrics,secondsToHeatLevel}from"../chunk-6HA2YIKW.js";export{ammunitionCapacity}from"../chunk-AA3K5XUE.js";export{armourMetrics}from"../chunk-Q5ALV3DI.js";export{effectiveHitPoints,mapDamageTypes,stackArmourResistance,stackShieldResistance,systemsResistance}from"../chunk-F44QX47A.js"; export{computeModifiers,sumMaterials}from"../chunk-U73MBQ45.js"; export{resolveBlueprintForModule}from"../chunk-2J6NNI3Y.js";export{ENGINEERING_OPTION_GROUPS,getBlueprintsForModule,getEngineeringGroup,getExperimentalsForBlueprint,getExperimentalsForModule}from"../chunk-M4STXLXO.js";export{BLUEPRINTS,getBlueprint,getBlueprintGrade}from"../chunk-AYAKU4YA.js"; export{SLOT_RESTRICTION_LABELS,enumerateSlots,parseSlotName}from"../chunk-RAO35XDF.js"; //# sourceMappingURL=index.js.map
@@ -31,7 +31,7 @@ type LoadoutIssueCode = 'duplicateSlot' | 'unknownSlot' | 'missingRequiredSlot'
31
31
  * @remarks
32
32
  * `dry` is the fit alone — hull plus modules, an empty tank and no cargo. `unladen`
33
33
  * adds a full main tank, and is the figure the game and every outfitting tool call a
34
- * ship's unladen mass; note that {@link ships!ShipLoadout.unladenMass} is the `dry`
34
+ * ship's unladen mass; {@link ships!ShipLoadout.unladenMass} is the `dry`
35
35
  * figure, because that is what a journal's `UnladenMass` states. `laden` adds a full
36
36
  * hold on top.
37
37
  *
@@ -32,7 +32,7 @@ type OutfittingFamilyId = 'armour' | 'powerPlants' | 'engines' | 'fsd' | 'lifeSu
32
32
  *
33
33
  * @remarks
34
34
  * The names are Frontier's own outfitting category labels where the game publishes one,
35
- * and the Almanac's descriptive name for the 19 families it does not. They are
35
+ * and the Almanac's descriptive name for the families it does not. They are
36
36
  * canonical English, not localized UI text: use
37
37
  * `getOutfittingFamilyName` for a locale.
38
38
  *
@@ -9,7 +9,7 @@ import './slots.js';
9
9
  *
10
10
  * @remarks
11
11
  * **This module pulls in every module catalogue** — it exists for consumers that
12
- * really do want to search all 1194 modules (a "resolve any module id" lookup, say).
12
+ * really do want to search every module (a "resolve any module id" lookup, say).
13
13
  * If you only need one category, import that catalogue's module
14
14
  * (`./modules-core`, `./modules-internal`, `./modules-hardpoint`,
15
15
  * `./modules-utility`) and nothing else gets bundled.
@@ -35,8 +35,7 @@ import './slots.js';
35
35
  * ```ts
36
36
  * import { ALL_MODULES } from '@elite-dangerous-almanac/core/ships/modules-all';
37
37
  *
38
- * ALL_MODULES.length; // -> 1194
39
- * ALL_MODULES.filter((m) => m.category === 'utility').length; // -> 35
38
+ * ALL_MODULES.find((m) => m.symbol === 'Hpt_PulseLaser_Fixed_Small')?.category; // -> 'hardpoint'
40
39
  * ```
41
40
  */
42
41
  declare const ALL_MODULES: readonly OutfittingModule[];
@@ -1 +1 @@
1
- export{ALL_MODULES}from"../chunk-MT5AHPNP.js"; //# sourceMappingURL=modules-all.js.map
1
+ export{ALL_MODULES}from"../chunk-UVX7RCMP.js"; //# sourceMappingURL=modules-all.js.map
@@ -20,20 +20,20 @@ import './slots.js';
20
20
  */
21
21
 
22
22
  /**
23
- * All 516 core internal modules, in Frontier's registry order.
23
+ * Every core internal module, in Frontier's registry order.
24
24
  *
25
25
  * @remarks
26
26
  * Every record has `category: 'core'`, added from the file it was read from
27
27
  * rather than repeated on every record. To keep the other three categories out of
28
28
  * your bundle, search this array directly — `CORE_MODULES.find((m) =>
29
29
  * m.symbol.toLowerCase() === wanted)`, lower-cased because a journal's symbols are —
30
- * rather than with the lookups in `./modules`, which default to all 1194 modules.
30
+ * rather than with the lookups in `./modules`, which default to the whole catalogue.
31
31
  *
32
32
  * @example
33
33
  * ```ts
34
34
  * import { CORE_MODULES } from '@elite-dangerous-almanac/core/ships/modules-core';
35
35
  *
36
- * CORE_MODULES.length; // -> 516
36
+ * CORE_MODULES.find((m) => m.symbol === 'Int_Powerplant_Size3_Class5')?.rating; // -> 'A'
37
37
  * ```
38
38
  */
39
39
  declare const CORE_MODULES: readonly OutfittingModule[];