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.
- package/LICENSE +21 -0
- package/README.md +352 -0
- package/dist/__vite-browser-external-DYxpcVy9.js +4 -0
- package/dist/constants/DefaultClasses.d.ts +46 -0
- package/dist/constants/DefaultClasses.d.ts.map +1 -0
- package/dist/constants/DefaultEnchantments.d.ts +337 -0
- package/dist/constants/DefaultEnchantments.d.ts.map +1 -0
- package/dist/constants/DefaultEnemies.d.ts +83 -0
- package/dist/constants/DefaultEnemies.d.ts.map +1 -0
- package/dist/constants/DefaultEquipment.d.ts +23 -0
- package/dist/constants/DefaultEquipment.d.ts.map +1 -0
- package/dist/constants/DefaultFeatures.d.ts +22 -0
- package/dist/constants/DefaultFeatures.d.ts.map +1 -0
- package/dist/constants/DefaultRaces.d.ts +102 -0
- package/dist/constants/DefaultRaces.d.ts.map +1 -0
- package/dist/constants/DefaultSkills.d.ts +26 -0
- package/dist/constants/DefaultSkills.d.ts.map +1 -0
- package/dist/constants/DefaultSpells.d.ts +41 -0
- package/dist/constants/DefaultSpells.d.ts.map +1 -0
- package/dist/constants/EncounterBalance.d.ts +208 -0
- package/dist/constants/EncounterBalance.d.ts.map +1 -0
- package/dist/constants/EnemyEquipment.d.ts +71 -0
- package/dist/constants/EnemyEquipment.d.ts.map +1 -0
- package/dist/constants/EnemyRarity.d.ts +79 -0
- package/dist/constants/EnemyRarity.d.ts.map +1 -0
- package/dist/constants/EnemyTemplates/Construct.d.ts +63 -0
- package/dist/constants/EnemyTemplates/Construct.d.ts.map +1 -0
- package/dist/constants/EnemyTemplates/Dragon.d.ts +68 -0
- package/dist/constants/EnemyTemplates/Dragon.d.ts.map +1 -0
- package/dist/constants/EnemyTemplates/Elemental.d.ts +64 -0
- package/dist/constants/EnemyTemplates/Elemental.d.ts.map +1 -0
- package/dist/constants/EnemyTemplates/Fiend.d.ts +62 -0
- package/dist/constants/EnemyTemplates/Fiend.d.ts.map +1 -0
- package/dist/constants/EnemyTemplates/Monstrosity.d.ts +63 -0
- package/dist/constants/EnemyTemplates/Monstrosity.d.ts.map +1 -0
- package/dist/constants/EnemyTemplates/Undead.d.ts +61 -0
- package/dist/constants/EnemyTemplates/Undead.d.ts.map +1 -0
- package/dist/constants/ItemTemplates.d.ts +40 -0
- package/dist/constants/ItemTemplates.d.ts.map +1 -0
- package/dist/constants/MagicItems.d.ts +30 -0
- package/dist/constants/MagicItems.d.ts.map +1 -0
- package/dist/constants/SpellSlots.d.ts +30 -0
- package/dist/constants/SpellSlots.d.ts.map +1 -0
- package/dist/constants/StatScaling.d.ts +113 -0
- package/dist/constants/StatScaling.d.ts.map +1 -0
- package/dist/core/analysis/AudioAnalyzer.d.ts +599 -0
- package/dist/core/analysis/AudioAnalyzer.d.ts.map +1 -0
- package/dist/core/analysis/ColorExtractor.d.ts +64 -0
- package/dist/core/analysis/ColorExtractor.d.ts.map +1 -0
- package/dist/core/analysis/EssentiaPitchDetector.d.ts +282 -0
- package/dist/core/analysis/EssentiaPitchDetector.d.ts.map +1 -0
- package/dist/core/analysis/LevelSerializer.d.ts +265 -0
- package/dist/core/analysis/LevelSerializer.d.ts.map +1 -0
- package/dist/core/analysis/MelodyContourAnalyzer.d.ts +283 -0
- package/dist/core/analysis/MelodyContourAnalyzer.d.ts.map +1 -0
- package/dist/core/analysis/MultiBandAnalyzer.d.ts +214 -0
- package/dist/core/analysis/MultiBandAnalyzer.d.ts.map +1 -0
- package/dist/core/analysis/MusicClassifier.d.ts +524 -0
- package/dist/core/analysis/MusicClassifier.d.ts.map +1 -0
- package/dist/core/analysis/PitchAnalyzer.d.ts +266 -0
- package/dist/core/analysis/PitchAnalyzer.d.ts.map +1 -0
- package/dist/core/analysis/PitchDetector.d.ts +251 -0
- package/dist/core/analysis/PitchDetector.d.ts.map +1 -0
- package/dist/core/analysis/SpectrumScanner.d.ts +52 -0
- package/dist/core/analysis/SpectrumScanner.d.ts.map +1 -0
- package/dist/core/analysis/beat/BeatInterpolator.d.ts +477 -0
- package/dist/core/analysis/beat/BeatInterpolator.d.ts.map +1 -0
- package/dist/core/analysis/beat/BeatMapGenerator.d.ts +170 -0
- package/dist/core/analysis/beat/BeatMapGenerator.d.ts.map +1 -0
- package/dist/core/analysis/beat/BeatStream.d.ts +316 -0
- package/dist/core/analysis/beat/BeatStream.d.ts.map +1 -0
- package/dist/core/analysis/beat/BeatSubdivider.d.ts +205 -0
- package/dist/core/analysis/beat/BeatSubdivider.d.ts.map +1 -0
- package/dist/core/analysis/beat/BeatTracker.d.ts +137 -0
- package/dist/core/analysis/beat/BeatTracker.d.ts.map +1 -0
- package/dist/core/analysis/beat/CompositeStreamGenerator.d.ts +180 -0
- package/dist/core/analysis/beat/CompositeStreamGenerator.d.ts.map +1 -0
- package/dist/core/analysis/beat/DensityAnalyzer.d.ts +246 -0
- package/dist/core/analysis/beat/DensityAnalyzer.d.ts.map +1 -0
- package/dist/core/analysis/beat/DifficultyVariantGenerator.d.ts +1082 -0
- package/dist/core/analysis/beat/DifficultyVariantGenerator.d.ts.map +1 -0
- package/dist/core/analysis/beat/GrooveAnalyzer.d.ts +192 -0
- package/dist/core/analysis/beat/GrooveAnalyzer.d.ts.map +1 -0
- package/dist/core/analysis/beat/OnsetStrengthEnvelope.d.ts +133 -0
- package/dist/core/analysis/beat/OnsetStrengthEnvelope.d.ts.map +1 -0
- package/dist/core/analysis/beat/PhraseAnalyzer.d.ts +230 -0
- package/dist/core/analysis/beat/PhraseAnalyzer.d.ts.map +1 -0
- package/dist/core/analysis/beat/RhythmQuantizer.d.ts +399 -0
- package/dist/core/analysis/beat/RhythmQuantizer.d.ts.map +1 -0
- package/dist/core/analysis/beat/RhythmicBalancer.d.ts +262 -0
- package/dist/core/analysis/beat/RhythmicBalancer.d.ts.map +1 -0
- package/dist/core/analysis/beat/StreamScorer.d.ts +275 -0
- package/dist/core/analysis/beat/StreamScorer.d.ts.map +1 -0
- package/dist/core/analysis/beat/TempoAwareQuantizer.d.ts +256 -0
- package/dist/core/analysis/beat/TempoAwareQuantizer.d.ts.map +1 -0
- package/dist/core/analysis/beat/TempoDetector.d.ts +220 -0
- package/dist/core/analysis/beat/TempoDetector.d.ts.map +1 -0
- package/dist/core/analysis/beat/TransientDetector.d.ts +303 -0
- package/dist/core/analysis/beat/TransientDetector.d.ts.map +1 -0
- package/dist/core/analysis/beat/beatKeyHelpers.d.ts +180 -0
- package/dist/core/analysis/beat/beatKeyHelpers.d.ts.map +1 -0
- package/dist/core/analysis/beat/index.d.ts +41 -0
- package/dist/core/analysis/beat/index.d.ts.map +1 -0
- package/dist/core/analysis/beat/utils/audioUtils.d.ts +204 -0
- package/dist/core/analysis/beat/utils/audioUtils.d.ts.map +1 -0
- package/dist/core/analysis/beat/utils/beatInterpolationDebug.d.ts +404 -0
- package/dist/core/analysis/beat/utils/beatInterpolationDebug.d.ts.map +1 -0
- package/dist/core/analysis/beat/utils/subdivideBeatMap.d.ts +61 -0
- package/dist/core/analysis/beat/utils/subdivideBeatMap.d.ts.map +1 -0
- package/dist/core/analysis/beat/utils/unifyBeatMap.d.ts +33 -0
- package/dist/core/analysis/beat/utils/unifyBeatMap.d.ts.map +1 -0
- package/dist/core/analysis/index.d.ts +18 -0
- package/dist/core/analysis/index.d.ts.map +1 -0
- package/dist/core/combat/AI/AICombatRunner.d.ts +108 -0
- package/dist/core/combat/AI/AICombatRunner.d.ts.map +1 -0
- package/dist/core/combat/AI/CombatAI.d.ts +179 -0
- package/dist/core/combat/AI/CombatAI.d.ts.map +1 -0
- package/dist/core/combat/AI/CombatMetricsTracker.d.ts +30 -0
- package/dist/core/combat/AI/CombatMetricsTracker.d.ts.map +1 -0
- package/dist/core/combat/Analysis/BalanceValidator.d.ts +170 -0
- package/dist/core/combat/Analysis/BalanceValidator.d.ts.map +1 -0
- package/dist/core/combat/Analysis/ComparativeAnalyzer.d.ts +231 -0
- package/dist/core/combat/Analysis/ComparativeAnalyzer.d.ts.map +1 -0
- package/dist/core/combat/Analysis/DifficultyCalculator.d.ts +203 -0
- package/dist/core/combat/Analysis/DifficultyCalculator.d.ts.map +1 -0
- package/dist/core/combat/Analysis/ParameterSweep.d.ts +201 -0
- package/dist/core/combat/Analysis/ParameterSweep.d.ts.map +1 -0
- package/dist/core/combat/AttackResolver.d.ts +220 -0
- package/dist/core/combat/AttackResolver.d.ts.map +1 -0
- package/dist/core/combat/CombatEngine.d.ts +388 -0
- package/dist/core/combat/CombatEngine.d.ts.map +1 -0
- package/dist/core/combat/DiceRoller.d.ts +115 -0
- package/dist/core/combat/DiceRoller.d.ts.map +1 -0
- package/dist/core/combat/InitiativeRoller.d.ts +62 -0
- package/dist/core/combat/InitiativeRoller.d.ts.map +1 -0
- package/dist/core/combat/PartyAnalyzer.d.ts +215 -0
- package/dist/core/combat/PartyAnalyzer.d.ts.map +1 -0
- package/dist/core/combat/SeededDiceRoller.d.ts +120 -0
- package/dist/core/combat/SeededDiceRoller.d.ts.map +1 -0
- package/dist/core/combat/Simulation/CombatSimulator.d.ts +366 -0
- package/dist/core/combat/Simulation/CombatSimulator.d.ts.map +1 -0
- package/dist/core/combat/SpellCaster.d.ts +113 -0
- package/dist/core/combat/SpellCaster.d.ts.map +1 -0
- package/dist/core/config/index.d.ts +24 -0
- package/dist/core/config/index.d.ts.map +1 -0
- package/dist/core/config/progressionConfig.d.ts +73 -0
- package/dist/core/config/progressionConfig.d.ts.map +1 -0
- package/dist/core/config/sensorConfig.d.ts +134 -0
- package/dist/core/config/sensorConfig.d.ts.map +1 -0
- package/dist/core/equipment/BoxOpener.d.ts +175 -0
- package/dist/core/equipment/BoxOpener.d.ts.map +1 -0
- package/dist/core/equipment/EquipmentEffectApplier.d.ts +189 -0
- package/dist/core/equipment/EquipmentEffectApplier.d.ts.map +1 -0
- package/dist/core/equipment/EquipmentModifier.d.ts +327 -0
- package/dist/core/equipment/EquipmentModifier.d.ts.map +1 -0
- package/dist/core/equipment/EquipmentSpawnHelper.d.ts +246 -0
- package/dist/core/equipment/EquipmentSpawnHelper.d.ts.map +1 -0
- package/dist/core/equipment/EquipmentValidator.d.ts +173 -0
- package/dist/core/equipment/EquipmentValidator.d.ts.map +1 -0
- package/dist/core/extensions/ExtensionManager.d.ts +517 -0
- package/dist/core/extensions/ExtensionManager.d.ts.map +1 -0
- package/dist/core/extensions/WeightedSelector.d.ts +156 -0
- package/dist/core/extensions/WeightedSelector.d.ts.map +1 -0
- package/dist/core/extensions/index.d.ts +11 -0
- package/dist/core/extensions/index.d.ts.map +1 -0
- package/dist/core/extensions/initializeDefaults.d.ts +170 -0
- package/dist/core/extensions/initializeDefaults.d.ts.map +1 -0
- package/dist/core/features/FeatureEffectApplier.d.ts +102 -0
- package/dist/core/features/FeatureEffectApplier.d.ts.map +1 -0
- package/dist/core/features/FeatureQuery.d.ts +368 -0
- package/dist/core/features/FeatureQuery.d.ts.map +1 -0
- package/dist/core/features/FeatureTypes.d.ts +199 -0
- package/dist/core/features/FeatureTypes.d.ts.map +1 -0
- package/dist/core/features/FeatureValidator.d.ts +149 -0
- package/dist/core/features/FeatureValidator.d.ts.map +1 -0
- package/dist/core/features/index.d.ts +12 -0
- package/dist/core/features/index.d.ts.map +1 -0
- package/dist/core/generation/AbilityScoreCalculator.d.ts +83 -0
- package/dist/core/generation/AbilityScoreCalculator.d.ts.map +1 -0
- package/dist/core/generation/AppearanceGenerator.d.ts +32 -0
- package/dist/core/generation/AppearanceGenerator.d.ts.map +1 -0
- package/dist/core/generation/BeatConverter.d.ts +127 -0
- package/dist/core/generation/BeatConverter.d.ts.map +1 -0
- package/dist/core/generation/ButtonMapper.d.ts +346 -0
- package/dist/core/generation/ButtonMapper.d.ts.map +1 -0
- package/dist/core/generation/ButtonPatternLibrary.d.ts +92 -0
- package/dist/core/generation/ButtonPatternLibrary.d.ts.map +1 -0
- package/dist/core/generation/CRLevelConverter.d.ts +242 -0
- package/dist/core/generation/CRLevelConverter.d.ts.map +1 -0
- package/dist/core/generation/CharacterGenerator.d.ts +194 -0
- package/dist/core/generation/CharacterGenerator.d.ts.map +1 -0
- package/dist/core/generation/ClassSuggester.d.ts +184 -0
- package/dist/core/generation/ClassSuggester.d.ts.map +1 -0
- package/dist/core/generation/EnemyEquipmentGenerator.d.ts +151 -0
- package/dist/core/generation/EnemyEquipmentGenerator.d.ts.map +1 -0
- package/dist/core/generation/EnemyGenerator.d.ts +595 -0
- package/dist/core/generation/EnemyGenerator.d.ts.map +1 -0
- package/dist/core/generation/EquipmentGenerator.d.ts +204 -0
- package/dist/core/generation/EquipmentGenerator.d.ts.map +1 -0
- package/dist/core/generation/LegendaryGenerator.d.ts +213 -0
- package/dist/core/generation/LegendaryGenerator.d.ts.map +1 -0
- package/dist/core/generation/LevelGenerator.d.ts +390 -0
- package/dist/core/generation/LevelGenerator.d.ts.map +1 -0
- package/dist/core/generation/NamingEngine.d.ts +136 -0
- package/dist/core/generation/NamingEngine.d.ts.map +1 -0
- package/dist/core/generation/PitchBeatLinker.d.ts +150 -0
- package/dist/core/generation/PitchBeatLinker.d.ts.map +1 -0
- package/dist/core/generation/RaceSelector.d.ts +58 -0
- package/dist/core/generation/RaceSelector.d.ts.map +1 -0
- package/dist/core/generation/RhythmGenerator.d.ts +597 -0
- package/dist/core/generation/RhythmGenerator.d.ts.map +1 -0
- package/dist/core/generation/SkillAssigner.d.ts +78 -0
- package/dist/core/generation/SkillAssigner.d.ts.map +1 -0
- package/dist/core/generation/SpellManager.d.ts +132 -0
- package/dist/core/generation/SpellManager.d.ts.map +1 -0
- package/dist/core/generation/SpellcastingGenerator.d.ts +255 -0
- package/dist/core/generation/SpellcastingGenerator.d.ts.map +1 -0
- package/dist/core/generation/index.d.ts +41 -0
- package/dist/core/generation/index.d.ts.map +1 -0
- package/dist/core/parser/MetadataExtractor.d.ts +66 -0
- package/dist/core/parser/MetadataExtractor.d.ts.map +1 -0
- package/dist/core/parser/PlaylistParser.d.ts +45 -0
- package/dist/core/parser/PlaylistParser.d.ts.map +1 -0
- package/dist/core/playback/SubdivisionPlaybackController.d.ts +333 -0
- package/dist/core/playback/SubdivisionPlaybackController.d.ts.map +1 -0
- package/dist/core/playback/index.d.ts +5 -0
- package/dist/core/playback/index.d.ts.map +1 -0
- package/dist/core/progression/CharacterUpdater.d.ts +203 -0
- package/dist/core/progression/CharacterUpdater.d.ts.map +1 -0
- package/dist/core/progression/LevelUpProcessor.d.ts +234 -0
- package/dist/core/progression/LevelUpProcessor.d.ts.map +1 -0
- package/dist/core/progression/PrestigeSystem.d.ts +217 -0
- package/dist/core/progression/PrestigeSystem.d.ts.map +1 -0
- package/dist/core/progression/RhythmXPCalculator.d.ts +182 -0
- package/dist/core/progression/RhythmXPCalculator.d.ts.map +1 -0
- package/dist/core/progression/SessionTracker.d.ts +169 -0
- package/dist/core/progression/SessionTracker.d.ts.map +1 -0
- package/dist/core/progression/XPCalculator.d.ts +128 -0
- package/dist/core/progression/XPCalculator.d.ts.map +1 -0
- package/dist/core/progression/stat/StatIncreaseStrategy.d.ts +97 -0
- package/dist/core/progression/stat/StatIncreaseStrategy.d.ts.map +1 -0
- package/dist/core/progression/stat/StatManager.d.ts +179 -0
- package/dist/core/progression/stat/StatManager.d.ts.map +1 -0
- package/dist/core/sensors/EnvironmentalSensors.d.ts +301 -0
- package/dist/core/sensors/EnvironmentalSensors.d.ts.map +1 -0
- package/dist/core/sensors/GamingPlatformSensors.d.ts +162 -0
- package/dist/core/sensors/GamingPlatformSensors.d.ts.map +1 -0
- package/dist/core/sensors/GeolocationProvider.d.ts +156 -0
- package/dist/core/sensors/GeolocationProvider.d.ts.map +1 -0
- package/dist/core/sensors/MotionDetector.d.ts +58 -0
- package/dist/core/sensors/MotionDetector.d.ts.map +1 -0
- package/dist/core/sensors/SteamAPIClient.d.ts +108 -0
- package/dist/core/sensors/SteamAPIClient.d.ts.map +1 -0
- package/dist/core/sensors/WeatherAPIClient.d.ts +360 -0
- package/dist/core/sensors/WeatherAPIClient.d.ts.map +1 -0
- package/dist/core/sensors/schemas/weather.schema.d.ts +144 -0
- package/dist/core/sensors/schemas/weather.schema.d.ts.map +1 -0
- package/dist/core/skills/SkillQuery.d.ts +159 -0
- package/dist/core/skills/SkillQuery.d.ts.map +1 -0
- package/dist/core/skills/SkillTypes.d.ts +233 -0
- package/dist/core/skills/SkillTypes.d.ts.map +1 -0
- package/dist/core/skills/SkillValidator.d.ts +146 -0
- package/dist/core/skills/SkillValidator.d.ts.map +1 -0
- package/dist/core/skills/index.d.ts +11 -0
- package/dist/core/skills/index.d.ts.map +1 -0
- package/dist/core/spells/SpellQuery.d.ts +194 -0
- package/dist/core/spells/SpellQuery.d.ts.map +1 -0
- package/dist/core/spells/SpellTypes.d.ts +71 -0
- package/dist/core/spells/SpellTypes.d.ts.map +1 -0
- package/dist/core/spells/SpellValidator.d.ts +129 -0
- package/dist/core/spells/SpellValidator.d.ts.map +1 -0
- package/dist/core/spells/index.d.ts +11 -0
- package/dist/core/spells/index.d.ts.map +1 -0
- package/dist/core/types/AudioProfile.d.ts +143 -0
- package/dist/core/types/AudioProfile.d.ts.map +1 -0
- package/dist/core/types/BeatMap.d.ts +1825 -0
- package/dist/core/types/BeatMap.d.ts.map +1 -0
- package/dist/core/types/ButtonMapping.d.ts +345 -0
- package/dist/core/types/ButtonMapping.d.ts.map +1 -0
- package/dist/core/types/Character.d.ts +397 -0
- package/dist/core/types/Character.d.ts.map +1 -0
- package/dist/core/types/ChartedBeatMap.d.ts +169 -0
- package/dist/core/types/ChartedBeatMap.d.ts.map +1 -0
- package/dist/core/types/Combat.d.ts +268 -0
- package/dist/core/types/Combat.d.ts.map +1 -0
- package/dist/core/types/CombatAI.d.ts +143 -0
- package/dist/core/types/CombatAI.d.ts.map +1 -0
- package/dist/core/types/Enemy.d.ts +447 -0
- package/dist/core/types/Enemy.d.ts.map +1 -0
- package/dist/core/types/Environmental.d.ts +213 -0
- package/dist/core/types/Environmental.d.ts.map +1 -0
- package/dist/core/types/Equipment.d.ts +309 -0
- package/dist/core/types/Equipment.d.ts.map +1 -0
- package/dist/core/types/ISessionTracker.d.ts +48 -0
- package/dist/core/types/ISessionTracker.d.ts.map +1 -0
- package/dist/core/types/LevelExport.d.ts +366 -0
- package/dist/core/types/LevelExport.d.ts.map +1 -0
- package/dist/core/types/Playlist.d.ts +70 -0
- package/dist/core/types/Playlist.d.ts.map +1 -0
- package/dist/core/types/Prestige.d.ts +94 -0
- package/dist/core/types/Prestige.d.ts.map +1 -0
- package/dist/core/types/Progression.d.ts +214 -0
- package/dist/core/types/Progression.d.ts.map +1 -0
- package/dist/core/types/RhythmXP.d.ts +398 -0
- package/dist/core/types/RhythmXP.d.ts.map +1 -0
- package/dist/core/utils/AbilityConstants.d.ts +31 -0
- package/dist/core/utils/AbilityConstants.d.ts.map +1 -0
- package/dist/core/utils/EffectApplierUtils.d.ts +56 -0
- package/dist/core/utils/EffectApplierUtils.d.ts.map +1 -0
- package/dist/core/utils/ImageValidator.d.ts +66 -0
- package/dist/core/utils/ImageValidator.d.ts.map +1 -0
- package/dist/core/utils/PrerequisiteValidator.d.ts +88 -0
- package/dist/core/utils/PrerequisiteValidator.d.ts.map +1 -0
- package/dist/essentia-wasm.es-BUEnKUts.js +2990 -0
- package/dist/essentia.js-model.es-CGA0xotH.js +306 -0
- package/dist/index.d.ts +176 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/playlist-data-engine.js +124 -0
- package/dist/playlist-data-engine.mjs +49251 -0
- package/dist/utils/EnchantmentLibrary.d.ts +378 -0
- package/dist/utils/EnchantmentLibrary.d.ts.map +1 -0
- package/dist/utils/arweaveGatewayManager.d.ts +485 -0
- package/dist/utils/arweaveGatewayManager.d.ts.map +1 -0
- package/dist/utils/arweaveUtils.d.ts +118 -0
- package/dist/utils/arweaveUtils.d.ts.map +1 -0
- package/dist/utils/constants.d.ts +439 -0
- package/dist/utils/constants.d.ts.map +1 -0
- package/dist/utils/equipmentConstants.d.ts +60 -0
- package/dist/utils/equipmentConstants.d.ts.map +1 -0
- package/dist/utils/hash.d.ts +33 -0
- package/dist/utils/hash.d.ts.map +1 -0
- package/dist/utils/logger.d.ts +192 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/magicItemExamples.d.ts +46 -0
- package/dist/utils/magicItemExamples.d.ts.map +1 -0
- package/dist/utils/playlistUtils.d.ts +149 -0
- package/dist/utils/playlistUtils.d.ts.map +1 -0
- package/dist/utils/random.d.ts +34 -0
- package/dist/utils/random.d.ts.map +1 -0
- package/dist/utils/sensorDashboard.d.ts +60 -0
- package/dist/utils/sensorDashboard.d.ts.map +1 -0
- package/dist/utils/validators.d.ts +189 -0
- package/dist/utils/validators.d.ts.map +1 -0
- package/dist/vite.svg +1 -0
- package/package.json +82 -0
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Effect Applier Utilities
|
|
3
|
+
*
|
|
4
|
+
* Shared utility functions for applying effects to characters.
|
|
5
|
+
* Used by both FeatureEffectApplier and EquipmentEffectApplier to eliminate
|
|
6
|
+
* code duplication and ensure consistent behavior across the codebase.
|
|
7
|
+
*
|
|
8
|
+
* Part of code consolidation effort for duplicate effect application methods.
|
|
9
|
+
*/
|
|
10
|
+
import type { CharacterSheet, Ability, ProficiencyLevel } from '../types/Character.js';
|
|
11
|
+
/**
|
|
12
|
+
* Apply an ability score bonus to a character
|
|
13
|
+
*
|
|
14
|
+
* Handles ability score increases and automatically recalculates the
|
|
15
|
+
* corresponding ability modifier. This is the standard way to modify
|
|
16
|
+
* ability scores throughout the codebase.
|
|
17
|
+
*
|
|
18
|
+
* @param character - The character to modify
|
|
19
|
+
* @param ability - The ability score to modify (must be valid Ability)
|
|
20
|
+
* @param value - The amount to add (can be negative for removal)
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* // Apply +2 STR from a feature
|
|
24
|
+
* applyAbilityScoreBonus(character, 'STR', 2);
|
|
25
|
+
*
|
|
26
|
+
* // Remove +1 DEX when unequipping an item
|
|
27
|
+
* applyAbilityScoreBonus(character, 'DEX', -1);
|
|
28
|
+
*/
|
|
29
|
+
export declare function applyAbilityScoreBonus(character: CharacterSheet, ability: Ability, value: number): void;
|
|
30
|
+
/**
|
|
31
|
+
* Apply a skill proficiency with proper hierarchy handling
|
|
32
|
+
*
|
|
33
|
+
* Implements a proficiency hierarchy that prevents downgrading:
|
|
34
|
+
* none < proficient < expertise
|
|
35
|
+
*
|
|
36
|
+
* - If character has no proficiency or 'none', apply the new proficiency
|
|
37
|
+
* - If character is 'proficient' and new is 'expertise', upgrade to expertise
|
|
38
|
+
* - If character is 'expertise', keep expertise (never downgrade)
|
|
39
|
+
* - If both are 'proficient', no change needed
|
|
40
|
+
*
|
|
41
|
+
* This is the more robust version from EquipmentEffectApplier,
|
|
42
|
+
* preferred over FeatureEffectApplier's simpler logic.
|
|
43
|
+
*
|
|
44
|
+
* @param character - The character to modify
|
|
45
|
+
* @param skillId - The skill ID (lowercase, e.g., 'athletics', 'arcana')
|
|
46
|
+
* @param proficiency - The proficiency level to apply
|
|
47
|
+
*
|
|
48
|
+
* @example
|
|
49
|
+
* // Grant proficiency in Perception
|
|
50
|
+
* applySkillProficiencyWithHierarchy(character, 'perception', 'proficient');
|
|
51
|
+
*
|
|
52
|
+
* // Upgrade to expertise (from none or proficient)
|
|
53
|
+
* applySkillProficiencyWithHierarchy(character, 'stealth', 'expertise');
|
|
54
|
+
*/
|
|
55
|
+
export declare function applySkillProficiencyWithHierarchy(character: CharacterSheet, skillId: string, proficiency: ProficiencyLevel): void;
|
|
56
|
+
//# sourceMappingURL=EffectApplierUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EffectApplierUtils.d.ts","sourceRoot":"","sources":["../../../src/core/utils/EffectApplierUtils.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAGvF;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,sBAAsB,CAClC,SAAS,EAAE,cAAc,EACzB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,MAAM,GACd,IAAI,CAKN;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,kCAAkC,CAC9C,SAAS,EAAE,cAAc,EACzB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,gBAAgB,GAC9B,IAAI,CAgBN"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Image URL Validator Utility
|
|
3
|
+
*
|
|
4
|
+
* Validates icon and image URL fields for all entity types.
|
|
5
|
+
* Used by validators across the engine to ensure consistent URL validation.
|
|
6
|
+
*
|
|
7
|
+
* Valid URL formats:
|
|
8
|
+
* - Absolute URLs: http://... or https://...
|
|
9
|
+
* - Relative URLs: /... (starting with slash)
|
|
10
|
+
* - Asset paths: assets/... (for bundled assets)
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* Validation result for individual image field validation
|
|
14
|
+
*/
|
|
15
|
+
export interface ImageValidationResult {
|
|
16
|
+
/** Whether the URL is valid */
|
|
17
|
+
valid: boolean;
|
|
18
|
+
/** Array of error messages (empty if valid) */
|
|
19
|
+
errors: string[];
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Check if a URL string is a valid image URL format
|
|
23
|
+
*
|
|
24
|
+
* Valid formats:
|
|
25
|
+
* - http://example.com/image.png
|
|
26
|
+
* - https://example.com/image.png
|
|
27
|
+
* - /assets/images/icon.png
|
|
28
|
+
* - assets/images/icon.png (no leading slash)
|
|
29
|
+
*
|
|
30
|
+
* @param url - The URL string to validate
|
|
31
|
+
* @returns True if the URL has a valid format
|
|
32
|
+
*/
|
|
33
|
+
export declare function isValidImageUrl(url: string): boolean;
|
|
34
|
+
/**
|
|
35
|
+
* Validate an image URL field value
|
|
36
|
+
*
|
|
37
|
+
* Validates that the value is either undefined (optional field)
|
|
38
|
+
* or a valid URL string with an allowed prefix.
|
|
39
|
+
*
|
|
40
|
+
* @param value - The value to validate (should be string or undefined)
|
|
41
|
+
* @param fieldName - The name of the field being validated (e.g., 'icon', 'image')
|
|
42
|
+
* @returns Validation result with errors if any
|
|
43
|
+
*/
|
|
44
|
+
export declare function validateImageUrl(value: unknown, fieldName: string): ImageValidationResult;
|
|
45
|
+
/**
|
|
46
|
+
* Validate both icon and image fields on an object
|
|
47
|
+
*
|
|
48
|
+
* Convenience function for validating both image fields at once.
|
|
49
|
+
* Returns an array of error messages for invalid fields.
|
|
50
|
+
*
|
|
51
|
+
* @param obj - Object with optional icon and image fields
|
|
52
|
+
* @returns Array of error messages (empty if all valid)
|
|
53
|
+
*/
|
|
54
|
+
export declare function validateImageFields(obj: {
|
|
55
|
+
icon?: unknown;
|
|
56
|
+
image?: unknown;
|
|
57
|
+
}): string[];
|
|
58
|
+
/**
|
|
59
|
+
* Get list of valid image URL prefixes
|
|
60
|
+
*
|
|
61
|
+
* Useful for documentation or error messages.
|
|
62
|
+
*
|
|
63
|
+
* @returns Array of valid prefix strings
|
|
64
|
+
*/
|
|
65
|
+
export declare function getValidImagePrefixes(): ReadonlyArray<string>;
|
|
66
|
+
//# sourceMappingURL=ImageValidator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ImageValidator.d.ts","sourceRoot":"","sources":["../../../src/core/utils/ImageValidator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAYH;;GAEG;AACH,MAAM,WAAW,qBAAqB;IAClC,+BAA+B;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,+CAA+C;IAC/C,MAAM,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAYpD;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,qBAAqB,CAiCzF;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,MAAM,EAAE,CActF;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,IAAI,aAAa,CAAC,MAAM,CAAC,CAE7D"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Prerequisite Validator Utility
|
|
3
|
+
*
|
|
4
|
+
* Generalized prerequisite validation for skills, spells, and features.
|
|
5
|
+
* Eliminates duplicate prerequisite validation logic across:
|
|
6
|
+
* - SkillValidator.validateSkillPrerequisites()
|
|
7
|
+
* - SpellValidator.validateSpellPrerequisites()
|
|
8
|
+
* - FeatureValidator.validatePrerequisites()
|
|
9
|
+
*
|
|
10
|
+
* Supports all prerequisite options from across the three systems:
|
|
11
|
+
* - level: Minimum character level
|
|
12
|
+
* - casterLevel: Minimum spellcaster level (spells only)
|
|
13
|
+
* - abilities: Minimum ability scores
|
|
14
|
+
* - class: Specific class required
|
|
15
|
+
* - race: Specific race required
|
|
16
|
+
* - subrace: Specific subrace required (features only)
|
|
17
|
+
* - skills: Skills that must be proficient first
|
|
18
|
+
* - features: Features that must be learned first
|
|
19
|
+
* - spells: Spells that must be known first
|
|
20
|
+
* - custom: Custom condition (note only - caller must validate)
|
|
21
|
+
*/
|
|
22
|
+
import type { Ability, CharacterSheet } from '../types/Character.js';
|
|
23
|
+
/**
|
|
24
|
+
* Prerequisite Schema
|
|
25
|
+
*
|
|
26
|
+
* Union of all prerequisite fields from SkillPrerequisite, SpellPrerequisite,
|
|
27
|
+
* and FeaturePrerequisite. This allows a single validator to handle all cases.
|
|
28
|
+
*
|
|
29
|
+
* Fields with comments indicating their scope are only used by specific systems:
|
|
30
|
+
* - casterLevel: spells only
|
|
31
|
+
* - subrace: features only
|
|
32
|
+
*/
|
|
33
|
+
export interface PrerequisiteSchema {
|
|
34
|
+
/** Minimum character level */
|
|
35
|
+
level?: number;
|
|
36
|
+
/** Minimum spellcaster level (spells only) */
|
|
37
|
+
casterLevel?: number;
|
|
38
|
+
/** Minimum ability scores */
|
|
39
|
+
abilities?: Partial<Record<Ability, number>>;
|
|
40
|
+
/** Specific class required */
|
|
41
|
+
class?: string;
|
|
42
|
+
/** Specific race required */
|
|
43
|
+
race?: string;
|
|
44
|
+
/** Specific subrace required (features only) */
|
|
45
|
+
subrace?: string;
|
|
46
|
+
/** Skills that must be proficient first (by skill ID) */
|
|
47
|
+
skills?: string[];
|
|
48
|
+
/** Features that must be learned first (by feature ID) */
|
|
49
|
+
features?: string[];
|
|
50
|
+
/** Spells that must be known first (by spell name) */
|
|
51
|
+
spells?: string[];
|
|
52
|
+
/** Custom condition (note only - caller must validate) */
|
|
53
|
+
custom?: string;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Validation result for prerequisite checking
|
|
57
|
+
*
|
|
58
|
+
* Provides detailed feedback about which prerequisites are not met.
|
|
59
|
+
*/
|
|
60
|
+
export interface ValidationResult {
|
|
61
|
+
/** Whether all prerequisites are met */
|
|
62
|
+
valid: boolean;
|
|
63
|
+
/** Array of unmet prerequisite descriptions */
|
|
64
|
+
errors: string[];
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Validate a prerequisite object's schema
|
|
68
|
+
*
|
|
69
|
+
* Checks that the prerequisite object has valid structure and values.
|
|
70
|
+
* This is useful for validating prerequisite schemas during registration.
|
|
71
|
+
*
|
|
72
|
+
* @param prerequisites - The prerequisites to validate
|
|
73
|
+
* @returns Validation result with errors if any
|
|
74
|
+
*/
|
|
75
|
+
export declare function validatePrerequisiteSchema(prerequisites: unknown): ValidationResult;
|
|
76
|
+
/**
|
|
77
|
+
* Validate prerequisites against a character sheet
|
|
78
|
+
*
|
|
79
|
+
* Checks if a character meets all prerequisite requirements.
|
|
80
|
+
* This is the main function used to determine if a character can learn
|
|
81
|
+
* a skill, spell, or feature.
|
|
82
|
+
*
|
|
83
|
+
* @param prerequisites - The prerequisites to validate
|
|
84
|
+
* @param character - The character sheet to validate against
|
|
85
|
+
* @returns Validation result with unmet prerequisites if any
|
|
86
|
+
*/
|
|
87
|
+
export declare function validatePrerequisites(prerequisites: PrerequisiteSchema | undefined, character: CharacterSheet): ValidationResult;
|
|
88
|
+
//# sourceMappingURL=PrerequisiteValidator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PrerequisiteValidator.d.ts","sourceRoot":"","sources":["../../../src/core/utils/PrerequisiteValidator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAGrE;;;;;;;;;GASG;AACH,MAAM,WAAW,kBAAkB;IAC/B,8BAA8B;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,8CAA8C;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,6BAA6B;IAC7B,SAAS,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;IAE7C,8BAA8B;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,6BAA6B;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,gDAAgD;IAChD,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,yDAAyD;IACzD,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAElB,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IAEpB,sDAAsD;IACtD,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAElB,0DAA0D;IAC1D,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC7B,wCAAwC;IACxC,KAAK,EAAE,OAAO,CAAC;IAEf,+CAA+C;IAC/C,MAAM,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,CAAC,aAAa,EAAE,OAAO,GAAG,gBAAgB,CA2HnF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CACjC,aAAa,EAAE,kBAAkB,GAAG,SAAS,EAC7C,SAAS,EAAE,cAAc,GAC1B,gBAAgB,CA0FlB"}
|