playlist-data-engine 1.1.0

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 (345) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +352 -0
  3. package/dist/__vite-browser-external-DYxpcVy9.js +4 -0
  4. package/dist/constants/DefaultClasses.d.ts +46 -0
  5. package/dist/constants/DefaultClasses.d.ts.map +1 -0
  6. package/dist/constants/DefaultEnchantments.d.ts +337 -0
  7. package/dist/constants/DefaultEnchantments.d.ts.map +1 -0
  8. package/dist/constants/DefaultEnemies.d.ts +83 -0
  9. package/dist/constants/DefaultEnemies.d.ts.map +1 -0
  10. package/dist/constants/DefaultEquipment.d.ts +23 -0
  11. package/dist/constants/DefaultEquipment.d.ts.map +1 -0
  12. package/dist/constants/DefaultFeatures.d.ts +22 -0
  13. package/dist/constants/DefaultFeatures.d.ts.map +1 -0
  14. package/dist/constants/DefaultRaces.d.ts +102 -0
  15. package/dist/constants/DefaultRaces.d.ts.map +1 -0
  16. package/dist/constants/DefaultSkills.d.ts +26 -0
  17. package/dist/constants/DefaultSkills.d.ts.map +1 -0
  18. package/dist/constants/DefaultSpells.d.ts +41 -0
  19. package/dist/constants/DefaultSpells.d.ts.map +1 -0
  20. package/dist/constants/EncounterBalance.d.ts +208 -0
  21. package/dist/constants/EncounterBalance.d.ts.map +1 -0
  22. package/dist/constants/EnemyEquipment.d.ts +71 -0
  23. package/dist/constants/EnemyEquipment.d.ts.map +1 -0
  24. package/dist/constants/EnemyRarity.d.ts +79 -0
  25. package/dist/constants/EnemyRarity.d.ts.map +1 -0
  26. package/dist/constants/EnemyTemplates/Construct.d.ts +63 -0
  27. package/dist/constants/EnemyTemplates/Construct.d.ts.map +1 -0
  28. package/dist/constants/EnemyTemplates/Dragon.d.ts +68 -0
  29. package/dist/constants/EnemyTemplates/Dragon.d.ts.map +1 -0
  30. package/dist/constants/EnemyTemplates/Elemental.d.ts +64 -0
  31. package/dist/constants/EnemyTemplates/Elemental.d.ts.map +1 -0
  32. package/dist/constants/EnemyTemplates/Fiend.d.ts +62 -0
  33. package/dist/constants/EnemyTemplates/Fiend.d.ts.map +1 -0
  34. package/dist/constants/EnemyTemplates/Monstrosity.d.ts +63 -0
  35. package/dist/constants/EnemyTemplates/Monstrosity.d.ts.map +1 -0
  36. package/dist/constants/EnemyTemplates/Undead.d.ts +61 -0
  37. package/dist/constants/EnemyTemplates/Undead.d.ts.map +1 -0
  38. package/dist/constants/ItemTemplates.d.ts +40 -0
  39. package/dist/constants/ItemTemplates.d.ts.map +1 -0
  40. package/dist/constants/MagicItems.d.ts +30 -0
  41. package/dist/constants/MagicItems.d.ts.map +1 -0
  42. package/dist/constants/SpellSlots.d.ts +30 -0
  43. package/dist/constants/SpellSlots.d.ts.map +1 -0
  44. package/dist/constants/StatScaling.d.ts +113 -0
  45. package/dist/constants/StatScaling.d.ts.map +1 -0
  46. package/dist/core/analysis/AudioAnalyzer.d.ts +599 -0
  47. package/dist/core/analysis/AudioAnalyzer.d.ts.map +1 -0
  48. package/dist/core/analysis/ColorExtractor.d.ts +64 -0
  49. package/dist/core/analysis/ColorExtractor.d.ts.map +1 -0
  50. package/dist/core/analysis/EssentiaPitchDetector.d.ts +282 -0
  51. package/dist/core/analysis/EssentiaPitchDetector.d.ts.map +1 -0
  52. package/dist/core/analysis/LevelSerializer.d.ts +265 -0
  53. package/dist/core/analysis/LevelSerializer.d.ts.map +1 -0
  54. package/dist/core/analysis/MelodyContourAnalyzer.d.ts +283 -0
  55. package/dist/core/analysis/MelodyContourAnalyzer.d.ts.map +1 -0
  56. package/dist/core/analysis/MultiBandAnalyzer.d.ts +214 -0
  57. package/dist/core/analysis/MultiBandAnalyzer.d.ts.map +1 -0
  58. package/dist/core/analysis/MusicClassifier.d.ts +524 -0
  59. package/dist/core/analysis/MusicClassifier.d.ts.map +1 -0
  60. package/dist/core/analysis/PitchAnalyzer.d.ts +266 -0
  61. package/dist/core/analysis/PitchAnalyzer.d.ts.map +1 -0
  62. package/dist/core/analysis/PitchDetector.d.ts +251 -0
  63. package/dist/core/analysis/PitchDetector.d.ts.map +1 -0
  64. package/dist/core/analysis/SpectrumScanner.d.ts +52 -0
  65. package/dist/core/analysis/SpectrumScanner.d.ts.map +1 -0
  66. package/dist/core/analysis/beat/BeatInterpolator.d.ts +477 -0
  67. package/dist/core/analysis/beat/BeatInterpolator.d.ts.map +1 -0
  68. package/dist/core/analysis/beat/BeatMapGenerator.d.ts +170 -0
  69. package/dist/core/analysis/beat/BeatMapGenerator.d.ts.map +1 -0
  70. package/dist/core/analysis/beat/BeatStream.d.ts +316 -0
  71. package/dist/core/analysis/beat/BeatStream.d.ts.map +1 -0
  72. package/dist/core/analysis/beat/BeatSubdivider.d.ts +205 -0
  73. package/dist/core/analysis/beat/BeatSubdivider.d.ts.map +1 -0
  74. package/dist/core/analysis/beat/BeatTracker.d.ts +137 -0
  75. package/dist/core/analysis/beat/BeatTracker.d.ts.map +1 -0
  76. package/dist/core/analysis/beat/CompositeStreamGenerator.d.ts +180 -0
  77. package/dist/core/analysis/beat/CompositeStreamGenerator.d.ts.map +1 -0
  78. package/dist/core/analysis/beat/DensityAnalyzer.d.ts +246 -0
  79. package/dist/core/analysis/beat/DensityAnalyzer.d.ts.map +1 -0
  80. package/dist/core/analysis/beat/DifficultyVariantGenerator.d.ts +1082 -0
  81. package/dist/core/analysis/beat/DifficultyVariantGenerator.d.ts.map +1 -0
  82. package/dist/core/analysis/beat/GrooveAnalyzer.d.ts +192 -0
  83. package/dist/core/analysis/beat/GrooveAnalyzer.d.ts.map +1 -0
  84. package/dist/core/analysis/beat/OnsetStrengthEnvelope.d.ts +133 -0
  85. package/dist/core/analysis/beat/OnsetStrengthEnvelope.d.ts.map +1 -0
  86. package/dist/core/analysis/beat/PhraseAnalyzer.d.ts +230 -0
  87. package/dist/core/analysis/beat/PhraseAnalyzer.d.ts.map +1 -0
  88. package/dist/core/analysis/beat/RhythmQuantizer.d.ts +399 -0
  89. package/dist/core/analysis/beat/RhythmQuantizer.d.ts.map +1 -0
  90. package/dist/core/analysis/beat/RhythmicBalancer.d.ts +262 -0
  91. package/dist/core/analysis/beat/RhythmicBalancer.d.ts.map +1 -0
  92. package/dist/core/analysis/beat/StreamScorer.d.ts +275 -0
  93. package/dist/core/analysis/beat/StreamScorer.d.ts.map +1 -0
  94. package/dist/core/analysis/beat/TempoAwareQuantizer.d.ts +256 -0
  95. package/dist/core/analysis/beat/TempoAwareQuantizer.d.ts.map +1 -0
  96. package/dist/core/analysis/beat/TempoDetector.d.ts +220 -0
  97. package/dist/core/analysis/beat/TempoDetector.d.ts.map +1 -0
  98. package/dist/core/analysis/beat/TransientDetector.d.ts +303 -0
  99. package/dist/core/analysis/beat/TransientDetector.d.ts.map +1 -0
  100. package/dist/core/analysis/beat/beatKeyHelpers.d.ts +180 -0
  101. package/dist/core/analysis/beat/beatKeyHelpers.d.ts.map +1 -0
  102. package/dist/core/analysis/beat/index.d.ts +41 -0
  103. package/dist/core/analysis/beat/index.d.ts.map +1 -0
  104. package/dist/core/analysis/beat/utils/audioUtils.d.ts +204 -0
  105. package/dist/core/analysis/beat/utils/audioUtils.d.ts.map +1 -0
  106. package/dist/core/analysis/beat/utils/beatInterpolationDebug.d.ts +404 -0
  107. package/dist/core/analysis/beat/utils/beatInterpolationDebug.d.ts.map +1 -0
  108. package/dist/core/analysis/beat/utils/subdivideBeatMap.d.ts +61 -0
  109. package/dist/core/analysis/beat/utils/subdivideBeatMap.d.ts.map +1 -0
  110. package/dist/core/analysis/beat/utils/unifyBeatMap.d.ts +33 -0
  111. package/dist/core/analysis/beat/utils/unifyBeatMap.d.ts.map +1 -0
  112. package/dist/core/analysis/index.d.ts +18 -0
  113. package/dist/core/analysis/index.d.ts.map +1 -0
  114. package/dist/core/combat/AI/AICombatRunner.d.ts +108 -0
  115. package/dist/core/combat/AI/AICombatRunner.d.ts.map +1 -0
  116. package/dist/core/combat/AI/CombatAI.d.ts +179 -0
  117. package/dist/core/combat/AI/CombatAI.d.ts.map +1 -0
  118. package/dist/core/combat/AI/CombatMetricsTracker.d.ts +30 -0
  119. package/dist/core/combat/AI/CombatMetricsTracker.d.ts.map +1 -0
  120. package/dist/core/combat/Analysis/BalanceValidator.d.ts +170 -0
  121. package/dist/core/combat/Analysis/BalanceValidator.d.ts.map +1 -0
  122. package/dist/core/combat/Analysis/ComparativeAnalyzer.d.ts +231 -0
  123. package/dist/core/combat/Analysis/ComparativeAnalyzer.d.ts.map +1 -0
  124. package/dist/core/combat/Analysis/DifficultyCalculator.d.ts +203 -0
  125. package/dist/core/combat/Analysis/DifficultyCalculator.d.ts.map +1 -0
  126. package/dist/core/combat/Analysis/ParameterSweep.d.ts +201 -0
  127. package/dist/core/combat/Analysis/ParameterSweep.d.ts.map +1 -0
  128. package/dist/core/combat/AttackResolver.d.ts +220 -0
  129. package/dist/core/combat/AttackResolver.d.ts.map +1 -0
  130. package/dist/core/combat/CombatEngine.d.ts +388 -0
  131. package/dist/core/combat/CombatEngine.d.ts.map +1 -0
  132. package/dist/core/combat/DiceRoller.d.ts +115 -0
  133. package/dist/core/combat/DiceRoller.d.ts.map +1 -0
  134. package/dist/core/combat/InitiativeRoller.d.ts +62 -0
  135. package/dist/core/combat/InitiativeRoller.d.ts.map +1 -0
  136. package/dist/core/combat/PartyAnalyzer.d.ts +215 -0
  137. package/dist/core/combat/PartyAnalyzer.d.ts.map +1 -0
  138. package/dist/core/combat/SeededDiceRoller.d.ts +120 -0
  139. package/dist/core/combat/SeededDiceRoller.d.ts.map +1 -0
  140. package/dist/core/combat/Simulation/CombatSimulator.d.ts +366 -0
  141. package/dist/core/combat/Simulation/CombatSimulator.d.ts.map +1 -0
  142. package/dist/core/combat/SpellCaster.d.ts +113 -0
  143. package/dist/core/combat/SpellCaster.d.ts.map +1 -0
  144. package/dist/core/config/index.d.ts +24 -0
  145. package/dist/core/config/index.d.ts.map +1 -0
  146. package/dist/core/config/progressionConfig.d.ts +73 -0
  147. package/dist/core/config/progressionConfig.d.ts.map +1 -0
  148. package/dist/core/config/sensorConfig.d.ts +134 -0
  149. package/dist/core/config/sensorConfig.d.ts.map +1 -0
  150. package/dist/core/equipment/BoxOpener.d.ts +175 -0
  151. package/dist/core/equipment/BoxOpener.d.ts.map +1 -0
  152. package/dist/core/equipment/EquipmentEffectApplier.d.ts +189 -0
  153. package/dist/core/equipment/EquipmentEffectApplier.d.ts.map +1 -0
  154. package/dist/core/equipment/EquipmentModifier.d.ts +327 -0
  155. package/dist/core/equipment/EquipmentModifier.d.ts.map +1 -0
  156. package/dist/core/equipment/EquipmentSpawnHelper.d.ts +246 -0
  157. package/dist/core/equipment/EquipmentSpawnHelper.d.ts.map +1 -0
  158. package/dist/core/equipment/EquipmentValidator.d.ts +173 -0
  159. package/dist/core/equipment/EquipmentValidator.d.ts.map +1 -0
  160. package/dist/core/extensions/ExtensionManager.d.ts +517 -0
  161. package/dist/core/extensions/ExtensionManager.d.ts.map +1 -0
  162. package/dist/core/extensions/WeightedSelector.d.ts +156 -0
  163. package/dist/core/extensions/WeightedSelector.d.ts.map +1 -0
  164. package/dist/core/extensions/index.d.ts +11 -0
  165. package/dist/core/extensions/index.d.ts.map +1 -0
  166. package/dist/core/extensions/initializeDefaults.d.ts +170 -0
  167. package/dist/core/extensions/initializeDefaults.d.ts.map +1 -0
  168. package/dist/core/features/FeatureEffectApplier.d.ts +102 -0
  169. package/dist/core/features/FeatureEffectApplier.d.ts.map +1 -0
  170. package/dist/core/features/FeatureQuery.d.ts +368 -0
  171. package/dist/core/features/FeatureQuery.d.ts.map +1 -0
  172. package/dist/core/features/FeatureTypes.d.ts +199 -0
  173. package/dist/core/features/FeatureTypes.d.ts.map +1 -0
  174. package/dist/core/features/FeatureValidator.d.ts +149 -0
  175. package/dist/core/features/FeatureValidator.d.ts.map +1 -0
  176. package/dist/core/features/index.d.ts +12 -0
  177. package/dist/core/features/index.d.ts.map +1 -0
  178. package/dist/core/generation/AbilityScoreCalculator.d.ts +83 -0
  179. package/dist/core/generation/AbilityScoreCalculator.d.ts.map +1 -0
  180. package/dist/core/generation/AppearanceGenerator.d.ts +32 -0
  181. package/dist/core/generation/AppearanceGenerator.d.ts.map +1 -0
  182. package/dist/core/generation/BeatConverter.d.ts +127 -0
  183. package/dist/core/generation/BeatConverter.d.ts.map +1 -0
  184. package/dist/core/generation/ButtonMapper.d.ts +346 -0
  185. package/dist/core/generation/ButtonMapper.d.ts.map +1 -0
  186. package/dist/core/generation/ButtonPatternLibrary.d.ts +92 -0
  187. package/dist/core/generation/ButtonPatternLibrary.d.ts.map +1 -0
  188. package/dist/core/generation/CRLevelConverter.d.ts +242 -0
  189. package/dist/core/generation/CRLevelConverter.d.ts.map +1 -0
  190. package/dist/core/generation/CharacterGenerator.d.ts +194 -0
  191. package/dist/core/generation/CharacterGenerator.d.ts.map +1 -0
  192. package/dist/core/generation/ClassSuggester.d.ts +184 -0
  193. package/dist/core/generation/ClassSuggester.d.ts.map +1 -0
  194. package/dist/core/generation/EnemyEquipmentGenerator.d.ts +151 -0
  195. package/dist/core/generation/EnemyEquipmentGenerator.d.ts.map +1 -0
  196. package/dist/core/generation/EnemyGenerator.d.ts +595 -0
  197. package/dist/core/generation/EnemyGenerator.d.ts.map +1 -0
  198. package/dist/core/generation/EquipmentGenerator.d.ts +204 -0
  199. package/dist/core/generation/EquipmentGenerator.d.ts.map +1 -0
  200. package/dist/core/generation/LegendaryGenerator.d.ts +213 -0
  201. package/dist/core/generation/LegendaryGenerator.d.ts.map +1 -0
  202. package/dist/core/generation/LevelGenerator.d.ts +390 -0
  203. package/dist/core/generation/LevelGenerator.d.ts.map +1 -0
  204. package/dist/core/generation/NamingEngine.d.ts +136 -0
  205. package/dist/core/generation/NamingEngine.d.ts.map +1 -0
  206. package/dist/core/generation/PitchBeatLinker.d.ts +150 -0
  207. package/dist/core/generation/PitchBeatLinker.d.ts.map +1 -0
  208. package/dist/core/generation/RaceSelector.d.ts +58 -0
  209. package/dist/core/generation/RaceSelector.d.ts.map +1 -0
  210. package/dist/core/generation/RhythmGenerator.d.ts +597 -0
  211. package/dist/core/generation/RhythmGenerator.d.ts.map +1 -0
  212. package/dist/core/generation/SkillAssigner.d.ts +78 -0
  213. package/dist/core/generation/SkillAssigner.d.ts.map +1 -0
  214. package/dist/core/generation/SpellManager.d.ts +132 -0
  215. package/dist/core/generation/SpellManager.d.ts.map +1 -0
  216. package/dist/core/generation/SpellcastingGenerator.d.ts +255 -0
  217. package/dist/core/generation/SpellcastingGenerator.d.ts.map +1 -0
  218. package/dist/core/generation/index.d.ts +41 -0
  219. package/dist/core/generation/index.d.ts.map +1 -0
  220. package/dist/core/parser/MetadataExtractor.d.ts +66 -0
  221. package/dist/core/parser/MetadataExtractor.d.ts.map +1 -0
  222. package/dist/core/parser/PlaylistParser.d.ts +45 -0
  223. package/dist/core/parser/PlaylistParser.d.ts.map +1 -0
  224. package/dist/core/playback/SubdivisionPlaybackController.d.ts +333 -0
  225. package/dist/core/playback/SubdivisionPlaybackController.d.ts.map +1 -0
  226. package/dist/core/playback/index.d.ts +5 -0
  227. package/dist/core/playback/index.d.ts.map +1 -0
  228. package/dist/core/progression/CharacterUpdater.d.ts +203 -0
  229. package/dist/core/progression/CharacterUpdater.d.ts.map +1 -0
  230. package/dist/core/progression/LevelUpProcessor.d.ts +234 -0
  231. package/dist/core/progression/LevelUpProcessor.d.ts.map +1 -0
  232. package/dist/core/progression/PrestigeSystem.d.ts +217 -0
  233. package/dist/core/progression/PrestigeSystem.d.ts.map +1 -0
  234. package/dist/core/progression/RhythmXPCalculator.d.ts +182 -0
  235. package/dist/core/progression/RhythmXPCalculator.d.ts.map +1 -0
  236. package/dist/core/progression/SessionTracker.d.ts +169 -0
  237. package/dist/core/progression/SessionTracker.d.ts.map +1 -0
  238. package/dist/core/progression/XPCalculator.d.ts +128 -0
  239. package/dist/core/progression/XPCalculator.d.ts.map +1 -0
  240. package/dist/core/progression/stat/StatIncreaseStrategy.d.ts +97 -0
  241. package/dist/core/progression/stat/StatIncreaseStrategy.d.ts.map +1 -0
  242. package/dist/core/progression/stat/StatManager.d.ts +179 -0
  243. package/dist/core/progression/stat/StatManager.d.ts.map +1 -0
  244. package/dist/core/sensors/EnvironmentalSensors.d.ts +301 -0
  245. package/dist/core/sensors/EnvironmentalSensors.d.ts.map +1 -0
  246. package/dist/core/sensors/GamingPlatformSensors.d.ts +162 -0
  247. package/dist/core/sensors/GamingPlatformSensors.d.ts.map +1 -0
  248. package/dist/core/sensors/GeolocationProvider.d.ts +156 -0
  249. package/dist/core/sensors/GeolocationProvider.d.ts.map +1 -0
  250. package/dist/core/sensors/MotionDetector.d.ts +58 -0
  251. package/dist/core/sensors/MotionDetector.d.ts.map +1 -0
  252. package/dist/core/sensors/SteamAPIClient.d.ts +108 -0
  253. package/dist/core/sensors/SteamAPIClient.d.ts.map +1 -0
  254. package/dist/core/sensors/WeatherAPIClient.d.ts +360 -0
  255. package/dist/core/sensors/WeatherAPIClient.d.ts.map +1 -0
  256. package/dist/core/sensors/schemas/weather.schema.d.ts +144 -0
  257. package/dist/core/sensors/schemas/weather.schema.d.ts.map +1 -0
  258. package/dist/core/skills/SkillQuery.d.ts +159 -0
  259. package/dist/core/skills/SkillQuery.d.ts.map +1 -0
  260. package/dist/core/skills/SkillTypes.d.ts +233 -0
  261. package/dist/core/skills/SkillTypes.d.ts.map +1 -0
  262. package/dist/core/skills/SkillValidator.d.ts +146 -0
  263. package/dist/core/skills/SkillValidator.d.ts.map +1 -0
  264. package/dist/core/skills/index.d.ts +11 -0
  265. package/dist/core/skills/index.d.ts.map +1 -0
  266. package/dist/core/spells/SpellQuery.d.ts +194 -0
  267. package/dist/core/spells/SpellQuery.d.ts.map +1 -0
  268. package/dist/core/spells/SpellTypes.d.ts +71 -0
  269. package/dist/core/spells/SpellTypes.d.ts.map +1 -0
  270. package/dist/core/spells/SpellValidator.d.ts +129 -0
  271. package/dist/core/spells/SpellValidator.d.ts.map +1 -0
  272. package/dist/core/spells/index.d.ts +11 -0
  273. package/dist/core/spells/index.d.ts.map +1 -0
  274. package/dist/core/types/AudioProfile.d.ts +143 -0
  275. package/dist/core/types/AudioProfile.d.ts.map +1 -0
  276. package/dist/core/types/BeatMap.d.ts +1825 -0
  277. package/dist/core/types/BeatMap.d.ts.map +1 -0
  278. package/dist/core/types/ButtonMapping.d.ts +345 -0
  279. package/dist/core/types/ButtonMapping.d.ts.map +1 -0
  280. package/dist/core/types/Character.d.ts +397 -0
  281. package/dist/core/types/Character.d.ts.map +1 -0
  282. package/dist/core/types/ChartedBeatMap.d.ts +169 -0
  283. package/dist/core/types/ChartedBeatMap.d.ts.map +1 -0
  284. package/dist/core/types/Combat.d.ts +268 -0
  285. package/dist/core/types/Combat.d.ts.map +1 -0
  286. package/dist/core/types/CombatAI.d.ts +143 -0
  287. package/dist/core/types/CombatAI.d.ts.map +1 -0
  288. package/dist/core/types/Enemy.d.ts +447 -0
  289. package/dist/core/types/Enemy.d.ts.map +1 -0
  290. package/dist/core/types/Environmental.d.ts +213 -0
  291. package/dist/core/types/Environmental.d.ts.map +1 -0
  292. package/dist/core/types/Equipment.d.ts +309 -0
  293. package/dist/core/types/Equipment.d.ts.map +1 -0
  294. package/dist/core/types/ISessionTracker.d.ts +48 -0
  295. package/dist/core/types/ISessionTracker.d.ts.map +1 -0
  296. package/dist/core/types/LevelExport.d.ts +366 -0
  297. package/dist/core/types/LevelExport.d.ts.map +1 -0
  298. package/dist/core/types/Playlist.d.ts +70 -0
  299. package/dist/core/types/Playlist.d.ts.map +1 -0
  300. package/dist/core/types/Prestige.d.ts +94 -0
  301. package/dist/core/types/Prestige.d.ts.map +1 -0
  302. package/dist/core/types/Progression.d.ts +214 -0
  303. package/dist/core/types/Progression.d.ts.map +1 -0
  304. package/dist/core/types/RhythmXP.d.ts +398 -0
  305. package/dist/core/types/RhythmXP.d.ts.map +1 -0
  306. package/dist/core/utils/AbilityConstants.d.ts +31 -0
  307. package/dist/core/utils/AbilityConstants.d.ts.map +1 -0
  308. package/dist/core/utils/EffectApplierUtils.d.ts +56 -0
  309. package/dist/core/utils/EffectApplierUtils.d.ts.map +1 -0
  310. package/dist/core/utils/ImageValidator.d.ts +66 -0
  311. package/dist/core/utils/ImageValidator.d.ts.map +1 -0
  312. package/dist/core/utils/PrerequisiteValidator.d.ts +88 -0
  313. package/dist/core/utils/PrerequisiteValidator.d.ts.map +1 -0
  314. package/dist/essentia-wasm.es-BUEnKUts.js +2990 -0
  315. package/dist/essentia.js-model.es-CGA0xotH.js +306 -0
  316. package/dist/index.d.ts +176 -0
  317. package/dist/index.d.ts.map +1 -0
  318. package/dist/playlist-data-engine.js +124 -0
  319. package/dist/playlist-data-engine.mjs +49251 -0
  320. package/dist/utils/EnchantmentLibrary.d.ts +378 -0
  321. package/dist/utils/EnchantmentLibrary.d.ts.map +1 -0
  322. package/dist/utils/arweaveGatewayManager.d.ts +485 -0
  323. package/dist/utils/arweaveGatewayManager.d.ts.map +1 -0
  324. package/dist/utils/arweaveUtils.d.ts +118 -0
  325. package/dist/utils/arweaveUtils.d.ts.map +1 -0
  326. package/dist/utils/constants.d.ts +439 -0
  327. package/dist/utils/constants.d.ts.map +1 -0
  328. package/dist/utils/equipmentConstants.d.ts +60 -0
  329. package/dist/utils/equipmentConstants.d.ts.map +1 -0
  330. package/dist/utils/hash.d.ts +33 -0
  331. package/dist/utils/hash.d.ts.map +1 -0
  332. package/dist/utils/logger.d.ts +192 -0
  333. package/dist/utils/logger.d.ts.map +1 -0
  334. package/dist/utils/magicItemExamples.d.ts +46 -0
  335. package/dist/utils/magicItemExamples.d.ts.map +1 -0
  336. package/dist/utils/playlistUtils.d.ts +149 -0
  337. package/dist/utils/playlistUtils.d.ts.map +1 -0
  338. package/dist/utils/random.d.ts +34 -0
  339. package/dist/utils/random.d.ts.map +1 -0
  340. package/dist/utils/sensorDashboard.d.ts +60 -0
  341. package/dist/utils/sensorDashboard.d.ts.map +1 -0
  342. package/dist/utils/validators.d.ts +189 -0
  343. package/dist/utils/validators.d.ts.map +1 -0
  344. package/dist/vite.svg +1 -0
  345. package/package.json +82 -0
@@ -0,0 +1,215 @@
1
+ /**
2
+ * PartyAnalyzer - Analyzes party strength for encounter generation
3
+ *
4
+ * Provides methods to calculate party level, XP budget, and combat stats
5
+ * for generating balanced encounters based on D&D 5e encounter building rules.
6
+ *
7
+ * All methods are static for convenient access without instantiation.
8
+ */
9
+ import type { CharacterSheet } from '../types/Character.js';
10
+ import type { EncounterDifficulty } from '../types/Enemy.js';
11
+ /**
12
+ * Analysis result for a party's combat capabilities
13
+ *
14
+ * Provides comprehensive view of party strength for encounter generation.
15
+ * Used internally by encounter generation system to balance enemies.
16
+ */
17
+ export interface PartyAnalysis {
18
+ /** Average party level (rounded down) */
19
+ averageLevel: number;
20
+ /** Number of party members */
21
+ partySize: number;
22
+ /** Average armor class across all party members */
23
+ averageAC: number;
24
+ /** Average hit points across all party members */
25
+ averageHP: number;
26
+ /** Average damage output (estimated) */
27
+ averageDamage: number;
28
+ /** Total party strength score (abstract value) */
29
+ totalStrength: number;
30
+ /** XP budget for easy difficulty */
31
+ easyXP: number;
32
+ /** XP budget for medium difficulty */
33
+ mediumXP: number;
34
+ /** XP budget for hard difficulty */
35
+ hardXP: number;
36
+ /** XP budget for deadly difficulty */
37
+ deadlyXP: number;
38
+ }
39
+ /**
40
+ * PartyAnalyzer - Static class for party strength analysis
41
+ *
42
+ * Analyzes CharacterSheet instances to determine combat capabilities
43
+ * and calculate appropriate encounter XP budgets using D&D 5e rules.
44
+ *
45
+ * All methods handle edge cases:
46
+ * - Empty party arrays return safe defaults
47
+ * - Invalid character sheets are skipped
48
+ * - Levels are clamped to valid D&D range (1-20)
49
+ *
50
+ * @example
51
+ * ```typescript
52
+ * const party = [character1, character2, character3];
53
+ * const budget = PartyAnalyzer.getXPBudget(party, 'medium');
54
+ * const avgLevel = PartyAnalyzer.calculatePartyLevel(party);
55
+ * ```
56
+ */
57
+ export declare class PartyAnalyzer {
58
+ /**
59
+ * Calculate average party level
60
+ *
61
+ * Returns the average level of all party members, rounded down.
62
+ * Empty party returns level 1 as safe default.
63
+ *
64
+ * @param party - Array of CharacterSheet objects
65
+ * @returns Average level (1-20), or 1 for empty party
66
+ *
67
+ * @example
68
+ * ```typescript
69
+ * const party = [level3Char, level5Char, level4Char];
70
+ * PartyAnalyzer.calculatePartyLevel(party); // 4 (12 / 3 = 4)
71
+ * ```
72
+ */
73
+ static calculatePartyLevel(party: CharacterSheet[]): number;
74
+ /**
75
+ * Calculate overall party strength score
76
+ *
77
+ * Combines multiple factors into a single strength value:
78
+ * - HP pool (total hit points)
79
+ * - Average AC (defense)
80
+ * - Average damage output (offense)
81
+ * - Party size (action economy)
82
+ *
83
+ * This is an abstract score useful for comparing parties
84
+ * and tuning encounter difficulty.
85
+ *
86
+ * @param party - Array of CharacterSheet objects
87
+ * @returns Strength score (higher = stronger party)
88
+ *
89
+ * @example
90
+ * ```typescript
91
+ * const strength = PartyAnalyzer.calculatePartyStrength(party);
92
+ * // Returns ~500-2000 for typical level 1-10 parties
93
+ * ```
94
+ */
95
+ static calculatePartyStrength(party: CharacterSheet[]): number;
96
+ /**
97
+ * Get XP budget for desired encounter difficulty
98
+ *
99
+ * Calculates total XP budget for the entire party based on
100
+ * D&D 5e encounter building tables. Sum of individual budgets.
101
+ *
102
+ * @param party - Array of CharacterSheet objects
103
+ * @param difficulty - Desired encounter difficulty
104
+ * @returns Total XP budget for encounter
105
+ *
106
+ * @example
107
+ * ```typescript
108
+ * // Level 5 party of 4, medium difficulty
109
+ * const budget = PartyAnalyzer.getXPBudget(party, 'medium');
110
+ * // Returns: 2000 (500 × 4)
111
+ * ```
112
+ */
113
+ static getXPBudget(party: CharacterSheet[], difficulty: EncounterDifficulty): number;
114
+ /**
115
+ * Get average armor class across party
116
+ *
117
+ * Calculates mean AC for all party members.
118
+ * Used for tuning enemy attack bonuses to match party defense.
119
+ *
120
+ * @param party - Array of CharacterSheet objects
121
+ * @returns Average AC (typically 10-20), or 10 for empty party
122
+ *
123
+ * @example
124
+ * ```typescript
125
+ * const avgAC = PartyAnalyzer.getAverageAC(party);
126
+ * // Returns ~15 for typical level 5 party
127
+ * ```
128
+ */
129
+ static getAverageAC(party: CharacterSheet[]): number;
130
+ /**
131
+ * Get average hit points across party
132
+ *
133
+ * Calculates mean maximum HP for all party members.
134
+ * Used for tuning enemy damage output to match party durability.
135
+ *
136
+ * @param party - Array of CharacterSheet objects
137
+ * @returns Average HP, or 10 for empty party
138
+ *
139
+ * @example
140
+ * ```typescript
141
+ * const avgHP = PartyAnalyzer.getAverageHP(party);
142
+ * // Returns ~35-45 for level 5 party
143
+ * ```
144
+ */
145
+ static getAverageHP(party: CharacterSheet[]): number;
146
+ /**
147
+ * Get party size (number of members)
148
+ *
149
+ * Utility method for encounter scaling calculations.
150
+ * Returns count of valid CharacterSheet objects.
151
+ *
152
+ * @param party - Array of CharacterSheet objects
153
+ * @returns Number of party members
154
+ *
155
+ * @example
156
+ * ```typescript
157
+ * PartyAnalyzer.getPartySize([pc1, pc2, pc3]); // 3
158
+ * ```
159
+ */
160
+ static getPartySize(party: CharacterSheet[]): number;
161
+ /**
162
+ * Get estimated average damage per party member
163
+ *
164
+ * Estimates damage output based on:
165
+ * - Primary attack stat (STR or DEX)
166
+ * - Proficiency bonus (scales with level)
167
+ * - Assumed weapon damage (d8 for martial, d6 for casters)
168
+ *
169
+ * This is a rough estimate used for encounter balancing.
170
+ * Actual damage varies greatly based on equipment and class features.
171
+ *
172
+ * @param party - Array of CharacterSheet objects
173
+ * @returns Average damage per round per character
174
+ *
175
+ * @example
176
+ * ```typescript
177
+ * const avgDamage = PartyAnalyzer.getAverageDamage(party);
178
+ * // Returns ~10-15 for level 5 party
179
+ * ```
180
+ */
181
+ static getAverageDamage(party: CharacterSheet[]): number;
182
+ /**
183
+ * Estimate damage output for a single character
184
+ *
185
+ * Reads the character's actually equipped weapon to compute average damage
186
+ * per hit. Falls back to unarmed strike (1 + STR mod) if no weapon equipped.
187
+ *
188
+ * Private helper used by getAverageDamage().
189
+ *
190
+ * @param character - CharacterSheet to estimate
191
+ * @returns Estimated average damage per hit
192
+ */
193
+ private static estimateCharacterDamage;
194
+ /**
195
+ * Get comprehensive party analysis
196
+ *
197
+ * Returns complete analysis of party capabilities including
198
+ * level, size, defensive stats, offensive stats, and
199
+ * XP budgets for all difficulty levels.
200
+ *
201
+ * Useful for encounter generation UI and debugging.
202
+ *
203
+ * @param party - Array of CharacterSheet objects
204
+ * @returns Complete PartyAnalysis object
205
+ *
206
+ * @example
207
+ * ```typescript
208
+ * const analysis = PartyAnalyzer.analyzeParty(party);
209
+ * console.log(`Party level: ${analysis.averageLevel}`);
210
+ * console.log(`Medium budget: ${analysis.mediumXP} XP`);
211
+ * ```
212
+ */
213
+ static analyzeParty(party: CharacterSheet[]): PartyAnalysis;
214
+ }
215
+ //# sourceMappingURL=PartyAnalyzer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PartyAnalyzer.d.ts","sourceRoot":"","sources":["../../../src/core/combat/PartyAnalyzer.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAQ7D;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC1B,yCAAyC;IACzC,YAAY,EAAE,MAAM,CAAC;IAErB,8BAA8B;IAC9B,SAAS,EAAE,MAAM,CAAC;IAElB,mDAAmD;IACnD,SAAS,EAAE,MAAM,CAAC;IAElB,kDAAkD;IAClD,SAAS,EAAE,MAAM,CAAC;IAElB,wCAAwC;IACxC,aAAa,EAAE,MAAM,CAAC;IAEtB,kDAAkD;IAClD,aAAa,EAAE,MAAM,CAAC;IAEtB,oCAAoC;IACpC,MAAM,EAAE,MAAM,CAAC;IAEf,sCAAsC;IACtC,QAAQ,EAAE,MAAM,CAAC;IAEjB,oCAAoC;IACpC,MAAM,EAAE,MAAM,CAAC;IAEf,sCAAsC;IACtC,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,aAAa;IACtB;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,mBAAmB,CAAC,KAAK,EAAE,cAAc,EAAE,GAAG,MAAM;IAS3D;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,MAAM,CAAC,sBAAsB,CAAC,KAAK,EAAE,cAAc,EAAE,GAAG,MAAM;IAmB9D;;;;;;;;;;;;;;;;OAgBG;IACH,MAAM,CAAC,WAAW,CACd,KAAK,EAAE,cAAc,EAAE,EACvB,UAAU,EAAE,mBAAmB,GAChC,MAAM;IAST;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,cAAc,EAAE,GAAG,MAAM;IASpD;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,cAAc,EAAE,GAAG,MAAM;IASpD;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,cAAc,EAAE,GAAG,MAAM;IAIpD;;;;;;;;;;;;;;;;;;;OAmBG;IACH,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE,cAAc,EAAE,GAAG,MAAM;IAYxD;;;;;;;;;;OAUG;IACH,OAAO,CAAC,MAAM,CAAC,uBAAuB;IAkCtC;;;;;;;;;;;;;;;;;;OAkBG;IACH,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,cAAc,EAAE,GAAG,aAAa;CA2B9D"}
@@ -0,0 +1,120 @@
1
+ /**
2
+ * SeededDiceRoller - Deterministic D&D-style dice rolling for reproducible combat simulations
3
+ *
4
+ * Implements the same API as DiceRoller but uses SeededRNG internally,
5
+ * producing deterministic results given the same seed and call sequence.
6
+ *
7
+ * Instance-based (not static) so each simulation run gets its own roller
8
+ * with its own RNG state.
9
+ */
10
+ import { SeededRNG } from '../../utils/random.js';
11
+ /**
12
+ * Factory: create a SeededDiceRoller from a seed string.
13
+ * Each call produces a fresh roller with its own RNG state —
14
+ * this is what CombatSimulator will call per simulation run.
15
+ */
16
+ export declare function createSeededRoller(seed: string): SeededDiceRoller;
17
+ export declare class SeededDiceRoller {
18
+ private rng;
19
+ constructor(seedOrRng: string | SeededRNG);
20
+ /**
21
+ * Roll a single die
22
+ * @param sides Number of sides on the die (4, 6, 8, 10, 12, 20, 100)
23
+ * @returns Roll result (1 to sides)
24
+ */
25
+ rollDie(sides: number): number;
26
+ /**
27
+ * Roll multiple dice and sum results
28
+ * @param count Number of dice to roll
29
+ * @param sides Sides per die
30
+ * @returns Array of individual rolls
31
+ */
32
+ rollMultipleDice(count: number, sides: number): number[];
33
+ /**
34
+ * Parse and roll a dice formula like "2d6+3"
35
+ * @param formula Dice formula (e.g., "1d20", "2d6+3", "3d8-1")
36
+ * @returns Object with parsed formula and results
37
+ */
38
+ parseDiceFormula(formula: string): {
39
+ diceCount: number;
40
+ diceSides: number;
41
+ modifier: number;
42
+ rolls: number[];
43
+ total: number;
44
+ };
45
+ /**
46
+ * Roll a d20 (common for attacks and ability checks)
47
+ * @returns Roll result (1-20)
48
+ */
49
+ rollD20(): number;
50
+ /**
51
+ * Roll with advantage (roll twice, take higher)
52
+ * @returns Object with both rolls and final result
53
+ */
54
+ rollWithAdvantage(): {
55
+ roll1: number;
56
+ roll2: number;
57
+ result: number;
58
+ };
59
+ /**
60
+ * Roll with disadvantage (roll twice, take lower)
61
+ * @returns Object with both rolls and final result
62
+ */
63
+ rollWithDisadvantage(): {
64
+ roll1: number;
65
+ roll2: number;
66
+ result: number;
67
+ };
68
+ /**
69
+ * Roll initiative (d20 + DEX modifier)
70
+ * @param dexModifier Character's dexterity modifier
71
+ * @returns Initiative value
72
+ */
73
+ rollInitiative(dexModifier: number): number;
74
+ /**
75
+ * Check if a roll is a critical hit (natural 20)
76
+ */
77
+ isCriticalHit(d20Roll: number): boolean;
78
+ /**
79
+ * Check if a roll is a critical miss (natural 1)
80
+ */
81
+ isCriticalMiss(d20Roll: number): boolean;
82
+ /**
83
+ * Double the damage from a critical hit
84
+ */
85
+ doubleDamage(rolls: number[]): number[];
86
+ /**
87
+ * Calculate total damage from a damage formula with modifier
88
+ * @param formula Dice formula (e.g., "1d8")
89
+ * @param modifier Ability modifier to add
90
+ * @param isCritical Whether this is a critical hit
91
+ * @returns Total damage
92
+ */
93
+ calculateDamage(formula: string, modifier: number, isCritical?: boolean): {
94
+ diceFormula: string;
95
+ rolls: number[];
96
+ modifier: number;
97
+ total: number;
98
+ isCritical: boolean;
99
+ };
100
+ /**
101
+ * Roll a saving throw (d20 + ability modifier + proficiency bonus)
102
+ * @param abilityModifier Modifier from the ability being saved
103
+ * @param proficiencyBonus Optional proficiency bonus if character is proficient
104
+ * @returns Save result
105
+ */
106
+ rollSavingThrow(abilityModifier: number, proficiencyBonus?: number): number;
107
+ /**
108
+ * Roll an ability check (d20 + ability modifier + proficiency if applicable)
109
+ * @param abilityModifier The ability modifier
110
+ * @param proficiencyBonus Proficiency bonus if character is proficient (default 0)
111
+ * @returns Check result
112
+ */
113
+ rollAbilityCheck(abilityModifier: number, proficiencyBonus?: number): number;
114
+ /**
115
+ * Roll percentiles (d100)
116
+ * @returns Roll result (1-100)
117
+ */
118
+ rollPercentile(): number;
119
+ }
120
+ //# sourceMappingURL=SeededDiceRoller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SeededDiceRoller.d.ts","sourceRoot":"","sources":["../../../src/core/combat/SeededDiceRoller.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAElD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,CAEjE;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,GAAG,CAAY;gBAEX,SAAS,EAAE,MAAM,GAAG,SAAS;IAIzC;;;;OAIG;IACH,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAK9B;;;;;OAKG;IACH,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE;IAQxD;;;;OAIG;IACH,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG;QACjC,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;KACf;IAgBD;;;OAGG;IACH,OAAO,IAAI,MAAM;IAIjB;;;OAGG;IACH,iBAAiB,IAAI;QACnB,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAChB;IAMD;;;OAGG;IACH,oBAAoB,IAAI;QACtB,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAChB;IAMD;;;;OAIG;IACH,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;IAI3C;;OAEG;IACH,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAIvC;;OAEG;IACH,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAIxC;;OAEG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE;IAIvC;;;;;;OAMG;IACH,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,GAAE,OAAe,GAAG;QAC/E,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,OAAO,CAAC;KACrB;IAaD;;;;;OAKG;IACH,eAAe,CAAC,eAAe,EAAE,MAAM,EAAE,gBAAgB,GAAE,MAAU,GAAG,MAAM;IAI9E;;;;;OAKG;IACH,gBAAgB,CAAC,eAAe,EAAE,MAAM,EAAE,gBAAgB,GAAE,MAAU,GAAG,MAAM;IAI/E;;;OAGG;IACH,cAAc,IAAI,MAAM;CAGzB"}