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 @@
|
|
|
1
|
+
{"version":3,"file":"ExtensionManager.d.ts","sourceRoot":"","sources":["../../../src/core/extensions/ExtensionManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WeightedSelector - Weighted selection utility for extensibility system
|
|
3
|
+
*
|
|
4
|
+
* Provides flexible weighted random selection with support for:
|
|
5
|
+
* - Relative mode: Custom weights added to default weights
|
|
6
|
+
* - Absolute mode: Custom weights replace default distribution
|
|
7
|
+
* - Probability calculation for debugging/analysis
|
|
8
|
+
* - Multiple item selection (for features, etc.)
|
|
9
|
+
*
|
|
10
|
+
* @module extensions/WeightedSelector
|
|
11
|
+
*/
|
|
12
|
+
import type { SeededRNG } from '../../utils/random.js';
|
|
13
|
+
/**
|
|
14
|
+
* Selection mode for weighted selection
|
|
15
|
+
*/
|
|
16
|
+
export type SelectionMode = 'relative' | 'absolute' | 'default' | 'replace';
|
|
17
|
+
/**
|
|
18
|
+
* WeightedSelector - Generic weighted selection utility
|
|
19
|
+
*
|
|
20
|
+
* Handles weighted random selection with multiple modes:
|
|
21
|
+
* - 'relative': Use provided weights as-is, normalize to probabilities
|
|
22
|
+
* - 'absolute': All non-specified items get weight 1, then normalize
|
|
23
|
+
* - 'default': Equal weight for all items
|
|
24
|
+
*
|
|
25
|
+
* @template T The type of items being selected
|
|
26
|
+
*/
|
|
27
|
+
export declare class WeightedSelector<T = any> {
|
|
28
|
+
/**
|
|
29
|
+
* Select a single item based on weights
|
|
30
|
+
*
|
|
31
|
+
* @param items - Array of items to select from
|
|
32
|
+
* @param weights - Record of item name to weight multiplier
|
|
33
|
+
* @param rng - Seeded random number generator
|
|
34
|
+
* @param mode - Selection mode ('relative', 'absolute', or 'default')
|
|
35
|
+
* @returns The selected item
|
|
36
|
+
*
|
|
37
|
+
* @example
|
|
38
|
+
* ```typescript
|
|
39
|
+
* // Relative mode: Make dragons twice as common
|
|
40
|
+
* const weights = { 'Dragon': 2, 'Goblin': 1 };
|
|
41
|
+
* const selected = WeightedSelector.select(monsters, weights, rng, 'relative');
|
|
42
|
+
* ```
|
|
43
|
+
*
|
|
44
|
+
* @example
|
|
45
|
+
* ```typescript
|
|
46
|
+
* // Absolute mode: Only specified items can spawn
|
|
47
|
+
* const weights = { 'Sword': 5, 'Axe': 3 };
|
|
48
|
+
* const selected = WeightedSelector.select(weapons, weights, rng, 'absolute');
|
|
49
|
+
* ```
|
|
50
|
+
*/
|
|
51
|
+
static select<T>(items: T[], weights: Record<string, number>, rng: SeededRNG, mode?: SelectionMode): T;
|
|
52
|
+
/**
|
|
53
|
+
* Select multiple unique items based on weights
|
|
54
|
+
*
|
|
55
|
+
* Useful for selecting facial features, spells, etc. where the same
|
|
56
|
+
* item shouldn't be selected twice.
|
|
57
|
+
*
|
|
58
|
+
* @param items - Array of items to select from
|
|
59
|
+
* @param weights - Record of item name to weight multiplier
|
|
60
|
+
* @param rng - Seeded random number generator
|
|
61
|
+
* @param count - Number of items to select
|
|
62
|
+
* @param mode - Selection mode ('relative', 'absolute', or 'default')
|
|
63
|
+
* @returns Array of selected items (no duplicates)
|
|
64
|
+
*
|
|
65
|
+
* @example
|
|
66
|
+
* ```typescript
|
|
67
|
+
* // Select 1-3 facial features with weights
|
|
68
|
+
* const numFeatures = rng.randomInt(1, 4);
|
|
69
|
+
* const features = WeightedSelector.selectMultiple(
|
|
70
|
+
* allFeatures,
|
|
71
|
+
* featureWeights,
|
|
72
|
+
* rng,
|
|
73
|
+
* numFeatures,
|
|
74
|
+
* 'relative'
|
|
75
|
+
* );
|
|
76
|
+
* ```
|
|
77
|
+
*/
|
|
78
|
+
static selectMultiple<T>(items: T[], weights: Record<string, number>, rng: SeededRNG, count: number, mode?: SelectionMode): T[];
|
|
79
|
+
/**
|
|
80
|
+
* Get probability distribution for items based on weights
|
|
81
|
+
*
|
|
82
|
+
* Useful for debugging, testing, or displaying spawn rates to users.
|
|
83
|
+
*
|
|
84
|
+
* @param items - Array of items to calculate probabilities for
|
|
85
|
+
* @param weights - Record of item name to weight multiplier
|
|
86
|
+
* @param mode - Selection mode ('relative', 'absolute', or 'default')
|
|
87
|
+
* @returns Record of item name to probability (0-1)
|
|
88
|
+
*
|
|
89
|
+
* @example
|
|
90
|
+
* ```typescript
|
|
91
|
+
* const probabilities = WeightedSelector.getProbabilities(
|
|
92
|
+
* monsters,
|
|
93
|
+
* weights,
|
|
94
|
+
* 'relative'
|
|
95
|
+
* );
|
|
96
|
+
* console.log(probabilities);
|
|
97
|
+
* // { 'Goblin': 0.33, 'Orc': 0.33, 'Dragon': 0.66 }
|
|
98
|
+
* ```
|
|
99
|
+
*/
|
|
100
|
+
static getProbabilities<T>(items: T[], weights: Record<string, number>, mode?: SelectionMode): Record<string, number>;
|
|
101
|
+
/**
|
|
102
|
+
* Normalize weights to sum to 1.0 (useful for debugging/analysis)
|
|
103
|
+
*
|
|
104
|
+
* Converts user-provided weights into normalized probabilities based on mode.
|
|
105
|
+
* Useful for displaying spawn rates to users or debugging weight distributions.
|
|
106
|
+
*
|
|
107
|
+
* @param items - Array of items to calculate normalized weights for
|
|
108
|
+
* @param weights - User-provided weight multipliers
|
|
109
|
+
* @param mode - Selection mode ('relative', 'absolute', or 'default')
|
|
110
|
+
* @returns Record of item name to normalized weight (sums to 1.0)
|
|
111
|
+
*
|
|
112
|
+
* @example
|
|
113
|
+
* ```typescript
|
|
114
|
+
* const weights = { 'Sword': 2, 'Axe': 1 };
|
|
115
|
+
* const normalized = WeightedSelector.normalizeWeights(
|
|
116
|
+
* ['Sword', 'Axe', 'Dagger'],
|
|
117
|
+
* weights,
|
|
118
|
+
* 'relative'
|
|
119
|
+
* );
|
|
120
|
+
* // Returns: { 'Sword': 0.5, 'Axe': 0.25, 'Dagger': 0.25 }
|
|
121
|
+
* ```
|
|
122
|
+
*/
|
|
123
|
+
static normalizeWeights<T>(items: T[], weights: Record<string, number>, mode?: SelectionMode): Record<string, number>;
|
|
124
|
+
/**
|
|
125
|
+
* Extract unique key from item for weight lookup
|
|
126
|
+
*
|
|
127
|
+
* Public helper that handles both string items and objects with a 'name' property.
|
|
128
|
+
* Useful for custom item types that need explicit key extraction.
|
|
129
|
+
*
|
|
130
|
+
* @param item - The item to extract key from
|
|
131
|
+
* @returns The item's unique key (or string value if item is a string)
|
|
132
|
+
*
|
|
133
|
+
* @example
|
|
134
|
+
* ```typescript
|
|
135
|
+
* const item = { name: 'Sword', damage: 10 };
|
|
136
|
+
* const key = WeightedSelector.getItemKey(item); // 'Sword'
|
|
137
|
+
*
|
|
138
|
+
* const strItem = 'Axe';
|
|
139
|
+
* const strKey = WeightedSelector.getItemKey(strItem); // 'Axe'
|
|
140
|
+
* ```
|
|
141
|
+
*/
|
|
142
|
+
static getItemKey<T>(item: T): string;
|
|
143
|
+
/**
|
|
144
|
+
* Calculate final weights based on mode
|
|
145
|
+
*
|
|
146
|
+
* Internal method that converts user-provided weights and mode
|
|
147
|
+
* into the final weight values used for selection.
|
|
148
|
+
*
|
|
149
|
+
* @param items - Array of items
|
|
150
|
+
* @param weights - User-provided weights
|
|
151
|
+
* @param mode - Selection mode
|
|
152
|
+
* @returns Final weights record
|
|
153
|
+
*/
|
|
154
|
+
private static getFinalWeights;
|
|
155
|
+
}
|
|
156
|
+
//# sourceMappingURL=WeightedSelector.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WeightedSelector.d.ts","sourceRoot":"","sources":["../../../src/core/extensions/WeightedSelector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEvD;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS,CAAC;AAE5E;;;;;;;;;GASG;AACH,qBAAa,gBAAgB,CAAC,CAAC,GAAG,GAAG;IACjC;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,MAAM,CAAC,MAAM,CAAC,CAAC,EACX,KAAK,EAAE,CAAC,EAAE,EACV,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,GAAG,EAAE,SAAS,EACd,IAAI,GAAE,aAA0B,GACjC,CAAC;IAkBJ;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,MAAM,CAAC,cAAc,CAAC,CAAC,EACnB,KAAK,EAAE,CAAC,EAAE,EACV,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,GAAG,EAAE,SAAS,EACd,KAAK,EAAE,MAAM,EACb,IAAI,GAAE,aAA0B,GACjC,CAAC,EAAE;IAkCN;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,MAAM,CAAC,gBAAgB,CAAC,CAAC,EACrB,KAAK,EAAE,CAAC,EAAE,EACV,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,IAAI,GAAE,aAA0B,GACjC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IA4BzB;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,MAAM,CAAC,gBAAgB,CAAC,CAAC,EACrB,KAAK,EAAE,CAAC,EAAE,EACV,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,IAAI,GAAE,aAA0B,GACjC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IA2BzB;;;;;;;;;;;;;;;;;OAiBG;IACH,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,MAAM;IAWrC;;;;;;;;;;OAUG;IACH,OAAO,CAAC,MAAM,CAAC,eAAe;CA6BjC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Extensions module - Runtime customization system
|
|
3
|
+
*
|
|
4
|
+
* Provides extensibility for all procedural generation lists.
|
|
5
|
+
*/
|
|
6
|
+
export { ExtensionManager } from './ExtensionManager.js';
|
|
7
|
+
export type { ExtensionCategory, ExtensionOptions, ValidationResult, SpawnMode, RegistrationEntry } from './ExtensionManager.js';
|
|
8
|
+
export { WeightedSelector } from './WeightedSelector.js';
|
|
9
|
+
export type { SelectionMode } from './WeightedSelector.js';
|
|
10
|
+
export { initializeAppearanceDefaults, areAppearanceDefaultsInitialized, ensureAppearanceDefaultsInitialized, initializeSpellDefaults, areSpellDefaultsInitialized, ensureSpellDefaultsInitialized, initializeEquipmentDefaults, areEquipmentDefaultsInitialized, ensureEquipmentDefaultsInitialized, initializeRaceDefaults, areRaceDefaultsInitialized, ensureRaceDefaultsInitialized, initializeRaceDataDefaults, areRaceDataDefaultsInitialized, ensureRaceDataDefaultsInitialized, initializeClassDefaults, areClassDefaultsInitialized, ensureClassDefaultsInitialized, initializeFeatureDefaults, areFeatureDefaultsInitialized, ensureFeatureDefaultsInitialized, initializeSkillDefaults, areSkillDefaultsInitialized, ensureSkillDefaultsInitialized, initializeAllDefaults, ensureAllDefaultsInitialized, } from './initializeDefaults.js';
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/extensions/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,YAAY,EACR,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,SAAS,EACT,iBAAiB,EACpB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,YAAY,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EACH,4BAA4B,EAC5B,gCAAgC,EAChC,mCAAmC,EACnC,uBAAuB,EACvB,2BAA2B,EAC3B,8BAA8B,EAC9B,2BAA2B,EAC3B,+BAA+B,EAC/B,kCAAkC,EAClC,sBAAsB,EACtB,0BAA0B,EAC1B,6BAA6B,EAC7B,0BAA0B,EAC1B,8BAA8B,EAC9B,iCAAiC,EACjC,uBAAuB,EACvB,2BAA2B,EAC3B,8BAA8B,EAC9B,yBAAyB,EACzB,6BAA6B,EAC7B,gCAAgC,EAChC,uBAAuB,EACvB,2BAA2B,EAC3B,8BAA8B,EAC9B,qBAAqB,EACrB,4BAA4B,GAC/B,MAAM,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Initialize default data for ExtensionManager
|
|
3
|
+
*
|
|
4
|
+
* This module provides default data for all extensible categories.
|
|
5
|
+
* The ExtensionManager must be initialized with these defaults before
|
|
6
|
+
* any character generation occurs.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Initialize ExtensionManager with default appearance data
|
|
10
|
+
*
|
|
11
|
+
* This should be called once during application initialization.
|
|
12
|
+
*/
|
|
13
|
+
export declare function initializeAppearanceDefaults(): void;
|
|
14
|
+
/**
|
|
15
|
+
* Check if appearance defaults are initialized
|
|
16
|
+
*/
|
|
17
|
+
export declare function areAppearanceDefaultsInitialized(): boolean;
|
|
18
|
+
/**
|
|
19
|
+
* Ensure appearance defaults are initialized
|
|
20
|
+
*
|
|
21
|
+
* Initializes defaults if they haven't been already.
|
|
22
|
+
* Safe to call multiple times.
|
|
23
|
+
*/
|
|
24
|
+
export declare function ensureAppearanceDefaultsInitialized(): void;
|
|
25
|
+
/**
|
|
26
|
+
* Initialize ExtensionManager with default spell data
|
|
27
|
+
*
|
|
28
|
+
* This should be called once during application initialization.
|
|
29
|
+
*/
|
|
30
|
+
export declare function initializeSpellDefaults(): void;
|
|
31
|
+
/**
|
|
32
|
+
* Check if spell defaults are initialized
|
|
33
|
+
*/
|
|
34
|
+
export declare function areSpellDefaultsInitialized(): boolean;
|
|
35
|
+
/**
|
|
36
|
+
* Ensure spell defaults are initialized
|
|
37
|
+
*
|
|
38
|
+
* Initializes defaults if they haven't been already.
|
|
39
|
+
* Safe to call multiple times.
|
|
40
|
+
*/
|
|
41
|
+
export declare function ensureSpellDefaultsInitialized(): void;
|
|
42
|
+
/**
|
|
43
|
+
* Initialize ExtensionManager with default equipment data
|
|
44
|
+
*
|
|
45
|
+
* This should be called once during application initialization.
|
|
46
|
+
* Equipment is converted to EnhancedEquipment format with source field.
|
|
47
|
+
*/
|
|
48
|
+
export declare function initializeEquipmentDefaults(): void;
|
|
49
|
+
/**
|
|
50
|
+
* Check if equipment defaults are initialized
|
|
51
|
+
*/
|
|
52
|
+
export declare function areEquipmentDefaultsInitialized(): boolean;
|
|
53
|
+
/**
|
|
54
|
+
* Ensure equipment defaults are initialized
|
|
55
|
+
*
|
|
56
|
+
* Initializes defaults if they haven't been already.
|
|
57
|
+
* Safe to call multiple times.
|
|
58
|
+
*/
|
|
59
|
+
export declare function ensureEquipmentDefaultsInitialized(): void;
|
|
60
|
+
/**
|
|
61
|
+
* Initialize ExtensionManager with default race data
|
|
62
|
+
*
|
|
63
|
+
* This should be called once during application initialization.
|
|
64
|
+
*/
|
|
65
|
+
export declare function initializeRaceDefaults(): void;
|
|
66
|
+
/**
|
|
67
|
+
* Check if race defaults are initialized
|
|
68
|
+
*/
|
|
69
|
+
export declare function areRaceDefaultsInitialized(): boolean;
|
|
70
|
+
/**
|
|
71
|
+
* Ensure race defaults are initialized
|
|
72
|
+
*
|
|
73
|
+
* Initializes defaults if they haven't been already.
|
|
74
|
+
* Safe to call multiple times.
|
|
75
|
+
*/
|
|
76
|
+
export declare function ensureRaceDefaultsInitialized(): void;
|
|
77
|
+
/**
|
|
78
|
+
* Initialize ExtensionManager with default race data (ability bonuses, speed, traits, subraces)
|
|
79
|
+
*
|
|
80
|
+
* This loads RACE_DATA_IMPL into ExtensionManager's 'races.data' category, making it
|
|
81
|
+
* editable through the extension system. This should be called once during application initialization.
|
|
82
|
+
*/
|
|
83
|
+
export declare function initializeRaceDataDefaults(): void;
|
|
84
|
+
/**
|
|
85
|
+
* Check if race data defaults are initialized
|
|
86
|
+
*/
|
|
87
|
+
export declare function areRaceDataDefaultsInitialized(): boolean;
|
|
88
|
+
/**
|
|
89
|
+
* Ensure race data defaults are initialized
|
|
90
|
+
*
|
|
91
|
+
* Initializes defaults if they haven't been already.
|
|
92
|
+
* Safe to call multiple times.
|
|
93
|
+
*/
|
|
94
|
+
export declare function ensureRaceDataDefaultsInitialized(): void;
|
|
95
|
+
/**
|
|
96
|
+
* Initialize ExtensionManager with default class data
|
|
97
|
+
*
|
|
98
|
+
* This should be called once during application initialization.
|
|
99
|
+
*/
|
|
100
|
+
export declare function initializeClassDefaults(): void;
|
|
101
|
+
/**
|
|
102
|
+
* Check if class defaults are initialized
|
|
103
|
+
*/
|
|
104
|
+
export declare function areClassDefaultsInitialized(): boolean;
|
|
105
|
+
/**
|
|
106
|
+
* Ensure class defaults are initialized
|
|
107
|
+
*
|
|
108
|
+
* Initializes defaults if they haven't been already.
|
|
109
|
+
* Safe to call multiple times.
|
|
110
|
+
*/
|
|
111
|
+
export declare function ensureClassDefaultsInitialized(): void;
|
|
112
|
+
/**
|
|
113
|
+
* Initialize ALL ExtensionManager defaults at once
|
|
114
|
+
*
|
|
115
|
+
* This is the recommended way to initialize the extensibility system.
|
|
116
|
+
* Call this once during application initialization.
|
|
117
|
+
*/
|
|
118
|
+
export declare function initializeAllDefaults(): void;
|
|
119
|
+
/**
|
|
120
|
+
* Ensure ALL ExtensionManager defaults are initialized
|
|
121
|
+
*
|
|
122
|
+
* Initializes any defaults that haven't been initialized yet.
|
|
123
|
+
* Safe to call multiple times.
|
|
124
|
+
*/
|
|
125
|
+
export declare function ensureAllDefaultsInitialized(): void;
|
|
126
|
+
/**
|
|
127
|
+
* Initialize FeatureQuery with default features and traits
|
|
128
|
+
*
|
|
129
|
+
* This should be called once during application initialization.
|
|
130
|
+
* Also initializes ExtensionManager with feature default data for spawn rate management.
|
|
131
|
+
*
|
|
132
|
+
* Note: FeatureQuery reads from ExtensionManager, so we only need to initialize
|
|
133
|
+
* ExtensionManager with defaults. The registry will access them via manager.get().
|
|
134
|
+
*/
|
|
135
|
+
export declare function initializeFeatureDefaults(): void;
|
|
136
|
+
/**
|
|
137
|
+
* Check if feature defaults are initialized
|
|
138
|
+
*/
|
|
139
|
+
export declare function areFeatureDefaultsInitialized(): boolean;
|
|
140
|
+
/**
|
|
141
|
+
* Ensure feature defaults are initialized
|
|
142
|
+
*
|
|
143
|
+
* Initializes defaults if they haven't been already.
|
|
144
|
+
* Safe to call multiple times.
|
|
145
|
+
*/
|
|
146
|
+
export declare function ensureFeatureDefaultsInitialized(): void;
|
|
147
|
+
/**
|
|
148
|
+
* Initialize SkillQuery and ExtensionManager with default skills
|
|
149
|
+
*
|
|
150
|
+
* This should be called once during application initialization.
|
|
151
|
+
* Also initializes ExtensionManager with skill default data for spawn rate management.
|
|
152
|
+
*
|
|
153
|
+
* Note: SkillQuery no longer has its own storage - it reads from ExtensionManager.
|
|
154
|
+
* We only initialize ExtensionManager now.
|
|
155
|
+
*/
|
|
156
|
+
export declare function initializeSkillDefaults(): void;
|
|
157
|
+
/**
|
|
158
|
+
* Check if skill defaults are initialized
|
|
159
|
+
*
|
|
160
|
+
* Note: Since SkillQuery now reads from ExtensionManager, we check EM instead.
|
|
161
|
+
*/
|
|
162
|
+
export declare function areSkillDefaultsInitialized(): boolean;
|
|
163
|
+
/**
|
|
164
|
+
* Ensure skill defaults are initialized
|
|
165
|
+
*
|
|
166
|
+
* Initializes defaults if they haven't been already.
|
|
167
|
+
* Safe to call multiple times.
|
|
168
|
+
*/
|
|
169
|
+
export declare function ensureSkillDefaultsInitialized(): void;
|
|
170
|
+
//# sourceMappingURL=initializeDefaults.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"initializeDefaults.d.ts","sourceRoot":"","sources":["../../../src/core/extensions/initializeDefaults.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AA0EH;;;;GAIG;AACH,wBAAgB,4BAA4B,IAAI,IAAI,CAOnD;AAED;;GAEG;AACH,wBAAgB,gCAAgC,IAAI,OAAO,CAM1D;AAED;;;;;GAKG;AACH,wBAAgB,mCAAmC,IAAI,IAAI,CAI1D;AAkBD;;;;GAIG;AACH,wBAAgB,uBAAuB,IAAI,IAAI,CAY9C;AAED;;GAEG;AACH,wBAAgB,2BAA2B,IAAI,OAAO,CAMrD;AAED;;;;;GAKG;AACH,wBAAgB,8BAA8B,IAAI,IAAI,CAIrD;AAaD;;;;;GAKG;AACH,wBAAgB,2BAA2B,IAAI,IAAI,CAKlD;AAED;;GAEG;AACH,wBAAgB,+BAA+B,IAAI,OAAO,CAMzD;AAED;;;;;GAKG;AACH,wBAAgB,kCAAkC,IAAI,IAAI,CAIzD;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,IAAI,IAAI,CAK7C;AAED;;GAEG;AACH,wBAAgB,0BAA0B,IAAI,OAAO,CAMpD;AAED;;;;;GAKG;AACH,wBAAgB,6BAA6B,IAAI,IAAI,CAIpD;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,IAAI,IAAI,CAKjD;AAED;;GAEG;AACH,wBAAgB,8BAA8B,IAAI,OAAO,CAMxD;AAED;;;;;GAKG;AACH,wBAAgB,iCAAiC,IAAI,IAAI,CAIxD;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,IAAI,IAAI,CAK9C;AAED;;GAEG;AACH,wBAAgB,2BAA2B,IAAI,OAAO,CAMrD;AAED;;;;;GAKG;AACH,wBAAgB,8BAA8B,IAAI,IAAI,CAIrD;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CAS5C;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,IAAI,IAAI,CASnD;AAED;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,IAAI,IAAI,CAuChD;AAED;;GAEG;AACH,wBAAgB,6BAA6B,IAAI,OAAO,CAKvD;AAED;;;;;GAKG;AACH,wBAAgB,gCAAgC,IAAI,IAAI,CAIvD;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,IAAI,IAAI,CA0B9C;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,IAAI,OAAO,CAGrD;AAED;;;;;GAKG;AACH,wBAAgB,8BAA8B,IAAI,IAAI,CAIrD"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Feature Effect Applier
|
|
3
|
+
*
|
|
4
|
+
* Applies feature and trait effects to characters during generation.
|
|
5
|
+
* Handles stat bonuses, skill proficiencies, passive modifiers, and ability unlocks.
|
|
6
|
+
*/
|
|
7
|
+
import type { ClassFeature, RacialTrait } from './FeatureTypes.js';
|
|
8
|
+
import type { CharacterSheet } from '../types/Character.js';
|
|
9
|
+
import type { EffectApplicationResult } from '../types/Equipment.js';
|
|
10
|
+
/**
|
|
11
|
+
* FeatureEffectApplier - Applies feature effects to character sheets
|
|
12
|
+
*
|
|
13
|
+
* This class handles the application of all feature effects during
|
|
14
|
+
* character generation and level-ups.
|
|
15
|
+
*/
|
|
16
|
+
export declare class FeatureEffectApplier {
|
|
17
|
+
/**
|
|
18
|
+
* Apply all effects from a class feature to a character
|
|
19
|
+
*
|
|
20
|
+
* @param character - The character to apply effects to
|
|
21
|
+
* @param feature - The feature whose effects should be applied
|
|
22
|
+
* @returns Result of the effect application
|
|
23
|
+
*/
|
|
24
|
+
static applyFeatureEffects(character: CharacterSheet, feature: ClassFeature | RacialTrait): EffectApplicationResult;
|
|
25
|
+
/**
|
|
26
|
+
* Apply multiple features' effects to a character
|
|
27
|
+
*
|
|
28
|
+
* @param character - The character to apply effects to
|
|
29
|
+
* @param features - Array of features to apply
|
|
30
|
+
* @returns Combined result of all effect applications
|
|
31
|
+
*/
|
|
32
|
+
static applyMultipleEffects(character: CharacterSheet, features: (ClassFeature | RacialTrait)[]): EffectApplicationResult;
|
|
33
|
+
/**
|
|
34
|
+
* Apply a single effect to a character
|
|
35
|
+
*
|
|
36
|
+
* @param character - The character to modify
|
|
37
|
+
* @param effect - The effect to apply
|
|
38
|
+
* @param sourceId - ID of the feature granting this effect (for tracking)
|
|
39
|
+
*/
|
|
40
|
+
private static applySingleEffect;
|
|
41
|
+
/**
|
|
42
|
+
* Apply a stat bonus effect
|
|
43
|
+
*
|
|
44
|
+
* @param character - The character to modify
|
|
45
|
+
* @param effect - The stat bonus effect
|
|
46
|
+
*/
|
|
47
|
+
private static applyStatBonus;
|
|
48
|
+
/**
|
|
49
|
+
* Apply a skill proficiency effect
|
|
50
|
+
*
|
|
51
|
+
* Uses shared utility with proficiency hierarchy (none < proficient < expertise)
|
|
52
|
+
*
|
|
53
|
+
* @param character - The character to modify
|
|
54
|
+
* @param effect - The skill proficiency effect
|
|
55
|
+
*/
|
|
56
|
+
private static applySkillProficiency;
|
|
57
|
+
/**
|
|
58
|
+
* Apply an ability unlock effect
|
|
59
|
+
*
|
|
60
|
+
* @param character - The character to modify
|
|
61
|
+
* @param effect - The ability unlock effect
|
|
62
|
+
*/
|
|
63
|
+
private static applyAbilityUnlock;
|
|
64
|
+
/**
|
|
65
|
+
* Apply a passive modifier effect
|
|
66
|
+
*
|
|
67
|
+
* @param character - The character to modify
|
|
68
|
+
* @param effect - The passive modifier effect
|
|
69
|
+
*/
|
|
70
|
+
private static applyPassiveModifier;
|
|
71
|
+
/**
|
|
72
|
+
* Apply a resource grant effect
|
|
73
|
+
*
|
|
74
|
+
* @param character - The character to modify
|
|
75
|
+
* @param effect - The resource grant effect
|
|
76
|
+
*/
|
|
77
|
+
private static applyResourceGrant;
|
|
78
|
+
/**
|
|
79
|
+
* Apply a spell slot bonus effect
|
|
80
|
+
*
|
|
81
|
+
* @param character - The character to modify
|
|
82
|
+
* @param effect - The spell slot bonus effect
|
|
83
|
+
*/
|
|
84
|
+
private static applySpellSlotBonus;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* CharacterEffect interface for storing applied effects
|
|
88
|
+
*
|
|
89
|
+
* This represents a single effect that has been applied to a character
|
|
90
|
+
* and is stored on their sheet for reference.
|
|
91
|
+
*/
|
|
92
|
+
export interface CharacterEffect {
|
|
93
|
+
/** Type of effect that was applied */
|
|
94
|
+
type: string;
|
|
95
|
+
/** Target stat, skill, or ability */
|
|
96
|
+
target: string;
|
|
97
|
+
/** Value that was applied */
|
|
98
|
+
value: number | string | boolean;
|
|
99
|
+
/** Optional condition for the effect */
|
|
100
|
+
condition?: string;
|
|
101
|
+
}
|
|
102
|
+
//# sourceMappingURL=FeatureEffectApplier.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FeatureEffectApplier.d.ts","sourceRoot":"","sources":["../../../src/core/features/FeatureEffectApplier.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAiB,MAAM,mBAAmB,CAAC;AAClF,OAAO,KAAK,EAAE,cAAc,EAAoB,MAAM,uBAAuB,CAAC;AAC9E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAIrE;;;;;GAKG;AACH,qBAAa,oBAAoB;IAC7B;;;;;;OAMG;IACH,MAAM,CAAC,mBAAmB,CACtB,SAAS,EAAE,cAAc,EACzB,OAAO,EAAE,YAAY,GAAG,WAAW,GACpC,uBAAuB;IAyB1B;;;;;;OAMG;IACH,MAAM,CAAC,oBAAoB,CACvB,SAAS,EAAE,cAAc,EACzB,QAAQ,EAAE,CAAC,YAAY,GAAG,WAAW,CAAC,EAAE,GACzC,uBAAuB;IAiB1B;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;IA6BhC;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,cAAc;IA0B7B;;;;;;;OAOG;IACH,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAUpC;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAgBjC;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAwCnC;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAiBjC;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,mBAAmB;CAerC;AAED;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC5B,sCAAsC;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,qCAAqC;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,6BAA6B;IAC7B,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IACjC,wCAAwC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB"}
|